1 /****************************************************************************
2 ****************************************************************************
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
10 ****************************************************************************
11 ****************************************************************************/
12 #ifndef __LINUX_POSIX_ACL_H
13 #define __LINUX_POSIX_ACL_H
15 #include <linux/slab.h>
17 #define ACL_UNDEFINED_ID (-1)
19 #define ACL_TYPE_ACCESS (0x8000)
20 #define ACL_TYPE_DEFAULT (0x4000)
22 #define ACL_USER_OBJ (0x01)
23 #define ACL_USER (0x02)
24 #define ACL_GROUP_OBJ (0x04)
25 #define ACL_GROUP (0x08)
26 #define ACL_MASK (0x10)
27 #define ACL_OTHER (0x20)
29 #define ACL_READ (0x04)
30 #define ACL_WRITE (0x02)
31 #define ACL_EXECUTE (0x01)
33 struct posix_acl_entry {
35 unsigned short e_perm;
42 struct posix_acl_entry a_entries[0];
45 #define FOREACH_ACL_ENTRY(pa, acl, pe) for(pa=(acl)->a_entries, pe=pa+(acl)->a_count; pa<pe; pa++)