1/* header auto-generated by pidl */
2
3#include <stdint.h>
4
5#include "libcli/util/ntstatus.h"
6
7#include "librpc/gen_ndr/misc.h"
8#ifndef _HEADER_netdfs
9#define _HEADER_netdfs
10
11#define DFS_STORAGE_STATES	( 0xf )
12enum dfs_ManagerVersion
13#ifndef USE_UINT_ENUMS
14 {
15	DFS_MANAGER_VERSION_NT4=(int)(1),
16	DFS_MANAGER_VERSION_W2K=(int)(2),
17	DFS_MANAGER_VERSION_W2K3=(int)(4),
18	DFS_MANAGER_VERSION_W2K8=(int)(6)
19}
20#else
21 { __donnot_use_enum_dfs_ManagerVersion=0x7FFFFFFF}
22#define DFS_MANAGER_VERSION_NT4 ( 1 )
23#define DFS_MANAGER_VERSION_W2K ( 2 )
24#define DFS_MANAGER_VERSION_W2K3 ( 4 )
25#define DFS_MANAGER_VERSION_W2K8 ( 6 )
26#endif
27;
28
29struct dfs_Info0 {
30	char _empty_;
31};
32
33struct dfs_Info1 {
34	const char *path;/* [unique,charset(UTF16)] */
35};
36
37/* bitmap dfs_VolumeState */
38#define DFS_VOLUME_STATE_OK ( 0x1 )
39#define DFS_VOLUME_STATE_INCONSISTENT ( 0x2 )
40#define DFS_VOLUME_STATE_OFFLINE ( 0x3 )
41#define DFS_VOLUME_STATE_ONLINE ( 0x4 )
42#define DFS_VOLUME_STATE_STANDALONE ( DFS_VOLUME_FLAVOR_STANDALONE )
43#define DFS_VOLUME_STATE_AD_BLOB ( DFS_VOLUME_FLAVOR_AD_BLOB )
44
45struct dfs_Info2 {
46	const char *path;/* [unique,charset(UTF16)] */
47	const char *comment;/* [unique,charset(UTF16)] */
48	uint32_t state;
49	uint32_t num_stores;
50};
51
52/* bitmap dfs_StorageState */
53#define DFS_STORAGE_STATE_OFFLINE ( 1 )
54#define DFS_STORAGE_STATE_ONLINE ( 2 )
55#define DFS_STORAGE_STATE_ACTIVE ( 4 )
56
57struct dfs_StorageInfo {
58	uint32_t state;
59	const char *server;/* [unique,charset(UTF16)] */
60	const char *share;/* [unique,charset(UTF16)] */
61};
62
63struct dfs_Info3 {
64	const char *path;/* [unique,charset(UTF16)] */
65	const char *comment;/* [unique,charset(UTF16)] */
66	uint32_t state;
67	uint32_t num_stores;
68	struct dfs_StorageInfo *stores;/* [unique,size_is(num_stores)] */
69};
70
71struct dfs_Info4 {
72	const char *path;/* [unique,charset(UTF16)] */
73	const char *comment;/* [unique,charset(UTF16)] */
74	uint32_t state;
75	uint32_t timeout;
76	struct GUID guid;
77	uint32_t num_stores;
78	struct dfs_StorageInfo *stores;/* [unique,size_is(num_stores)] */
79};
80
81/* bitmap dfs_PropertyFlags */
82#define DFS_PROPERTY_FLAG_INSITE_REFERRALS ( 0x01 )
83#define DFS_PROPERTY_FLAG_ROOT_SCALABILITY ( 0x02 )
84#define DFS_PROPERTY_FLAG_SITE_COSTING ( 0x04 )
85#define DFS_PROPERTY_FLAG_TARGET_FAILBACK ( 0x08 )
86#define DFS_PROPERTY_FLAG_CLUSTER_ENABLED ( 0x10 )
87
88struct dfs_Info5 {
89	const char *path;/* [unique,charset(UTF16)] */
90	const char *comment;/* [unique,charset(UTF16)] */
91	uint32_t state;
92	uint32_t timeout;
93	struct GUID guid;
94	uint32_t flags;
95	uint32_t pktsize;
96	uint32_t num_stores;
97};
98
99enum dfs_Target_PriorityClass
100#ifndef USE_UINT_ENUMS
101 {
102	DFS_INVALID_PRIORITY_CLASS=(int)(-1),
103	DFS_SITE_COST_NORMAL_PRIORITY_CLASS=(int)(0),
104	DFS_GLOBAL_HIGH_PRIORITY_CLASS=(int)(1),
105	DFS_SITE_COST_HIGH_PRIORITY_CLASS=(int)(2),
106	DFS_SITE_COST_LOW_PRIORITY_CLASS=(int)(3),
107	DFS_GLOBAL_LOW_PRIORITY_CLASS=(int)(4)
108}
109#else
110 { __donnot_use_enum_dfs_Target_PriorityClass=0x7FFFFFFF}
111#define DFS_INVALID_PRIORITY_CLASS ( -1 )
112#define DFS_SITE_COST_NORMAL_PRIORITY_CLASS ( 0 )
113#define DFS_GLOBAL_HIGH_PRIORITY_CLASS ( 1 )
114#define DFS_SITE_COST_HIGH_PRIORITY_CLASS ( 2 )
115#define DFS_SITE_COST_LOW_PRIORITY_CLASS ( 3 )
116#define DFS_GLOBAL_LOW_PRIORITY_CLASS ( 4 )
117#endif
118;
119
120struct dfs_Target_Priority {
121	enum dfs_Target_PriorityClass target_priority_class;
122	uint16_t target_priority_rank;
123	uint16_t reserved;
124};
125
126struct dfs_StorageInfo2 {
127	struct dfs_StorageInfo info;
128	struct dfs_Target_Priority target_priority;
129};
130
131struct dfs_Info6 {
132	const char *entry_path;/* [unique,charset(UTF16)] */
133	const char *comment;/* [unique,charset(UTF16)] */
134	uint32_t state;
135	uint32_t timeout;
136	struct GUID guid;
137	uint32_t flags;
138	uint32_t pktsize;
139	uint16_t num_stores;
140	struct dfs_StorageInfo2 *stores;/* [unique,size_is(num_stores)] */
141};
142
143struct dfs_Info7 {
144	struct GUID generation_guid;
145};
146
147struct dfs_Info100 {
148	const char *comment;/* [unique,charset(UTF16)] */
149};
150
151struct dfs_Info101 {
152	uint32_t state;
153};
154
155struct dfs_Info102 {
156	uint32_t timeout;
157};
158
159struct dfs_Info103 {
160	uint32_t flags;
161};
162
163struct dfs_Info104 {
164	struct dfs_Target_Priority priority;
165};
166
167struct dfs_Info105 {
168	const char *comment;/* [unique,charset(UTF16)] */
169	uint32_t state;
170	uint32_t timeout;
171	uint32_t property_flag_mask;
172	uint32_t property_flags;
173};
174
175struct dfs_Info106 {
176	uint32_t state;
177	struct dfs_Target_Priority priority;
178};
179
180struct dfs_Info200 {
181	const char *dom_root;/* [unique,charset(UTF16)] */
182};
183
184enum dfs_VolumeFlavor
185#ifndef USE_UINT_ENUMS
186 {
187	DFS_VOLUME_FLAVOR_STANDALONE=(int)(0x100),
188	DFS_VOLUME_FLAVOR_AD_BLOB=(int)(0x200)
189}
190#else
191 { __donnot_use_enum_dfs_VolumeFlavor=0x7FFFFFFF}
192#define DFS_VOLUME_FLAVOR_STANDALONE ( 0x100 )
193#define DFS_VOLUME_FLAVOR_AD_BLOB ( 0x200 )
194#endif
195;
196
197struct dfs_Info300 {
198	enum dfs_VolumeFlavor flavor;
199	const char *dom_root;/* [unique,charset(UTF16)] */
200};
201
202union dfs_Info {
203	struct dfs_Info0 *info0;/* [unique,case(0)] */
204	struct dfs_Info1 *info1;/* [unique,case] */
205	struct dfs_Info2 *info2;/* [unique,case(2)] */
206	struct dfs_Info3 *info3;/* [unique,case(3)] */
207	struct dfs_Info4 *info4;/* [unique,case(4)] */
208	struct dfs_Info5 *info5;/* [unique,case(5)] */
209	struct dfs_Info6 *info6;/* [unique,case(6)] */
210	struct dfs_Info7 *info7;/* [unique,case(7)] */
211	struct dfs_Info100 *info100;/* [unique,case(100)] */
212	struct dfs_Info101 *info101;/* [unique,case(101)] */
213	struct dfs_Info102 *info102;/* [unique,case(102)] */
214	struct dfs_Info103 *info103;/* [unique,case(103)] */
215	struct dfs_Info104 *info104;/* [unique,case(104)] */
216	struct dfs_Info105 *info105;/* [unique,case(105)] */
217	struct dfs_Info106 *info106;/* [unique,case(106)] */
218};
219
220struct dfs_EnumArray1 {
221	uint32_t count;
222	struct dfs_Info1 *s;/* [unique,size_is(count)] */
223};
224
225struct dfs_EnumArray2 {
226	uint32_t count;
227	struct dfs_Info2 *s;/* [unique,size_is(count)] */
228};
229
230struct dfs_EnumArray3 {
231	uint32_t count;
232	struct dfs_Info3 *s;/* [unique,size_is(count)] */
233};
234
235struct dfs_EnumArray4 {
236	uint32_t count;
237	struct dfs_Info4 *s;/* [unique,size_is(count)] */
238};
239
240struct dfs_EnumArray5 {
241	uint32_t count;
242	struct dfs_Info5 *s;/* [unique,size_is(count)] */
243};
244
245struct dfs_EnumArray6 {
246	uint32_t count;
247	struct dfs_Info6 *s;/* [unique,size_is(count)] */
248};
249
250struct dfs_EnumArray200 {
251	uint32_t count;
252	struct dfs_Info200 *s;/* [unique,size_is(count)] */
253};
254
255struct dfs_EnumArray300 {
256	uint32_t count;
257	struct dfs_Info300 *s;/* [unique,size_is(count)] */
258};
259
260union dfs_EnumInfo {
261	struct dfs_EnumArray1 *info1;/* [unique,case] */
262	struct dfs_EnumArray2 *info2;/* [unique,case(2)] */
263	struct dfs_EnumArray3 *info3;/* [unique,case(3)] */
264	struct dfs_EnumArray4 *info4;/* [unique,case(4)] */
265	struct dfs_EnumArray5 *info5;/* [unique,case(5)] */
266	struct dfs_EnumArray6 *info6;/* [unique,case(6)] */
267	struct dfs_EnumArray200 *info200;/* [unique,case(200)] */
268	struct dfs_EnumArray300 *info300;/* [unique,case(300)] */
269};
270
271struct dfs_EnumStruct {
272	uint32_t level;
273	union dfs_EnumInfo e;/* [switch_is(level)] */
274};
275
276struct dfs_UnknownStruct {
277	uint32_t unknown1;
278	const char *unknown2;/* [unique,charset(UTF16)] */
279};
280
281
282struct dfs_GetManagerVersion {
283	struct {
284		enum dfs_ManagerVersion *version;/* [ref] */
285	} out;
286
287};
288
289
290struct dfs_Add {
291	struct {
292		const char *path;/* [ref,charset(UTF16)] */
293		const char *server;/* [ref,charset(UTF16)] */
294		const char *share;/* [unique,charset(UTF16)] */
295		const char *comment;/* [unique,charset(UTF16)] */
296		uint32_t flags;
297	} in;
298
299	struct {
300		WERROR result;
301	} out;
302
303};
304
305
306struct dfs_Remove {
307	struct {
308		const char *dfs_entry_path;/* [ref,charset(UTF16)] */
309		const char *servername;/* [unique,charset(UTF16)] */
310		const char *sharename;/* [unique,charset(UTF16)] */
311	} in;
312
313	struct {
314		WERROR result;
315	} out;
316
317};
318
319
320struct dfs_SetInfo {
321	struct {
322		const char *dfs_entry_path;/* [charset(UTF16)] */
323		const char *servername;/* [unique,charset(UTF16)] */
324		const char *sharename;/* [unique,charset(UTF16)] */
325		uint32_t level;
326		union dfs_Info *info;/* [ref,switch_is(level)] */
327	} in;
328
329	struct {
330		WERROR result;
331	} out;
332
333};
334
335
336struct dfs_GetInfo {
337	struct {
338		const char *dfs_entry_path;/* [charset(UTF16)] */
339		const char *servername;/* [unique,charset(UTF16)] */
340		const char *sharename;/* [unique,charset(UTF16)] */
341		uint32_t level;
342	} in;
343
344	struct {
345		union dfs_Info *info;/* [ref,switch_is(level)] */
346		WERROR result;
347	} out;
348
349};
350
351
352struct dfs_Enum {
353	struct {
354		uint32_t level;
355		uint32_t bufsize;
356		struct dfs_EnumStruct *info;/* [unique] */
357		uint32_t *total;/* [unique] */
358	} in;
359
360	struct {
361		struct dfs_EnumStruct *info;/* [unique] */
362		uint32_t *total;/* [unique] */
363		WERROR result;
364	} out;
365
366};
367
368
369struct dfs_Rename {
370	struct {
371		WERROR result;
372	} out;
373
374};
375
376
377struct dfs_Move {
378	struct {
379		WERROR result;
380	} out;
381
382};
383
384
385struct dfs_ManagerGetConfigInfo {
386	struct {
387		WERROR result;
388	} out;
389
390};
391
392
393struct dfs_ManagerSendSiteInfo {
394	struct {
395		WERROR result;
396	} out;
397
398};
399
400
401struct dfs_AddFtRoot {
402	struct {
403		const char *servername;/* [charset(UTF16)] */
404		const char *dns_servername;/* [charset(UTF16)] */
405		const char *dfsname;/* [charset(UTF16)] */
406		const char *rootshare;/* [charset(UTF16)] */
407		const char *comment;/* [charset(UTF16)] */
408		const char *dfs_config_dn;/* [charset(UTF16)] */
409		uint8_t unknown1;
410		uint32_t flags;
411		struct dfs_UnknownStruct **unknown2;/* [unique] */
412	} in;
413
414	struct {
415		struct dfs_UnknownStruct **unknown2;/* [unique] */
416		WERROR result;
417	} out;
418
419};
420
421
422struct dfs_RemoveFtRoot {
423	struct {
424		const char *servername;/* [charset(UTF16)] */
425		const char *dns_servername;/* [charset(UTF16)] */
426		const char *dfsname;/* [charset(UTF16)] */
427		const char *rootshare;/* [charset(UTF16)] */
428		uint32_t flags;
429		struct dfs_UnknownStruct **unknown;/* [unique] */
430	} in;
431
432	struct {
433		struct dfs_UnknownStruct **unknown;/* [unique] */
434		WERROR result;
435	} out;
436
437};
438
439
440struct dfs_AddStdRoot {
441	struct {
442		const char *servername;/* [charset(UTF16)] */
443		const char *rootshare;/* [charset(UTF16)] */
444		const char *comment;/* [charset(UTF16)] */
445		uint32_t flags;
446	} in;
447
448	struct {
449		WERROR result;
450	} out;
451
452};
453
454
455struct dfs_RemoveStdRoot {
456	struct {
457		const char *servername;/* [charset(UTF16)] */
458		const char *rootshare;/* [charset(UTF16)] */
459		uint32_t flags;
460	} in;
461
462	struct {
463		WERROR result;
464	} out;
465
466};
467
468
469struct dfs_ManagerInitialize {
470	struct {
471		const char *servername;/* [ref,charset(UTF16)] */
472		uint32_t flags;
473	} in;
474
475	struct {
476		WERROR result;
477	} out;
478
479};
480
481
482struct dfs_AddStdRootForced {
483	struct {
484		const char *servername;/* [charset(UTF16)] */
485		const char *rootshare;/* [charset(UTF16)] */
486		const char *comment;/* [charset(UTF16)] */
487		const char *store;/* [charset(UTF16)] */
488	} in;
489
490	struct {
491		WERROR result;
492	} out;
493
494};
495
496
497struct dfs_GetDcAddress {
498	struct {
499		const char *servername;/* [charset(UTF16)] */
500		const char **server_fullname;/* [ref,charset(UTF16)] */
501		uint8_t *is_root;/* [ref] */
502		uint32_t *ttl;/* [ref] */
503	} in;
504
505	struct {
506		const char **server_fullname;/* [ref,charset(UTF16)] */
507		uint8_t *is_root;/* [ref] */
508		uint32_t *ttl;/* [ref] */
509		WERROR result;
510	} out;
511
512};
513
514
515struct dfs_SetDcAddress {
516	struct {
517		const char *servername;/* [charset(UTF16)] */
518		const char *server_fullname;/* [charset(UTF16)] */
519		uint32_t flags;
520		uint32_t ttl;
521	} in;
522
523	struct {
524		WERROR result;
525	} out;
526
527};
528
529
530struct dfs_FlushFtTable {
531	struct {
532		const char *servername;/* [charset(UTF16)] */
533		const char *rootshare;/* [charset(UTF16)] */
534	} in;
535
536	struct {
537		WERROR result;
538	} out;
539
540};
541
542
543struct dfs_Add2 {
544	struct {
545		WERROR result;
546	} out;
547
548};
549
550
551struct dfs_Remove2 {
552	struct {
553		WERROR result;
554	} out;
555
556};
557
558
559struct dfs_EnumEx {
560	struct {
561		const char *dfs_name;/* [charset(UTF16)] */
562		uint32_t level;
563		uint32_t bufsize;
564		struct dfs_EnumStruct *info;/* [unique] */
565		uint32_t *total;/* [unique] */
566	} in;
567
568	struct {
569		struct dfs_EnumStruct *info;/* [unique] */
570		uint32_t *total;/* [unique] */
571		WERROR result;
572	} out;
573
574};
575
576
577struct dfs_SetInfo2 {
578	struct {
579		WERROR result;
580	} out;
581
582};
583
584#endif /* _HEADER_netdfs */
585