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