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