4 srvsvc interface definitions
6 import "security.idl", "svcctl.idl";
8 [ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
10 endpoint("ncacn_np:[\\pipe\\srvsvc]", "ncacn_ip_tcp:", "ncalrpc:"),
11 pointer_default(unique),
12 helpstring("Server Service")
15 typedef bitmap svcctl_ServerType svcctl_ServerType;
16 typedef bitmap security_secinfo security_secinfo;
18 /**************************/
19 /* srvsvc_NetCharDev */
20 /**************************/
22 [string,charset(UTF16)] uint16 *device;
23 } srvsvc_NetCharDevInfo0;
27 [size_is(count)] srvsvc_NetCharDevInfo0 *array;
28 } srvsvc_NetCharDevCtr0;
31 [string,charset(UTF16)] uint16 *device;
33 [string,charset(UTF16)] uint16 *user;
35 } srvsvc_NetCharDevInfo1;
39 [size_is(count)] srvsvc_NetCharDevInfo1 *array;
40 } srvsvc_NetCharDevCtr1;
43 [case(0)] srvsvc_NetCharDevInfo0 *info0;
44 [case(1)] srvsvc_NetCharDevInfo1 *info1;
46 } srvsvc_NetCharDevInfo;
49 [case(0)] srvsvc_NetCharDevCtr0 *ctr0;
50 [case(1)] srvsvc_NetCharDevCtr1 *ctr1;
52 } srvsvc_NetCharDevCtr;
56 WERROR srvsvc_NetCharDevEnum(
57 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
58 [in,out] uint32 level,
59 [in,out,switch_is(level)] srvsvc_NetCharDevCtr ctr,
60 [in] uint32 max_buffer,
61 [out] uint32 totalentries,
62 [in,out,unique] uint32 *resume_handle
67 WERROR srvsvc_NetCharDevGetInfo(
68 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
69 [in] [string,charset(UTF16)] uint16 device_name[],
71 [out,switch_is(level)] srvsvc_NetCharDevInfo info
76 WERROR srvsvc_NetCharDevControl(
77 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
78 [in] [string,charset(UTF16)] uint16 device_name[],
82 /**************************/
83 /* srvsvc_NetCharDevQ */
84 /**************************/
86 [string,charset(UTF16)] uint16 *device;
87 } srvsvc_NetCharDevQInfo0;
91 [size_is(count)] srvsvc_NetCharDevQInfo0 *array;
92 } srvsvc_NetCharDevQCtr0;
95 [string,charset(UTF16)] uint16 *device;
97 [string,charset(UTF16)] uint16 *devices;
100 } srvsvc_NetCharDevQInfo1;
104 [size_is(count)] srvsvc_NetCharDevQInfo1 *array;
105 } srvsvc_NetCharDevQCtr1;
108 [case(0)] srvsvc_NetCharDevQInfo0 *info0;
109 [case(1)] srvsvc_NetCharDevQInfo1 *info1;
111 } srvsvc_NetCharDevQInfo;
114 [case(0)] srvsvc_NetCharDevQCtr0 *ctr0;
115 [case(1)] srvsvc_NetCharDevQCtr1 *ctr1;
117 } srvsvc_NetCharDevQCtr;
121 WERROR srvsvc_NetCharDevQEnum(
122 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
123 [in,unique] [string,charset(UTF16)] uint16 *user,
124 [in,out] uint32 level,
125 [in,out,switch_is(level)] srvsvc_NetCharDevQCtr ctr,
126 [in] uint32 max_buffer,
127 [out] uint32 totalentries,
128 [in,out,unique] uint32 *resume_handle
133 WERROR srvsvc_NetCharDevQGetInfo(
134 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
135 [in] [string,charset(UTF16)] uint16 queue_name[],
136 [in] [string,charset(UTF16)] uint16 user[],
138 [out,switch_is(level)] srvsvc_NetCharDevQInfo info
143 WERROR srvsvc_NetCharDevQSetInfo(
144 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
145 [in] [string,charset(UTF16)] uint16 queue_name[],
147 [in,switch_is(level)] srvsvc_NetCharDevQInfo info,
148 [in,out,unique] uint32 *parm_error
153 WERROR srvsvc_NetCharDevQPurge(
154 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
155 [in] [string,charset(UTF16)] uint16 queue_name[]
160 WERROR srvsvc_NetCharDevQPurgeSelf(
161 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
162 [in] [string,charset(UTF16)] uint16 queue_name[],
163 [in] [string,charset(UTF16)] uint16 computer_name[]
166 /**************************/
168 /**************************/
171 } srvsvc_NetConnInfo0;
175 [size_is(count)] srvsvc_NetConnInfo0 *array;
176 } srvsvc_NetConnCtr0;
184 [string,charset(UTF16)] uint16 *user;
185 [string,charset(UTF16)] uint16 *share;
186 } srvsvc_NetConnInfo1;
190 [size_is(count)] srvsvc_NetConnInfo1 *array;
191 } srvsvc_NetConnCtr1;
194 [case(0)] srvsvc_NetConnCtr0 *ctr0;
195 [case(1)] srvsvc_NetConnCtr1 *ctr1;
201 [switch_is(level)] srvsvc_NetConnCtr ctr;
202 } srvsvc_NetConnInfoCtr;
206 WERROR srvsvc_NetConnEnum(
207 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
208 [in,unique] [string,charset(UTF16)] uint16 *path,
209 [in,out] uint32 level,
210 [in,out,switch_is(level)] srvsvc_NetConnCtr ctr,
211 [in] uint32 max_buffer,
212 [out] 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] uint32 level,
265 [in,out,switch_is(level)] srvsvc_NetFileCtr ctr,
266 [in] uint32 max_buffer,
267 [out] uint32 totalentries,
268 [in,out,unique] uint32 *resume_handle
273 WERROR srvsvc_NetFileGetInfo(
274 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
277 [out,switch_is(level)] srvsvc_NetFileInfo info
282 WERROR srvsvc_NetFileClose(
283 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
287 /**************************/
289 /**************************/
291 [string,charset(UTF16)] uint16 *client;
292 } srvsvc_NetSessInfo0;
296 [size_is(count)] srvsvc_NetSessInfo0 *array;
297 } srvsvc_NetSessCtr0;
300 [string,charset(UTF16)] uint16 *client;
301 [string,charset(UTF16)] uint16 *user;
306 } srvsvc_NetSessInfo1;
310 [size_is(count)] srvsvc_NetSessInfo1 *array;
311 } srvsvc_NetSessCtr1;
314 [string,charset(UTF16)] uint16 *client;
315 [string,charset(UTF16)] uint16 *user;
320 [string,charset(UTF16)] uint16 *client_type;
321 } srvsvc_NetSessInfo2;
325 [size_is(count)] srvsvc_NetSessInfo2 *array;
326 } srvsvc_NetSessCtr2;
329 [string,charset(UTF16)] uint16 *client;
330 [string,charset(UTF16)] uint16 *user;
333 } srvsvc_NetSessInfo10;
337 [size_is(count)] srvsvc_NetSessInfo10 *array;
338 } srvsvc_NetSessCtr10;
341 [string,charset(UTF16)] uint16 *client;
342 [string,charset(UTF16)] uint16 *user;
347 [string,charset(UTF16)] uint16 *client_type;
348 [string,charset(UTF16)] uint16 *transport;
349 } srvsvc_NetSessInfo502;
353 [size_is(count)] srvsvc_NetSessInfo502 *array;
354 } srvsvc_NetSessCtr502;
357 [case(0)] srvsvc_NetSessCtr0 *ctr0;
358 [case(1)] srvsvc_NetSessCtr1 *ctr1;
359 [case(2)] srvsvc_NetSessCtr2 *ctr2;
360 [case(10)] srvsvc_NetSessCtr10 *ctr10;
361 [case(502)] srvsvc_NetSessCtr502 *ctr502;
370 [switch_is(level)] srvsvc_NetSessCtr ctr;
371 } srvsvc_NetSessInfoCtr;
373 WERROR srvsvc_NetSessEnum(
374 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
375 [in,unique] [string,charset(UTF16)] uint16 *client,
376 [in,unique] [string,charset(UTF16)] uint16 *user,
377 [in,out] uint32 level,
378 [in,out,switch_is(level)] srvsvc_NetSessCtr ctr,
379 [in] uint32 max_buffer,
380 [out] uint32 totalentries,
381 [in,out,unique] uint32 *resume_handle
386 WERROR srvsvc_NetSessDel(
387 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
388 [in,unique] [string,charset(UTF16)] uint16 *client,
389 [in,unique] [string,charset(UTF16)] uint16 *user
392 /**************************/
393 /* srvsvc_NetShare */
394 /**************************/
397 const uint32 STYPE_TEMPORARY = 0x40000000; /* share is a temporary one */
398 const uint32 STYPE_HIDDEN = 0x80000000; /* share is a hidden one */
400 typedef [v1_enum, flag(NDR_PAHEX)] enum {
402 STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
403 STYPE_DISKTREE_HIDDEN = STYPE_DISKTREE|STYPE_HIDDEN,
405 STYPE_PRINTQ_TEMPORARY = STYPE_PRINTQ|STYPE_TEMPORARY,
406 STYPE_PRINTQ_HIDDEN = STYPE_PRINTQ|STYPE_HIDDEN,
407 STYPE_DEVICE = 2, /* Serial device */
408 STYPE_DEVICE_TEMPORARY = STYPE_DEVICE|STYPE_TEMPORARY,
409 STYPE_DEVICE_HIDDEN = STYPE_DEVICE|STYPE_HIDDEN,
410 STYPE_IPC = 3, /* Interprocess communication (IPC) */
411 STYPE_IPC_TEMPORARY = STYPE_IPC|STYPE_TEMPORARY,
412 STYPE_IPC_HIDDEN = STYPE_IPC|STYPE_HIDDEN
416 [string,charset(UTF16)] uint16 *name;
417 } srvsvc_NetShareInfo0;
421 [size_is(count)] srvsvc_NetShareInfo0 *array;
422 } srvsvc_NetShareCtr0;
425 [string,charset(UTF16)] uint16 *name;
426 srvsvc_ShareType type;
427 [string,charset(UTF16)] uint16 *comment;
428 } srvsvc_NetShareInfo1;
432 [size_is(count)] srvsvc_NetShareInfo1 *array;
433 } srvsvc_NetShareCtr1;
436 [string,charset(UTF16)] uint16 *name;
437 srvsvc_ShareType type;
438 [string,charset(UTF16)] uint16 *comment;
441 uint32 current_users;
442 [string,charset(UTF16)] uint16 *path;
443 [string,charset(UTF16)] uint16 *password;
444 } srvsvc_NetShareInfo2;
448 [size_is(count)] srvsvc_NetShareInfo2 *array;
449 } srvsvc_NetShareCtr2;
452 [string,charset(UTF16)] uint16 *name;
453 srvsvc_ShareType type;
454 [string,charset(UTF16)] uint16 *comment;
456 } srvsvc_NetShareInfo501;
460 [size_is(count)] srvsvc_NetShareInfo501 *array;
461 } srvsvc_NetShareCtr501;
464 [string,charset(UTF16)] uint16 *name;
465 srvsvc_ShareType type;
466 [string,charset(UTF16)] uint16 *comment;
469 uint32 current_users;
470 [string,charset(UTF16)] uint16 *path;
471 [string,charset(UTF16)] uint16 *password;
472 /* maybe here is a struct sec_desc_buf following */
474 [subcontext(4)] security_descriptor *sd;
475 } srvsvc_NetShareInfo502;
479 [size_is(count)] srvsvc_NetShareInfo502 *array;
480 } srvsvc_NetShareCtr502;
483 [string,charset(UTF16)] uint16 *comment;
484 } srvsvc_NetShareInfo1004;
488 [size_is(count)] srvsvc_NetShareInfo1004 *array;
489 } srvsvc_NetShareCtr1004;
492 SHARE_1005_IN_DFS = 0x00000001,
493 SHARE_1005_DFS_ROOT = 0x00000002
494 } NetShareInfo1005Flags;
496 const uint32 SHARE_1005_CSC_POLICY_MASK = 0x00000030;
497 const uint32 SHARE_1005_CSC_POLICY_SHIFT = 4;
500 NetShareInfo1005Flags dfs_flags;
501 } srvsvc_NetShareInfo1005;
505 [size_is(count)] srvsvc_NetShareInfo1005 *array;
506 } srvsvc_NetShareCtr1005;
510 } srvsvc_NetShareInfo1006;
514 [size_is(count)] srvsvc_NetShareInfo1006 *array;
515 } srvsvc_NetShareCtr1006;
519 [string,charset(UTF16)] uint16 *alternate_directory_name;
520 } srvsvc_NetShareInfo1007;
524 [size_is(count)] srvsvc_NetShareInfo1007 *array;
525 } srvsvc_NetShareCtr1007;
529 [size_is(count)] sec_desc_buf *array;
530 } srvsvc_NetShareCtr1501;
533 [case(0)] srvsvc_NetShareInfo0 *info0;
534 [case(1)] srvsvc_NetShareInfo1 *info1;
535 [case(2)] srvsvc_NetShareInfo2 *info2;
536 [case(501)] srvsvc_NetShareInfo501 *info501;
537 [case(502)] srvsvc_NetShareInfo502 *info502;
538 [case(1004)] srvsvc_NetShareInfo1004 *info1004;
539 [case(1005)] srvsvc_NetShareInfo1005 *info1005;
540 [case(1006)] srvsvc_NetShareInfo1006 *info1006;
541 [case(1007)] srvsvc_NetShareInfo1007 *info1007;
542 [case(1501)] sec_desc_buf *info1501;
544 } srvsvc_NetShareInfo;
547 [case(0)] srvsvc_NetShareCtr0 *ctr0;
548 [case(1)] srvsvc_NetShareCtr1 *ctr1;
549 [case(2)] srvsvc_NetShareCtr2 *ctr2;
550 [case(501)] srvsvc_NetShareCtr501 *ctr501;
551 [case(502)] srvsvc_NetShareCtr502 *ctr502;
552 [case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
553 [case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
554 [case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
555 [case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
556 [case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
558 } srvsvc_NetShareCtr;
562 [switch_is(level)] srvsvc_NetShareCtr ctr;
563 } srvsvc_NetShareInfoCtr;
567 WERROR srvsvc_NetShareAdd(
568 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
570 [in,switch_is(level)] srvsvc_NetShareInfo info,
571 [in,out,unique] uint32 *parm_error
576 WERROR srvsvc_NetShareEnumAll (
577 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
578 [in,out] uint32 level,
579 [in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
580 [in] uint32 max_buffer,
581 [out] uint32 totalentries,
582 [in,out,unique] uint32 *resume_handle
587 WERROR srvsvc_NetShareGetInfo(
588 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
589 [in] [string,charset(UTF16)] uint16 share_name[],
591 [out,switch_is(level)] srvsvc_NetShareInfo info
596 WERROR srvsvc_NetShareSetInfo(
597 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
598 [in] [string,charset(UTF16)] uint16 share_name[],
600 [in,switch_is(level)] srvsvc_NetShareInfo info,
601 [in,out,unique] uint32 *parm_error
606 WERROR srvsvc_NetShareDel(
607 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
608 [in] [string,charset(UTF16)] uint16 share_name[],
614 WERROR srvsvc_NetShareDelSticky(
615 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
616 [in] [string,charset(UTF16)] uint16 share_name[],
622 WERROR srvsvc_NetShareCheck(
623 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
624 [in] [string,charset(UTF16)] uint16 device_name[],
625 [out] srvsvc_ShareType type
628 /**************************/
630 /**************************/
631 typedef [public,v1_enum] enum {
632 PLATFORM_ID_DOS = 300,
633 PLATFORM_ID_OS2 = 400,
634 PLATFORM_ID_NT = 500,
635 PLATFORM_ID_OSF = 600,
636 PLATFORM_ID_VMS = 700
640 srvsvc_PlatformId platform_id;
641 [string,charset(UTF16)] uint16 *server_name;
642 } srvsvc_NetSrvInfo100;
645 srvsvc_PlatformId platform_id;
646 [string,charset(UTF16)] uint16 *server_name;
647 uint32 version_major;
648 uint32 version_minor;
649 svcctl_ServerType server_type;
650 [string,charset(UTF16)] uint16 *comment;
651 } srvsvc_NetSrvInfo101;
654 srvsvc_PlatformId platform_id;
655 [string,charset(UTF16)] uint16 *server_name;
656 uint32 version_major;
657 uint32 version_minor;
658 svcctl_ServerType server_type;
659 [string,charset(UTF16)] uint16 *comment;
666 [string,charset(UTF16)] uint16 *userpath;
667 } srvsvc_NetSrvInfo102;
673 [string,charset(UTF16)] uint16 *alerts;
677 [string,charset(UTF16)] uint16 *guestaccount;
699 [string,charset(UTF16)] uint16 *srvheuristics;
700 } srvsvc_NetSrvInfo402;
706 [string,charset(UTF16)] uint16 *alerts;
710 [string,charset(UTF16)] uint16 *guestaccount;
732 [string,charset(UTF16)] uint16 *srvheuristics;
733 uint32 auditedevents;
735 [string,charset(UTF16)] uint16 *autopath;
736 } srvsvc_NetSrvInfo403;
743 uint32 initworkitems;
750 uint32 maxpagedmemoryusage;
751 uint32 maxnonpagedmemoryusage;
752 uint32 enablesoftcompat;
753 uint32 enableforcedlogoff;
755 uint32 acceptdownlevelapis;
757 } srvsvc_NetSrvInfo502;
764 uint32 initworkitems;
771 uint32 maxpagedmemoryusage;
772 uint32 maxnonpagedmemoryusage;
773 uint32 enablesoftcompat;
774 uint32 enableforcedlogoff;
776 uint32 acceptdownlevelapis;
778 [string,charset(UTF16)] uint16 *domain;
779 uint32 maxcopyreadlen;
780 uint32 maxcopywritelen;
781 uint32 minkeepsearch;
782 uint32 maxkeepsearch;
783 uint32 minkeepcomplsearch;
784 uint32 maxkeepcomplsearch;
785 uint32 threadcountadd;
786 uint32 numlockthreads;
789 uint32 minfreeworkitems;
791 uint32 threadpriority;
793 uint32 oplockbreakwait;
794 uint32 oplockbreakresponsewait;
795 uint32 enableoplocks;
796 uint32 enableoplockforceclose;
797 uint32 enablefcbopens;
799 uint32 enablesharednetdrives;
800 uint32 minfreeconnections;
801 uint32 maxfreeconnections;
802 } srvsvc_NetSrvInfo503;
809 uint32 initworkitems;
816 uint32 maxpagedmemoryusage;
817 uint32 maxnonpagedmemoryusage;
818 uint32 enablesoftcompat;
819 uint32 enableforcedlogoff;
821 uint32 acceptdownlevelapis;
823 [string,charset(UTF16)] uint16 *domain;
824 uint32 maxcopyreadlen;
825 uint32 maxcopywritelen;
826 uint32 minkeepsearch;
827 uint32 minkeepcomplsearch;
828 uint32 maxkeepcomplsearch;
829 uint32 threadcountadd;
830 uint32 numlockthreads;
833 uint32 minfreeworkitems;
835 uint32 threadpriority;
837 uint32 oplockbreakwait;
838 uint32 oplockbreakresponsewait;
839 uint32 enableoplocks;
840 uint32 enableoplockforceclose;
841 uint32 enablefcbopens;
843 uint32 enablesharednetdrives;
844 uint32 minfreeconnections;
845 uint32 maxfreeconnections;
846 uint32 initsesstable;
847 uint32 initconntable;
848 uint32 initfiletable;
849 uint32 initsearchtable;
851 uint32 errortreshold;
852 uint32 networkerrortreshold;
853 uint32 diskspacetreshold;
856 uint32 minlinkthroughput;
857 uint32 linkinfovalidtime;
858 uint32 scavqosinfoupdatetime;
859 uint32 maxworkitemidletime;
860 } srvsvc_NetSrvInfo599;
863 [string,charset(UTF16)] uint16 *comment;
864 } srvsvc_NetSrvInfo1005;
868 } srvsvc_NetSrvInfo1010;
872 } srvsvc_NetSrvInfo1016;
876 } srvsvc_NetSrvInfo1017;
880 } srvsvc_NetSrvInfo1018;
884 } srvsvc_NetSrvInfo1107;
888 } srvsvc_NetSrvInfo1501;
892 } srvsvc_NetSrvInfo1502;
896 } srvsvc_NetSrvInfo1503;
900 } srvsvc_NetSrvInfo1506;
904 } srvsvc_NetSrvInfo1509;
908 } srvsvc_NetSrvInfo1510;
912 } srvsvc_NetSrvInfo1511;
915 uint32 maxnonpagedmemoryusage;
916 } srvsvc_NetSrvInfo1512;
919 uint32 maxpagedmemoryusage;
920 } srvsvc_NetSrvInfo1513;
923 uint32 enablesoftcompat;
924 } srvsvc_NetSrvInfo1514;
927 uint32 enableforcedlogoff;
928 } srvsvc_NetSrvInfo1515;
932 } srvsvc_NetSrvInfo1516;
936 } srvsvc_NetSrvInfo1518;
939 uint32 maxcopyreadlen;
940 } srvsvc_NetSrvInfo1520;
943 uint32 maxcopywritelen;
944 } srvsvc_NetSrvInfo1521;
947 uint32 minkeepsearch;
948 } srvsvc_NetSrvInfo1522;
951 uint32 maxkeepsearch;
952 } srvsvc_NetSrvInfo1523;
955 uint32 minkeepcomplsearch;
956 } srvsvc_NetSrvInfo1524;
959 uint32 maxkeepcomplsearch;
960 } srvsvc_NetSrvInfo1525;
964 } srvsvc_NetSrvInfo1528;
968 } srvsvc_NetSrvInfo1529;
971 uint32 minfreeworkitems;
972 } srvsvc_NetSrvInfo1530;
976 } srvsvc_NetSrvInfo1533;
979 uint32 oplockbreakwait;
980 } srvsvc_NetSrvInfo1534;
983 uint32 oplockbreakresponsewait;
984 } srvsvc_NetSrvInfo1535;
987 uint32 enableoplocks;
988 } srvsvc_NetSrvInfo1536;
991 uint32 enableoplockforceclose;
992 } srvsvc_NetSrvInfo1537;
995 uint32 enablefcbopens;
996 } srvsvc_NetSrvInfo1538;
1000 } srvsvc_NetSrvInfo1539;
1003 uint32 enablesharednetdrives;
1004 } srvsvc_NetSrvInfo1540;
1007 uint32 minfreeconnections;
1008 } srvsvc_NetSrvInfo1541;
1011 uint32 maxfreeconnections;
1012 } srvsvc_NetSrvInfo1542;
1015 uint32 initsesstable;
1016 } srvsvc_NetSrvInfo1543;
1019 uint32 initconntable;
1020 } srvsvc_NetSrvInfo1544;
1023 uint32 initfiletable;
1024 } srvsvc_NetSrvInfo1545;
1027 uint32 initsearchtable;
1028 } srvsvc_NetSrvInfo1546;
1032 } srvsvc_NetSrvInfo1547;
1035 uint32 errortreshold;
1036 } srvsvc_NetSrvInfo1548;
1039 uint32 networkerrortreshold;
1040 } srvsvc_NetSrvInfo1549;
1043 uint32 diskspacetreshold;
1044 } srvsvc_NetSrvInfo1550;
1047 uint32 maxlinkdelay;
1048 } srvsvc_NetSrvInfo1552;
1051 uint32 minlinkthroughput;
1052 } srvsvc_NetSrvInfo1553;
1055 uint32 linkinfovalidtime;
1056 } srvsvc_NetSrvInfo1554;
1059 uint32 scavqosinfoupdatetime;
1060 } srvsvc_NetSrvInfo1555;
1063 uint32 maxworkitemidletime;
1064 } srvsvc_NetSrvInfo1556;
1068 [case(100)] srvsvc_NetSrvInfo100 *info100;
1069 [case(101)] srvsvc_NetSrvInfo101 *info101;
1070 [case(102)] srvsvc_NetSrvInfo102 *info102;
1071 [case(402)] srvsvc_NetSrvInfo402 *info402;
1072 [case(403)] srvsvc_NetSrvInfo403 *info403;
1073 [case(502)] srvsvc_NetSrvInfo502 *info502;
1074 [case(503)] srvsvc_NetSrvInfo503 *info503;
1075 [case(599)] srvsvc_NetSrvInfo599 *info599;
1076 [case(1005)] srvsvc_NetSrvInfo1005 *info1005;
1077 [case(1010)] srvsvc_NetSrvInfo1010 *info1010;
1078 [case(1016)] srvsvc_NetSrvInfo1016 *info1016;
1079 [case(1017)] srvsvc_NetSrvInfo1017 *info1017;
1080 [case(1018)] srvsvc_NetSrvInfo1018 *info1018;
1081 [case(1107)] srvsvc_NetSrvInfo1107 *info1107;
1082 [case(1501)] srvsvc_NetSrvInfo1501 *info1501;
1083 [case(1502)] srvsvc_NetSrvInfo1502 *info1502;
1084 [case(1503)] srvsvc_NetSrvInfo1503 *info1503;
1085 [case(1506)] srvsvc_NetSrvInfo1506 *info1506;
1086 [case(1509)] srvsvc_NetSrvInfo1509 *info1509;
1087 [case(1510)] srvsvc_NetSrvInfo1510 *info1510;
1088 [case(1511)] srvsvc_NetSrvInfo1511 *info1511;
1089 [case(1512)] srvsvc_NetSrvInfo1512 *info1512;
1090 [case(1513)] srvsvc_NetSrvInfo1513 *info1513;
1091 [case(1514)] srvsvc_NetSrvInfo1514 *info1514;
1092 [case(1515)] srvsvc_NetSrvInfo1515 *info1515;
1093 [case(1516)] srvsvc_NetSrvInfo1516 *info1516;
1094 [case(1518)] srvsvc_NetSrvInfo1518 *info1518;
1095 [case(1520)] srvsvc_NetSrvInfo1520 *info1520;
1096 [case(1521)] srvsvc_NetSrvInfo1521 *info1521;
1097 [case(1522)] srvsvc_NetSrvInfo1522 *info1522;
1098 [case(1523)] srvsvc_NetSrvInfo1523 *info1523;
1099 [case(1524)] srvsvc_NetSrvInfo1524 *info1524;
1100 [case(1525)] srvsvc_NetSrvInfo1525 *info1525;
1101 [case(1528)] srvsvc_NetSrvInfo1528 *info1528;
1102 [case(1529)] srvsvc_NetSrvInfo1529 *info1529;
1103 [case(1530)] srvsvc_NetSrvInfo1530 *info1530;
1104 [case(1533)] srvsvc_NetSrvInfo1533 *info1533;
1105 [case(1534)] srvsvc_NetSrvInfo1534 *info1534;
1106 [case(1535)] srvsvc_NetSrvInfo1535 *info1535;
1107 [case(1536)] srvsvc_NetSrvInfo1536 *info1536;
1108 [case(1537)] srvsvc_NetSrvInfo1537 *info1537;
1109 [case(1538)] srvsvc_NetSrvInfo1538 *info1538;
1110 [case(1539)] srvsvc_NetSrvInfo1539 *info1539;
1111 [case(1540)] srvsvc_NetSrvInfo1540 *info1540;
1112 [case(1541)] srvsvc_NetSrvInfo1541 *info1541;
1113 [case(1542)] srvsvc_NetSrvInfo1542 *info1542;
1114 [case(1543)] srvsvc_NetSrvInfo1543 *info1543;
1115 [case(1544)] srvsvc_NetSrvInfo1544 *info1544;
1116 [case(1545)] srvsvc_NetSrvInfo1545 *info1545;
1117 [case(1546)] srvsvc_NetSrvInfo1546 *info1546;
1118 [case(1547)] srvsvc_NetSrvInfo1547 *info1547;
1119 [case(1548)] srvsvc_NetSrvInfo1548 *info1548;
1120 [case(1549)] srvsvc_NetSrvInfo1549 *info1549;
1121 [case(1550)] srvsvc_NetSrvInfo1550 *info1550;
1122 [case(1552)] srvsvc_NetSrvInfo1552 *info1552;
1123 [case(1553)] srvsvc_NetSrvInfo1553 *info1553;
1124 [case(1554)] srvsvc_NetSrvInfo1554 *info1554;
1125 [case(1555)] srvsvc_NetSrvInfo1555 *info1555;
1126 [case(1556)] srvsvc_NetSrvInfo1556 *info1556;
1128 } srvsvc_NetSrvInfo;
1130 /******************/
1131 /* Function: 0x15 */
1132 WERROR srvsvc_NetSrvGetInfo(
1133 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1135 [out,switch_is(level)] srvsvc_NetSrvInfo info
1138 /******************/
1139 /* Function: 0x16 */
1140 WERROR srvsvc_NetSrvSetInfo(
1141 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1143 [in,switch_is(level)] srvsvc_NetSrvInfo info,
1144 [in,out,unique] uint32 *parm_error
1147 /**************************/
1148 /* srvsvc_NetDisk */
1149 /**************************/
1152 * In theory this should be:
1153 * [charset(UTF16),string] uint16 annotation[3]
1154 * But midl treats this as:
1155 * [charset(UTF16),string] uint16 annotation[]
1156 * and pidl doesn't support this yet
1158 [value(0)] uint32 __disk_offset;
1159 [value(strlen(disk)+1)] uint32 __disk_length;
1160 [charset(UTF16)] uint16 disk[__disk_length];
1161 } srvsvc_NetDiskInfo0;
1165 [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks;
1166 } srvsvc_NetDiskInfo;
1168 /******************/
1169 /* Function: 0x17 */
1170 WERROR srvsvc_NetDiskEnum(
1171 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1173 [in,out] srvsvc_NetDiskInfo info,
1175 [out] uint32 totalentries,
1176 [in,out,unique] uint32 *resume_handle
1179 /**************************/
1180 /* srvsvc_NetStatistics */
1181 /**************************/
1193 uint32 bytessent_low;
1194 uint32 bytessent_high;
1195 uint32 bytesrcvd_low;
1196 uint32 bytesrcvd_high;
1200 } srvsvc_Statistics;
1202 /******************/
1203 /* Function: 0x18 */
1204 WERROR srvsvc_NetServerStatisticsGet(
1205 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1206 [in,unique] [string,charset(UTF16)] uint16 *service,
1208 [in] uint32 options,
1209 [out] srvsvc_Statistics stat
1212 /**************************/
1213 /* srvsvc_NetTransport */
1214 /**************************/
1217 [string,charset(UTF16)] uint16 *name;
1218 [size_is(addr_len)] uint8 *addr;
1220 [string,charset(UTF16)] uint16 *net_addr;
1221 } srvsvc_NetTransportInfo0;
1223 /******************/
1224 /* Function: 0x19 */
1225 WERROR srvsvc_NetTransportAdd(
1226 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1228 [in,switch_is(level)] srvsvc_NetTransportInfo info
1233 [size_is(count)] srvsvc_NetTransportInfo0 *array;
1234 } srvsvc_NetTransportCtr0;
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;
1243 } srvsvc_NetTransportInfo1;
1247 [size_is(count)] srvsvc_NetTransportInfo1 *array;
1248 } srvsvc_NetTransportCtr1;
1252 [string,charset(UTF16)] uint16 *name;
1253 [size_is(addr_len)] uint8 *addr;
1255 [string,charset(UTF16)] uint16 *net_addr;
1256 [string,charset(UTF16)] uint16 *domain;
1258 } srvsvc_NetTransportInfo2;
1262 [size_is(count)] srvsvc_NetTransportInfo2 *array;
1263 } srvsvc_NetTransportCtr2;
1267 [string,charset(UTF16)] uint16 *name;
1268 [size_is(addr_len)] uint8 *addr;
1270 [string,charset(UTF16)] uint16 *net_addr;
1271 [string,charset(UTF16)] uint16 *domain;
1274 uint8 unknown3[256];
1275 } srvsvc_NetTransportInfo3;
1279 [size_is(count)] srvsvc_NetTransportInfo3 *array;
1280 } srvsvc_NetTransportCtr3;
1283 [case(0)] srvsvc_NetTransportCtr0 *ctr0;
1284 [case(1)] srvsvc_NetTransportCtr1 *ctr1;
1285 [case(2)] srvsvc_NetTransportCtr2 *ctr2;
1286 [case(3)] srvsvc_NetTransportCtr3 *ctr3;
1288 } srvsvc_NetTransportCtr;
1290 /******************/
1291 /* Function: 0x1a */
1292 WERROR srvsvc_NetTransportEnum(
1293 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1294 [in,out] uint32 level,
1295 [in,out,switch_is(level)] srvsvc_NetTransportCtr transports,
1296 [in] uint32 max_buffer,
1297 [out] uint32 totalentries,
1298 [in,out,unique] uint32 *resume_handle
1301 /******************/
1302 /* Function: 0x1b */
1303 WERROR srvsvc_NetTransportDel(
1304 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1306 [in,switch_is(level)] srvsvc_NetTransportInfo info
1309 /**************************/
1310 /* srvsvc_NetRemoteTOD */
1311 /**************************/
1313 uint32 elapsed; /* time(NULL) */
1314 uint32 msecs; /* milliseconds till system reboot (uptime) */
1319 int32 timezone; /* in minutes */
1320 uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
1325 } srvsvc_NetRemoteTODInfo;
1327 /******************/
1328 /* Function: 0x1c */
1329 WERROR srvsvc_NetRemoteTOD(
1330 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1331 [out,unique] srvsvc_NetRemoteTODInfo *info
1334 /**************************/
1335 /* srvsvc_NetServiceBits */
1336 /**************************/
1337 /******************/
1338 /* Function: 0x1d */
1339 WERROR srvsvc_NetSetServiceBits(
1340 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1341 [in,unique] [string,charset(UTF16)] uint16 *transport,
1342 [in] uint32 servicebits,
1343 [in] uint32 updateimmediately
1346 /**************************/
1347 /* srvsvc_NetPath */
1348 /**************************/
1349 /******************/
1350 /* Function: 0x1e */
1351 WERROR srvsvc_NetPathType(
1352 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1353 [in] [string,charset(UTF16)] uint16 path[],
1354 [in] uint32 pathflags,
1355 [out] uint32 pathtype
1358 /******************/
1359 /* Function: 0x1f */
1360 WERROR srvsvc_NetPathCanonicalize(
1361 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1362 [in] [string,charset(UTF16)] uint16 path[],
1363 [out] [size_is(maxbuf)] uint8 can_path[],
1365 [in] [string,charset(UTF16)] uint16 prefix[],
1366 [in,out] uint32 pathtype,
1367 [in] uint32 pathflags
1370 /******************/
1371 /* Function: 0x20 */
1372 WERROR srvsvc_NetPathCompare(
1373 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1374 [in] [string,charset(UTF16)] uint16 path1[],
1375 [in] [string,charset(UTF16)] uint16 path2[],
1376 [in] uint32 pathtype,
1377 [in] uint32 pathflags
1380 /**************************/
1381 /* srvsvc_NetName */
1382 /**************************/
1383 /******************/
1384 /* Function: 0x21 */
1385 WERROR srvsvc_NetNameValidate(
1386 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1387 [in] [string,charset(UTF16)] uint16 name[],
1388 [in] uint32 name_type,
1392 /******************/
1393 /* Function: 0x22 */
1394 [todo] WERROR srvsvc_NETRPRNAMECANONICALIZE(
1397 /******************/
1398 /* Function: 0x23 */
1399 WERROR srvsvc_NetPRNameCompare(
1400 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1401 [in] [string,charset(UTF16)] uint16 name1[],
1402 [in] [string,charset(UTF16)] uint16 name2[],
1403 [in] uint32 name_type,
1407 /**************************/
1408 /* srvsvc_NetShare ... */
1409 /**************************/
1410 /******************/
1411 /* Function: 0x24 */
1412 /* Note, there must be some way to return entries read vs
1413 total entries ... */
1414 WERROR srvsvc_NetShareEnum(
1415 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1416 [in,out] uint32 level,
1417 [in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
1418 [in] uint32 max_buffer,
1419 [out] uint32 totalentries,
1420 [in,out,unique] uint32 *resume_handle
1423 /******************/
1424 /* Function: 0x25 */
1425 WERROR srvsvc_NetShareDelStart(
1426 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1427 [in] [string,charset(UTF16)] uint16 share[],
1428 [in] uint32 reserved,
1429 [out,unique] policy_handle *hnd
1432 /******************/
1433 /* Function: 0x26 */
1434 WERROR srvsvc_NetShareDelCommit(
1435 [in, out,unique] policy_handle *hnd
1438 /******************/
1439 /* Function: 0x27 */
1440 WERROR srvsvc_NetGetFileSecurity(
1441 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1442 [in,unique] [string,charset(UTF16)] uint16 *share,
1443 [in] [string,charset(UTF16)] uint16 file[],
1444 [in] security_secinfo securityinformation,
1445 [out,unique] sec_desc_buf *sd_buf
1448 /******************/
1449 /* Function: 0x28 */
1450 WERROR srvsvc_NetSetFileSecurity(
1451 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1452 [in,unique] [string,charset(UTF16)] uint16 *share,
1453 [in] [string,charset(UTF16)] uint16 file[],
1454 [in] security_secinfo securityinformation,
1455 [in] sec_desc_buf sd_buf
1460 typedef [switch_type(uint32)] union {
1461 [case(0)] srvsvc_NetTransportInfo0 info0;
1462 [case(1)] srvsvc_NetTransportInfo1 info1;
1463 [case(2)] srvsvc_NetTransportInfo2 info2;
1464 [case(3)] srvsvc_NetTransportInfo3 info3;
1465 } srvsvc_NetTransportInfo;
1467 /******************/
1468 /* Function: 0x29 */
1469 WERROR srvsvc_NetServerTransportAddEx(
1470 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1472 [in,switch_is(level)] srvsvc_NetTransportInfo info
1475 /******************/
1476 /* Function: 0x2a */
1477 WERROR srvsvc_NetServerSetServiceBitsEx(
1478 [in,unique] [string,charset(UTF16)] uint16 *server_unc,
1479 [in,unique] [string,charset(UTF16)] uint16 *emulated_server_unc,
1480 [in,unique] [string,charset(UTF16)] uint16 *transport,
1481 [in] uint32 servicebitsofinterest,
1482 [in] uint32 servicebits,
1483 [in] uint32 updateimmediately
1486 /******************/
1487 /* Function: 0x2b */
1488 [todo] WERROR srvsvc_NETRDFSGETVERSION(
1491 /******************/
1492 /* Function: 0x2c */
1493 [todo] WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
1496 /******************/
1497 /* Function: 0x2d */
1498 [todo] WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
1501 /******************/
1502 /* Function: 0x2e */
1503 [todo] WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
1506 /******************/
1507 /* Function: 0x2f */
1508 [todo] WERROR srvsvc_NETRDFSSETSERVERINFO(
1511 /******************/
1512 /* Function: 0x30 */
1513 [todo] WERROR srvsvc_NETRDFSCREATEEXITPOINT(
1516 /******************/
1517 /* Function: 0x31 */
1518 [todo] WERROR srvsvc_NETRDFSDELETEEXITPOINT(
1521 /******************/
1522 /* Function: 0x32 */
1523 [todo] WERROR srvsvc_NETRDFSMODIFYPREFIX(
1526 /******************/
1527 /* Function: 0x33 */
1528 [todo] WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
1531 /******************/
1532 /* Function: 0x34 */
1533 [todo] WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
1536 /******************/
1537 /* Function: 0x35 */
1538 [todo] WERROR srvsvc_NETRSERVERTRANSPORTDELEX(