1 /* header auto-generated by pidl */
3 #ifndef _PIDL_HEADER_xattr
4 #define _PIDL_HEADER_xattr
8 #include "libcli/util/ntstatus.h"
10 #include "librpc/gen_ndr/security.h"
14 #define XATTR_DOSATTRIB_NAME ( "user.DosAttrib" )
15 #define XATTR_DOSATTRIB_NAME_S3 ( "user.DOSATTRIB" )
16 #define XATTR_DOSATTRIB_ESTIMATED_SIZE ( 64 )
17 #define XATTR_DOSEAS_NAME ( "user.DosEAs" )
18 #define XATTR_DOSSTREAMS_NAME ( "user.DosStreams" )
19 #define XATTR_STREAM_FLAG_INTERNAL ( 0x00000001 )
20 #define XATTR_DOSSTREAM_PREFIX ( "user.DosStream." )
21 #define XATTR_MAX_STREAM_SIZE ( 0x4000 )
22 #define XATTR_MAX_STREAM_SIZE_TDB ( 0x100000 )
23 #define XATTR_NTACL_NAME ( "security.NTACL" )
24 #define XATTR_SD_HASH_SIZE ( 64 )
25 #define XATTR_SD_HASH_TYPE_NONE ( 0x0 )
26 #define XATTR_SD_HASH_TYPE_SHA256 ( 0x1 )
27 struct xattr_DosInfoFFFFCompat {
31 struct xattr_DosInfo1 {
40 struct xattr_DosInfo2Old {
49 const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
52 /* bitmap xattr_DosInfoValidFlags */
53 #define XATTR_DOSINFO_ATTRIB ( 0x00000001 )
54 #define XATTR_DOSINFO_EA_SIZE ( 0x00000002 )
55 #define XATTR_DOSINFO_SIZE ( 0x00000004 )
56 #define XATTR_DOSINFO_ALLOC_SIZE ( 0x00000008 )
57 #define XATTR_DOSINFO_CREATE_TIME ( 0x00000010 )
58 #define XATTR_DOSINFO_CHANGE_TIME ( 0x00000020 )
60 struct xattr_DosInfo3 {
71 struct xattr_DosInfoFFFFCompat compatinfoFFFF;/* [case(0xFFFF)] */
72 struct xattr_DosInfo1 info1;/* [case] */
73 struct xattr_DosInfo2Old oldinfo2;/* [case(2)] */
74 struct xattr_DosInfo3 info3;/* [case(3)] */
75 }/* [public,switch_type(uint16)] */;
77 struct xattr_DosAttrib {
79 union xattr_DosInfo info;/* [switch_is(version)] */
82 struct xattr_DOSATTRIB {
83 const char * attrib_hex;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
85 union xattr_DosInfo info;/* [switch_is(version)] */
86 }/* [noprint,nopull,nopush,public] */;
89 const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
95 struct xattr_EA *eas;/* [size_is(num_eas),unique] */
100 struct xattr_EA *eas;
103 struct xattr_DosStream {
107 const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
110 struct xattr_DosStreams {
111 uint32_t num_streams;
112 struct xattr_DosStream *streams;/* [size_is(num_streams),unique] */
115 struct security_descriptor_hash_v2 {
116 struct security_descriptor *sd;/* [unique] */
120 struct security_descriptor_hash_v3 {
121 struct security_descriptor *sd;/* [unique] */
126 struct security_descriptor_hash_v4 {
127 struct security_descriptor *sd;/* [unique] */
130 const char * description;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
132 uint8_t sys_acl_hash[64];
135 union xattr_NTACL_Info {
136 struct security_descriptor *sd;/* [case,unique] */
137 struct security_descriptor_hash_v2 *sd_hs2;/* [case(2),unique] */
138 struct security_descriptor_hash_v3 *sd_hs3;/* [case(3),unique] */
139 struct security_descriptor_hash_v4 *sd_hs4;/* [case(4),unique] */
140 }/* [switch_type(uint16)] */;
144 union xattr_NTACL_Info info;/* [switch_is(version)] */
147 struct xattr_sys_acl_hash_wrapper {
148 DATA_BLOB acl_as_blob;
155 struct xattr_parse_DOSATTRIB {
157 struct xattr_DOSATTRIB x;
162 #endif /* _HEADER_xattr */
163 #endif /* _PIDL_HEADER_xattr */