Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
dfs.idl
1 /*
2  dfs interface definition
3 */
4 
5 [ uuid("4fc742e0-4a10-11cf-8273-00aa004ae673"),
6  version(3.0),
7  pointer_default(unique),
8  helpstring("Settings for Microsoft Distributed File System")
9 ] interface netdfs
10 {
11  /******************/
12  /* Function: 0x00 */
13  typedef [v1_enum] enum {
14  DFS_MANAGER_VERSION_NT4 = 1,
15  DFS_MANAGER_VERSION_W2K = 2,
16  DFS_MANAGER_VERSION_W2K3 = 4
17  } dfs_ManagerVersion;
18 
19  [public] void dfs_GetManagerVersion(
20  [out] dfs_ManagerVersion *version
21  );
22 
23 
24  /******************/
25  /* Function: 0x01 */
26  WERROR dfs_Add (
27  [in] [string,charset(UTF16)] uint16 *path,
28  [in] [string,charset(UTF16)] uint16 *server,
29  [in,unique] [string,charset(UTF16)] uint16 *share,
30  [in,unique] [string,charset(UTF16)] uint16 *comment,
31  [in] uint32 flags
32  );
33 
34  /******************/
35  /* Function: 0x02 */
36  WERROR dfs_Remove (
37  [in] [string,charset(UTF16)] uint16 *dfs_entry_path,
38  [in,unique] [string,charset(UTF16)] uint16 *servername,
39  [in,unique] [string,charset(UTF16)] uint16 *sharename
40  );
41 
42  /******************/
43  /* Function: 0x03 */
44 
45  typedef struct {
46  } dfs_Info0;
47 
48  typedef struct {
49  [string,charset(UTF16)] uint16 *path;
50  } dfs_Info1;
51 
52  /* first 4 bits unverified yet */
53  typedef [public,bitmap32bit] bitmap {
54  DFS_VOLUME_STATE_OK = 0x1,
55  DFS_VOLUME_STATE_INCONSISTENT = 0x2,
56  DFS_VOLUME_STATE_OFFLINE = 0x4,
57  DFS_VOLUME_STATE_ONLINE = 0x8,
58  DFS_VOLUME_STATE_STANDALONE = DFS_VOLUME_FLAVOR_STANDALONE,
59  DFS_VOLUME_STATE_AD_BLOB = DFS_VOLUME_FLAVOR_AD_BLOB
60  } dfs_VolumeState;
61 
62  typedef struct {
63  [string,charset(UTF16)] uint16 *path;
64  [string,charset(UTF16)] uint16 *comment;
65  dfs_VolumeState state;
66  uint32 num_stores;
67  } dfs_Info2;
68 
69  const int DFS_STORAGE_STATES = 0xf;
70 
71  /* yes, this is a bitmap */
72  typedef [public,bitmap32bit] bitmap {
73  DFS_STORAGE_STATE_OFFLINE = 1,
74  DFS_STORAGE_STATE_ONLINE = 2,
75  DFS_STORAGE_STATE_ACTIVE = 4
76  } dfs_StorageState;
77 
78  typedef struct {
79  dfs_StorageState state;
80  [string,charset(UTF16)] uint16 *server;
81  [string,charset(UTF16)] uint16 *share;
83 
84  typedef struct {
85  [string,charset(UTF16)] uint16 *path;
86  [string,charset(UTF16)] uint16 *comment;
87  dfs_VolumeState state;
88  uint32 num_stores;
89  [size_is(num_stores)] dfs_StorageInfo *stores;
90  } dfs_Info3;
91 
92  typedef struct {
93  [string,charset(UTF16)] uint16 *path;
94  [string,charset(UTF16)] uint16 *comment;
95  dfs_VolumeState state;
96  uint32 timeout;
97  GUID guid;
98  uint32 num_stores;
99  [size_is(num_stores)] dfs_StorageInfo *stores;
100  } dfs_Info4;
101 
102  /* verified with dfsutil */
103  typedef [public,bitmap32bit] bitmap {
104  DFS_PROPERTY_FLAG_INSITE_REFERRALS = 0x01,
105  DFS_PROPERTY_FLAG_ROOT_SCALABILITY = 0x02,
106  DFS_PROPERTY_FLAG_SITE_COSTING = 0x04,
107  DFS_PROPERTY_FLAG_TARGET_FAILBACK = 0x08,
108  DFS_PROPERTY_FLAG_CLUSTER_ENABLED = 0x10 /* untested */
109  } dfs_PropertyFlags;
110 
111  typedef struct {
112  [string,charset(UTF16)] uint16 *path;
113  [string,charset(UTF16)] uint16 *comment;
114  dfs_VolumeState state;
115  uint32 timeout;
116  GUID guid;
117  dfs_PropertyFlags flags;
118  uint32 pktsize;
119  uint32 num_stores;
120  } dfs_Info5;
121 
122  typedef [v1_enum] enum {
123  DFS_INVALID_PRIORITY_CLASS = -1,
124  DFS_SITE_COST_NORMAL_PRIORITY_CLASS = 0,
125  DFS_GLOBAL_HIGH_PRIORITY_CLASS = 1,
126  DFS_SITE_COST_HIGH_PRIORITY_CLASS = 2,
127  DFS_SITE_COST_LOW_PRIORITY_CLASS = 3,
128  DFS_GLOBAL_LOW_PRIORITY_CLASS = 4
129  } dfs_Target_PriorityClass;
130 
131  typedef struct {
132  dfs_Target_PriorityClass target_priority_class;
133  uint16 target_priority_rank;
134  uint16 reserved;
136 
137  typedef struct {
139  dfs_Target_Priority target_priority;
141 
142  typedef struct {
143  [string,charset(UTF16)] uint16 *entry_path;
144  [string,charset(UTF16)] uint16 *comment;
145  dfs_VolumeState state;
146  uint32 timeout;
147  GUID guid;
148  dfs_PropertyFlags flags;
149  uint32 pktsize;
150  uint16 num_stores;
151  [size_is(num_stores)] dfs_StorageInfo2 *stores;
152  } dfs_Info6;
153 
154  typedef struct {
155  GUID generation_guid;
156  } dfs_Info7;
157 
158  typedef struct {
159  [string,charset(UTF16)] uint16 *comment;
160  } dfs_Info100;
161 
162  typedef struct {
163  dfs_StorageState state;
164  } dfs_Info101;
165 
166  typedef struct {
167  uint32 timeout;
168  } dfs_Info102;
169 
170  typedef struct {
171  dfs_PropertyFlags flags;
172  } dfs_Info103;
173 
174  typedef struct {
175  dfs_Target_Priority priority;
176  } dfs_Info104;
177 
178  typedef struct {
179  [string,charset(UTF16)] uint16 *comment;
180  dfs_VolumeState state;
181  uint32 timeout;
182  uint32 property_flag_mask;
183  uint32 property_flags;
184  } dfs_Info105;
185 
186  typedef struct {
187  dfs_StorageState state;
188  dfs_Target_Priority priority;
189  } dfs_Info106;
190 
191  typedef struct {
192  [string,charset(UTF16)] uint16 *dom_root;
193  } dfs_Info200;
194 
195  typedef enum {
196  DFS_VOLUME_FLAVOR_STANDALONE = 0x100,
197  DFS_VOLUME_FLAVOR_AD_BLOB = 0x200
198  } dfs_VolumeFlavor;
199 
200  typedef struct {
201  dfs_VolumeFlavor flavor;
202  [string,charset(UTF16)] uint16 *dom_root;
203  } dfs_Info300;
204 
205  typedef union {
206  [case(0)] dfs_Info0 *info0;
207  [case(1)] dfs_Info1 *info1;
208  [case(2)] dfs_Info2 *info2;
209  [case(3)] dfs_Info3 *info3;
210  [case(4)] dfs_Info4 *info4;
211  [case(5)] dfs_Info5 *info5;
212  [case(6)] dfs_Info6 *info6;
213  [case(7)] dfs_Info7 *info7;
214  [case(100)] dfs_Info100 *info100;
215  [case(101)] dfs_Info101 *info101;
216  [case(102)] dfs_Info102 *info102;
217  [case(103)] dfs_Info103 *info103;
218  [case(104)] dfs_Info104 *info104;
219  [case(105)] dfs_Info105 *info105;
220  [case(106)] dfs_Info106 *info106;
221  } dfs_Info;
222 
223  WERROR dfs_SetInfo (
224  [in] [string,charset(UTF16)] uint16 dfs_entry_path[],
225  [in,unique] [string,charset(UTF16)] uint16 *servername,
226  [in,unique] [string,charset(UTF16)] uint16 *sharename,
227  [in] uint32 level,
228  [in,ref,switch_is(level)] dfs_Info *info
229  );
230 
231  /******************/
232  /* Function: 0x04 */
233  WERROR dfs_GetInfo (
234  [in] [string,charset(UTF16)] uint16 dfs_entry_path[],
235  [in,unique] [string,charset(UTF16)] uint16 *servername,
236  [in,unique] [string,charset(UTF16)] uint16 *sharename,
237  [in] uint32 level,
238  [out,switch_is(level)] dfs_Info *info
239  );
240 
241  /******************/
242  /* Function: 0x05 */
243 
244  typedef struct {
245  uint32 count;
246  [size_is(count)] dfs_Info1 *s;
247  } dfs_EnumArray1;
248 
249  typedef struct {
250  uint32 count;
251  [size_is(count)] dfs_Info2 *s;
252  } dfs_EnumArray2;
253 
254  typedef struct {
255  uint32 count;
256  [size_is(count)] dfs_Info3 *s;
257  } dfs_EnumArray3;
258 
259  typedef struct {
260  uint32 count;
261  [size_is(count)] dfs_Info4 *s;
262  } dfs_EnumArray4;
263 
264  typedef struct {
265  uint32 count;
266  [size_is(count)] dfs_Info200 *s;
268 
269  typedef struct {
270  uint32 count;
271  [size_is(count)] dfs_Info300 *s;
273 
274 
275  typedef union {
276  [case(1)] dfs_EnumArray1 *info1;
277  [case(2)] dfs_EnumArray2 *info2;
278  [case(3)] dfs_EnumArray3 *info3;
279  [case(4)] dfs_EnumArray4 *info4;
280  [case(200)] dfs_EnumArray200 *info200;
281  [case(300)] dfs_EnumArray300 *info300;
282  } dfs_EnumInfo;
283 
284  typedef struct {
285  uint32 level;
286  [switch_is(level)] dfs_EnumInfo e;
287  } dfs_EnumStruct;
288 
289  WERROR dfs_Enum (
290  [in] uint32 level,
291  [in] uint32 bufsize,
292  [in,out,unique] dfs_EnumStruct *info,
293  [in,out,unique] uint32 *total
294  );
295 
296  /* Function 0x06 */
297  WERROR dfs_Rename();
298 
299  /* Function 0x07 */
300  WERROR dfs_Move();
301 
302  /* Function 0x08 */
303  WERROR dfs_ManagerGetConfigInfo();
304 
305  /* Function 0x09 */
306  WERROR dfs_ManagerSendSiteInfo();
307 
308  /* Function 0x0a */
309  typedef struct {
310  uint32 unknown1;
311  [string,charset(UTF16)] uint16 *unknown2;
313 
314  WERROR dfs_AddFtRoot(
315  [in] [string,charset(UTF16)] uint16 servername[],
316  [in] [string,charset(UTF16)] uint16 dns_servername[],
317  [in] [string,charset(UTF16)] uint16 dfsname[],
318  [in] [string,charset(UTF16)] uint16 rootshare[],
319  [in] [string,charset(UTF16)] uint16 comment[],
320  [in] [string,charset(UTF16)] uint16 dfs_config_dn[],
321  [in] uint8 unknown1,
322  [in] uint32 flags,
323  [in,out,unique] dfs_UnknownStruct **unknown2
324  );
325 
326  /* Function 0x0b */
327  WERROR dfs_RemoveFtRoot(
328  [in] [string,charset(UTF16)] uint16 servername[],
329  [in] [string,charset(UTF16)] uint16 dns_servername[],
330  [in] [string,charset(UTF16)] uint16 dfsname[],
331  [in] [string,charset(UTF16)] uint16 rootshare[],
332  [in] uint32 flags,
333  [in,out,unique] dfs_UnknownStruct **unknown
334  );
335 
336  /* Function 0x0c */
337  WERROR dfs_AddStdRoot(
338  [in] [string,charset(UTF16)] uint16 servername[],
339  [in] [string,charset(UTF16)] uint16 rootshare[],
340  [in] [string,charset(UTF16)] uint16 comment[],
341  [in] uint32 flags
342  );
343 
344  /* Function 0x0d */
345  WERROR dfs_RemoveStdRoot(
346  [in] [string,charset(UTF16)] uint16 servername[],
347  [in] [string,charset(UTF16)] uint16 rootshare[],
348  [in] uint32 flags
349  );
350 
351  /* Function 0x0e */
352  WERROR dfs_ManagerInitialize(
353  [in] [string,charset(UTF16)] uint16 *servername,
354  [in] uint32 flags
355  );
356 
357  /* Function 0x0f */
358  WERROR dfs_AddStdRootForced(
359  [in] [string,charset(UTF16)] uint16 servername[],
360  [in] [string,charset(UTF16)] uint16 rootshare[],
361  [in] [string,charset(UTF16)] uint16 comment[],
362  [in] [string,charset(UTF16)] uint16 store[] /* C:\\whatever */
363  );
364 
365  /* Function 0x10 */
366  WERROR dfs_GetDcAddress();
367 
368  /* Function 0x11 */
369  WERROR dfs_SetDcAddress();
370 
371  /* Function 0x12 */
372  WERROR dfs_FlushFtTable(
373  [in] [string,charset(UTF16)] uint16 servername[],
374  [in] [string,charset(UTF16)] uint16 rootshare[]
375  );
376 
377  /* Function 0x13 */
378  WERROR dfs_Add2();
379 
380  /* Function 0x14 */
381  WERROR dfs_Remove2();
382 
383  /* Function 0x15 */
384  [public] WERROR dfs_EnumEx(
385  [in] [string,charset(UTF16)] uint16 dfs_name[],
386  [in] uint32 level,
387  [in] uint32 bufsize,
388  [in,out,unique] dfs_EnumStruct *info,
389  [in,out,unique] uint32 *total
390  );
391 
392  /* Function 0x16 */
393  WERROR dfs_SetInfo2();
394 }
Definition: dfs.idl:142
Definition: dfs.idl:174
Definition: dfs.idl:9
Definition: dfs.idl:264
Definition: dfs.idl:162
Definition: dfs.idl:269
Definition: dfs.idl:45
Definition: file-pcapng.c:177
Definition: dfs.idl:78
Definition: dfs.idl:111
Definition: dfs.idl:131
Definition: dfs.idl:178
Definition: dfs.idl:254
Definition: dfs.idl:166
Definition: dfs.idl:137
Definition: dfs.idl:186
Definition: dfs.idl:259
Definition: dfs.idl:284
Definition: dfs.idl:309
Definition: dfs.idl:92
Definition: dfs.idl:244
Definition: dfs.idl:62
Definition: dfs.idl:275
Definition: dfs.idl:154
Definition: dfs.idl:84
Definition: dfs.idl:249
Definition: dfs.idl:48
Definition: dfs.idl:205
Definition: dfs.idl:170
Definition: dfs.idl:191
Definition: dfs.idl:158
Definition: dfs.idl:200