librpc: Add special owner/group/other constants to nfs4acl.idl
[Samba/vl.git] / librpc / idl / nfs4acl.idl
blobaeab0a0d10812f434769da5baa64c93391e42471
1 #include "idl_types.h"
3 /*
4 NFS4 ACL format on disk
5 see http://www.suse.de/~agruen/nfs4acl/
6 */
8 import "misc.idl", "security.idl";
10 [ uuid("18763978-8625-abc3-54ca-9892bacdf321"),
11 version(1.0),
12 pointer_default(unique)
14 interface nfs4acl
16 const char *NFS4ACL_XATTR_NAME = "system.nfs4acl";
18 const char *NFS4ACL_XATTR_OWNER_WHO = "OWNER@";
19 const char *NFS4ACL_XATTR_GROUP_WHO = "GROUP@";
20 const char *NFS4ACL_XATTR_EVERYONE_WHO = "EVERYONE@";
22 /* these structures use the same bit values and other constants as
23 in security.idl */
24 typedef [flag(NDR_BIG_ENDIAN)] struct {
25 uint16 e_type;
26 uint16 e_flags;
27 uint32 e_mask;
28 uint32 e_id;
29 utf8string e_who;
30 [flag(NDR_ALIGN4)] DATA_BLOB _pad;
31 } nfs4ace;
33 typedef [public,flag(NDR_BIG_ENDIAN)] struct {
34 uint8 a_version;
35 uint8 a_flags;
36 uint16 a_count;
37 uint32 a_owner_mask;
38 uint32 a_group_mask;
39 uint32 a_other_mask;
40 nfs4ace ace[a_count];
41 } nfs4acl;
43 NTSTATUS nfs4acl_test(
44 [in] nfs4acl acl