Move v2 from timestamp to 16-byte hash. Got the change in before on disk format is...
[Samba.git] / source / librpc / idl / xattr.idl
blob41b6479907d17e43abf21030775e5a3eec2407fc
1 #include "idl_types.h"
3 /*
4 IDL structures for xattrs
5 */
8 pointer_default(unique)
10 interface xattr
12 /* xattrs for file systems that don't have any */
14 typedef [public] struct {
15 utf8string name;
16 DATA_BLOB value;
17 } tdb_xattr;
19 typedef [public] struct {
20 uint32 num_xattrs;
21 tdb_xattr xattrs[num_xattrs];
22 } tdb_xattrs;
24 /* we store the NT ACL a NTACL xattr. It is versioned so we
25 can later add other acl attribs (such as posix acl mapping)
27 we put this xattr in the security namespace to ensure that
28 only trusted users can write to the ACL
30 stored in "security.NTACL"
32 Version 1. raw SD stored as Samba4 does it.
33 Version 2. raw SD + last changed hash so we
34 can discard if this doesn't match the underlying ACL hash.
37 const char *XATTR_NTACL_NAME = "security.NTACL";
39 typedef [public] struct {
40 security_descriptor *sd;
41 uint8 hash[16];
42 } security_descriptor_hash;
44 typedef [switch_type(uint16)] union {
45 [case(1)] security_descriptor *sd;
46 [case(2)] security_descriptor_hash *sd_hs;
47 } xattr_NTACL_Info;
49 typedef [public] struct {
50 uint16 version;
51 [switch_is(version)] xattr_NTACL_Info info;
52 } xattr_NTACL;