4 srvsvc interface definitions
7 import "security.idl", "svcctl.idl";
9 [ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
11 endpoint("ncacn_np:[\\pipe\\srvsvc]", "ncacn_ip_tcp:", "ncalrpc:"),
12 pointer_default(unique),
13 helpstring("Server Service")
16 typedef bitmap svcctl_ServerType svcctl_ServerType;
17 typedef bitmap security_secinfo 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,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
68 WERROR srvsvc_NetCharDevGetInfo(
69 [in,unique] [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,unique] [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,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
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[],
139 [out,switch_is(level),ref] srvsvc_NetCharDevQInfo *info
144 WERROR srvsvc_NetCharDevQSetInfo(
145 [in,unique] [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,unique] uint32 *parm_error
154 WERROR srvsvc_NetCharDevQPurge(
155 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
156 [in] [string,charset(UTF16)] uint16 queue_name[]
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 /**************************/
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 [switch_is(level)] srvsvc_NetConnCtr ctr;
203 } srvsvc_NetConnInfoCtr;
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 /**************************/
218 /**************************/
221 } srvsvc_NetFileInfo2;
225 [size_is(count)] srvsvc_NetFileInfo2 *array;
226 } srvsvc_NetFileCtr2;
232 [string,charset(UTF16)] uint16 *path;
233 [string,charset(UTF16)] uint16 *user;
234 } srvsvc_NetFileInfo3;
238 [size_is(count)] srvsvc_NetFileInfo3 *array;
239 } srvsvc_NetFileCtr3;
242 [case(2)] srvsvc_NetFileInfo2 *info2;
243 [case(3)] srvsvc_NetFileInfo3 *info3;
245 } srvsvc_NetFileInfo;
248 [case(2)] srvsvc_NetFileCtr2 *ctr2;
249 [case(3)] srvsvc_NetFileCtr3 *ctr3;
255 [switch_is(level)] srvsvc_NetFileCtr ctr;
256 } srvsvc_NetFileInfoCtr;
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
272 WERROR srvsvc_NetFileGetInfo(
273 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
276 [out,switch_is(level),ref] srvsvc_NetFileInfo *info
281 WERROR srvsvc_NetFileClose(
282 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
286 /**************************/
288 /**************************/
290 [string,charset(UTF16)] uint16 *client;
291 } srvsvc_NetSessInfo0;
295 [size_is(count)] srvsvc_NetSessInfo0 *array;
296 } srvsvc_NetSessCtr0;
299 [string,charset(UTF16)] uint16 *client;
300 [string,charset(UTF16)] uint16 *user;
305 } srvsvc_NetSessInfo1;
309 [size_is(count)] srvsvc_NetSessInfo1 *array;
310 } srvsvc_NetSessCtr1;
313 [string,charset(UTF16)] uint16 *client;
314 [string,charset(UTF16)] uint16 *user;
319 [string,charset(UTF16)] uint16 *client_type;
320 } srvsvc_NetSessInfo2;
324 [size_is(count)] srvsvc_NetSessInfo2 *array;
325 } srvsvc_NetSessCtr2;
328 [string,charset(UTF16)] uint16 *client;
329 [string,charset(UTF16)] uint16 *user;
332 } srvsvc_NetSessInfo10;
336 [size_is(count)] srvsvc_NetSessInfo10 *array;
337 } srvsvc_NetSessCtr10;
340 [string,charset(UTF16)] uint16 *client;
341 [string,charset(UTF16)] uint16 *user;
346 [string,charset(UTF16)] uint16 *client_type;
347 [string,charset(UTF16)] uint16 *transport;
348 } srvsvc_NetSessInfo502;
352 [size_is(count)] srvsvc_NetSessInfo502 *array;
353 } srvsvc_NetSessCtr502;
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;
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
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 /**************************/
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 {
400 STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
401 STYPE_DISKTREE_HIDDEN = STYPE_DISKTREE|STYPE_HIDDEN,
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
414 [string,charset(UTF16)] uint16 *name;
415 } srvsvc_NetShareInfo0;
419 [size_is(count)] srvsvc_NetShareInfo0 *array;
420 } srvsvc_NetShareCtr0;
423 [string,charset(UTF16)] uint16 *name;
424 srvsvc_ShareType type;
425 [string,charset(UTF16)] uint16 *comment;
426 } srvsvc_NetShareInfo1;
430 [size_is(count)] srvsvc_NetShareInfo1 *array;
431 } srvsvc_NetShareCtr1;
434 [string,charset(UTF16)] uint16 *name;
435 srvsvc_ShareType type;
436 [string,charset(UTF16)] uint16 *comment;
439 uint32 current_users;
440 [string,charset(UTF16)] uint16 *path;
441 [string,charset(UTF16)] uint16 *password;
442 } srvsvc_NetShareInfo2;
446 [size_is(count)] srvsvc_NetShareInfo2 *array;
447 } srvsvc_NetShareCtr2;
450 [string,charset(UTF16)] uint16 *name;
451 srvsvc_ShareType type;
452 [string,charset(UTF16)] uint16 *comment;
454 } srvsvc_NetShareInfo501;
458 [size_is(count)] srvsvc_NetShareInfo501 *array;
459 } srvsvc_NetShareCtr501;
462 [string,charset(UTF16)] uint16 *name;
463 srvsvc_ShareType type;
464 [string,charset(UTF16)] uint16 *comment;
467 uint32 current_users;
468 [string,charset(UTF16)] uint16 *path;
469 [string,charset(UTF16)] uint16 *password;
470 /* maybe here is a struct sec_desc_buf following */
472 [subcontext(4)] security_descriptor *sd;
473 } srvsvc_NetShareInfo502;
477 [size_is(count)] srvsvc_NetShareInfo502 *array;
478 } srvsvc_NetShareCtr502;
481 [string,charset(UTF16)] uint16 *comment;
482 } srvsvc_NetShareInfo1004;
486 [size_is(count)] srvsvc_NetShareInfo1004 *array;
487 } srvsvc_NetShareCtr1004;
490 SHARE_1005_IN_DFS = 0x00000001,
491 SHARE_1005_DFS_ROOT = 0x00000002
492 } NetShareInfo1005Flags;
494 const uint32 SHARE_1005_CSC_POLICY_MASK = 0x00000030;
495 const uint32 SHARE_1005_CSC_POLICY_SHIFT = 4;
498 NetShareInfo1005Flags dfs_flags;
499 } srvsvc_NetShareInfo1005;
503 [size_is(count)] srvsvc_NetShareInfo1005 *array;
504 } srvsvc_NetShareCtr1005;
508 } srvsvc_NetShareInfo1006;
512 [size_is(count)] srvsvc_NetShareInfo1006 *array;
513 } srvsvc_NetShareCtr1006;
517 [string,charset(UTF16)] uint16 *alternate_directory_name;
518 } srvsvc_NetShareInfo1007;
522 [size_is(count)] srvsvc_NetShareInfo1007 *array;
523 } srvsvc_NetShareCtr1007;
527 [size_is(count)] sec_desc_buf *array;
528 } srvsvc_NetShareCtr1501;
531 [case(0)] srvsvc_NetShareInfo0 *info0;
532 [case(1)] srvsvc_NetShareInfo1 *info1;
533 [case(2)] srvsvc_NetShareInfo2 *info2;
534 [case(501)] srvsvc_NetShareInfo501 *info501;
535 [case(502)] srvsvc_NetShareInfo502 *info502;
536 [case(1004)] srvsvc_NetShareInfo1004 *info1004;
537 [case(1005)] srvsvc_NetShareInfo1005 *info1005;
538 [case(1006)] srvsvc_NetShareInfo1006 *info1006;
539 [case(1007)] srvsvc_NetShareInfo1007 *info1007;
540 [case(1501)] sec_desc_buf *info1501;
542 } srvsvc_NetShareInfo;
545 [case(0)] srvsvc_NetShareCtr0 *ctr0;
546 [case(1)] srvsvc_NetShareCtr1 *ctr1;
547 [case(2)] srvsvc_NetShareCtr2 *ctr2;
548 [case(501)] srvsvc_NetShareCtr501 *ctr501;
549 [case(502)] srvsvc_NetShareCtr502 *ctr502;
550 [case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
551 [case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
552 [case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
553 [case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
554 [case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
556 } srvsvc_NetShareCtr;
560 [switch_is(level)] srvsvc_NetShareCtr ctr;
561 } srvsvc_NetShareInfoCtr;
565 WERROR srvsvc_NetShareAdd(
566 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
568 [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
569 [in,out,unique] uint32 *parm_error
574 WERROR srvsvc_NetShareEnumAll (
575 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
576 [in,out,ref] srvsvc_NetShareInfoCtr *info_ctr,
577 [in] uint32 max_buffer,
578 [out,ref] uint32 *totalentries,
579 [in,out,unique] uint32 *resume_handle
584 WERROR srvsvc_NetShareGetInfo(
585 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
586 [in] [string,charset(UTF16)] uint16 share_name[],
588 [out,ref,switch_is(level)] srvsvc_NetShareInfo *info
593 WERROR srvsvc_NetShareSetInfo(
594 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
595 [in] [string,charset(UTF16)] uint16 share_name[],
597 [in,ref,switch_is(level)] srvsvc_NetShareInfo *info,
598 [in,out,unique] uint32 *parm_error
603 WERROR srvsvc_NetShareDel(
604 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
605 [in] [string,charset(UTF16)] uint16 share_name[],
611 WERROR srvsvc_NetShareDelSticky(
612 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
613 [in] [string,charset(UTF16)] uint16 share_name[],
619 WERROR srvsvc_NetShareCheck(
620 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
621 [in] [string,charset(UTF16)] uint16 device_name[],
622 [out,ref] srvsvc_ShareType *type
625 /**************************/
627 /**************************/
628 typedef [public,v1_enum] enum {
629 PLATFORM_ID_DOS = 300,
630 PLATFORM_ID_OS2 = 400,
631 PLATFORM_ID_NT = 500,
632 PLATFORM_ID_OSF = 600,
633 PLATFORM_ID_VMS = 700
637 srvsvc_PlatformId platform_id;
638 [string,charset(UTF16)] uint16 *server_name;
639 } srvsvc_NetSrvInfo100;
642 srvsvc_PlatformId platform_id;
643 [string,charset(UTF16)] uint16 *server_name;
644 uint32 version_major;
645 uint32 version_minor;
646 svcctl_ServerType server_type;
647 [string,charset(UTF16)] uint16 *comment;
648 } srvsvc_NetSrvInfo101;
651 srvsvc_PlatformId platform_id;
652 [string,charset(UTF16)] uint16 *server_name;
653 uint32 version_major;
654 uint32 version_minor;
655 svcctl_ServerType server_type;
656 [string,charset(UTF16)] uint16 *comment;
663 [string,charset(UTF16)] uint16 *userpath;
664 } srvsvc_NetSrvInfo102;
670 [string,charset(UTF16)] uint16 *alerts;
674 [string,charset(UTF16)] uint16 *guestaccount;
696 [string,charset(UTF16)] uint16 *srvheuristics;
697 } srvsvc_NetSrvInfo402;
703 [string,charset(UTF16)] uint16 *alerts;
707 [string,charset(UTF16)] uint16 *guestaccount;
729 [string,charset(UTF16)] uint16 *srvheuristics;
730 uint32 auditedevents;
732 [string,charset(UTF16)] uint16 *autopath;
733 } srvsvc_NetSrvInfo403;
740 uint32 initworkitems;
747 uint32 maxpagedmemoryusage;
748 uint32 maxnonpagedmemoryusage;
749 uint32 enablesoftcompat;
750 uint32 enableforcedlogoff;
752 uint32 acceptdownlevelapis;
754 } srvsvc_NetSrvInfo502;
761 uint32 initworkitems;
768 uint32 maxpagedmemoryusage;
769 uint32 maxnonpagedmemoryusage;
770 uint32 enablesoftcompat;
771 uint32 enableforcedlogoff;
773 uint32 acceptdownlevelapis;
775 [string,charset(UTF16)] uint16 *domain;
776 uint32 maxcopyreadlen;
777 uint32 maxcopywritelen;
778 uint32 minkeepsearch;
779 uint32 maxkeepsearch;
780 uint32 minkeepcomplsearch;
781 uint32 maxkeepcomplsearch;
782 uint32 threadcountadd;
783 uint32 numlockthreads;
786 uint32 minfreeworkitems;
788 uint32 threadpriority;
790 uint32 oplockbreakwait;
791 uint32 oplockbreakresponsewait;
792 uint32 enableoplocks;
793 uint32 enableoplockforceclose;
794 uint32 enablefcbopens;
796 uint32 enablesharednetdrives;
797 uint32 minfreeconnections;
798 uint32 maxfreeconnections;
799 } srvsvc_NetSrvInfo503;
806 uint32 initworkitems;
813 uint32 maxpagedmemoryusage;
814 uint32 maxnonpagedmemoryusage;
815 uint32 enablesoftcompat;
816 uint32 enableforcedlogoff;
818 uint32 acceptdownlevelapis;
820 [string,charset(UTF16)] uint16 *domain;
821 uint32 maxcopyreadlen;
822 uint32 maxcopywritelen;
823 uint32 minkeepsearch;
824 uint32 minkeepcomplsearch;
825 uint32 maxkeepcomplsearch;
826 uint32 threadcountadd;
827 uint32 numlockthreads;
830 uint32 minfreeworkitems;
832 uint32 threadpriority;
834 uint32 oplockbreakwait;
835 uint32 oplockbreakresponsewait;
836 uint32 enableoplocks;
837 uint32 enableoplockforceclose;
838 uint32 enablefcbopens;
840 uint32 enablesharednetdrives;
841 uint32 minfreeconnections;
842 uint32 maxfreeconnections;
843 uint32 initsesstable;
844 uint32 initconntable;
845 uint32 initfiletable;
846 uint32 initsearchtable;
848 uint32 errortreshold;
849 uint32 networkerrortreshold;
850 uint32 diskspacetreshold;
853 uint32 minlinkthroughput;
854 uint32 linkinfovalidtime;
855 uint32 scavqosinfoupdatetime;
856 uint32 maxworkitemidletime;
857 } srvsvc_NetSrvInfo599;
860 [string,charset(UTF16)] uint16 *comment;
861 } srvsvc_NetSrvInfo1005;
865 } srvsvc_NetSrvInfo1010;
869 } srvsvc_NetSrvInfo1016;
873 } srvsvc_NetSrvInfo1017;
877 } srvsvc_NetSrvInfo1018;
881 } srvsvc_NetSrvInfo1107;
885 } srvsvc_NetSrvInfo1501;
889 } srvsvc_NetSrvInfo1502;
893 } srvsvc_NetSrvInfo1503;
897 } srvsvc_NetSrvInfo1506;
901 } srvsvc_NetSrvInfo1509;
905 } srvsvc_NetSrvInfo1510;
909 } srvsvc_NetSrvInfo1511;
912 uint32 maxnonpagedmemoryusage;
913 } srvsvc_NetSrvInfo1512;
916 uint32 maxpagedmemoryusage;
917 } srvsvc_NetSrvInfo1513;
920 uint32 enablesoftcompat;
921 } srvsvc_NetSrvInfo1514;
924 uint32 enableforcedlogoff;
925 } srvsvc_NetSrvInfo1515;
929 } srvsvc_NetSrvInfo1516;
933 } srvsvc_NetSrvInfo1518;
936 uint32 maxcopyreadlen;
937 } srvsvc_NetSrvInfo1520;
940 uint32 maxcopywritelen;
941 } srvsvc_NetSrvInfo1521;
944 uint32 minkeepsearch;
945 } srvsvc_NetSrvInfo1522;
948 uint32 maxkeepsearch;
949 } srvsvc_NetSrvInfo1523;
952 uint32 minkeepcomplsearch;
953 } srvsvc_NetSrvInfo1524;
956 uint32 maxkeepcomplsearch;
957 } srvsvc_NetSrvInfo1525;
961 } srvsvc_NetSrvInfo1528;
965 } srvsvc_NetSrvInfo1529;
968 uint32 minfreeworkitems;
969 } srvsvc_NetSrvInfo1530;
973 } srvsvc_NetSrvInfo1533;
976 uint32 oplockbreakwait;
977 } srvsvc_NetSrvInfo1534;
980 uint32 oplockbreakresponsewait;
981 } srvsvc_NetSrvInfo1535;
984 uint32 enableoplocks;
985 } srvsvc_NetSrvInfo1536;
988 uint32 enableoplockforceclose;
989 } srvsvc_NetSrvInfo1537;
992 uint32 enablefcbopens;
993 } srvsvc_NetSrvInfo1538;
997 } srvsvc_NetSrvInfo1539;
1000 uint32 enablesharednetdrives;
1001 } srvsvc_NetSrvInfo1540;
1004 uint32 minfreeconnections;
1005 } srvsvc_NetSrvInfo1541;
1008 uint32 maxfreeconnections;
1009 } srvsvc_NetSrvInfo1542;
1012 uint32 initsesstable;
1013 } srvsvc_NetSrvInfo1543;
1016 uint32 initconntable;
1017 } srvsvc_NetSrvInfo1544;
1020 uint32 initfiletable;
1021 } srvsvc_NetSrvInfo1545;
1024 uint32 initsearchtable;
1025 } srvsvc_NetSrvInfo1546;
1029 } srvsvc_NetSrvInfo1547;
1032 uint32 errortreshold;
1033 } srvsvc_NetSrvInfo1548;
1036 uint32 networkerrortreshold;
1037 } srvsvc_NetSrvInfo1549;
1040 uint32 diskspacetreshold;
1041 } srvsvc_NetSrvInfo1550;
1044 uint32 maxlinkdelay;
1045 } srvsvc_NetSrvInfo1552;
1048 uint32 minlinkthroughput;
1049 } srvsvc_NetSrvInfo1553;
1052 uint32 linkinfovalidtime;
1053 } srvsvc_NetSrvInfo1554;
1056 uint32 scavqosinfoupdatetime;
1057 } srvsvc_NetSrvInfo1555;
1060 uint32 maxworkitemidletime;
1061 } srvsvc_NetSrvInfo1556;
1065 [case(100)] srvsvc_NetSrvInfo100 *info100;
1066 [case(101)] srvsvc_NetSrvInfo101 *info101;
1067 [case(102)] srvsvc_NetSrvInfo102 *info102;
1068 [case(402)] srvsvc_NetSrvInfo402 *info402;
1069 [case(403)] srvsvc_NetSrvInfo403 *info403;
1070 [case(502)] srvsvc_NetSrvInfo502 *info502;
1071 [case(503)] srvsvc_NetSrvInfo503 *info503;
1072 [case(599)] srvsvc_NetSrvInfo599 *info599;
1073 [case(1005)] srvsvc_NetSrvInfo1005 *info1005;
1074 [case(1010)] srvsvc_NetSrvInfo1010 *info1010;
1075 [case(1016)] srvsvc_NetSrvInfo1016 *info1016;
1076 [case(1017)] srvsvc_NetSrvInfo1017 *info1017;
1077 [case(1018)] srvsvc_NetSrvInfo1018 *info1018;
1078 [case(1107)] srvsvc_NetSrvInfo1107 *info1107;
1079 [case(1501)] srvsvc_NetSrvInfo1501 *info1501;
1080 [case(1502)] srvsvc_NetSrvInfo1502 *info1502;
1081 [case(1503)] srvsvc_NetSrvInfo1503 *info1503;
1082 [case(1506)] srvsvc_NetSrvInfo1506 *info1506;
1083 [case(1509)] srvsvc_NetSrvInfo1509 *info1509;
1084 [case(1510)] srvsvc_NetSrvInfo1510 *info1510;
1085 [case(1511)] srvsvc_NetSrvInfo1511 *info1511;
1086 [case(1512)] srvsvc_NetSrvInfo1512 *info1512;
1087 [case(1513)] srvsvc_NetSrvInfo1513 *info1513;
1088 [case(1514)] srvsvc_NetSrvInfo1514 *info1514;
1089 [case(1515)] srvsvc_NetSrvInfo1515 *info1515;
1090 [case(1516)] srvsvc_NetSrvInfo1516 *info1516;
1091 [case(1518)] srvsvc_NetSrvInfo1518 *info1518;
1092 [case(1520)] srvsvc_NetSrvInfo1520 *info1520;
1093 [case(1521)] srvsvc_NetSrvInfo1521 *info1521;
1094 [case(1522)] srvsvc_NetSrvInfo1522 *info1522;
1095 [case(1523)] srvsvc_NetSrvInfo1523 *info1523;
1096 [case(1524)] srvsvc_NetSrvInfo1524 *info1524;
1097 [case(1525)] srvsvc_NetSrvInfo1525 *info1525;
1098 [case(1528)] srvsvc_NetSrvInfo1528 *info1528;
1099 [case(1529)] srvsvc_NetSrvInfo1529 *info1529;
1100 [case(1530)] srvsvc_NetSrvInfo1530 *info1530;
1101 [case(1533)] srvsvc_NetSrvInfo1533 *info1533;
1102 [case(1534)] srvsvc_NetSrvInfo1534 *info1534;
1103 [case(1535)] srvsvc_NetSrvInfo1535 *info1535;
1104 [case(1536)] srvsvc_NetSrvInfo1536 *info1536;
1105 [case(1537)] srvsvc_NetSrvInfo1537 *info1537;
1106 [case(1538)] srvsvc_NetSrvInfo1538 *info1538;
1107 [case(1539)] srvsvc_NetSrvInfo1539 *info1539;
1108 [case(1540)] srvsvc_NetSrvInfo1540 *info1540;
1109 [case(1541)] srvsvc_NetSrvInfo1541 *info1541;
1110 [case(1542)] srvsvc_NetSrvInfo1542 *info1542;
1111 [case(1543)] srvsvc_NetSrvInfo1543 *info1543;
1112 [case(1544)] srvsvc_NetSrvInfo1544 *info1544;
1113 [case(1545)] srvsvc_NetSrvInfo1545 *info1545;
1114 [case(1546)] srvsvc_NetSrvInfo1546 *info1546;
1115 [case(1547)] srvsvc_NetSrvInfo1547 *info1547;
1116 [case(1548)] srvsvc_NetSrvInfo1548 *info1548;
1117 [case(1549)] srvsvc_NetSrvInfo1549 *info1549;
1118 [case(1550)] srvsvc_NetSrvInfo1550 *info1550;
1119 [case(1552)] srvsvc_NetSrvInfo1552 *info1552;
1120 [case(1553)] srvsvc_NetSrvInfo1553 *info1553;
1121 [case(1554)] srvsvc_NetSrvInfo1554 *info1554;
1122 [case(1555)] srvsvc_NetSrvInfo1555 *info1555;
1123 [case(1556)] srvsvc_NetSrvInfo1556 *info1556;
1125 } srvsvc_NetSrvInfo;
1127 /******************/
1128 /* Function: 0x15 */
1129 WERROR srvsvc_NetSrvGetInfo(
1130 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1132 [out,ref,switch_is(level)] srvsvc_NetSrvInfo *info
1135 /******************/
1136 /* Function: 0x16 */
1137 WERROR srvsvc_NetSrvSetInfo(
1138 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1140 [in,ref,switch_is(level)] srvsvc_NetSrvInfo *info,
1141 [in,out,unique] uint32 *parm_error
1144 /**************************/
1145 /* srvsvc_NetDisk */
1146 /**************************/
1148 [flag(STR_LEN4)] string disk;
1149 } srvsvc_NetDiskInfo0;
1153 [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks;
1154 } srvsvc_NetDiskInfo;
1156 /******************/
1157 /* Function: 0x17 */
1158 WERROR srvsvc_NetDiskEnum(
1159 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1161 [in,out,ref] srvsvc_NetDiskInfo *info,
1163 [out,ref] uint32 *totalentries,
1164 [in,out,unique] uint32 *resume_handle
1167 /**************************/
1168 /* srvsvc_NetStatistics */
1169 /**************************/
1181 uint32 bytessent_low;
1182 uint32 bytessent_high;
1183 uint32 bytesrcvd_low;
1184 uint32 bytesrcvd_high;
1188 } srvsvc_Statistics;
1190 /******************/
1191 /* Function: 0x18 */
1192 WERROR srvsvc_NetServerStatisticsGet(
1193 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1194 [in,unique] [string,charset(UTF16)] uint16 *service,
1196 [in] uint32 options,
1197 [out,ref] srvsvc_Statistics *stats
1200 /**************************/
1201 /* srvsvc_NetTransport */
1202 /**************************/
1205 [string,charset(UTF16)] uint16 *name;
1206 [size_is(addr_len)] uint8 *addr;
1208 [string,charset(UTF16)] uint16 *net_addr;
1209 } srvsvc_NetTransportInfo0;
1211 /******************/
1212 /* Function: 0x19 */
1213 WERROR srvsvc_NetTransportAdd(
1214 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1216 [in,switch_is(level)] srvsvc_NetTransportInfo info
1221 [size_is(count)] srvsvc_NetTransportInfo0 *array;
1222 } srvsvc_NetTransportCtr0;
1226 [string,charset(UTF16)] uint16 *name;
1227 [size_is(addr_len)] uint8 *addr;
1229 [string,charset(UTF16)] uint16 *net_addr;
1230 [string,charset(UTF16)] uint16 *domain;
1231 } srvsvc_NetTransportInfo1;
1235 [size_is(count)] srvsvc_NetTransportInfo1 *array;
1236 } srvsvc_NetTransportCtr1;
1240 [string,charset(UTF16)] uint16 *name;
1241 [size_is(addr_len)] uint8 *addr;
1243 [string,charset(UTF16)] uint16 *net_addr;
1244 [string,charset(UTF16)] uint16 *domain;
1246 } srvsvc_NetTransportInfo2;
1250 [size_is(count)] srvsvc_NetTransportInfo2 *array;
1251 } srvsvc_NetTransportCtr2;
1255 [string,charset(UTF16)] uint16 *name;
1256 [size_is(addr_len)] uint8 *addr;
1258 [string,charset(UTF16)] uint16 *net_addr;
1259 [string,charset(UTF16)] uint16 *domain;
1262 uint8 unknown3[256];
1263 } srvsvc_NetTransportInfo3;
1267 [size_is(count)] srvsvc_NetTransportInfo3 *array;
1268 } srvsvc_NetTransportCtr3;
1271 [case(0)] srvsvc_NetTransportCtr0 *ctr0;
1272 [case(1)] srvsvc_NetTransportCtr1 *ctr1;
1273 [case(2)] srvsvc_NetTransportCtr2 *ctr2;
1274 [case(3)] srvsvc_NetTransportCtr3 *ctr3;
1276 } srvsvc_NetTransportCtr;
1278 /******************/
1279 /* Function: 0x1a */
1280 WERROR srvsvc_NetTransportEnum(
1281 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1282 [in,out,ref] uint32 *level,
1283 [in,out,ref,switch_is(*level)] srvsvc_NetTransportCtr *transports,
1284 [in] uint32 max_buffer,
1285 [out,ref] uint32 *totalentries,
1286 [in,out,unique] uint32 *resume_handle
1289 /******************/
1290 /* Function: 0x1b */
1291 WERROR srvsvc_NetTransportDel(
1292 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1293 [in] uint32 unknown,
1294 [in] srvsvc_NetTransportInfo0 transport
1297 /**************************/
1298 /* srvsvc_NetRemoteTOD */
1299 /**************************/
1301 uint32 elapsed; /* time(NULL) */
1302 uint32 msecs; /* milliseconds till system reboot (uptime) */
1307 int32 timezone; /* in minutes */
1308 uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
1313 } srvsvc_NetRemoteTODInfo;
1315 /******************/
1316 /* Function: 0x1c */
1317 WERROR srvsvc_NetRemoteTOD(
1318 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1319 [out,ref] srvsvc_NetRemoteTODInfo **info
1322 /**************************/
1323 /* srvsvc_NetServiceBits */
1324 /**************************/
1325 /******************/
1326 /* Function: 0x1d */
1327 WERROR srvsvc_NetSetServiceBits(
1328 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1329 [in,unique] [string,charset(UTF16)] uint16 *transport,
1330 [in] uint32 servicebits,
1331 [in] uint32 updateimmediately
1334 /**************************/
1335 /* srvsvc_NetPath */
1336 /**************************/
1337 /******************/
1338 /* Function: 0x1e */
1339 WERROR srvsvc_NetPathType(
1340 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1341 [in] [string,charset(UTF16)] uint16 path[],
1342 [in] uint32 pathflags,
1343 [out,ref] uint32 *pathtype
1346 /******************/
1347 /* Function: 0x1f */
1348 WERROR srvsvc_NetPathCanonicalize(
1349 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1350 [in] [string,charset(UTF16)] uint16 path[],
1351 [out] [size_is(maxbuf)] uint8 can_path[],
1353 [in] [string,charset(UTF16)] uint16 prefix[],
1354 [in,out,ref] uint32 *pathtype,
1355 [in] uint32 pathflags
1358 /******************/
1359 /* Function: 0x20 */
1360 WERROR srvsvc_NetPathCompare(
1361 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1362 [in] [string,charset(UTF16)] uint16 path1[],
1363 [in] [string,charset(UTF16)] uint16 path2[],
1364 [in] uint32 pathtype,
1365 [in] uint32 pathflags
1368 /**************************/
1369 /* srvsvc_NetName */
1370 /**************************/
1371 /******************/
1372 /* Function: 0x21 */
1373 WERROR srvsvc_NetNameValidate(
1374 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1375 [in] [string,charset(UTF16)] uint16 name[],
1376 [in] uint32 name_type,
1380 /******************/
1381 /* Function: 0x22 */
1382 WERROR srvsvc_NETRPRNAMECANONICALIZE(
1385 /******************/
1386 /* Function: 0x23 */
1387 WERROR srvsvc_NetPRNameCompare(
1388 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1389 [in] [string,charset(UTF16)] uint16 name1[],
1390 [in] [string,charset(UTF16)] uint16 name2[],
1391 [in] uint32 name_type,
1395 /**************************/
1396 /* srvsvc_NetShare ... */
1397 /**************************/
1398 /******************/
1399 /* Function: 0x24 */
1400 /* Note, there must be some way to return entries read vs
1401 total entries ... */
1402 WERROR srvsvc_NetShareEnum(
1403 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1404 [in,out,ref] srvsvc_NetShareInfoCtr *info_ctr,
1405 [in] uint32 max_buffer,
1406 [out,ref] uint32 *totalentries,
1407 [in,out,unique] uint32 *resume_handle
1410 /******************/
1411 /* Function: 0x25 */
1412 WERROR srvsvc_NetShareDelStart(
1413 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1414 [in] [string,charset(UTF16)] uint16 share[],
1415 [in] uint32 reserved,
1416 [out,unique] policy_handle *hnd
1419 /******************/
1420 /* Function: 0x26 */
1421 WERROR srvsvc_NetShareDelCommit(
1422 [in, out,unique] policy_handle *hnd
1425 /******************/
1426 /* Function: 0x27 */
1427 WERROR srvsvc_NetGetFileSecurity(
1428 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1429 [in,unique] [string,charset(UTF16)] uint16 *share,
1430 [in] [string,charset(UTF16)] uint16 file[],
1431 [in] security_secinfo securityinformation,
1432 [out,ref] sec_desc_buf **sd_buf
1435 /******************/
1436 /* Function: 0x28 */
1437 WERROR srvsvc_NetSetFileSecurity(
1438 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1439 [in,unique] [string,charset(UTF16)] uint16 *share,
1440 [in] [string,charset(UTF16)] uint16 file[],
1441 [in] security_secinfo securityinformation,
1442 [in,ref] sec_desc_buf *sd_buf
1447 typedef [switch_type(uint32)] union {
1448 [case(0)] srvsvc_NetTransportInfo0 info0;
1449 [case(1)] srvsvc_NetTransportInfo1 info1;
1450 [case(2)] srvsvc_NetTransportInfo2 info2;
1451 [case(3)] srvsvc_NetTransportInfo3 info3;
1452 } srvsvc_NetTransportInfo;
1454 /******************/
1455 /* Function: 0x29 */
1456 WERROR srvsvc_NetServerTransportAddEx(
1457 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1459 [in,switch_is(level)] srvsvc_NetTransportInfo info
1462 /******************/
1463 /* Function: 0x2a */
1464 WERROR srvsvc_NetServerSetServiceBitsEx(
1465 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1466 [in,unique] [string,charset(UTF16)] uint16 *emulated_server_unc,
1467 [in,unique] [string,charset(UTF16)] uint16 *transport,
1468 [in] uint32 servicebitsofinterest,
1469 [in] uint32 servicebits,
1470 [in] uint32 updateimmediately
1473 /******************/
1474 /* Function: 0x2b */
1475 WERROR srvsvc_NETRDFSGETVERSION(
1478 /******************/
1479 /* Function: 0x2c */
1480 WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
1483 /******************/
1484 /* Function: 0x2d */
1485 WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
1488 /******************/
1489 /* Function: 0x2e */
1490 WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
1493 /******************/
1494 /* Function: 0x2f */
1495 WERROR srvsvc_NETRDFSSETSERVERINFO(
1498 /******************/
1499 /* Function: 0x30 */
1500 WERROR srvsvc_NETRDFSCREATEEXITPOINT(
1503 /******************/
1504 /* Function: 0x31 */
1505 WERROR srvsvc_NETRDFSDELETEEXITPOINT(
1508 /******************/
1509 /* Function: 0x32 */
1510 WERROR srvsvc_NETRDFSMODIFYPREFIX(
1513 /******************/
1514 /* Function: 0x33 */
1515 WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
1518 /******************/
1519 /* Function: 0x34 */
1520 WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
1523 /******************/
1524 /* Function: 0x35 */
1525 WERROR srvsvc_NETRSERVERTRANSPORTDELEX(