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