ACLSORT(3SEC) File Access Control Library Functions ACLSORT(3SEC)
NAME
aclsort - sort an ACL
SYNOPSIS
cc [
flag ... ]
file ...
-lsec [
library ... ]
#include <sys/acl.h>
int aclsort(
int nentries,
int calclass,
aclent_t *aclbufp);
DESCRIPTION
The
aclbufp argument points to a buffer containing
ACL entries. The
nentries argument specifies the number of
ACL entries in the buffer.
The
calclass argument, if non-zero, indicates that the
CLASS_OBJ (
ACL mask) permissions should be recalculated. The union of the permission
bits associated with all
ACL entries in the buffer other than
CLASS_OBJ,
OTHER_OBJ, and
USER_OBJ is calculated. The result is
copied to the permission bits associated with the
CLASS_OBJ entry.
The
aclsort() function sorts the contents of the
ACL buffer as
follows:
o Entries will be in the order
USER_OBJ,
USER,
GROUP_OBJ,
GROUP,
CLASS_OBJ (
ACL mask),
OTHER_OBJ,
DEF_USER_OBJ,
DEF_USER,
DEF_GROUP_OBJ,
DEF_GROUP,
DEF_CLASS_OBJ (default
ACL mask), and
DEF_OTHER_OBJ.
o Entries of type
USER,
GROUP,
DEF_USER, and
DEF_GROUP will
be sorted in increasing order by
ID.
The
aclsort() function will succeed if all of the following are true:
o There is exactly one entry each of type
USER_OBJ,
GROUP_OBJ,
CLASS_OBJ (
ACL mask), and
OTHER_OBJ.
o There is exactly one entry each of type
DEF_USER_OBJ,
DEF_GROUP_OBJ,
DEF_CLASS_OBJ (default
ACL mask), and
DEF_OTHER_OBJ if there are any default entries.
o Entries of type
USER,
GROUP,
DEF_USER, or
DEF_GROUP may
not contain duplicate entries. A duplicate entry is one of
the same type containing the same numeric
ID.
RETURN VALUES
Upon successful completion, the function returns
0. Otherwise, it
returns
-1.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
|MT-Level | Unsafe |
+--------------------+-----------------+
SEE ALSO
acl(2),
aclcheck(3SEC),
attributes(7) December 10, 2001 ACLSORT(3SEC)