For some strange reason using :
[ira/wip.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_DosInfo1 {
24         uint32_t attrib;
25         uint32_t ea_size;
26         uint64_t size;
27         uint64_t alloc_size;
28         NTTIME create_time;
29         NTTIME change_time;
30 };
31
32 struct xattr_DosInfo2Old {
33         uint32_t flags;
34         uint32_t attrib;
35         uint32_t ea_size;
36         uint64_t size;
37         uint64_t alloc_size;
38         NTTIME create_time;
39         NTTIME change_time;
40         NTTIME write_time;
41         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
42 };
43
44 union xattr_DosInfo {
45         struct xattr_DosInfo1 info1;/* [case] */
46         struct xattr_DosInfo2Old oldinfo2;/* [case(2)] */
47 }/* [switch_type(uint16)] */;
48
49 struct xattr_DosAttrib {
50         uint16_t version;
51         union xattr_DosInfo info;/* [switch_is(version)] */
52 }/* [public] */;
53
54 struct xattr_EA {
55         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
56         DATA_BLOB value;
57 };
58
59 struct xattr_DosEAs {
60         uint16_t num_eas;
61         struct xattr_EA *eas;/* [unique,size_is(num_eas)] */
62 }/* [public] */;
63
64 struct tdb_xattrs {
65         uint32_t num_eas;
66         struct xattr_EA *eas;
67 }/* [public] */;
68
69 struct xattr_DosStream {
70         uint32_t flags;
71         uint64_t size;
72         uint64_t alloc_size;
73         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
74 };
75
76 struct xattr_DosStreams {
77         uint32_t num_streams;
78         struct xattr_DosStream *streams;/* [unique,size_is(num_streams)] */
79 }/* [public] */;
80
81 struct security_descriptor_hash_v2 {
82         struct security_descriptor *sd;/* [unique] */
83         uint8_t hash[16];
84 }/* [public] */;
85
86 struct security_descriptor_hash_v3 {
87         struct security_descriptor *sd;/* [unique] */
88         uint16_t hash_type;
89         uint8_t hash[64];
90 }/* [public] */;
91
92 union xattr_NTACL_Info {
93         struct security_descriptor *sd;/* [unique,case] */
94         struct security_descriptor_hash_v2 *sd_hs2;/* [unique,case(2)] */
95         struct security_descriptor_hash_v3 *sd_hs3;/* [unique,case(3)] */
96 }/* [switch_type(uint16)] */;
97
98 struct xattr_NTACL {
99         uint16_t version;
100         union xattr_NTACL_Info info;/* [switch_is(version)] */
101 }/* [public] */;
102
103 #endif /* _HEADER_xattr */