Blame man/man3/acl_copy_ext.3

rpm-build 0a0c83
.\" Access Control Lists manual pages
rpm-build 0a0c83
.\"
rpm-build 0a0c83
.\" (C) 2002 Andreas Gruenbacher, <a.gruenbacher@bestbits.at>
rpm-build 0a0c83
.\"
rpm-build 0a0c83
.\" This is free documentation; you can redistribute it and/or
rpm-build 0a0c83
.\" modify it under the terms of the GNU General Public License as
rpm-build 0a0c83
.\" published by the Free Software Foundation; either version 2 of
rpm-build 0a0c83
.\" the License, or (at your option) any later version.
rpm-build 0a0c83
.\"
rpm-build 0a0c83
.\" The GNU General Public License's references to "object code"
rpm-build 0a0c83
.\" and "executables" are to be interpreted as the output of any
rpm-build 0a0c83
.\" document formatting or typesetting system, including
rpm-build 0a0c83
.\" intermediate and printed output.
rpm-build 0a0c83
.\"
rpm-build 0a0c83
.\" This manual is distributed in the hope that it will be useful,
rpm-build 0a0c83
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
rpm-build 0a0c83
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
rpm-build 0a0c83
.\" GNU General Public License for more details.
rpm-build 0a0c83
.\"
rpm-build 0a0c83
.\" You should have received a copy of the GNU General Public
rpm-build 0a0c83
.\" License along with this manual.  If not, see
rpm-build 0a0c83
.\" <http://www.gnu.org/licenses/>.
rpm-build 0a0c83
.\"
rpm-build 0a0c83
.Dd March 23, 2002
rpm-build 0a0c83
.Dt ACL_COPY_EXT 3
rpm-build 0a0c83
.Os "Linux ACL"
rpm-build 0a0c83
.Sh NAME
rpm-build 0a0c83
.Nm acl_copy_ext
rpm-build 0a0c83
.Nd copy an ACL from internal to external representation
rpm-build 0a0c83
.Sh LIBRARY
rpm-build 0a0c83
Linux Access Control Lists library (libacl, \-lacl).
rpm-build 0a0c83
.Sh SYNOPSIS
rpm-build 0a0c83
.In sys/types.h
rpm-build 0a0c83
.In sys/acl.h
rpm-build 0a0c83
.Ft ssize_t
rpm-build 0a0c83
.Fn acl_copy_ext "void *buf_p" "acl_t acl" "ssize_t size"
rpm-build 0a0c83
.Sh DESCRIPTION
rpm-build 0a0c83
The
rpm-build 0a0c83
.Fn acl_copy_ext
rpm-build 0a0c83
function copies the ACL pointed to by
rpm-build 0a0c83
.Va acl
rpm-build 0a0c83
from system-managed space to the user managed space pointed to by
rpm-build 0a0c83
.Va buf_p .
rpm-build 0a0c83
The
rpm-build 0a0c83
.Va size
rpm-build 0a0c83
parameter represents the size in bytes of the buffer pointed to by
rpm-build 0a0c83
.Va buf_p .
rpm-build 0a0c83
The format of the ACL placed in the buffer pointed to by
rpm-build 0a0c83
.Va buf_p
rpm-build 0a0c83
is a contiguous, persistent data item, the format of which is unspecified.
rpm-build 0a0c83
It is the responsibility of the invoker to allocate an area large enough
rpm-build 0a0c83
to hold the copied ACL. The size of the exportable, contiguous, persistent
rpm-build 0a0c83
form of the ACL may be obtained by invoking the
rpm-build 0a0c83
.Fn acl_size
rpm-build 0a0c83
function.
rpm-build 0a0c83
.Pp
rpm-build 0a0c83
Any ACL entry descriptors that refer to an entry in the ACL referenced by
rpm-build 0a0c83
.Va acl
rpm-build 0a0c83
continue to refer to those entries. Any existing ACL pointers that refer
rpm-build 0a0c83
to the ACL referenced by
rpm-build 0a0c83
.Va acl
rpm-build 0a0c83
continue to refer to the ACL.
rpm-build 0a0c83
.Sh RETURN VALUE
rpm-build 0a0c83
Upon success, this function returns the number of bytes placed in the buffer pointed to by
rpm-build 0a0c83
.Va buf_p .
rpm-build 0a0c83
On error, a value of
rpm-build 0a0c83
.Li (ssize_t)-1
rpm-build 0a0c83
is returned and
rpm-build 0a0c83
.Va errno
rpm-build 0a0c83
is set appropriately.
rpm-build 0a0c83
.Sh ERRORS
rpm-build 0a0c83
If any of the following conditions occur, the
rpm-build 0a0c83
.Fn acl_copy_ext
rpm-build 0a0c83
function returns a value of
rpm-build 0a0c83
.Li (ssize_t)-1
rpm-build 0a0c83
and sets
rpm-build 0a0c83
.Va errno
rpm-build 0a0c83
to the corresponding value:
rpm-build 0a0c83
.Bl -tag -width Er
rpm-build 0a0c83
.It Bq Er EINVAL
rpm-build 0a0c83
The
rpm-build 0a0c83
.Va size
rpm-build 0a0c83
parameter is zero or negative.
rpm-build 0a0c83
.Pp
rpm-build 0a0c83
The argument
rpm-build 0a0c83
.Va acl
rpm-build 0a0c83
is not a valid pointer to an ACL.
rpm-build 0a0c83
.Pp
rpm-build 0a0c83
The ACL referenced by
rpm-build 0a0c83
.Va acl
rpm-build 0a0c83
contains one or more improperly formed ACL entries, or for some other
rpm-build 0a0c83
reason cannot be translated into the external form of an ACL.
rpm-build 0a0c83
.It Bq Er ERANGE
rpm-build 0a0c83
The
rpm-build 0a0c83
.Va size
rpm-build 0a0c83
parameter is greater than zero but smaller than the length of the contiguous, persistent form of the ACL.
rpm-build 0a0c83
.El
rpm-build 0a0c83
.Sh STANDARDS
rpm-build 0a0c83
IEEE Std 1003.1e draft 17 (\(lqPOSIX.1e\(rq, abandoned)
rpm-build 0a0c83
.Sh SEE ALSO
rpm-build 0a0c83
.Xr acl_copy_int 3 ,
rpm-build 0a0c83
.Xr acl_size 3 ,
rpm-build 0a0c83
.Xr acl 5
rpm-build 0a0c83
.Sh AUTHOR
rpm-build 0a0c83
Derived from the FreeBSD manual pages written by
rpm-build 0a0c83
.An "Robert N M Watson" Aq rwatson@FreeBSD.org ,
rpm-build 0a0c83
and adapted for Linux by
rpm-build 0a0c83
.An "Andreas Gruenbacher" Aq a.gruenbacher@bestbits.at .