4 srvsvc interface definitions
7 [ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
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)
16 declare bitmap svcctl_ServerType;
17 declare bitmap security_secinfo;
19 /**************************/
20 /* srvsvc_NetCharDev */
21 /**************************/
23 [string,charset(UTF16)] uint16 *device;
24 } srvsvc_NetCharDevInfo0;
28 [size_is(count)] srvsvc_NetCharDevInfo0 *array;
29 } srvsvc_NetCharDevCtr0;
32 [string,charset(UTF16)] uint16 *device;
34 [string,charset(UTF16)] uint16 *user;
36 } srvsvc_NetCharDevInfo1;
40 [size_is(count)] srvsvc_NetCharDevInfo1 *array;
41 } srvsvc_NetCharDevCtr1;
44 [case(0)] srvsvc_NetCharDevInfo0 *info0;
45 [case(1)] srvsvc_NetCharDevInfo1 *info1;
47 } srvsvc_NetCharDevInfo;
50 [case(0)] srvsvc_NetCharDevCtr0 *ctr0;
51 [case(1)] srvsvc_NetCharDevCtr1 *ctr1;
53 } srvsvc_NetCharDevCtr;
57 WERROR srvsvc_NetCharDevEnum(
58 [in] [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
68 WERROR srvsvc_NetCharDevGetInfo(
69 [in] [string,charset(UTF16)] uint16 *server_unc,
70 [in] [string,charset(UTF16)] uint16 device_name[],
72 [out,ref,switch_is(level)] srvsvc_NetCharDevInfo *info
77 WERROR srvsvc_NetCharDevControl(
78 [in] [string,charset(UTF16)] uint16 *server_unc,
79 [in] [string,charset(UTF16)] uint16 device_name[],
83 /**************************/
84 /* srvsvc_NetCharDevQ */
85 /**************************/
87 [string,charset(UTF16)] uint16 *device;
88 } srvsvc_NetCharDevQInfo0;
92 [size_is(count)] srvsvc_NetCharDevQInfo0 *array;
93 } srvsvc_NetCharDevQCtr0;
96 [string,charset(UTF16)] uint16 *device;
98 [string,charset(UTF16)] uint16 *devices;
101 } srvsvc_NetCharDevQInfo1;
105 [size_is(count)] srvsvc_NetCharDevQInfo1 *array;
106 } srvsvc_NetCharDevQCtr1;
109 [case(0)] srvsvc_NetCharDevQInfo0 *info0;
110 [case(1)] srvsvc_NetCharDevQInfo1 *info1;
112 } srvsvc_NetCharDevQInfo;
115 [case(0)] srvsvc_NetCharDevQCtr0 *ctr0;
116 [case(1)] srvsvc_NetCharDevQCtr1 *ctr1;
118 } srvsvc_NetCharDevQCtr;
122 WERROR srvsvc_NetCharDevQEnum(
123 [in] [string,charset(UTF16)] uint16 *server_unc,
124 [in] [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] uint32 *resume_handle
134 WERROR srvsvc_NetCharDevQGetInfo(
135 [in] [string,charset(UTF16)] uint16 *server_unc,
136 [in] [string,charset(UTF16)] uint16 queue_name[],
137 [in] [string,charset(UTF16)] uint16 user[],
139 [out,switch_is(level),ref] srvsvc_NetCharDevQInfo *info
144 WERROR srvsvc_NetCharDevQSetInfo(
145 [in] [string,charset(UTF16)] uint16 *server_unc,
146 [in] [string,charset(UTF16)] uint16 queue_name[],
148 [in,switch_is(level)] srvsvc_NetCharDevQInfo info,
149 [in,out] uint32 *parm_error
154 WERROR srvsvc_NetCharDevQPurge(
155 [in] [string,charset(UTF16)] uint16 *server_unc,
156 [in] [string,charset(UTF16)] uint16 queue_name[]
161 WERROR srvsvc_NetCharDevQPurgeSelf(
162 [in] [string,charset(UTF16)] uint16 *server_unc,
163 [in] [string,charset(UTF16)] uint16 queue_name[],
164 [in] [string,charset(UTF16)] uint16 computer_name[]
167 /**************************/
169 /**************************/
172 } srvsvc_NetConnInfo0;
176 [size_is(count)] srvsvc_NetConnInfo0 *array;
177 } srvsvc_NetConnCtr0;
185 [string,charset(UTF16)] uint16 *user;
186 [string,charset(UTF16)] uint16 *share;
187 } srvsvc_NetConnInfo1;
191 [size_is(count)] srvsvc_NetConnInfo1 *array;
192 } srvsvc_NetConnCtr1;
195 [case(0)] srvsvc_NetConnCtr0 *ctr0;
196 [case(1)] srvsvc_NetConnCtr1 *ctr1;
202 WERROR srvsvc_NetConnEnum(
203 [in] [string,charset(UTF16)] uint16 *server_unc,
204 [in] [string,charset(UTF16)] uint16 *path,
205 [in,out,ref] uint32 *level,
206 [in,out,switch_is(*level),ref] srvsvc_NetConnCtr *ctr,
207 [in] uint32 max_buffer,
208 [out,ref] uint32 *totalentries,
209 [in,out,unique] uint32 *resume_handle
212 /**************************/
214 /**************************/
217 } srvsvc_NetFileInfo2;
221 [size_is(count)] srvsvc_NetFileInfo2 *array;
222 } srvsvc_NetFileCtr2;
228 [string,charset(UTF16)] uint16 *path;
229 [string,charset(UTF16)] uint16 *user;
230 } srvsvc_NetFileInfo3;
234 [size_is(count)] srvsvc_NetFileInfo3 *array;
235 } srvsvc_NetFileCtr3;
238 [case(2)] srvsvc_NetFileInfo2 *info2;
239 [case(3)] srvsvc_NetFileInfo3 *info3;
241 } srvsvc_NetFileInfo;
244 [case(2)] srvsvc_NetFileCtr2 *ctr2;
245 [case(3)] srvsvc_NetFileCtr3 *ctr3;
251 WERROR srvsvc_NetFileEnum(
252 [in] [string,charset(UTF16)] uint16 *server_unc,
253 [in] [string,charset(UTF16)] uint16 *path,
254 [in] [string,charset(UTF16)] uint16 *user,
255 [in,out,ref] uint32 *level,
256 [in,out,switch_is(*level),ref] srvsvc_NetFileCtr *ctr,
257 [in] uint32 max_buffer,
258 [out,ref] uint32 *totalentries,
259 [in,out,unique] uint32 *resume_handle
264 WERROR srvsvc_NetFileGetInfo(
265 [in] [string,charset(UTF16)] uint16 *server_unc,
268 [out,switch_is(level),ref] srvsvc_NetFileInfo *info
273 WERROR srvsvc_NetFileClose(
274 [in] [string,charset(UTF16)] uint16 *server_unc,
278 /**************************/
280 /**************************/
282 [string,charset(UTF16)] uint16 *client;
283 } srvsvc_NetSessInfo0;
287 [size_is(count)] srvsvc_NetSessInfo0 *array;
288 } srvsvc_NetSessCtr0;
291 [string,charset(UTF16)] uint16 *client;
292 [string,charset(UTF16)] uint16 *user;
297 } srvsvc_NetSessInfo1;
301 [size_is(count)] srvsvc_NetSessInfo1 *array;
302 } srvsvc_NetSessCtr1;
305 [string,charset(UTF16)] uint16 *client;
306 [string,charset(UTF16)] uint16 *user;
311 [string,charset(UTF16)] uint16 *client_type;
312 } srvsvc_NetSessInfo2;
316 [size_is(count)] srvsvc_NetSessInfo2 *array;
317 } srvsvc_NetSessCtr2;
320 [string,charset(UTF16)] uint16 *client;
321 [string,charset(UTF16)] uint16 *user;
324 } srvsvc_NetSessInfo10;
328 [size_is(count)] srvsvc_NetSessInfo10 *array;
329 } srvsvc_NetSessCtr10;
332 [string,charset(UTF16)] uint16 *client;
333 [string,charset(UTF16)] uint16 *user;
338 [string,charset(UTF16)] uint16 *client_type;
339 [string,charset(UTF16)] uint16 *transport;
340 } srvsvc_NetSessInfo502;
344 [size_is(count)] srvsvc_NetSessInfo502 *array;
345 } srvsvc_NetSessCtr502;
348 [case(0)] srvsvc_NetSessCtr0 *ctr0;
349 [case(1)] srvsvc_NetSessCtr1 *ctr1;
350 [case(2)] srvsvc_NetSessCtr2 *ctr2;
351 [case(10)] srvsvc_NetSessCtr10 *ctr10;
352 [case(502)] srvsvc_NetSessCtr502 *ctr502;
358 WERROR srvsvc_NetSessEnum(
359 [in] [string,charset(UTF16)] uint16 *server_unc,
360 [in] [string,charset(UTF16)] uint16 *client,
361 [in] [string,charset(UTF16)] uint16 *user,
362 [in,out,ref] uint32 *level,
363 [in,out,switch_is(*level),ref] srvsvc_NetSessCtr *ctr,
364 [in] uint32 max_buffer,
365 [out,ref] uint32 *totalentries,
366 [in,out,unique] uint32 *resume_handle
371 WERROR srvsvc_NetSessDel(
372 [in] [string,charset(UTF16)] uint16 *server_unc,
373 [in] [string,charset(UTF16)] uint16 *client,
374 [in] [string,charset(UTF16)] uint16 *user
377 /**************************/
378 /* srvsvc_NetShare */
379 /**************************/
382 const uint32 STYPE_TEMPORARY = 0x40000000; /* share is a temporary one */
383 const uint32 STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
385 typedef [v1_enum, flag(NDR_PAHEX)] enum {
387 STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
388 STYPE_DISKTREE_HIDDEN = STYPE_DISKTREE|STYPE_HIDDEN,
390 STYPE_PRINTQ_TEMPORARY = STYPE_PRINTQ|STYPE_TEMPORARY,
391 STYPE_PRINTQ_HIDDEN = STYPE_PRINTQ|STYPE_HIDDEN,
392 STYPE_DEVICE = 2, /* Serial device */
393 STYPE_DEVICE_TEMPORARY = STYPE_DEVICE|STYPE_TEMPORARY,
394 STYPE_DEVICE_HIDDEN = STYPE_DEVICE|STYPE_HIDDEN,
395 STYPE_IPC = 3, /* Interprocess communication (IPC) */
396 STYPE_IPC_TEMPORARY = STYPE_IPC|STYPE_TEMPORARY,
397 STYPE_IPC_HIDDEN = STYPE_IPC|STYPE_HIDDEN
401 [string,charset(UTF16)] uint16 *name;
402 } srvsvc_NetShareInfo0;
406 [size_is(count)] srvsvc_NetShareInfo0 *array;
407 } srvsvc_NetShareCtr0;
410 [string,charset(UTF16)] uint16 *name;
411 srvsvc_ShareType type;
412 [string,charset(UTF16)] uint16 *comment;
413 } srvsvc_NetShareInfo1;
417 [size_is(count)] srvsvc_NetShareInfo1 *array;
418 } srvsvc_NetShareCtr1;
421 [string,charset(UTF16)] uint16 *name;
422 srvsvc_ShareType type;
423 [string,charset(UTF16)] uint16 *comment;
426 uint32 current_users;
427 [string,charset(UTF16)] uint16 *path;
428 [string,charset(UTF16)] uint16 *password;
429 } srvsvc_NetShareInfo2;
433 [size_is(count)] srvsvc_NetShareInfo2 *array;
434 } srvsvc_NetShareCtr2;
437 [string,charset(UTF16)] uint16 *name;
438 srvsvc_ShareType type;
439 [string,charset(UTF16)] uint16 *comment;
441 } srvsvc_NetShareInfo501;
445 [size_is(count)] srvsvc_NetShareInfo501 *array;
446 } srvsvc_NetShareCtr501;
449 [string,charset(UTF16)] uint16 *name;
450 srvsvc_ShareType type;
451 [string,charset(UTF16)] uint16 *comment;
454 uint32 current_users;
455 [string,charset(UTF16)] uint16 *path;
456 [string,charset(UTF16)] uint16 *password;
457 /* maybe here is a struct sec_desc_buf following */
459 [subcontext(4)] security_descriptor *sd;
460 } srvsvc_NetShareInfo502;
464 [size_is(count)] srvsvc_NetShareInfo502 *array;
465 } srvsvc_NetShareCtr502;
468 [string,charset(UTF16)] uint16 *comment;
469 } srvsvc_NetShareInfo1004;
473 [size_is(count)] srvsvc_NetShareInfo1004 *array;
474 } srvsvc_NetShareCtr1004;
477 SHARE_1005_IN_DFS = 0x00000001,
478 SHARE_1005_DFS_ROOT = 0x00000002
479 } NetShareInfo1005Flags;
481 const uint32 SHARE_1005_CSC_POLICY_MASK = 0x00000030;
482 const uint32 SHARE_1005_CSC_POLICY_SHIFT = 4;
485 NetShareInfo1005Flags dfs_flags;
486 } srvsvc_NetShareInfo1005;
490 [size_is(count)] srvsvc_NetShareInfo1005 *array;
491 } srvsvc_NetShareCtr1005;
495 } srvsvc_NetShareInfo1006;
499 [size_is(count)] srvsvc_NetShareInfo1006 *array;
500 } srvsvc_NetShareCtr1006;
504 [string,charset(UTF16)] uint16 *alternate_directory_name;
505 } srvsvc_NetShareInfo1007;
509 [size_is(count)] srvsvc_NetShareInfo1007 *array;
510 } srvsvc_NetShareCtr1007;
514 [size_is(count)] sec_desc_buf *array;
515 } srvsvc_NetShareCtr1501;
518 [case(0)] srvsvc_NetShareInfo0 *info0;
519 [case(1)] srvsvc_NetShareInfo1 *info1;
520 [case(2)] srvsvc_NetShareInfo2 *info2;
521 [case(501)] srvsvc_NetShareInfo501 *info501;
522 [case(502)] srvsvc_NetShareInfo502 *info502;
523 [case(1004)] srvsvc_NetShareInfo1004 *info1004;
524 [case(1005)] srvsvc_NetShareInfo1005 *info1005;
525 [case(1006)] srvsvc_NetShareInfo1006 *info1006;
526 [case(1007)] srvsvc_NetShareInfo1007 *info1007;
527 [case(1501)] sec_desc_buf *info1501;
529 } srvsvc_NetShareInfo;
532 [case(0)] srvsvc_NetShareCtr0 *ctr0;
533 [case(1)] srvsvc_NetShareCtr1 *ctr1;
534 [case(2)] srvsvc_NetShareCtr2 *ctr2;
535 [case(501)] srvsvc_NetShareCtr501 *ctr501;
536 [case(502)] srvsvc_NetShareCtr502 *ctr502;
537 [case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
538 [case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
539 [case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
540 [case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
541 [case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
543 } srvsvc_NetShareCtr;
547 WERROR srvsvc_NetShareAdd(
548 [in] [string,charset(UTF16)] uint16 *server_unc,
550 [in,switch_is(level)] srvsvc_NetShareInfo info,
551 [in,out] uint32 *parm_error
556 WERROR srvsvc_NetShareEnumAll (
557 [in] [string,charset(UTF16)] uint16 *server_unc,
558 [in,out,ref] uint32 *level,
559 [in,out,ref,switch_is(*level)] srvsvc_NetShareCtr *ctr,
560 [in] uint32 max_buffer,
561 [out,ref] uint32 *totalentries,
562 [in,out] uint32 *resume_handle
567 WERROR srvsvc_NetShareGetInfo(
568 [in] [string,charset(UTF16)] uint16 *server_unc,
569 [in] [string,charset(UTF16)] uint16 share_name[],
571 [out,ref,switch_is(level)] srvsvc_NetShareInfo *info
576 WERROR srvsvc_NetShareSetInfo(
577 [in] [string,charset(UTF16)] uint16 *server_unc,
578 [in] [string,charset(UTF16)] uint16 share_name[],
580 [in,switch_is(level)] srvsvc_NetShareInfo info,
581 [in,out] uint32 *parm_error
586 WERROR srvsvc_NetShareDel(
587 [in] [string,charset(UTF16)] uint16 *server_unc,
588 [in] [string,charset(UTF16)] uint16 share_name[],
594 WERROR srvsvc_NetShareDelSticky(
595 [in] [string,charset(UTF16)] uint16 *server_unc,
596 [in] [string,charset(UTF16)] uint16 share_name[],
602 WERROR srvsvc_NetShareCheck(
603 [in] [string,charset(UTF16)] uint16 *server_unc,
604 [in] [string,charset(UTF16)] uint16 device_name[],
605 [out,ref] srvsvc_ShareType *type
608 /**************************/
610 /**************************/
611 typedef [public,v1_enum] enum {
612 PLATFORM_ID_DOS = 300,
613 PLATFORM_ID_OS2 = 400,
614 PLATFORM_ID_NT = 500,
615 PLATFORM_ID_OSF = 600,
616 PLATFORM_ID_VMS = 700
620 srvsvc_PlatformId platform_id;
621 [string,charset(UTF16)] uint16 *server_name;
622 } srvsvc_NetSrvInfo100;
625 srvsvc_PlatformId platform_id;
626 [string,charset(UTF16)] uint16 *server_name;
627 uint32 version_major;
628 uint32 version_minor;
629 svcctl_ServerType server_type;
630 [string,charset(UTF16)] uint16 *comment;
631 } srvsvc_NetSrvInfo101;
634 srvsvc_PlatformId platform_id;
635 [string,charset(UTF16)] uint16 *server_name;
636 uint32 version_major;
637 uint32 version_minor;
638 svcctl_ServerType server_type;
639 [string,charset(UTF16)] uint16 *comment;
646 [string,charset(UTF16)] uint16 *userpath;
647 } srvsvc_NetSrvInfo102;
653 [string,charset(UTF16)] uint16 *alerts;
657 [string,charset(UTF16)] uint16 *guestaccount;
679 [string,charset(UTF16)] uint16 *srvheuristics;
680 } srvsvc_NetSrvInfo402;
686 [string,charset(UTF16)] uint16 *alerts;
690 [string,charset(UTF16)] uint16 *guestaccount;
712 [string,charset(UTF16)] uint16 *srvheuristics;
713 uint32 auditedevents;
715 [string,charset(UTF16)] uint16 *autopath;
716 } srvsvc_NetSrvInfo403;
723 uint32 initworkitems;
730 uint32 maxpagedmemoryusage;
731 uint32 maxnonpagedmemoryusage;
732 uint32 enablesoftcompat;
733 uint32 enableforcedlogoff;
735 uint32 acceptdownlevelapis;
737 } srvsvc_NetSrvInfo502;
744 uint32 initworkitems;
751 uint32 maxpagedmemoryusage;
752 uint32 maxnonpagedmemoryusage;
753 uint32 enablesoftcompat;
754 uint32 enableforcedlogoff;
756 uint32 acceptdownlevelapis;
758 [string,charset(UTF16)] uint16 *domain;
759 uint32 maxcopyreadlen;
760 uint32 maxcopywritelen;
761 uint32 minkeepsearch;
762 uint32 maxkeepsearch;
763 uint32 minkeepcomplsearch;
764 uint32 maxkeepcomplsearch;
765 uint32 threadcountadd;
766 uint32 numlockthreads;
769 uint32 minfreeworkitems;
771 uint32 threadpriority;
773 uint32 oplockbreakwait;
774 uint32 oplockbreakresponsewait;
775 uint32 enableoplocks;
776 uint32 enableoplockforceclose;
777 uint32 enablefcbopens;
779 uint32 enablesharednetdrives;
780 uint32 minfreeconnections;
781 uint32 maxfreeconnections;
782 } srvsvc_NetSrvInfo503;
789 uint32 initworkitems;
796 uint32 maxpagedmemoryusage;
797 uint32 maxnonpagedmemoryusage;
798 uint32 enablesoftcompat;
799 uint32 enableforcedlogoff;
801 uint32 acceptdownlevelapis;
803 [string,charset(UTF16)] uint16 *domain;
804 uint32 maxcopyreadlen;
805 uint32 maxcopywritelen;
806 uint32 minkeepsearch;
807 uint32 minkeepcomplsearch;
808 uint32 maxkeepcomplsearch;
809 uint32 threadcountadd;
810 uint32 numlockthreads;
813 uint32 minfreeworkitems;
815 uint32 threadpriority;
817 uint32 oplockbreakwait;
818 uint32 oplockbreakresponsewait;
819 uint32 enableoplocks;
820 uint32 enableoplockforceclose;
821 uint32 enablefcbopens;
823 uint32 enablesharednetdrives;
824 uint32 minfreeconnections;
825 uint32 maxfreeconnections;
826 uint32 initsesstable;
827 uint32 initconntable;
828 uint32 initfiletable;
829 uint32 initsearchtable;
831 uint32 errortreshold;
832 uint32 networkerrortreshold;
833 uint32 diskspacetreshold;
836 uint32 minlinkthroughput;
837 uint32 linkinfovalidtime;
838 uint32 scavqosinfoupdatetime;
839 uint32 maxworkitemidletime;
840 } srvsvc_NetSrvInfo599;
843 [string,charset(UTF16)] uint16 *comment;
844 } srvsvc_NetSrvInfo1005;
848 } srvsvc_NetSrvInfo1010;
852 } srvsvc_NetSrvInfo1016;
856 } srvsvc_NetSrvInfo1017;
860 } srvsvc_NetSrvInfo1018;
864 } srvsvc_NetSrvInfo1107;
868 } srvsvc_NetSrvInfo1501;
872 } srvsvc_NetSrvInfo1502;
876 } srvsvc_NetSrvInfo1503;
880 } srvsvc_NetSrvInfo1506;
884 } srvsvc_NetSrvInfo1509;
888 } srvsvc_NetSrvInfo1510;
892 } srvsvc_NetSrvInfo1511;
895 uint32 maxnonpagedmemoryusage;
896 } srvsvc_NetSrvInfo1512;
899 uint32 maxpagedmemoryusage;
900 } srvsvc_NetSrvInfo1513;
903 uint32 enablesoftcompat;
904 } srvsvc_NetSrvInfo1514;
907 uint32 enableforcedlogoff;
908 } srvsvc_NetSrvInfo1515;
912 } srvsvc_NetSrvInfo1516;
916 } srvsvc_NetSrvInfo1518;
919 uint32 maxcopyreadlen;
920 } srvsvc_NetSrvInfo1520;
923 uint32 maxcopywritelen;
924 } srvsvc_NetSrvInfo1521;
927 uint32 minkeepsearch;
928 } srvsvc_NetSrvInfo1522;
931 uint32 maxkeepsearch;
932 } srvsvc_NetSrvInfo1523;
935 uint32 minkeepcomplsearch;
936 } srvsvc_NetSrvInfo1524;
939 uint32 maxkeepcomplsearch;
940 } srvsvc_NetSrvInfo1525;
944 } srvsvc_NetSrvInfo1528;
948 } srvsvc_NetSrvInfo1529;
951 uint32 minfreeworkitems;
952 } srvsvc_NetSrvInfo1530;
956 } srvsvc_NetSrvInfo1533;
959 uint32 oplockbreakwait;
960 } srvsvc_NetSrvInfo1534;
963 uint32 oplockbreakresponsewait;
964 } srvsvc_NetSrvInfo1535;
967 uint32 enableoplocks;
968 } srvsvc_NetSrvInfo1536;
971 uint32 enableoplockforceclose;
972 } srvsvc_NetSrvInfo1537;
975 uint32 enablefcbopens;
976 } srvsvc_NetSrvInfo1538;
980 } srvsvc_NetSrvInfo1539;
983 uint32 enablesharednetdrives;
984 } srvsvc_NetSrvInfo1540;
987 uint32 minfreeconnections;
988 } srvsvc_NetSrvInfo1541;
991 uint32 maxfreeconnections;
992 } srvsvc_NetSrvInfo1542;
995 uint32 initsesstable;
996 } srvsvc_NetSrvInfo1543;
999 uint32 initconntable;
1000 } srvsvc_NetSrvInfo1544;
1003 uint32 initfiletable;
1004 } srvsvc_NetSrvInfo1545;
1007 uint32 initsearchtable;
1008 } srvsvc_NetSrvInfo1546;
1012 } srvsvc_NetSrvInfo1547;
1015 uint32 errortreshold;
1016 } srvsvc_NetSrvInfo1548;
1019 uint32 networkerrortreshold;
1020 } srvsvc_NetSrvInfo1549;
1023 uint32 diskspacetreshold;
1024 } srvsvc_NetSrvInfo1550;
1027 uint32 maxlinkdelay;
1028 } srvsvc_NetSrvInfo1552;
1031 uint32 minlinkthroughput;
1032 } srvsvc_NetSrvInfo1553;
1035 uint32 linkinfovalidtime;
1036 } srvsvc_NetSrvInfo1554;
1039 uint32 scavqosinfoupdatetime;
1040 } srvsvc_NetSrvInfo1555;
1043 uint32 maxworkitemidletime;
1044 } srvsvc_NetSrvInfo1556;
1048 [case(100)] srvsvc_NetSrvInfo100 *info100;
1049 [case(101)] srvsvc_NetSrvInfo101 *info101;
1050 [case(102)] srvsvc_NetSrvInfo102 *info102;
1051 [case(402)] srvsvc_NetSrvInfo402 *info402;
1052 [case(403)] srvsvc_NetSrvInfo403 *info403;
1053 [case(502)] srvsvc_NetSrvInfo502 *info502;
1054 [case(503)] srvsvc_NetSrvInfo503 *info503;
1055 [case(599)] srvsvc_NetSrvInfo599 *info599;
1056 [case(1005)] srvsvc_NetSrvInfo1005 *info1005;
1057 [case(1010)] srvsvc_NetSrvInfo1010 *info1010;
1058 [case(1016)] srvsvc_NetSrvInfo1016 *info1016;
1059 [case(1017)] srvsvc_NetSrvInfo1017 *info1017;
1060 [case(1018)] srvsvc_NetSrvInfo1018 *info1018;
1061 [case(1107)] srvsvc_NetSrvInfo1107 *info1107;
1062 [case(1501)] srvsvc_NetSrvInfo1501 *info1501;
1063 [case(1502)] srvsvc_NetSrvInfo1502 *info1502;
1064 [case(1503)] srvsvc_NetSrvInfo1503 *info1503;
1065 [case(1506)] srvsvc_NetSrvInfo1506 *info1506;
1066 [case(1509)] srvsvc_NetSrvInfo1509 *info1509;
1067 [case(1510)] srvsvc_NetSrvInfo1510 *info1510;
1068 [case(1511)] srvsvc_NetSrvInfo1511 *info1511;
1069 [case(1512)] srvsvc_NetSrvInfo1512 *info1512;
1070 [case(1513)] srvsvc_NetSrvInfo1513 *info1513;
1071 [case(1514)] srvsvc_NetSrvInfo1514 *info1514;
1072 [case(1515)] srvsvc_NetSrvInfo1515 *info1515;
1073 [case(1516)] srvsvc_NetSrvInfo1516 *info1516;
1074 [case(1518)] srvsvc_NetSrvInfo1518 *info1518;
1075 [case(1520)] srvsvc_NetSrvInfo1520 *info1520;
1076 [case(1521)] srvsvc_NetSrvInfo1521 *info1521;
1077 [case(1522)] srvsvc_NetSrvInfo1522 *info1522;
1078 [case(1523)] srvsvc_NetSrvInfo1523 *info1523;
1079 [case(1524)] srvsvc_NetSrvInfo1524 *info1524;
1080 [case(1525)] srvsvc_NetSrvInfo1525 *info1525;
1081 [case(1528)] srvsvc_NetSrvInfo1528 *info1528;
1082 [case(1529)] srvsvc_NetSrvInfo1529 *info1529;
1083 [case(1530)] srvsvc_NetSrvInfo1530 *info1530;
1084 [case(1533)] srvsvc_NetSrvInfo1533 *info1533;
1085 [case(1534)] srvsvc_NetSrvInfo1534 *info1534;
1086 [case(1535)] srvsvc_NetSrvInfo1535 *info1535;
1087 [case(1536)] srvsvc_NetSrvInfo1536 *info1536;
1088 [case(1537)] srvsvc_NetSrvInfo1537 *info1537;
1089 [case(1538)] srvsvc_NetSrvInfo1538 *info1538;
1090 [case(1539)] srvsvc_NetSrvInfo1539 *info1539;
1091 [case(1540)] srvsvc_NetSrvInfo1540 *info1540;
1092 [case(1541)] srvsvc_NetSrvInfo1541 *info1541;
1093 [case(1542)] srvsvc_NetSrvInfo1542 *info1542;
1094 [case(1543)] srvsvc_NetSrvInfo1543 *info1543;
1095 [case(1544)] srvsvc_NetSrvInfo1544 *info1544;
1096 [case(1545)] srvsvc_NetSrvInfo1545 *info1545;
1097 [case(1546)] srvsvc_NetSrvInfo1546 *info1546;
1098 [case(1547)] srvsvc_NetSrvInfo1547 *info1547;
1099 [case(1548)] srvsvc_NetSrvInfo1548 *info1548;
1100 [case(1549)] srvsvc_NetSrvInfo1549 *info1549;
1101 [case(1550)] srvsvc_NetSrvInfo1550 *info1550;
1102 [case(1552)] srvsvc_NetSrvInfo1552 *info1552;
1103 [case(1553)] srvsvc_NetSrvInfo1553 *info1553;
1104 [case(1554)] srvsvc_NetSrvInfo1554 *info1554;
1105 [case(1555)] srvsvc_NetSrvInfo1555 *info1555;
1106 [case(1556)] srvsvc_NetSrvInfo1556 *info1556;
1108 } srvsvc_NetSrvInfo;
1110 /******************/
1111 /* Function: 0x15 */
1112 WERROR srvsvc_NetSrvGetInfo(
1113 [in] [string,charset(UTF16)] uint16 *server_unc,
1115 [out,ref,switch_is(level)] srvsvc_NetSrvInfo *info
1118 /******************/
1119 /* Function: 0x16 */
1120 WERROR srvsvc_NetSrvSetInfo(
1121 [in] [string,charset(UTF16)] uint16 *server_unc,
1123 [in,switch_is(level)] srvsvc_NetSrvInfo info,
1124 [in,out] uint32 *parm_error
1127 /**************************/
1128 /* srvsvc_NetDisk */
1129 /**************************/
1131 [flag(STR_LEN4)] string disk;
1132 } srvsvc_NetDiskInfo0;
1136 [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks;
1137 } srvsvc_NetDiskInfo;
1139 /******************/
1140 /* Function: 0x17 */
1141 WERROR srvsvc_NetDiskEnum(
1142 [in] [string,charset(UTF16)] uint16 *server_unc,
1144 [in,out,ref] srvsvc_NetDiskInfo *info,
1146 [out,ref] uint32 *totalentries,
1147 [in,out] uint32 *resume_handle
1150 /**************************/
1151 /* srvsvc_NetStatistics */
1152 /**************************/
1164 uint32 bytessent_low;
1165 uint32 bytessent_high;
1166 uint32 bytesrcvd_low;
1167 uint32 bytesrcvd_high;
1171 } srvsvc_Statistics;
1173 /******************/
1174 /* Function: 0x18 */
1175 WERROR srvsvc_NetServerStatisticsGet(
1176 [in] [string,charset(UTF16)] uint16 *server_unc,
1177 [in] [string,charset(UTF16)] uint16 *service,
1179 [in] uint32 options,
1180 [out,ref] srvsvc_Statistics *stat
1183 /**************************/
1184 /* srvsvc_NetTransport */
1185 /**************************/
1188 [string,charset(UTF16)] uint16 *name;
1189 [size_is(addr_len)] uint8 *addr;
1191 [string,charset(UTF16)] uint16 *net_addr;
1192 } srvsvc_NetTransportInfo0;
1194 /******************/
1195 /* Function: 0x19 */
1196 WERROR srvsvc_NetTransportAdd(
1197 [in] [string,charset(UTF16)] uint16 *server_unc,
1199 [in,switch_is(level)] srvsvc_NetTransportInfo info
1204 [size_is(count)] srvsvc_NetTransportInfo0 *array;
1205 } srvsvc_NetTransportCtr0;
1209 [string,charset(UTF16)] uint16 *name;
1210 [size_is(addr_len)] uint8 *addr;
1212 [string,charset(UTF16)] uint16 *net_addr;
1213 [string,charset(UTF16)] uint16 *domain;
1214 } srvsvc_NetTransportInfo1;
1218 [size_is(count)] srvsvc_NetTransportInfo1 *array;
1219 } srvsvc_NetTransportCtr1;
1223 [string,charset(UTF16)] uint16 *name;
1224 [size_is(addr_len)] uint8 *addr;
1226 [string,charset(UTF16)] uint16 *net_addr;
1227 [string,charset(UTF16)] uint16 *domain;
1229 } srvsvc_NetTransportInfo2;
1233 [size_is(count)] srvsvc_NetTransportInfo2 *array;
1234 } srvsvc_NetTransportCtr2;
1238 [string,charset(UTF16)] uint16 *name;
1239 [size_is(addr_len)] uint8 *addr;
1241 [string,charset(UTF16)] uint16 *net_addr;
1242 [string,charset(UTF16)] uint16 *domain;
1245 uint8 unknown3[256];
1246 } srvsvc_NetTransportInfo3;
1250 [size_is(count)] srvsvc_NetTransportInfo3 *array;
1251 } srvsvc_NetTransportCtr3;
1254 [case(0)] srvsvc_NetTransportCtr0 *ctr0;
1255 [case(1)] srvsvc_NetTransportCtr1 *ctr1;
1256 [case(2)] srvsvc_NetTransportCtr2 *ctr2;
1257 [case(3)] srvsvc_NetTransportCtr3 *ctr3;
1259 } srvsvc_NetTransportCtr;
1261 /******************/
1262 /* Function: 0x1a */
1263 WERROR srvsvc_NetTransportEnum(
1264 [in] [string,charset(UTF16)] uint16 *server_unc,
1265 [in,out,ref] uint32 *level,
1266 [in,out,ref,switch_is(*level)] srvsvc_NetTransportCtr *transports,
1267 [in] uint32 max_buffer,
1268 [out,ref] uint32 *totalentries,
1269 [in,out,unique] uint32 *resume_handle
1272 /******************/
1273 /* Function: 0x1b */
1274 WERROR srvsvc_NetTransportDel(
1275 [in] [string,charset(UTF16)] uint16 *server_unc,
1276 [in] uint32 unknown,
1277 [in] srvsvc_NetTransportInfo0 transport
1280 /**************************/
1281 /* srvsvc_NetRemoteTOD */
1282 /**************************/
1284 uint32 elapsed; /* time(NULL) */
1285 uint32 msecs; /* milliseconds till system reboot (uptime) */
1290 int32 timezone; /* in minutes */
1291 uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
1296 } srvsvc_NetRemoteTODInfo;
1298 /******************/
1299 /* Function: 0x1c */
1300 WERROR srvsvc_NetRemoteTOD(
1301 [in] [string,charset(UTF16)] uint16 *server_unc,
1302 [out] srvsvc_NetRemoteTODInfo *info
1305 /**************************/
1306 /* srvsvc_NetServiceBits */
1307 /**************************/
1308 /******************/
1309 /* Function: 0x1d */
1310 WERROR srvsvc_NetSetServiceBits(
1311 [in] [string,charset(UTF16)] uint16 *server_unc,
1312 [in] [string,charset(UTF16)] uint16 *transport,
1313 [in] uint32 servicebits,
1314 [in] uint32 updateimmediately
1317 /**************************/
1318 /* srvsvc_NetPath */
1319 /**************************/
1320 /******************/
1321 /* Function: 0x1e */
1322 WERROR srvsvc_NetPathType(
1323 [in] [string,charset(UTF16)] uint16 *server_unc,
1324 [in] [string,charset(UTF16)] uint16 path[],
1325 [in] uint32 pathflags,
1326 [out,ref] uint32 *pathtype
1329 /******************/
1330 /* Function: 0x1f */
1331 WERROR srvsvc_NetPathCanonicalize(
1332 [in] [string,charset(UTF16)] uint16 *server_unc,
1333 [in] [string,charset(UTF16)] uint16 path[],
1334 [out] [size_is(maxbuf)] uint8 can_path[],
1336 [in] [string,charset(UTF16)] uint16 prefix[],
1337 [in,out,ref] uint32 *pathtype,
1338 [in] uint32 pathflags
1341 /******************/
1342 /* Function: 0x20 */
1343 WERROR srvsvc_NetPathCompare(
1344 [in] [string,charset(UTF16)] uint16 *server_unc,
1345 [in] [string,charset(UTF16)] uint16 path1[],
1346 [in] [string,charset(UTF16)] uint16 path2[],
1347 [in] uint32 pathtype,
1348 [in] uint32 pathflags
1351 /**************************/
1352 /* srvsvc_NetName */
1353 /**************************/
1354 /******************/
1355 /* Function: 0x21 */
1356 WERROR srvsvc_NetNameValidate(
1357 [in] [string,charset(UTF16)] uint16 *server_unc,
1358 [in] [string,charset(UTF16)] uint16 name[],
1359 [in] uint32 name_type,
1363 /******************/
1364 /* Function: 0x22 */
1365 WERROR srvsvc_NETRPRNAMECANONICALIZE(
1368 /******************/
1369 /* Function: 0x23 */
1370 WERROR srvsvc_NetPRNameCompare(
1371 [in] [string,charset(UTF16)] uint16 *server_unc,
1372 [in] [string,charset(UTF16)] uint16 name1[],
1373 [in] [string,charset(UTF16)] uint16 name2[],
1374 [in] uint32 name_type,
1378 /**************************/
1379 /* srvsvc_NetShare ... */
1380 /**************************/
1381 /******************/
1382 /* Function: 0x24 */
1383 /* Note, there must be some way to return entries read vs
1384 total entries ... */
1385 WERROR srvsvc_NetShareEnum(
1386 [in] [string,charset(UTF16)] uint16 *server_unc,
1387 [in,out,ref] uint32 *level,
1388 [in,out,ref,switch_is(*level)] srvsvc_NetShareCtr *ctr,
1389 [in] uint32 max_buffer,
1390 [out,ref] uint32 *totalentries,
1391 [in,out,unique] uint32 *resume_handle
1394 /******************/
1395 /* Function: 0x25 */
1396 WERROR srvsvc_NetShareDelStart(
1397 [in] [string,charset(UTF16)] uint16 *server_unc,
1398 [in] [string,charset(UTF16)] uint16 share[],
1399 [in] uint32 reserved,
1400 [out] policy_handle *hnd
1403 /******************/
1404 /* Function: 0x26 */
1405 WERROR srvsvc_NetShareDelCommit(
1406 [in, out] policy_handle *hnd
1409 /******************/
1410 /* Function: 0x27 */
1411 WERROR srvsvc_NetGetFileSecurity(
1412 [in] [string,charset(UTF16)] uint16 *server_unc,
1413 [in] [string,charset(UTF16)] uint16 *share,
1414 [in] [string,charset(UTF16)] uint16 file[],
1415 [in] security_secinfo securityinformation,
1416 [out] sec_desc_buf *sd_buf
1419 /******************/
1420 /* Function: 0x28 */
1421 WERROR srvsvc_NetSetFileSecurity(
1422 [in] [string,charset(UTF16)] uint16 *server_unc,
1423 [in] [string,charset(UTF16)] uint16 *share,
1424 [in] [string,charset(UTF16)] uint16 file[],
1425 [in] security_secinfo securityinformation,
1426 [in] sec_desc_buf sd_buf
1431 typedef [switch_type(uint32)] union {
1432 [case(0)] srvsvc_NetTransportInfo0 info0;
1433 [case(1)] srvsvc_NetTransportInfo1 info1;
1434 [case(2)] srvsvc_NetTransportInfo2 info2;
1435 [case(3)] srvsvc_NetTransportInfo3 info3;
1436 } srvsvc_NetTransportInfo;
1438 /******************/
1439 /* Function: 0x29 */
1440 WERROR srvsvc_NetServerTransportAddEx(
1441 [in] [string,charset(UTF16)] uint16 *server_unc,
1443 [in,switch_is(level)] srvsvc_NetTransportInfo info
1446 /******************/
1447 /* Function: 0x2a */
1448 WERROR srvsvc_NetServerSetServiceBitsEx(
1449 [in] [string,charset(UTF16)] uint16 *server_unc,
1450 [in] [string,charset(UTF16)] uint16 *emulated_server_unc,
1451 [in] [string,charset(UTF16)] uint16 *transport,
1452 [in] uint32 servicebitsofinterest,
1453 [in] uint32 servicebits,
1454 [in] uint32 updateimmediately
1457 /******************/
1458 /* Function: 0x2b */
1459 WERROR srvsvc_NETRDFSGETVERSION(
1462 /******************/
1463 /* Function: 0x2c */
1464 WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
1467 /******************/
1468 /* Function: 0x2d */
1469 WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
1472 /******************/
1473 /* Function: 0x2e */
1474 WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
1477 /******************/
1478 /* Function: 0x2f */
1479 WERROR srvsvc_NETRDFSSETSERVERINFO(
1482 /******************/
1483 /* Function: 0x30 */
1484 WERROR srvsvc_NETRDFSCREATEEXITPOINT(
1487 /******************/
1488 /* Function: 0x31 */
1489 WERROR srvsvc_NETRDFSDELETEEXITPOINT(
1492 /******************/
1493 /* Function: 0x32 */
1494 WERROR srvsvc_NETRDFSMODIFYPREFIX(
1497 /******************/
1498 /* Function: 0x33 */
1499 WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
1502 /******************/
1503 /* Function: 0x34 */
1504 WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
1507 /******************/
1508 /* Function: 0x35 */
1509 WERROR srvsvc_NETRSERVERTRANSPORTDELEX(