bcachefs-tools/include/linux/posix_acl.h
2017-01-20 09:07:08 -09:00

50 lines
957 B
C

/*
File: linux/posix_acl.h
(C) 2002 Andreas Gruenbacher, <a.gruenbacher@computer.org>
*/
#ifndef __LINUX_POSIX_ACL_H
#define __LINUX_POSIX_ACL_H
#include <linux/bug.h>
#include <linux/slab.h>
#include <linux/rcupdate.h>
#define ACL_UNDEFINED_ID (-1)
/* a_type field in acl_user_posix_entry_t */
#define ACL_TYPE_ACCESS (0x8000)
#define ACL_TYPE_DEFAULT (0x4000)
/* e_tag entry in struct posix_acl_entry */
#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)
/* permissions in the e_perm field */
#define ACL_READ (0x04)
#define ACL_WRITE (0x02)
#define ACL_EXECUTE (0x01)
struct posix_acl_entry {
short e_tag;
unsigned short e_perm;
union {
uid_t e_uid;
gid_t e_gid;
};
};
struct posix_acl {
struct rcu_head a_rcu;
unsigned int a_count;
struct posix_acl_entry a_entries[0];
};
#endif /* __LINUX_POSIX_ACL_H */