summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/nfs4acl.idl
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2006-10-21 09:46:12 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:21:32 -0500
commit515c92a759ad30059f65d3e65dc9f642dc03852a (patch)
treedb338cf843e1beb2b7899103041f3dc2e52533b8 /source4/librpc/idl/nfs4acl.idl
parent9044f4aa905882485bf2b5c72d9836bdaa14c37a (diff)
downloadsamba-515c92a759ad30059f65d3e65dc9f642dc03852a.tar.gz
samba-515c92a759ad30059f65d3e65dc9f642dc03852a.tar.bz2
samba-515c92a759ad30059f65d3e65dc9f642dc03852a.zip
r19441: work in progress support for NFS4 ACLs in Samba4 on Linux. Still work
to do, particularly with getting the detailed bit mappings right, and on sid mapping. Does not pass RAW-ACLS yet (This used to be commit b92553481b534d0ef5277dbfe8c0d64a03f819eb)
Diffstat (limited to 'source4/librpc/idl/nfs4acl.idl')
-rw-r--r--source4/librpc/idl/nfs4acl.idl41
1 files changed, 41 insertions, 0 deletions
diff --git a/source4/librpc/idl/nfs4acl.idl b/source4/librpc/idl/nfs4acl.idl
new file mode 100644
index 0000000000..dc136150f4
--- /dev/null
+++ b/source4/librpc/idl/nfs4acl.idl
@@ -0,0 +1,41 @@
+#include "idl_types.h"
+
+/*
+ NFS4 ACL format on disk
+ see http://www.suse.de/~agruen/nfs4acl/
+*/
+
+[ uuid("18763978-8625-abc3-54ca-9892bacdf321"),
+ version(1.0),
+ pointer_default(unique),
+ depends(misc,security)
+]
+interface nfs4acl
+{
+ const char *NFS4ACL_XATTR_NAME = "system.nfs4acl";
+
+ /* these structures use the same bit values and other constants as
+ in security.idl */
+ typedef [flag(NDR_BIG_ENDIAN)] struct {
+ uint16 e_type;
+ uint16 e_flags;
+ uint32 e_mask;
+ uint32 e_id;
+ utf8string e_who;
+ [flag(NDR_ALIGN4)] DATA_BLOB _pad;
+ } nfs4ace;
+
+ typedef [public,flag(NDR_BIG_ENDIAN)] struct {
+ uint8 a_version;
+ uint8 a_flags;
+ uint16 a_count;
+ uint32 a_owner_mask;
+ uint32 a_group_mask;
+ uint32 a_other_mask;
+ nfs4ace ace[a_count];
+ } nfs4acl;
+
+ NTSTATUS nfs4acl_test(
+ [in] nfs4acl acl
+ );
+}