summaryrefslogtreecommitdiff
path: root/man/man3/acl_create_entry.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/man3/acl_create_entry.3')
-rw-r--r--man/man3/acl_create_entry.397
1 files changed, 97 insertions, 0 deletions
diff --git a/man/man3/acl_create_entry.3 b/man/man3/acl_create_entry.3
new file mode 100644
index 0000000..325eaec
--- /dev/null
+++ b/man/man3/acl_create_entry.3
@@ -0,0 +1,97 @@
+.\" Access Control Lists manual pages
+.\"
+.\" (C) 2002 Andreas Gruenbacher, <a.gruenbacher@computer.org>
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.TH ACL_CREATE_ENTRY 3 "Linux ACL Library" "March 2002" "Access Control Lists"
+.SH NAME
+acl_create_entry \- create a new ACL entry
+.SH LIBRARY
+Linux Access Control Lists library (libacl, \-lacl).
+.SH C SYNOPSIS
+.sp
+.nf
+.B #include <sys/types.h>
+.B #include <sys/acl.h>
+.sp
+.B "int acl_create_entry (acl_t *\f2acl_p\f3, acl_entry_t *\f2entry_p\f3);"
+.Op
+.SH DESCRIPTION
+The
+.B acl_create_entry
+function creates a new ACL entry in the ACL pointed to by the contents of the pointer argument
+.IR acl_p .
+Upon successful completion, the function returns a descriptor for the new
+ACL entry via
+.IR entry_p .
+.PP
+This function may cause memory to be allocated. The caller should free any
+releasable memory, when the new ACL is no longer required, by calling
+.BR acl_free (3)
+with
+.\" <AG>
+.\" 1003.1e says:
+.\" .I (void*)acl_t
+.\" this makes no sense, so:
+.I (void*)acl_p
+.\" </AG>
+as an argument.
+If the ACL working storage cannot be increased in the current location,
+then the working storage for the ACL pointed to by
+.I acl_p
+may be relocated and the previous working storage is released. A pointer to
+the new working storage is returned via
+.IR acl_p .
+.PP
+The components of the new ACL entry are initialized in the following ways: the
+ACL tag type component contains ACL_UNDEFINED_TAG, the qualifier component
+contains ACL_UNDEFINED_ID, and the set of permissions has no permissions
+enabled. Any existing ACL entry descriptors that refer to entries in the ACL
+continue to refer to those entries.
+.\" <AG>
+.\" Conflict between requirements:
+.\" (a) ACL may be relocated,
+.\" (b) all pointers remain valid.
+.\" </AG>
+.SH RETURN VALUE
+The value 0 is returned if successful; otherwise the value -1 is
+returned and the global variable errno is set to indicate the error.
+.SH ERRORS
+If any of the following conditions occur, the
+.B acl_create_entry
+function returns -1 and sets
+.B errno
+to the corresponding value:
+.TP
+.SM
+\%[EINVAL]
+The argument
+.I acl_p
+is not a valid pointer to an ACL.
+.TP
+.SM
+\%[ENOMEM]
+The ACL working storage requires more memory than is allowed by the hardware or system-imposed memory management constraints.
+.SH STANDARDS
+IEEE Std 1003.1e draft 17 (\(lqPOSIX.1e\(rq, abandoned)
+.SH AUTHOR
+Derived from the FreeBSD manual pages written by
+.IR "Robert N M Watson" ;
+and adapted for Linux by
+.I "Andreas Gruenbacher"
+<a.gruenbacher@computer.org>.
+.SH SEE ALSO
+.BR acl_init (3),
+.BR acl_free (3),
+.BR acl (5)