diff options
Diffstat (limited to 'libc/kernel/common/linux/posix_acl.h')
-rw-r--r-- | libc/kernel/common/linux/posix_acl.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/libc/kernel/common/linux/posix_acl.h b/libc/kernel/common/linux/posix_acl.h new file mode 100644 index 0000000..bdaee5b --- /dev/null +++ b/libc/kernel/common/linux/posix_acl.h @@ -0,0 +1,47 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef __LINUX_POSIX_ACL_H +#define __LINUX_POSIX_ACL_H + +#include <linux/slab.h> + +#define ACL_UNDEFINED_ID (-1) + +#define ACL_TYPE_ACCESS (0x8000) +#define ACL_TYPE_DEFAULT (0x4000) + +#define ACL_USER_OBJ (0x01) +#define ACL_USER (0x02) +#define ACL_GROUP_OBJ (0x04) +#define ACL_GROUP (0x08) +#define ACL_MASK (0x10) +#define ACL_OTHER (0x20) + +#define ACL_READ (0x04) +#define ACL_WRITE (0x02) +#define ACL_EXECUTE (0x01) + +struct posix_acl_entry { + short e_tag; + unsigned short e_perm; + unsigned int e_id; +}; + +struct posix_acl { + atomic_t a_refcount; + unsigned int a_count; + struct posix_acl_entry a_entries[0]; +}; + +#define FOREACH_ACL_ENTRY(pa, acl, pe) for(pa=(acl)->a_entries, pe=pa+(acl)->a_count; pa<pe; pa++) + +#endif |