diff options
author | Nathan Scott <nathans@sgi.com> | 2002-02-25 22:37:38 +0000 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2002-02-25 22:37:38 +0000 |
commit | 0d34815f56f46e5d3674f55930b7d9d691fc33d9 (patch) | |
tree | 8c2989edb1ddf4d28c5aababee32fc8be89406b5 /include/acl_ea.h | |
parent | c9f8bfe909a76d624ba8061d35a28141f43ed251 (diff) | |
download | acl-0d34815f56f46e5d3674f55930b7d9d691fc33d9.tar.gz |
Merge of xfs-cmds-2.4.18:slinx:112262a by nathans.
Removed, replaced by a new version of the ACL userspace from AndreasG.
Diffstat (limited to 'include/acl_ea.h')
-rw-r--r-- | include/acl_ea.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/acl_ea.h b/include/acl_ea.h new file mode 100644 index 0000000..cf36455 --- /dev/null +++ b/include/acl_ea.h @@ -0,0 +1,39 @@ +/* + File: acl_ea.h + + (extended attribute representation of access control lists) + + (C) 2002 Andreas Gruenbacher, <a.gruenbacher@computer.org> +*/ + +#define ACL_EA_ACCESS "system.posix_acl_access" +#define ACL_EA_DEFAULT "system.posix_acl_default" + +#define ACL_EA_VERSION 0x0002 + +typedef struct { + __u16 e_tag; + __u16 e_perm; + __u32 e_id; +} acl_ea_entry; + +typedef struct { + __u32 a_version; + acl_ea_entry a_entries[0]; +} acl_ea_header; + +static inline size_t acl_ea_size(int count) +{ + return sizeof(acl_ea_header) + count * sizeof(acl_ea_entry); +} + +static inline int acl_ea_count(size_t size) +{ + if (size < sizeof(acl_ea_header)) + return -1; + size -= sizeof(acl_ea_header); + if (size % sizeof(acl_ea_entry)) + return -1; + return size / sizeof(acl_ea_entry); +} + |