summaryrefslogtreecommitdiff
path: root/include/acl_ea.h
diff options
context:
space:
mode:
authorNathan Scott <nathans@sgi.com>2002-02-25 22:37:38 +0000
committerNathan Scott <nathans@sgi.com>2002-02-25 22:37:38 +0000
commit0d34815f56f46e5d3674f55930b7d9d691fc33d9 (patch)
tree8c2989edb1ddf4d28c5aababee32fc8be89406b5 /include/acl_ea.h
parentc9f8bfe909a76d624ba8061d35a28141f43ed251 (diff)
downloadacl-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.h39
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);
+}
+