Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
srvsvc.idl
1 #include "idl_types.h"
2 
3 /*import "security.idl", "svcctl.idl";*/
4 
5 /*
6  srvsvc interface definitions
7 */
8 
9 [ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
10  version(3.0),
11  endpoint("ncacn_np:[\\pipe\\srvsvc]", "ncacn_ip_tcp:", "ncalrpc:"),
12  pointer_default(unique),
13  pointer_default_top(unique),
14  helpstring("Server Service")
15 ] interface srvsvc
16 {
17  typedef bitmap svcctl_ServerType svcctl_ServerType;
18  typedef bitmap security_secinfo security_secinfo;
19 
20 /**************************/
21 /* srvsvc_NetCharDev */
22 /**************************/
23  typedef struct {
24  [string,charset(UTF16)] uint16 *device;
25  } srvsvc_NetCharDevInfo0;
26 
27  typedef struct {
28  uint32 count;
29  [size_is(count)] srvsvc_NetCharDevInfo0 *array;
30  } srvsvc_NetCharDevCtr0;
31 
32  typedef struct {
33  [string,charset(UTF16)] uint16 *device;
34  uint32 status;
35  [string,charset(UTF16)] uint16 *user;
36  uint32 time;
37  } srvsvc_NetCharDevInfo1;
38 
39  typedef struct {
40  uint32 count;
41  [size_is(count)] srvsvc_NetCharDevInfo1 *array;
42  } srvsvc_NetCharDevCtr1;
43 
44  typedef union {
45  [case(0)] srvsvc_NetCharDevInfo0 *info0;
46  [case(1)] srvsvc_NetCharDevInfo1 *info1;
47  [default] ;
48  } srvsvc_NetCharDevInfo;
49 
50  typedef union {
51  [case(0)] srvsvc_NetCharDevCtr0 *ctr0;
52  [case(1)] srvsvc_NetCharDevCtr1 *ctr1;
53  [default] ;
54  } srvsvc_NetCharDevCtr;
55 
56  /******************/
57  /* Function: 0x00 */
58  WERROR srvsvc_NetCharDevEnum(
59  [in] [string,charset(UTF16)] uint16 *server_unc,
60  [in,out,ref] uint32 *level,
61  [in,out,switch_is(level),ref] srvsvc_NetCharDevCtr *ctr,
62  [in] uint32 max_buffer,
63  [out,ref] uint32 *totalentries,
64  [in,out] uint32 *resume_handle
65  );
66 
67  /******************/
68  /* Function: 0x01 */
69  WERROR srvsvc_NetCharDevGetInfo(
70  [in] [string,charset(UTF16)] uint16 *server_unc,
71  [in] [string,charset(UTF16)] uint16 device_name[],
72  [in] uint32 level,
73  [out,switch_is(level),ref] srvsvc_NetCharDevInfo *info
74  );
75 
76  /******************/
77  /* Function: 0x02 */
78  WERROR srvsvc_NetCharDevControl(
79  [in] [string,charset(UTF16)] uint16 *server_unc,
80  [in] [string,charset(UTF16)] uint16 device_name[],
81  [in] uint32 opcode
82  );
83 
84 /**************************/
85 /* srvsvc_NetCharDevQ */
86 /**************************/
87  typedef struct {
88  [string,charset(UTF16)] uint16 *device;
89  } srvsvc_NetCharDevQInfo0;
90 
91  typedef struct {
92  uint32 count;
93  [size_is(count)] srvsvc_NetCharDevQInfo0 *array;
94  } srvsvc_NetCharDevQCtr0;
95 
96  typedef struct {
97  [string,charset(UTF16)] uint16 *device;
98  uint32 priority;
99  [string,charset(UTF16)] uint16 *devices;
100  uint32 users;
101  uint32 num_ahead;
102  } srvsvc_NetCharDevQInfo1;
103 
104  typedef struct {
105  uint32 count;
106  [size_is(count)] srvsvc_NetCharDevQInfo1 *array;
107  } srvsvc_NetCharDevQCtr1;
108 
109  typedef union {
110  [case(0)] srvsvc_NetCharDevQInfo0 *info0;
111  [case(1)] srvsvc_NetCharDevQInfo1 *info1;
112  [default] ;
113  } srvsvc_NetCharDevQInfo;
114 
115  typedef union {
116  [case(0)] srvsvc_NetCharDevQCtr0 *ctr0;
117  [case(1)] srvsvc_NetCharDevQCtr1 *ctr1;
118  [default] ;
119  } srvsvc_NetCharDevQCtr;
120 
121  /******************/
122  /* Function: 0x03 */
123  WERROR srvsvc_NetCharDevQEnum(
124  [in] [string,charset(UTF16)] uint16 *server_unc,
125  [in] [string,charset(UTF16)] uint16 *user,
126  [in,out,ref] uint32 *level,
127  [in,out,switch_is(level),ref] srvsvc_NetCharDevQCtr *ctr,
128  [in] uint32 max_buffer,
129  [out,ref] uint32 *totalentries,
130  [in,out] uint32 *resume_handle
131  );
132 
133  /******************/
134  /* Function: 0x04 */
135  WERROR srvsvc_NetCharDevQGetInfo(
136  [in] [string,charset(UTF16)] uint16 *server_unc,
137  [in] [string,charset(UTF16)] uint16 queue_name[],
138  [in] [string,charset(UTF16)] uint16 user[],
139  [in] uint32 level,
140  [out,switch_is(level),ref] srvsvc_NetCharDevQInfo *info
141  );
142 
143  /******************/
144  /* Function: 0x05 */
145  WERROR srvsvc_NetCharDevQSetInfo(
146  [in] [string,charset(UTF16)] uint16 *server_unc,
147  [in] [string,charset(UTF16)] uint16 queue_name[],
148  [in] uint32 level,
149  [in,switch_is(level)] srvsvc_NetCharDevQInfo info,
150  [in,out] uint32 *parm_error
151  );
152 
153  /******************/
154  /* Function: 0x06 */
155  WERROR srvsvc_NetCharDevQPurge(
156  [in] [string,charset(UTF16)] uint16 *server_unc,
157  [in] [string,charset(UTF16)] uint16 queue_name[]
158  );
159 
160  /******************/
161  /* Function: 0x07 */
162  WERROR srvsvc_NetCharDevQPurgeSelf(
163  [in] [string,charset(UTF16)] uint16 *server_unc,
164  [in] [string,charset(UTF16)] uint16 queue_name[],
165  [in] [string,charset(UTF16)] uint16 computer_name[]
166  );
167 
168 /**************************/
169 /* srvsvc_NetConn */
170 /**************************/
171  typedef struct {
172  uint32 conn_id;
173  } srvsvc_NetConnInfo0;
174 
175  typedef struct {
176  uint32 count;
177  [size_is(count)] srvsvc_NetConnInfo0 *array;
178  } srvsvc_NetConnCtr0;
179 
180  typedef struct {
181  uint32 conn_id;
182  uint32 conn_type;
183  uint32 num_open;
184  uint32 num_users;
185  uint32 conn_time;
186  [string,charset(UTF16)] uint16 *user;
187  [string,charset(UTF16)] uint16 *share;
188  } srvsvc_NetConnInfo1;
189 
190  typedef struct {
191  uint32 count;
192  [size_is(count)] srvsvc_NetConnInfo1 *array;
193  } srvsvc_NetConnCtr1;
194 
195  typedef union {
196  [case(0)] srvsvc_NetConnCtr0 *ctr0;
197  [case(1)] srvsvc_NetConnCtr1 *ctr1;
198  [default] ;
199  } srvsvc_NetConnCtr;
200 
201  /******************/
202  /* Function: 0x08 */
203  WERROR srvsvc_NetConnEnum(
204  [in] [string,charset(UTF16)] uint16 *server_unc,
205  [in] [string,charset(UTF16)] uint16 *path,
206  [in,out,ref] uint32 *level,
207  [in,out,switch_is(level),ref] srvsvc_NetConnCtr *ctr,
208  [in] uint32 max_buffer,
209  [out,ref] uint32 *totalentries,
210  [in,out] uint32 *resume_handle
211  );
212 
213 /**************************/
214 /* srvsvc_NetFile */
215 /**************************/
216  typedef struct {
217  uint32 fid;
218  } srvsvc_NetFileInfo2;
219 
220  typedef struct {
221  uint32 count;
222  [size_is(count)] srvsvc_NetFileInfo2 *array;
223  } srvsvc_NetFileCtr2;
224 
225  typedef struct {
226  uint32 fid;
227  uint32 permissions;
228  uint32 num_locks;
229  [string,charset(UTF16)] uint16 *path;
230  [string,charset(UTF16)] uint16 *user;
231  } srvsvc_NetFileInfo3;
232 
233  typedef struct {
234  uint32 count;
235  [size_is(count)] srvsvc_NetFileInfo3 *array;
236  } srvsvc_NetFileCtr3;
237 
238  typedef union {
239  [case(2)] srvsvc_NetFileInfo2 *info2;
240  [case(3)] srvsvc_NetFileInfo3 *info3;
241  [default] ;
242  } srvsvc_NetFileInfo;
243 
244  typedef union {
245  [case(2)] srvsvc_NetFileCtr2 *ctr2;
246  [case(3)] srvsvc_NetFileCtr3 *ctr3;
247  [default] ;
248  } srvsvc_NetFileCtr;
249 
250  /******************/
251  /* Function: 0x09 */
252  WERROR srvsvc_NetFileEnum(
253  [in] [string,charset(UTF16)] uint16 *server_unc,
254  [in] [string,charset(UTF16)] uint16 *path,
255  [in] [string,charset(UTF16)] uint16 *user,
256  [in,out,ref] uint32 *level,
257  [in,out,switch_is(level),ref] srvsvc_NetFileCtr *ctr,
258  [in] uint32 max_buffer,
259  [out,ref] uint32 *totalentries,
260  [in,out] uint32 *resume_handle
261  );
262 
263  /******************/
264  /* Function: 0x0a */
265  WERROR srvsvc_NetFileGetInfo(
266  [in] [string,charset(UTF16)] uint16 *server_unc,
267  [in] uint32 fid,
268  [in] uint32 level,
269  [out,switch_is(level),ref] srvsvc_NetFileInfo *info
270  );
271 
272  /******************/
273  /* Function: 0x0b */
274  WERROR srvsvc_NetFileClose(
275  [in] [string,charset(UTF16)] uint16 *server_unc,
276  [in] uint32 fid
277  );
278 
279 /**************************/
280 /* srvsvc_NetSess */
281 /**************************/
282  typedef [bitmap32bit] bitmap {
283  SESS_GUEST = 0x00000001,
284  SESS_NOENCRYPTION = 0x00000002
285  } srvsvc_SessionUserFlags;
286 
287  typedef struct {
288  [string,charset(UTF16)] uint16 *client;
289  } srvsvc_NetSessInfo0;
290 
291  typedef struct {
292  uint32 count;
293  [size_is(count)] srvsvc_NetSessInfo0 *array;
294  } srvsvc_NetSessCtr0;
295 
296  typedef struct {
297  [string,charset(UTF16)] uint16 *client;
298  [string,charset(UTF16)] uint16 *user;
299  uint32 num_open;
300  uint32 time;
301  uint32 idle_time;
302  srvsvc_SessionUserFlags user_flags;
303  } srvsvc_NetSessInfo1;
304 
305  typedef struct {
306  uint32 count;
307  [size_is(count)] srvsvc_NetSessInfo1 *array;
308  } srvsvc_NetSessCtr1;
309 
310  typedef struct {
311  [string,charset(UTF16)] uint16 *client;
312  [string,charset(UTF16)] uint16 *user;
313  uint32 num_open;
314  uint32 time;
315  uint32 idle_time;
316  srvsvc_SessionUserFlags user_flags;
317  [string,charset(UTF16)] uint16 *client_type;
318  } srvsvc_NetSessInfo2;
319 
320  typedef struct {
321  uint32 count;
322  [size_is(count)] srvsvc_NetSessInfo2 *array;
323  } srvsvc_NetSessCtr2;
324 
325  typedef struct {
326  [string,charset(UTF16)] uint16 *client;
327  [string,charset(UTF16)] uint16 *user;
328  uint32 time;
329  uint32 idle_time;
330  } srvsvc_NetSessInfo10;
331 
332  typedef struct {
333  uint32 count;
334  [size_is(count)] srvsvc_NetSessInfo10 *array;
335  } srvsvc_NetSessCtr10;
336 
337  typedef struct {
338  [string,charset(UTF16)] uint16 *client;
339  [string,charset(UTF16)] uint16 *user;
340  uint32 num_open;
341  uint32 time;
342  uint32 idle_time;
343  srvsvc_SessionUserFlags user_flags;
344  [string,charset(UTF16)] uint16 *client_type;
345  [string,charset(UTF16)] uint16 *transport;
346  } srvsvc_NetSessInfo502;
347 
348  typedef struct {
349  uint32 count;
350  [size_is(count)] srvsvc_NetSessInfo502 *array;
351  } srvsvc_NetSessCtr502;
352 
353  typedef union {
354  [case(0)] srvsvc_NetSessCtr0 *ctr0;
355  [case(1)] srvsvc_NetSessCtr1 *ctr1;
356  [case(2)] srvsvc_NetSessCtr2 *ctr2;
357  [case(10)] srvsvc_NetSessCtr10 *ctr10;
358  [case(502)] srvsvc_NetSessCtr502 *ctr502;
359  [default] ;
360  } srvsvc_NetSessCtr;
361 
362  /******************/
363  /* Function: 0x0c */
364  WERROR srvsvc_NetSessEnum(
365  [in] [string,charset(UTF16)] uint16 *server_unc,
366  [in] [string,charset(UTF16)] uint16 *client,
367  [in] [string,charset(UTF16)] uint16 *user,
368  [in,out,ref] uint32 *level,
369  [in,out,switch_is(level),ref] srvsvc_NetSessCtr *ctr,
370  [in] uint32 max_buffer,
371  [out,ref] uint32 *totalentries,
372  [in,out] uint32 *resume_handle
373  );
374 
375  /******************/
376  /* Function: 0x0d */
377  WERROR srvsvc_NetSessDel(
378  [in] [string,charset(UTF16)] uint16 *server_unc,
379  [in] [string,charset(UTF16)] uint16 *client,
380  [in] [string,charset(UTF16)] uint16 *user
381  );
382 
383 /**************************/
384 /* srvsvc_NetShare */
385 /**************************/
386 
387  /* share types */
388  const uint32 STYPE_TEMPORARY = 0x40000000; /* share is a temporary one */
389  const uint32 STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
390 
391  typedef [v1_enum, flag(NDR_PAHEX)] enum {
392  STYPE_DISKTREE = 0,
393  STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
394  STYPE_DISKTREE_HIDDEN = STYPE_DISKTREE|STYPE_HIDDEN,
395  STYPE_PRINTQ = 1,
396  STYPE_PRINTQ_TEMPORARY = STYPE_PRINTQ|STYPE_TEMPORARY,
397  STYPE_PRINTQ_HIDDEN = STYPE_PRINTQ|STYPE_HIDDEN,
398  STYPE_DEVICE = 2, /* Serial device */
399  STYPE_DEVICE_TEMPORARY = STYPE_DEVICE|STYPE_TEMPORARY,
400  STYPE_DEVICE_HIDDEN = STYPE_DEVICE|STYPE_HIDDEN,
401  STYPE_IPC = 3, /* Interprocess communication (IPC) */
402  STYPE_IPC_TEMPORARY = STYPE_IPC|STYPE_TEMPORARY,
403  STYPE_IPC_HIDDEN = STYPE_IPC|STYPE_HIDDEN
404  } srvsvc_ShareType;
405 
406  typedef struct {
407  [string,charset(UTF16)] uint16 *name;
408  } srvsvc_NetShareInfo0;
409 
410  typedef struct {
411  [string,charset(UTF16)] uint16 *name;
412  srvsvc_ShareType type;
413  [string,charset(UTF16)] uint16 *comment;
414  } srvsvc_NetShareInfo1;
415 
416  typedef struct {
417  [string,charset(UTF16)] uint16 *name;
418  srvsvc_ShareType type;
419  [string,charset(UTF16)] uint16 *comment;
420  uint32 permissions;
421  uint32 max_users;
422  uint32 current_users;
423  [string,charset(UTF16)] uint16 *path;
424  [string,charset(UTF16)] uint16 *password;
425  } srvsvc_NetShareInfo2;
426 
427  typedef struct {
428  [string,charset(UTF16)] uint16 *name;
429  srvsvc_ShareType type;
430  [string,charset(UTF16)] uint16 *comment;
431  uint32 csc_policy;
432  } srvsvc_NetShareInfo501;
433 
434  typedef struct {
435  [string,charset(UTF16)] uint16 *name;
436  srvsvc_ShareType type;
437  [string,charset(UTF16)] uint16 *comment;
438  uint32 permissions;
439  int32 max_users;
440  uint32 current_users;
441  [string,charset(UTF16)] uint16 *path;
442  [string,charset(UTF16)] uint16 *password;
443  /* maybe here is a struct sec_desc_buf following */
444  uint32 unknown;
445  [subcontext(4)] security_descriptor *sd;
446  } srvsvc_NetShareInfo502;
447 
448  typedef struct {
449  [string,charset(UTF16)] uint16 *comment;
450  } srvsvc_NetShareInfo1004;
451 
452  typedef struct {
453  int32 max_users;
454  } srvsvc_NetShareInfo1006;
455 
456  typedef [bitmap32bit] bitmap {
457  SHARE_1005_FLAGS_IN_DFS = 0x00000001,
458  SHARE_1005_FLAGS_DFS_ROOT = 0x00000002,
459  CSC_CACHE_AUTO_REINT = 0x00000010,
460  CSC_CACHE_VDO = 0x00000020,
461  FLAGS_RESTRICT_EXCLUSIVE_OPENS = 0x00000100,
462  FLAGS_FORCE_SHARED_DELETE = 0x00000200,
463  FLAGS_ALLOW_NAMESPACE_CACHING = 0x00000400,
464  FLAGS_ACCESS_BASED_DIRECTORY_ENUM = 0x00000800
465  } srvsvc_DFSFlags;
466 
467  const uint32 SHARE_1005_CSC_POLICY_MASK = 0x00000030;
468  const uint32 SHARE_1005_CSC_POLICY_SHIFT = 4;
469 
470  typedef struct {
471  uint32 count;
472  [size_is(count)] srvsvc_NetShareInfo0 *array;
473  } srvsvc_NetShareCtr0;
474 
475  typedef struct {
476  uint32 count;
477  [size_is(count)] srvsvc_NetShareInfo1 *array;
478  } srvsvc_NetShareCtr1;
479 
480  typedef struct {
481  uint32 count;
482  [size_is(count)] srvsvc_NetShareInfo2 *array;
483  } srvsvc_NetShareCtr2;
484 
485  typedef struct {
486  uint32 count;
487  [size_is(count)] srvsvc_NetShareInfo501 *array;
488  } srvsvc_NetShareCtr501;
489 
490  typedef struct {
491  uint32 count;
492  [size_is(count)] srvsvc_NetShareInfo502 *array;
493  } srvsvc_NetShareCtr502;
494 
495  typedef struct {
496  uint32 count;
497  [size_is(count)] srvsvc_NetShareInfo1004 *array;
498  } srvsvc_NetShareCtr1004;
499 
500  typedef struct {
501  srvsvc_DFSFlags dfs_flags;
502  } srvsvc_NetShareInfo1005;
503 
504  typedef struct {
505  uint32 count;
506  [size_is(count)] srvsvc_NetShareInfo1005 *array;
507  } srvsvc_NetShareCtr1005;
508 
509  typedef struct {
510  uint32 count;
511  [size_is(count)] srvsvc_NetShareInfo1006 *array;
512  } srvsvc_NetShareCtr1006;
513 
514  typedef struct {
515  uint32 flags;
516  [string,charset(UTF16)] uint16 *alternate_directory_name;
517  } srvsvc_NetShareInfo1007;
518 
519  typedef struct {
520  uint32 count;
521  [size_is(count)] srvsvc_NetShareInfo1007 *array;
522  } srvsvc_NetShareCtr1007;
523 
524  typedef struct {
525  uint32 count;
526  [size_is(count)] sec_desc_buf *array;
527  } srvsvc_NetShareCtr1501;
528 
529  typedef union {
530  [case(0)] srvsvc_NetShareInfo0 *info0;
531  [case(1)] srvsvc_NetShareInfo1 *info1;
532  [case(2)] srvsvc_NetShareInfo2 *info2;
533  [case(501)] srvsvc_NetShareInfo501 *info501;
534  [case(502)] srvsvc_NetShareInfo502 *info502;
535  [case(1004)] srvsvc_NetShareInfo1004 *info1004;
536  [case(1005)] srvsvc_NetShareInfo1005 *info1005;
537  [case(1006)] srvsvc_NetShareInfo1006 *info1006;
538  [case(1007)] srvsvc_NetShareInfo1007 *info1007;
539  [case(1501)] sec_desc_buf *info1501;
540  [default] ;
541  } srvsvc_NetShareInfo;
542 
543  typedef union {
544  [case(0)] srvsvc_NetShareCtr0 *ctr0;
545  [case(1)] srvsvc_NetShareCtr1 *ctr1;
546  [case(2)] srvsvc_NetShareCtr2 *ctr2;
547  [case(501)] srvsvc_NetShareCtr501 *ctr501;
548  [case(502)] srvsvc_NetShareCtr502 *ctr502;
549  [case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
550  [case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
551  [case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
552  [case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
553  [case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
554  [default] ;
555  } srvsvc_NetShareCtr;
556 
557  /******************/
558  /* Function: 0x0e */
559  WERROR srvsvc_NetShareAdd(
560  [in] [string,charset(UTF16)] uint16 *server_unc,
561  [in] uint32 level,
562  [in,switch_is(level)] srvsvc_NetShareInfo info,
563  [in,out] uint32 *parm_error
564  );
565 
566  /******************/
567  /* Function: 0x0f */
568  WERROR srvsvc_NetShareEnumAll (
569  [in] [string,charset(UTF16)] uint16 *server_unc,
570  [in,out,ref] uint32 *level,
571  [in,out,switch_is(level),ref] srvsvc_NetShareCtr *ctr,
572  [in] uint32 max_buffer,
573  [out,ref] uint32 *totalentries,
574  [in,out] uint32 *resume_handle
575  );
576 
577  /******************/
578  /* Function: 0x10 */
579  WERROR srvsvc_NetShareGetInfo(
580  [in] [string,charset(UTF16)] uint16 *server_unc,
581  [in] [string,charset(UTF16)] uint16 share_name[],
582  [in] uint32 level,
583  [out,switch_is(level),ref] srvsvc_NetShareInfo *info
584  );
585 
586  /******************/
587  /* Function: 0x11 */
588  WERROR srvsvc_NetShareSetInfo(
589  [in] [string,charset(UTF16)] uint16 *server_unc,
590  [in] [string,charset(UTF16)] uint16 share_name[],
591  [in] uint32 level,
592  [in,switch_is(level)] srvsvc_NetShareInfo info,
593  [in,out] uint32 *parm_error
594  );
595 
596  /******************/
597  /* Function: 0x12 */
598  WERROR srvsvc_NetShareDel(
599  [in] [string,charset(UTF16)] uint16 *server_unc,
600  [in] [string,charset(UTF16)] uint16 share_name[],
601  [in] uint32 reserved
602  );
603 
604  /******************/
605  /* Function: 0x13 */
606  WERROR srvsvc_NetShareDelSticky(
607  [in] [string,charset(UTF16)] uint16 *server_unc,
608  [in] [string,charset(UTF16)] uint16 share_name[],
609  [in] uint32 reserved
610  );
611 
612  /******************/
613  /* Function: 0x14 */
614  WERROR srvsvc_NetShareCheck(
615  [in] [string,charset(UTF16)] uint16 *server_unc,
616  [in] [string,charset(UTF16)] uint16 device_name[],
617  [out,ref] srvsvc_ShareType *type
618  );
619 
620 /**************************/
621 /* srvsvc_NetSrv */
622 /**************************/
623  typedef [public,v1_enum] enum {
624  PLATFORM_ID_DOS = 300,
625  PLATFORM_ID_OS2 = 400,
626  PLATFORM_ID_NT = 500,
627  PLATFORM_ID_OSF = 600,
628  PLATFORM_ID_VMS = 700
629  } srvsvc_PlatformId;
630 
631  typedef struct {
632  srvsvc_PlatformId platform_id;
633  [string,charset(UTF16)] uint16 *server_name;
634  } srvsvc_NetSrvInfo100;
635 
636  typedef struct {
637  srvsvc_PlatformId platform_id;
638  [string,charset(UTF16)] uint16 *server_name;
639  uint32 version_major;
640  uint32 version_minor;
641  svcctl_ServerType server_type;
642  [string,charset(UTF16)] uint16 *comment;
643  } srvsvc_NetSrvInfo101;
644 
645  typedef struct {
646  srvsvc_PlatformId platform_id;
647  [string,charset(UTF16)] uint16 *server_name;
648  uint32 version_major;
649  uint32 version_minor;
650  svcctl_ServerType server_type;
651  [string,charset(UTF16)] uint16 *comment;
652  uint32 users;
653  uint32 disc;
654  uint32 hidden;
655  uint32 announce;
656  uint32 anndelta;
657  uint32 licenses;
658  [string,charset(UTF16)] uint16 *userpath;
659  } srvsvc_NetSrvInfo102;
660 
661  typedef struct {
662  uint32 ulist_mtime;
663  uint32 glist_mtime;
664  uint32 alist_mtime;
665  [string,charset(UTF16)] uint16 *alerts;
666  uint32 security;
667  uint32 numadmin;
668  uint32 lanmask;
669  [string,charset(UTF16)] uint16 *guestaccount;
670  uint32 chdevs;
671  uint32 chdevqs;
672  uint32 chdevjobs;
673  uint32 connections;
674  uint32 shares;
675  uint32 openfiles;
676  uint32 sessopen;
677  uint32 sesssvc;
678  uint32 sessreqs;
679  uint32 opensearch;
680  uint32 activelocks;
681  uint32 sizereqbufs;
682  uint32 numbigbufs;
683  uint32 numfiletasks;
684  uint32 alertsched;
685  uint32 erroralert;
686  uint32 logonalert;
687  uint32 accessalert;
688  uint32 diskalert;
689  uint32 netioalert;
690  uint32 maxaudits;
691  [string,charset(UTF16)] uint16 *srvheuristics;
692  } srvsvc_NetSrvInfo402;
693 
694  typedef struct {
695  uint32 ulist_mtime;
696  uint32 glist_mtime;
697  uint32 alist_mtime;
698  [string,charset(UTF16)] uint16 *alerts;
699  uint32 security;
700  uint32 numadmin;
701  uint32 lanmask;
702  [string,charset(UTF16)] uint16 *guestaccount;
703  uint32 chdevs;
704  uint32 chdevqs;
705  uint32 chdevjobs;
706  uint32 connections;
707  uint32 shares;
708  uint32 openfiles;
709  uint32 sessopen;
710  uint32 sesssvc;
711  uint32 sessreqs;
712  uint32 opensearch;
713  uint32 activelocks;
714  uint32 sizereqbufs;
715  uint32 numbigbufs;
716  uint32 numfiletasks;
717  uint32 alertsched;
718  uint32 eroralert;
719  uint32 logonalert;
720  uint32 accessalert;
721  uint32 diskalert;
722  uint32 netioalert;
723  uint32 maxaudits;
724  [string,charset(UTF16)] uint16 *srvheuristics;
725  uint32 auditedevents;
726  uint32 auditprofile;
727  [string,charset(UTF16)] uint16 *autopath;
728  } srvsvc_NetSrvInfo403;
729 
730  typedef struct {
731  uint32 sessopen;
732  uint32 sesssvc;
733  uint32 opensearch;
734  uint32 sizereqbufs;
735  uint32 initworkitems;
736  uint32 maxworkitems;
737  uint32 rawworkitems;
738  uint32 irpstacksize;
739  uint32 maxrawbuflen;
740  uint32 sessusers;
741  uint32 sessconns;
742  uint32 maxpagedmemoryusage;
743  uint32 maxnonpagedmemoryusage;
744  uint32 enablesoftcompat;
745  uint32 enableforcedlogoff;
746  uint32 timesource;
747  uint32 acceptdownlevelapis;
748  uint32 lmannounce;
749  } srvsvc_NetSrvInfo502;
750 
751  typedef struct{
752  uint32 sessopen;
753  uint32 sesssvc;
754  uint32 opensearch;
755  uint32 sizereqbufs;
756  uint32 initworkitems;
757  uint32 maxworkitems;
758  uint32 rawworkitems;
759  uint32 irpstacksize;
760  uint32 maxrawbuflen;
761  uint32 sessusers;
762  uint32 sessconns;
763  uint32 maxpagedmemoryusage;
764  uint32 maxnonpagedmemoryusage;
765  uint32 enablesoftcompat;
766  uint32 enableforcedlogoff;
767  uint32 timesource;
768  uint32 acceptdownlevelapis;
769  uint32 lmannounce;
770  [string,charset(UTF16)] uint16 *domain;
771  uint32 maxcopyreadlen;
772  uint32 maxcopywritelen;
773  uint32 minkeepsearch;
774  uint32 maxkeepsearch;
775  uint32 minkeepcomplsearch;
776  uint32 maxkeepcomplsearch;
777  uint32 threadcountadd;
778  uint32 numlockthreads;
779  uint32 scavtimeout;
780  uint32 minrcvqueue;
781  uint32 minfreeworkitems;
782  uint32 xactmemsize;
783  uint32 threadpriority;
784  uint32 maxmpxct;
785  uint32 oplockbreakwait;
786  uint32 oplockbreakresponsewait;
787  uint32 enableoplocks;
788  uint32 enableoplockforceclose;
789  uint32 enablefcbopens;
790  uint32 enableraw;
791  uint32 enablesharednetdrives;
792  uint32 minfreeconnections;
793  uint32 maxfreeconnections;
794  } srvsvc_NetSrvInfo503;
795 
796  typedef struct{
797  uint32 sessopen;
798  uint32 sesssvc;
799  uint32 opensearch;
800  uint32 sizereqbufs;
801  uint32 initworkitems;
802  uint32 maxworkitems;
803  uint32 rawworkitems;
804  uint32 irpstacksize;
805  uint32 maxrawbuflen;
806  uint32 sessusers;
807  uint32 sessconns;
808  uint32 maxpagedmemoryusage;
809  uint32 maxnonpagedmemoryusage;
810  uint32 enablesoftcompat;
811  uint32 enableforcedlogoff;
812  uint32 timesource;
813  uint32 acceptdownlevelapis;
814  uint32 lmannounce;
815  [string,charset(UTF16)] uint16 *domain;
816  uint32 maxcopyreadlen;
817  uint32 maxcopywritelen;
818  uint32 minkeepsearch;
819  uint32 minkeepcomplsearch;
820  uint32 maxkeepcomplsearch;
821  uint32 threadcountadd;
822  uint32 numlockthreads;
823  uint32 scavtimeout;
824  uint32 minrcvqueue;
825  uint32 minfreeworkitems;
826  uint32 xactmemsize;
827  uint32 threadpriority;
828  uint32 maxmpxct;
829  uint32 oplockbreakwait;
830  uint32 oplockbreakresponsewait;
831  uint32 enableoplocks;
832  uint32 enableoplockforceclose;
833  uint32 enablefcbopens;
834  uint32 enableraw;
835  uint32 enablesharednetdrives;
836  uint32 minfreeconnections;
837  uint32 maxfreeconnections;
838  uint32 initsesstable;
839  uint32 initconntable;
840  uint32 initfiletable;
841  uint32 initsearchtable;
842  uint32 alertsched;
843  uint32 errortreshold;
844  uint32 networkerrortreshold;
845  uint32 diskspacetreshold;
846  uint32 reserved;
847  uint32 maxlinkdelay;
848  uint32 minlinkthroughput;
849  uint32 linkinfovalidtime;
850  uint32 scavqosinfoupdatetime;
851  uint32 maxworkitemidletime;
852  } srvsvc_NetSrvInfo599;
853 
854  typedef struct{
855  [string,charset(UTF16)] uint16 *comment;
856  } srvsvc_NetSrvInfo1005;
857 
858  typedef struct{
859  uint32 disc;
860  } srvsvc_NetSrvInfo1010;
861 
862  typedef struct{
863  uint32 hidden;
864  } srvsvc_NetSrvInfo1016;
865 
866  typedef struct{
867  uint32 announce;
868  } srvsvc_NetSrvInfo1017;
869 
870  typedef struct{
871  uint32 anndelta;
872  } srvsvc_NetSrvInfo1018;
873 
874  typedef struct{
875  uint32 users;
876  } srvsvc_NetSrvInfo1107;
877 
878  typedef struct{
879  uint32 sessopens;
880  } srvsvc_NetSrvInfo1501;
881 
882  typedef struct{
883  uint32 sessvcs;
884  } srvsvc_NetSrvInfo1502;
885 
886  typedef struct{
887  uint32 opensearch;
888  } srvsvc_NetSrvInfo1503;
889 
890  typedef struct{
891  uint32 maxworkitems;
892  } srvsvc_NetSrvInfo1506;
893 
894  typedef struct{
895  uint32 maxrawbuflen;
896  } srvsvc_NetSrvInfo1509;
897 
898  typedef struct{
899  uint32 sessusers;
900  } srvsvc_NetSrvInfo1510;
901 
902  typedef struct{
903  uint32 sesscons;
904  } srvsvc_NetSrvInfo1511;
905 
906  typedef struct{
907  uint32 maxnonpagedmemoryusage;
908  } srvsvc_NetSrvInfo1512;
909 
910  typedef struct{
911  uint32 maxpagedmemoryusage;
912  } srvsvc_NetSrvInfo1513;
913 
914  typedef struct{
915  uint32 enablesoftcompat;
916  } srvsvc_NetSrvInfo1514;
917 
918  typedef struct{
919  uint32 enableforcedlogoff;
920  } srvsvc_NetSrvInfo1515;
921 
922  typedef struct{
923  uint32 timesource;
924  } srvsvc_NetSrvInfo1516;
925 
926  typedef struct{
927  uint32 lmannounce;
928  } srvsvc_NetSrvInfo1518;
929 
930  typedef struct{
931  uint32 maxcopyreadlen;
932  } srvsvc_NetSrvInfo1520;
933 
934  typedef struct{
935  uint32 maxcopywritelen;
936  } srvsvc_NetSrvInfo1521;
937 
938  typedef struct{
939  uint32 minkeepsearch;
940  } srvsvc_NetSrvInfo1522;
941 
942  typedef struct{
943  uint32 maxkeepsearch;
944  } srvsvc_NetSrvInfo1523;
945 
946  typedef struct{
947  uint32 minkeepcomplsearch;
948  } srvsvc_NetSrvInfo1524;
949 
950  typedef struct{
951  uint32 maxkeepcomplsearch;
952  } srvsvc_NetSrvInfo1525;
953 
954  typedef struct{
955  uint32 scavtimeout;
956  } srvsvc_NetSrvInfo1528;
957 
958  typedef struct{
959  uint32 minrcvqueue;
960  } srvsvc_NetSrvInfo1529;
961 
962  typedef struct{
963  uint32 minfreeworkitems;
964  } srvsvc_NetSrvInfo1530;
965 
966  typedef struct{
967  uint32 maxmpxct;
968  } srvsvc_NetSrvInfo1533;
969 
970  typedef struct{
971  uint32 oplockbreakwait;
972  } srvsvc_NetSrvInfo1534;
973 
974  typedef struct{
975  uint32 oplockbreakresponsewait;
976  } srvsvc_NetSrvInfo1535;
977 
978  typedef struct{
979  uint32 enableoplocks;
980  } srvsvc_NetSrvInfo1536;
981 
982  typedef struct{
983  uint32 enableoplockforceclose;
984  } srvsvc_NetSrvInfo1537;
985 
986  typedef struct{
987  uint32 enablefcbopens;
988  } srvsvc_NetSrvInfo1538;
989 
990  typedef struct{
991  uint32 enableraw;
992  } srvsvc_NetSrvInfo1539;
993 
994  typedef struct{
995  uint32 enablesharednetdrives;
996  } srvsvc_NetSrvInfo1540;
997 
998  typedef struct{
999  uint32 minfreeconnections;
1000  } srvsvc_NetSrvInfo1541;
1001 
1002  typedef struct{
1003  uint32 maxfreeconnections;
1004  } srvsvc_NetSrvInfo1542;
1005 
1006  typedef struct{
1007  uint32 initsesstable;
1008  } srvsvc_NetSrvInfo1543;
1009 
1010  typedef struct{
1011  uint32 initconntable;
1012  } srvsvc_NetSrvInfo1544;
1013 
1014  typedef struct{
1015  uint32 initfiletable;
1016  } srvsvc_NetSrvInfo1545;
1017 
1018  typedef struct{
1019  uint32 initsearchtable;
1020  } srvsvc_NetSrvInfo1546;
1021 
1022  typedef struct{
1023  uint32 alertsched;
1024  } srvsvc_NetSrvInfo1547;
1025 
1026  typedef struct{
1027  uint32 errortreshold;
1028  } srvsvc_NetSrvInfo1548;
1029 
1030  typedef struct{
1031  uint32 networkerrortreshold;
1032  } srvsvc_NetSrvInfo1549;
1033 
1034  typedef struct{
1035  uint32 diskspacetreshold;
1036  } srvsvc_NetSrvInfo1550;
1037 
1038  typedef struct{
1039  uint32 maxlinkdelay;
1040  } srvsvc_NetSrvInfo1552;
1041 
1042  typedef struct{
1043  uint32 minlinkthroughput;
1044  } srvsvc_NetSrvInfo1553;
1045 
1046  typedef struct{
1047  uint32 linkinfovalidtime;
1048  } srvsvc_NetSrvInfo1554;
1049 
1050  typedef struct{
1051  uint32 scavqosinfoupdatetime;
1052  } srvsvc_NetSrvInfo1555;
1053 
1054  typedef struct{
1055  uint32 maxworkitemidletime;
1056  } srvsvc_NetSrvInfo1556;
1057 
1058 
1059  typedef union{
1060  [case(100)] srvsvc_NetSrvInfo100 *info100;
1061  [case(101)] srvsvc_NetSrvInfo101 *info101;
1062  [case(102)] srvsvc_NetSrvInfo102 *info102;
1063  [case(402)] srvsvc_NetSrvInfo402 *info402;
1064  [case(403)] srvsvc_NetSrvInfo403 *info403;
1065  [case(502)] srvsvc_NetSrvInfo502 *info502;
1066  [case(503)] srvsvc_NetSrvInfo503 *info503;
1067  [case(599)] srvsvc_NetSrvInfo599 *info599;
1068  [case(1005)] srvsvc_NetSrvInfo1005 *info1005;
1069  [case(1010)] srvsvc_NetSrvInfo1010 *info1010;
1070  [case(1016)] srvsvc_NetSrvInfo1016 *info1016;
1071  [case(1017)] srvsvc_NetSrvInfo1017 *info1017;
1072  [case(1018)] srvsvc_NetSrvInfo1018 *info1018;
1073  [case(1107)] srvsvc_NetSrvInfo1107 *info1107;
1074  [case(1501)] srvsvc_NetSrvInfo1501 *info1501;
1075  [case(1502)] srvsvc_NetSrvInfo1502 *info1502;
1076  [case(1503)] srvsvc_NetSrvInfo1503 *info1503;
1077  [case(1506)] srvsvc_NetSrvInfo1506 *info1506;
1078  [case(1509)] srvsvc_NetSrvInfo1509 *info1509;
1079  [case(1510)] srvsvc_NetSrvInfo1510 *info1510;
1080  [case(1511)] srvsvc_NetSrvInfo1511 *info1511;
1081  [case(1512)] srvsvc_NetSrvInfo1512 *info1512;
1082  [case(1513)] srvsvc_NetSrvInfo1513 *info1513;
1083  [case(1514)] srvsvc_NetSrvInfo1514 *info1514;
1084  [case(1515)] srvsvc_NetSrvInfo1515 *info1515;
1085  [case(1516)] srvsvc_NetSrvInfo1516 *info1516;
1086  [case(1518)] srvsvc_NetSrvInfo1518 *info1518;
1087  [case(1520)] srvsvc_NetSrvInfo1520 *info1520;
1088  [case(1521)] srvsvc_NetSrvInfo1521 *info1521;
1089  [case(1522)] srvsvc_NetSrvInfo1522 *info1522;
1090  [case(1523)] srvsvc_NetSrvInfo1523 *info1523;
1091  [case(1524)] srvsvc_NetSrvInfo1524 *info1524;
1092  [case(1525)] srvsvc_NetSrvInfo1525 *info1525;
1093  [case(1528)] srvsvc_NetSrvInfo1528 *info1528;
1094  [case(1529)] srvsvc_NetSrvInfo1529 *info1529;
1095  [case(1530)] srvsvc_NetSrvInfo1530 *info1530;
1096  [case(1533)] srvsvc_NetSrvInfo1533 *info1533;
1097  [case(1534)] srvsvc_NetSrvInfo1534 *info1534;
1098  [case(1535)] srvsvc_NetSrvInfo1535 *info1535;
1099  [case(1536)] srvsvc_NetSrvInfo1536 *info1536;
1100  [case(1537)] srvsvc_NetSrvInfo1537 *info1537;
1101  [case(1538)] srvsvc_NetSrvInfo1538 *info1538;
1102  [case(1539)] srvsvc_NetSrvInfo1539 *info1539;
1103  [case(1540)] srvsvc_NetSrvInfo1540 *info1540;
1104  [case(1541)] srvsvc_NetSrvInfo1541 *info1541;
1105  [case(1542)] srvsvc_NetSrvInfo1542 *info1542;
1106  [case(1543)] srvsvc_NetSrvInfo1543 *info1543;
1107  [case(1544)] srvsvc_NetSrvInfo1544 *info1544;
1108  [case(1545)] srvsvc_NetSrvInfo1545 *info1545;
1109  [case(1546)] srvsvc_NetSrvInfo1546 *info1546;
1110  [case(1547)] srvsvc_NetSrvInfo1547 *info1547;
1111  [case(1548)] srvsvc_NetSrvInfo1548 *info1548;
1112  [case(1549)] srvsvc_NetSrvInfo1549 *info1549;
1113  [case(1550)] srvsvc_NetSrvInfo1550 *info1550;
1114  [case(1552)] srvsvc_NetSrvInfo1552 *info1552;
1115  [case(1553)] srvsvc_NetSrvInfo1553 *info1553;
1116  [case(1554)] srvsvc_NetSrvInfo1554 *info1554;
1117  [case(1555)] srvsvc_NetSrvInfo1555 *info1555;
1118  [case(1556)] srvsvc_NetSrvInfo1556 *info1556;
1119  [default];
1120  } srvsvc_NetSrvInfo;
1121 
1122  /******************/
1123  /* Function: 0x15 */
1124  WERROR srvsvc_NetSrvGetInfo(
1125  [in] [string,charset(UTF16)] uint16 *server_unc,
1126  [in] uint32 level,
1127  [out,switch_is(level),ref] srvsvc_NetSrvInfo *info
1128  );
1129 
1130  /******************/
1131  /* Function: 0x16 */
1132  WERROR srvsvc_NetSrvSetInfo(
1133  [in] [string,charset(UTF16)] uint16 *server_unc,
1134  [in] uint32 level,
1135  [in,switch_is(level)] srvsvc_NetSrvInfo info,
1136  [in,out] uint32 *parm_error
1137  );
1138 
1139 /**************************/
1140 /* srvsvc_NetDisk */
1141 /**************************/
1142  typedef struct {
1143  [flag(STR_LEN4)] string disk;
1144  } srvsvc_NetDiskInfo0;
1145 
1146  typedef struct {
1147  uint32 count;
1148  [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks;
1149  } srvsvc_NetDiskInfo;
1150 
1151  /******************/
1152  /* Function: 0x17 */
1153  WERROR srvsvc_NetDiskEnum(
1154  [in] [string,charset(UTF16)] uint16 *server_unc,
1155  [in] uint32 level,
1156  [in,out,ref] srvsvc_NetDiskInfo *info,
1157  [in] uint32 maxlen,
1158  [out,ref] uint32 *totalentries,
1159  [in,out] uint32 *resume_handle
1160  );
1161 
1162 /**************************/
1163 /* srvsvc_NetStatistics */
1164 /**************************/
1165  typedef struct {
1166  uint32 start;
1167  uint32 fopens;
1168  uint32 devopens;
1169  uint32 jobsqueued;
1170  uint32 sopens;
1171  uint32 stimeouts;
1172  uint32 serrorout;
1173  uint32 pwerrors;
1174  uint32 permerrors;
1175  uint32 syserrors;
1176  uint32 bytessent_low;
1177  uint32 bytessent_high;
1178  uint32 bytesrcvd_low;
1179  uint32 bytesrcvd_high;
1180  uint32 avresponse;
1181  uint32 reqbufneed;
1182  uint32 bigbufneed;
1183  } srvsvc_Statistics;
1184 
1185  /******************/
1186  /* Function: 0x18 */
1187  WERROR srvsvc_NetServerStatisticsGet(
1188  [in] [string,charset(UTF16)] uint16 *server_unc,
1189  [in] [string,charset(UTF16)] uint16 *service,
1190  [in] uint32 level,
1191  [in] uint32 options,
1192  [out,ref] srvsvc_Statistics *stat
1193  );
1194 
1195 /**************************/
1196 /* srvsvc_NetTransport */
1197 /**************************/
1198  typedef struct {
1199  uint32 vcs;
1200  [string,charset(UTF16)] uint16 *name;
1201  [size_is(addr_len)] uint8 *addr;
1202  uint32 addr_len;
1203  [string,charset(UTF16)] uint16 *net_addr;
1204  } srvsvc_NetTransportInfo0;
1205 
1206  /******************/
1207  /* Function: 0x19 */
1208  WERROR srvsvc_NetTransportAdd(
1209  [in] [string,charset(UTF16)] uint16 *server_unc,
1210  [in] uint32 level,
1211  [in,switch_is(level)] srvsvc_NetTransportInfo info
1212  );
1213 
1214  typedef struct {
1215  uint32 count;
1216  [size_is(count)] srvsvc_NetTransportInfo0 *array;
1217  } srvsvc_NetTransportCtr0;
1218 
1219  typedef struct {
1220  uint32 vcs;
1221  [string,charset(UTF16)] uint16 *name;
1222  [size_is(addr_len)] uint8 *addr;
1223  uint32 addr_len;
1224  [string,charset(UTF16)] uint16 *net_addr;
1225  [string,charset(UTF16)] uint16 *domain;
1226  } srvsvc_NetTransportInfo1;
1227 
1228  typedef struct {
1229  uint32 count;
1230  [size_is(count)] srvsvc_NetTransportInfo1 *array;
1231  } srvsvc_NetTransportCtr1;
1232 
1233  typedef [bitmap32bit] bitmap {
1234  SVTI2_REMAP_PIPE_NAMES = 0x00000001
1235  } srvsvc_TransportFlags;
1236 
1237 
1238  typedef struct {
1239  uint32 vcs;
1240  [string,charset(UTF16)] uint16 *name;
1241  [size_is(addr_len)] uint8 *addr;
1242  uint32 addr_len;
1243  [string,charset(UTF16)] uint16 *net_addr;
1244  [string,charset(UTF16)] uint16 *domain;
1245  srvsvc_TransportFlags transport_flags;
1246  } srvsvc_NetTransportInfo2;
1247 
1248  typedef struct {
1249  uint32 count;
1250  [size_is(count)] srvsvc_NetTransportInfo2 *array;
1251  } srvsvc_NetTransportCtr2;
1252 
1253  typedef struct {
1254  uint32 vcs;
1255  [string,charset(UTF16)] uint16 *name;
1256  [size_is(addr_len)] uint8 *addr;
1257  uint32 addr_len;
1258  [string,charset(UTF16)] uint16 *net_addr;
1259  [string,charset(UTF16)] uint16 *domain;
1260  srvsvc_TransportFlags transport_flags;
1261  uint32 password_len;
1262  uint8 password[256];
1263  } srvsvc_NetTransportInfo3;
1264 
1265  typedef struct {
1266  uint32 count;
1267  [size_is(count)] srvsvc_NetTransportInfo3 *array;
1268  } srvsvc_NetTransportCtr3;
1269 
1270  typedef union {
1271  [case(0)] srvsvc_NetTransportCtr0 *ctr0;
1272  [case(1)] srvsvc_NetTransportCtr1 *ctr1;
1273  [case(2)] srvsvc_NetTransportCtr2 *ctr2;
1274  [case(3)] srvsvc_NetTransportCtr3 *ctr3;
1275  [default];
1276  } srvsvc_NetTransportCtr;
1277 
1278  /******************/
1279  /* Function: 0x1a */
1280  WERROR srvsvc_NetTransportEnum(
1281  [in] [string,charset(UTF16)] uint16 *server_unc,
1282  [in,out,ref] uint32 *level,
1283  [in,out,switch_is(level),ref] srvsvc_NetTransportCtr *transports,
1284  [in] uint32 max_buffer,
1285  [out,ref] uint32 *totalentries,
1286  [in,out] uint32 *resume_handle
1287  );
1288 
1289  /******************/
1290  /* Function: 0x1b */
1291  WERROR srvsvc_NetTransportDel(
1292  [in] [string,charset(UTF16)] uint16 *server_unc,
1293  [in] uint32 unknown,
1294  [in] srvsvc_NetTransportInfo0 transport
1295  );
1296 
1297 /**************************/
1298 /* srvsvc_NetRemoteTOD */
1299 /**************************/
1300  typedef struct {
1301  uint32 elapsed; /* time(NULL) */
1302  uint32 msecs; /* milliseconds till system reboot (uptime) */
1303  uint32 hours;
1304  uint32 mins;
1305  uint32 secs;
1306  uint32 hunds;
1307  int32 timezone; /* in minutes */
1308  uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
1309  uint32 day;
1310  uint32 month;
1311  uint32 year;
1312  uint32 weekday;
1313  } srvsvc_NetRemoteTODInfo;
1314 
1315  /******************/
1316  /* Function: 0x1c */
1317  WERROR srvsvc_NetRemoteTOD(
1318  [in] [string,charset(UTF16)] uint16 *server_unc,
1319  [out,unique] srvsvc_NetRemoteTODInfo *info
1320  );
1321 
1322 /**************************/
1323 /* srvsvc_NetServiceBits */
1324 /**************************/
1325  /******************/
1326  /* Function: 0x1d */
1327  WERROR srvsvc_NetSetServiceBits(
1328  [in] [string,charset(UTF16)] uint16 *server_unc,
1329  [in] [string,charset(UTF16)] uint16 *transport,
1330  [in] uint32 servicebits,
1331  [in] uint32 updateimmediately
1332  );
1333 
1334 /**************************/
1335 /* srvsvc_NetPath */
1336 /**************************/
1337  /******************/
1338  /* Function: 0x1e */
1339  WERROR srvsvc_NetPathType(
1340  [in] [string,charset(UTF16)] uint16 *server_unc,
1341  [in] [string,charset(UTF16)] uint16 path[],
1342  [in] uint32 pathflags,
1343  [out,ref] uint32 *pathtype
1344  );
1345 
1346  /******************/
1347  /* Function: 0x1f */
1348  WERROR srvsvc_NetPathCanonicalize(
1349  [in] [string,charset(UTF16)] uint16 *server_unc,
1350  [in] [string,charset(UTF16)] uint16 path[],
1351  [out] [size_is(maxbuf)] uint8 can_path[],
1352  [in] uint32 maxbuf,
1353  [in] [string,charset(UTF16)] uint16 prefix[],
1354  [in,out,ref] uint32 *pathtype,
1355  [in] uint32 pathflags
1356  );
1357 
1358  /******************/
1359  /* Function: 0x20 */
1360  WERROR srvsvc_NetPathCompare(
1361  [in] [string,charset(UTF16)] uint16 *server_unc,
1362  [in] [string,charset(UTF16)] uint16 path1[],
1363  [in] [string,charset(UTF16)] uint16 path2[],
1364  [in] uint32 pathtype,
1365  [in] uint32 pathflags
1366  );
1367 
1368 /**************************/
1369 /* srvsvc_NetName */
1370 /**************************/
1371  /******************/
1372  /* Function: 0x21 */
1373  WERROR srvsvc_NetNameValidate(
1374  [in] [string,charset(UTF16)] uint16 *server_unc,
1375  [in] [string,charset(UTF16)] uint16 name[],
1376  [in] uint32 name_type,
1377  [in] uint32 flags
1378  );
1379 
1380  /******************/
1381  /* Function: 0x22 */
1382  WERROR srvsvc_NETRPRNAMECANONICALIZE(
1383  );
1384 
1385  /******************/
1386  /* Function: 0x23 */
1387  WERROR srvsvc_NetPRNameCompare(
1388  [in] [string,charset(UTF16)] uint16 *server_unc,
1389  [in] [string,charset(UTF16)] uint16 name1[],
1390  [in] [string,charset(UTF16)] uint16 name2[],
1391  [in] uint32 name_type,
1392  [in] uint32 flags
1393  );
1394 
1395 /**************************/
1396 /* srvsvc_NetShare ... */
1397 /**************************/
1398  /******************/
1399  /* Function: 0x24 */
1400  /* Note, there must be some way to return entries read vs
1401  total entries ... */
1402  WERROR srvsvc_NetShareEnum(
1403  [in] [string,charset(UTF16)] uint16 *server_unc,
1404  [in,out,ref] uint32 *level,
1405  [in,out,switch_is(level),ref] srvsvc_NetShareCtr *ctr,
1406  [in] uint32 max_buffer,
1407  [out,ref] uint32 *totalentries,
1408  [in,out] uint32 *resume_handle
1409  );
1410 
1411  /******************/
1412  /* Function: 0x25 */
1413  WERROR srvsvc_NetShareDelStart(
1414  [in] [string,charset(UTF16)] uint16 *server_unc,
1415  [in] [string,charset(UTF16)] uint16 share[],
1416  [in] uint32 reserved,
1417  [out,unique] policy_handle *hnd
1418  );
1419 
1420  /******************/
1421  /* Function: 0x26 */
1422  WERROR srvsvc_NetShareDelCommit(
1423  [in, out] policy_handle *hnd
1424  );
1425 
1426  /******************/
1427  /* Function: 0x27 */
1428  WERROR srvsvc_NetGetFileSecurity(
1429  [in] [string,charset(UTF16)] uint16 *server_unc,
1430  [in] [string,charset(UTF16)] uint16 *share,
1431  [in] [string,charset(UTF16)] uint16 file[],
1432  [in] security_secinfo securityinformation,
1433  [out,unique] sec_desc_buf *sd_buf
1434  );
1435 
1436  /******************/
1437  /* Function: 0x28 */
1438  WERROR srvsvc_NetSetFileSecurity(
1439  [in] [string,charset(UTF16)] uint16 *server_unc,
1440  [in] [string,charset(UTF16)] uint16 *share,
1441  [in] [string,charset(UTF16)] uint16 file[],
1442  [in] security_secinfo securityinformation,
1443  [in] sec_desc_buf sd_buf
1444  );
1445 
1446 
1447 
1448  typedef [switch_type(uint32)] union {
1449  [case(0)] srvsvc_NetTransportInfo0 info0;
1450  [case(1)] srvsvc_NetTransportInfo1 info1;
1451  [case(2)] srvsvc_NetTransportInfo2 info2;
1452  [case(3)] srvsvc_NetTransportInfo3 info3;
1453  } srvsvc_NetTransportInfo;
1454 
1455  /******************/
1456  /* Function: 0x29 */
1457  WERROR srvsvc_NetServerTransportAddEx(
1458  [in] [string,charset(UTF16)] uint16 *server_unc,
1459  [in] uint32 level,
1460  [in,switch_is(level)] srvsvc_NetTransportInfo info
1461  );
1462 
1463  /******************/
1464  /* Function: 0x2a */
1465  WERROR srvsvc_NetServerSetServiceBitsEx(
1466  [in] [string,charset(UTF16)] uint16 *server_unc,
1467  [in] [string,charset(UTF16)] uint16 *emulated_server_unc,
1468  [in] [string,charset(UTF16)] uint16 *transport,
1469  [in] uint32 servicebitsofinterest,
1470  [in] uint32 servicebits,
1471  [in] uint32 updateimmediately
1472  );
1473 
1474  /******************/
1475  /* Function: 0x2b */
1476  WERROR srvsvc_NETRDFSGETVERSION(
1477  );
1478 
1479  /******************/
1480  /* Function: 0x2c */
1481  WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
1482  );
1483 
1484  /******************/
1485  /* Function: 0x2d */
1486  WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
1487  );
1488 
1489  /******************/
1490  /* Function: 0x2e */
1491  WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
1492  );
1493 
1494  /******************/
1495  /* Function: 0x2f */
1496  WERROR srvsvc_NETRDFSSETSERVERINFO(
1497  );
1498 
1499  /******************/
1500  /* Function: 0x30 */
1501  WERROR srvsvc_NETRDFSCREATEEXITPOINT(
1502  );
1503 
1504  /******************/
1505  /* Function: 0x31 */
1506  WERROR srvsvc_NETRDFSDELETEEXITPOINT(
1507  );
1508 
1509  /******************/
1510  /* Function: 0x32 */
1511  WERROR srvsvc_NETRDFSMODIFYPREFIX(
1512  );
1513 
1514  /******************/
1515  /* Function: 0x33 */
1516  WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
1517  );
1518 
1519  /******************/
1520  /* Function: 0x34 */
1521  WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
1522  );
1523 
1524  /******************/
1525  /* Function: 0x35 */
1526  WERROR srvsvc_NETRSERVERTRANSPORTDELEX(
1527  );
1528 }
Definition: file-pcapng.c:177
Definition: conversation.c:27