s3: re-run make samba3-idl.
[samba.git] / librpc / gen_ndr / xattr.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "libcli/util/ntstatus.h"
6
7 #include "librpc/gen_ndr/security.h"
8 #ifndef _HEADER_xattr
9 #define _HEADER_xattr
10
11 #define XATTR_DOSATTRIB_NAME    ( "user.DosAttrib" )
12 #define XATTR_DOSATTRIB_ESTIMATED_SIZE  ( 64 )
13 #define XATTR_DOSEAS_NAME       ( "user.DosEAs" )
14 #define XATTR_DOSSTREAMS_NAME   ( "user.DosStreams" )
15 #define XATTR_STREAM_FLAG_INTERNAL      ( 0x00000001 )
16 #define XATTR_DOSSTREAM_PREFIX  ( "user.DosStream." )
17 #define XATTR_MAX_STREAM_SIZE   ( 0x4000 )
18 #define XATTR_MAX_STREAM_SIZE_TDB       ( 0x100000 )
19 #define XATTR_NTACL_NAME        ( "security.NTACL" )
20 #define XATTR_SD_HASH_SIZE      ( 64 )
21 #define XATTR_SD_HASH_TYPE_NONE ( 0x0 )
22 #define XATTR_SD_HASH_TYPE_SHA256       ( 0x1 )
23 struct xattr_DosInfoFFFFCompat {
24         uint32_t attrib;
25 };
26
27 struct xattr_DosInfo1 {
28         uint32_t attrib;
29         uint32_t ea_size;
30         uint64_t size;
31         uint64_t alloc_size;
32         NTTIME create_time;
33         NTTIME change_time;
34 };
35
36 struct xattr_DosInfo2Old {
37         uint32_t flags;
38         uint32_t attrib;
39         uint32_t ea_size;
40         uint64_t size;
41         uint64_t alloc_size;
42         NTTIME create_time;
43         NTTIME change_time;
44         NTTIME write_time;
45         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
46 };
47
48 /* bitmap xattr_DosInfoValidFlags */
49 #define XATTR_DOSINFO_ATTRIB ( 0x00000001 )
50 #define XATTR_DOSINFO_EA_SIZE ( 0x00000002 )
51 #define XATTR_DOSINFO_SIZE ( 0x00000004 )
52 #define XATTR_DOSINFO_ALLOC_SIZE ( 0x00000008 )
53 #define XATTR_DOSINFO_CREATE_TIME ( 0x00000010 )
54 #define XATTR_DOSINFO_CHANGE_TIME ( 0x00000020 )
55
56 struct xattr_DosInfo3 {
57         uint32_t valid_flags;
58         uint32_t attrib;
59         uint32_t ea_size;
60         uint64_t size;
61         uint64_t alloc_size;
62         NTTIME create_time;
63         NTTIME change_time;
64 };
65
66 union xattr_DosInfo {
67         struct xattr_DosInfoFFFFCompat compatinfoFFFF;/* [case(0xFFFF)] */
68         struct xattr_DosInfo1 info1;/* [case] */
69         struct xattr_DosInfo2Old oldinfo2;/* [case(2)] */
70         struct xattr_DosInfo3 info3;/* [case(3)] */
71 }/* [public,switch_type(uint16)] */;
72
73 struct xattr_DosAttrib {
74         uint16_t version;
75         union xattr_DosInfo info;/* [switch_is(version)] */
76 }/* [public] */;
77
78 struct xattr_DOSATTRIB {
79         const char * attrib_hex;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
80         uint16_t version;
81         union xattr_DosInfo info;/* [switch_is(version)] */
82 }/* [noprint,nopull,public,nopush] */;
83
84 struct xattr_EA {
85         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
86         DATA_BLOB value;
87 };
88
89 struct xattr_DosEAs {
90         uint16_t num_eas;
91         struct xattr_EA *eas;/* [unique,size_is(num_eas)] */
92 }/* [public] */;
93
94 struct tdb_xattrs {
95         uint32_t num_eas;
96         struct xattr_EA *eas;
97 }/* [public] */;
98
99 struct xattr_DosStream {
100         uint32_t flags;
101         uint64_t size;
102         uint64_t alloc_size;
103         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
104 };
105
106 struct xattr_DosStreams {
107         uint32_t num_streams;
108         struct xattr_DosStream *streams;/* [unique,size_is(num_streams)] */
109 }/* [public] */;
110
111 struct security_descriptor_hash_v2 {
112         struct security_descriptor *sd;/* [unique] */
113         uint8_t hash[16];
114 }/* [public] */;
115
116 struct security_descriptor_hash_v3 {
117         struct security_descriptor *sd;/* [unique] */
118         uint16_t hash_type;
119         uint8_t hash[64];
120 }/* [public] */;
121
122 union xattr_NTACL_Info {
123         struct security_descriptor *sd;/* [unique,case] */
124         struct security_descriptor_hash_v2 *sd_hs2;/* [unique,case(2)] */
125         struct security_descriptor_hash_v3 *sd_hs3;/* [unique,case(3)] */
126 }/* [switch_type(uint16)] */;
127
128 struct xattr_NTACL {
129         uint16_t version;
130         union xattr_NTACL_Info info;/* [switch_is(version)] */
131 }/* [public] */;
132
133
134 struct xattr_parse_DOSATTRIB {
135         struct {
136                 struct xattr_DOSATTRIB x;
137         } in;
138
139 };
140
141 #endif /* _HEADER_xattr */