1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>securityfs_create_file</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="up" href="security.html" title="Chapter&#160;11.&#160;Security Framework"><link rel="prev" href="API-register-security.html" title="register_security"><link rel="next" href="API-securityfs-create-dir.html" title="securityfs_create_dir"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">securityfs_create_file</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-register-security.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;11.&#160;Security Framework</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-securityfs-create-dir.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-securityfs-create-file"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>securityfs_create_file &#8212; 
2  create a file in the securityfs filesystem
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">struct dentry * <b class="fsfunc">securityfs_create_file </b>(</code></td><td>const char * <var class="pdparam">name</var>, </td></tr><tr><td>&#160;</td><td>umode_t <var class="pdparam">mode</var>, </td></tr><tr><td>&#160;</td><td>struct dentry * <var class="pdparam">parent</var>, </td></tr><tr><td>&#160;</td><td>void * <var class="pdparam">data</var>, </td></tr><tr><td>&#160;</td><td>const struct file_operations * <var class="pdparam">fops</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1127438980"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>name</code></em></span></dt><dd><p>
4     a pointer to a string containing the name of the file to create.
5    </p></dd><dt><span class="term"><em class="parameter"><code>mode</code></em></span></dt><dd><p>
6     the permission that the file should have
7    </p></dd><dt><span class="term"><em class="parameter"><code>parent</code></em></span></dt><dd><p>
8     a pointer to the parent dentry for this file.  This should be a
9     directory dentry if set.  If this parameter is <code class="constant">NULL</code>, then the
10     file will be created in the root of the securityfs filesystem.
11    </p></dd><dt><span class="term"><em class="parameter"><code>data</code></em></span></dt><dd><p>
12     a pointer to something that the caller will want to get to later
13     on.  The inode.i_private pointer will point to this value on
14     the <code class="function">open</code> call.
15    </p></dd><dt><span class="term"><em class="parameter"><code>fops</code></em></span></dt><dd><p>
16     a pointer to a struct file_operations that should be used for
17     this file.
18    </p></dd></dl></div></div><div class="refsect1"><a name="idp1127445660"></a><h2>Description</h2><p>
19   This is the basic <span class="quote">&#8220;<span class="quote">create a file</span>&#8221;</span> function for securityfs.  It allows for a
20   wide range of flexibility in creating a file, or a directory (if you
21   want to create a directory, the <code class="function">securityfs_create_dir</code> function is
22   recommended to be used instead).
23   </p><p>
24
25   This function returns a pointer to a dentry if it succeeds.  This
26   pointer must be passed to the <code class="function">securityfs_remove</code> function when the file is
27   to be removed (no automatic cleanup happens if your module is unloaded,
28   you are responsible here).  If an error occurs, the function will return
29   the error value (via ERR_PTR).
30   </p><p>
31
32   If securityfs is not enabled in the kernel, the value <code class="constant">-ENODEV</code> is
33   returned.
34</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-register-security.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="security.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-securityfs-create-dir.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">register_security</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">securityfs_create_dir</span></td></tr></table></div></body></html>
35