Merge branch 'master' of git://git.samba.org/samba into teventfix
[amitay/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 struct xattr_DosInfo1 {
21         uint32_t attrib;
22         uint32_t ea_size;
23         uint64_t size;
24         uint64_t alloc_size;
25         NTTIME create_time;
26         NTTIME change_time;
27 };
28
29 struct xattr_DosInfo2Old {
30         uint32_t flags;
31         uint32_t attrib;
32         uint32_t ea_size;
33         uint64_t size;
34         uint64_t alloc_size;
35         NTTIME create_time;
36         NTTIME change_time;
37         NTTIME write_time;
38         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
39 };
40
41 union xattr_DosInfo {
42         struct xattr_DosInfo1 info1;/* [case] */
43         struct xattr_DosInfo2Old oldinfo2;/* [case(2)] */
44 }/* [switch_type(uint16)] */;
45
46 struct xattr_DosAttrib {
47         uint16_t version;
48         union xattr_DosInfo info;/* [switch_is(version)] */
49 }/* [public] */;
50
51 struct xattr_EA {
52         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
53         DATA_BLOB value;
54 };
55
56 struct xattr_DosEAs {
57         uint16_t num_eas;
58         struct xattr_EA *eas;/* [unique,size_is(num_eas)] */
59 }/* [public] */;
60
61 struct tdb_xattrs {
62         uint32_t num_eas;
63         struct xattr_EA *eas;
64 }/* [public] */;
65
66 struct xattr_DosStream {
67         uint32_t flags;
68         uint64_t size;
69         uint64_t alloc_size;
70         const char * name;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
71 };
72
73 struct xattr_DosStreams {
74         uint32_t num_streams;
75         struct xattr_DosStream *streams;/* [unique,size_is(num_streams)] */
76 }/* [public] */;
77
78 struct security_descriptor_hash {
79         struct security_descriptor *sd;/* [unique] */
80         uint8_t hash[16];
81 }/* [public] */;
82
83 union xattr_NTACL_Info {
84         struct security_descriptor *sd;/* [unique,case] */
85         struct security_descriptor_hash *sd_hs;/* [unique,case(2)] */
86 }/* [switch_type(uint16)] */;
87
88 struct xattr_NTACL {
89         uint16_t version;
90         union xattr_NTACL_Info info;/* [switch_is(version)] */
91 }/* [public] */;
92
93 #endif /* _HEADER_xattr */