r18618: * remove svn:externals
[Samba/bb.git] / source / librpc / idl / dfs.idl
blob82c04ad67af8ce003ba247ddee9eb14d37c42aa0
1 /*
2 dfs interface definition
3 */
5 [ uuid("4fc742e0-4a10-11cf-8273-00aa004ae673"),
6 version(3.0),
7 pointer_default(unique),
8 helpstring("Settings for Microsoft Distributed File System"),
9 keepref
10 ] interface netdfs
12 /******************/
13 /* Function: 0x00 */
14 void dfs_GetManagerVersion(
15 [out] uint32 *exist_flag
19 /******************/
20 /* Function: 0x01 */
21 WERROR dfs_Add (
22 [in,string,charset(UTF16)] uint16 *path,
23 [in,string,charset(UTF16)] uint16 *server,
24 [in,unique,string,charset(UTF16)] uint16 *share,
25 [in,unique,string,charset(UTF16)] uint16 *comment,
26 [in] uint32 flags
29 /******************/
30 /* Function: 0x02 */
31 WERROR dfs_Remove (
32 [in,string,charset(UTF16)] uint16 *path,
33 [in,unique,string,charset(UTF16)] uint16 *server,
34 [in,unique,string,charset(UTF16)] uint16 *share
37 /******************/
38 /* Function: 0x03 */
39 WERROR dfs_SetInfo ();
41 /******************/
42 /* Function: 0x04 */
44 typedef struct {
45 } dfs_Info0;
47 typedef struct {
48 [string,charset(UTF16)] uint16 *path;
49 } dfs_Info1;
51 typedef struct {
52 [string,charset(UTF16)] uint16 *path;
53 [string,charset(UTF16)] uint16 *comment;
54 uint32 state;
55 uint32 num_stores;
56 } dfs_Info2;
58 typedef struct {
59 uint32 state;
60 [string,charset(UTF16)] uint16 *server;
61 [string,charset(UTF16)] uint16 *share;
62 } dfs_StorageInfo;
64 typedef struct {
65 [string,charset(UTF16)] uint16 *path;
66 [string,charset(UTF16)] uint16 *comment;
67 uint32 state;
68 uint32 num_stores;
69 [size_is(num_stores)] dfs_StorageInfo *stores;
70 } dfs_Info3;
72 typedef struct {
73 [string,charset(UTF16)] uint16 *path;
74 [string,charset(UTF16)] uint16 *comment;
75 uint32 state;
76 uint32 timeout;
77 GUID guid;
78 uint32 num_stores;
79 [size_is(num_stores)] dfs_StorageInfo *stores;
80 } dfs_Info4;
82 typedef struct {
83 [string,charset(UTF16)] uint16 *comment;
84 } dfs_Info100;
86 typedef struct {
87 uint32 state;
88 } dfs_Info101;
90 typedef struct {
91 uint32 timeout;
92 } dfs_Info102;
94 typedef struct {
95 [string,charset(UTF16)] uint16 *dom_root;
96 } dfs_Info200;
98 typedef struct {
99 uint32 flags;
100 [string,charset(UTF16)] uint16 *dom_root;
101 } dfs_Info300;
103 typedef union {
104 [case(0)] dfs_Info0 *info0;
105 [case(1)] dfs_Info1 *info1;
106 [case(2)] dfs_Info2 *info2;
107 [case(3)] dfs_Info3 *info3;
108 [case(4)] dfs_Info4 *info4;
109 [case(100)] dfs_Info100 *info100;
110 [case(101)] dfs_Info101 *info101;
111 [case(102)] dfs_Info102 *info102;
112 } dfs_Info;
114 WERROR dfs_GetInfo (
115 [in,string,charset(UTF16)] uint16 *path,
116 [in,unique,string,charset(UTF16)] uint16 *server,
117 [in,unique,string,charset(UTF16)] uint16 *share,
118 [in] uint32 level,
119 [out,switch_is(level)] dfs_Info *info
122 /******************/
123 /* Function: 0x05 */
125 typedef struct {
126 uint32 count;
127 [size_is(count)] dfs_Info1 *s;
128 } dfs_EnumArray1;
130 typedef struct {
131 uint32 count;
132 [size_is(count)] dfs_Info2 *s;
133 } dfs_EnumArray2;
135 typedef struct {
136 uint32 count;
137 [size_is(count)] dfs_Info3 *s;
138 } dfs_EnumArray3;
140 typedef struct {
141 uint32 count;
142 [size_is(count)] dfs_Info4 *s;
143 } dfs_EnumArray4;
145 typedef struct {
146 uint32 count;
147 [size_is(count)] dfs_Info200 *s;
148 } dfs_EnumArray200;
150 typedef struct {
151 uint32 count;
152 [size_is(count)] dfs_Info300 *s;
153 } dfs_EnumArray300;
156 typedef union {
157 [case(1)] dfs_EnumArray1 *info1;
158 [case(2)] dfs_EnumArray2 *info2;
159 [case(3)] dfs_EnumArray3 *info3;
160 [case(4)] dfs_EnumArray4 *info4;
161 [case(200)] dfs_EnumArray200 *info200;
162 [case(300)] dfs_EnumArray300 *info300;
163 } dfs_EnumInfo;
165 typedef struct {
166 uint32 level;
167 [switch_is(level)] dfs_EnumInfo e;
168 } dfs_EnumStruct;
170 WERROR dfs_Enum (
171 [in] uint32 level,
172 [in] uint32 bufsize,
173 [in,out,unique] dfs_EnumStruct *info,
174 [in,unique] uint32 *unknown,
175 [in,out,unique] uint32 *total
178 /* Function 0x06 */
179 WERROR dfs_Rename();
181 /* Function 0x07 */
182 WERROR dfs_Move();
184 /* Function 0x08 */
185 WERROR dfs_ManagerGetConfigInfo();
187 /* Function 0x09 */
188 WERROR dfs_ManagerSendSiteInfo();
190 /* Function 0x0a */
191 WERROR dfs_AddFtRoot();
193 /* Function 0x0b */
194 WERROR dfs_RemoveFtRoot();
196 /* Function 0x0c */
197 WERROR dfs_AddStdRoot();
199 /* Function 0x0d */
200 WERROR dfs_RemoveStdRoot();
202 /* Function 0x0e */
203 WERROR dfs_ManagerInitialize();
205 /* Function 0x0f */
206 WERROR dfs_AddStdRootForced();
208 /* Function 0x10 */
209 WERROR dfs_GetDcAddress();
211 /* Function 0x11 */
212 WERROR dfs_SetDcAddress();
214 /* Function 0x12 */
215 WERROR dfs_FlushFtTable();
217 /* Function 0x13 */
218 WERROR dfs_Add2();
220 /* Function 0x14 */
221 WERROR dfs_Remove2();
223 /* Function 0x15 */
224 WERROR dfs_EnumEx(
225 [in,string,charset(UTF16)] uint16 *name,
226 [in] uint32 level,
227 [in] uint32 bufsize,
228 [in,out,unique] dfs_EnumStruct *info,
229 [in,out,unique] uint32 *total
232 /* Function 0x16 */
233 WERROR dfs_SetInfo2();