1148a0acecbc9ea63cfa40bccac96f5e93aada38
[amitay/samba.git] / librpc / gen_ndr / xattr.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "librpc/gen_ndr/security.h"
6 #ifndef _HEADER_xattr
7 #define _HEADER_xattr
8
9 #define XATTR_DOSATTRIB_NAME    ( "user.DosAttrib" )
10 #define XATTR_DOSATTRIB_ESTIMATED_SIZE  ( 64 )
11 #define XATTR_DOSEAS_NAME       ( "user.DosEAs" )
12 #define XATTR_DOSSTREAMS_NAME   ( "user.DosStreams" )
13 #define XATTR_STREAM_FLAG_INTERNAL      ( 0x00000001 )
14 #define XATTR_DOSSTREAM_PREFIX  ( "user.DosStream." )
15 #define XATTR_MAX_STREAM_SIZE   ( 0x4000 )
16 #define XATTR_MAX_STREAM_SIZE_TDB       ( 0x100000 )
17 #define XATTR_NTACL_NAME        ( "security.NTACL" )
18 struct xattr_DosInfo1 {
19         uint32_t attrib;
20         uint32_t ea_size;
21         uint64_t size;
22         uint64_t alloc_size;
23         NTTIME create_time;
24         NTTIME change_time;
25 };
26
27 struct xattr_DosInfo2Old {
28         uint32_t flags;
29         uint32_t attrib;
30         uint32_t ea_size;
31         uint64_t size;
32         uint64_t alloc_size;
33         NTTIME create_time;
34         NTTIME change_time;
35         NTTIME write_time;
36         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
37 };
38
39 union xattr_DosInfo {
40         struct xattr_DosInfo1 info1;/* [case] */
41         struct xattr_DosInfo2Old oldinfo2;/* [case(2)] */
42 }/* [switch_type(uint16)] */;
43
44 struct xattr_DosAttrib {
45         uint16_t version;
46         union xattr_DosInfo info;/* [switch_is(version)] */
47 }/* [public] */;
48
49 struct xattr_EA {
50         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
51         DATA_BLOB value;
52 };
53
54 struct xattr_DosEAs {
55         uint16_t num_eas;
56         struct xattr_EA *eas;/* [unique,size_is(num_eas)] */
57 }/* [public] */;
58
59 struct tdb_xattrs {
60         uint32_t num_eas;
61         struct xattr_EA *eas;
62 }/* [public] */;
63
64 struct xattr_DosStream {
65         uint32_t flags;
66         uint64_t size;
67         uint64_t alloc_size;
68         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
69 };
70
71 struct xattr_DosStreams {
72         uint32_t num_streams;
73         struct xattr_DosStream *streams;/* [unique,size_is(num_streams)] */
74 }/* [public] */;
75
76 struct security_descriptor_hash {
77         struct security_descriptor *sd;/* [unique] */
78         uint8_t hash[16];
79 }/* [public] */;
80
81 union xattr_NTACL_Info {
82         struct security_descriptor *sd;/* [unique,case] */
83         struct security_descriptor_hash *sd_hs;/* [unique,case(2)] */
84 }/* [switch_type(uint16)] */;
85
86 struct xattr_NTACL {
87         uint16_t version;
88         union xattr_NTACL_Info info;/* [switch_is(version)] */
89 }/* [public] */;
90
91 #endif /* _HEADER_xattr */