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