Consider shared IDL files and Samba3-specific IDL files separately, allow overriding...
[amitay/samba.git] / source3 / librpc / gen_ndr / srvsvc.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "librpc/gen_ndr/security.h"
6 #include "librpc/gen_ndr/svcctl.h"
7 #ifndef _HEADER_srvsvc
8 #define _HEADER_srvsvc
9
10 #define STYPE_TEMPORARY ( 0x40000000 )
11 #define STYPE_HIDDEN    ( 0x80000000 )
12 #define SHARE_1005_CSC_POLICY_MASK      ( 0x00000030 )
13 #define SHARE_1005_CSC_POLICY_SHIFT     ( 4 )
14 struct srvsvc_NetCharDevInfo0 {
15         const char *device;/* [unique,charset(UTF16)] */
16 };
17
18 struct srvsvc_NetCharDevCtr0 {
19         uint32_t count;
20         struct srvsvc_NetCharDevInfo0 *array;/* [unique,size_is(count)] */
21 };
22
23 struct srvsvc_NetCharDevInfo1 {
24         const char *device;/* [unique,charset(UTF16)] */
25         uint32_t status;
26         const char *user;/* [unique,charset(UTF16)] */
27         uint32_t time;
28 };
29
30 struct srvsvc_NetCharDevCtr1 {
31         uint32_t count;
32         struct srvsvc_NetCharDevInfo1 *array;/* [unique,size_is(count)] */
33 };
34
35 union srvsvc_NetCharDevInfo {
36         struct srvsvc_NetCharDevInfo0 *info0;/* [unique,case(0)] */
37         struct srvsvc_NetCharDevInfo1 *info1;/* [unique,case] */
38 };
39
40 union srvsvc_NetCharDevCtr {
41         struct srvsvc_NetCharDevCtr0 *ctr0;/* [unique,case(0)] */
42         struct srvsvc_NetCharDevCtr1 *ctr1;/* [unique,case] */
43 };
44
45 struct srvsvc_NetCharDevInfoCtr {
46         uint32_t level;
47         union srvsvc_NetCharDevCtr ctr;/* [switch_is(level)] */
48 };
49
50 struct srvsvc_NetCharDevQInfo0 {
51         const char *device;/* [unique,charset(UTF16)] */
52 };
53
54 struct srvsvc_NetCharDevQCtr0 {
55         uint32_t count;
56         struct srvsvc_NetCharDevQInfo0 *array;/* [unique,size_is(count)] */
57 };
58
59 struct srvsvc_NetCharDevQInfo1 {
60         const char *device;/* [unique,charset(UTF16)] */
61         uint32_t priority;
62         const char *devices;/* [unique,charset(UTF16)] */
63         uint32_t users;
64         uint32_t num_ahead;
65 };
66
67 struct srvsvc_NetCharDevQCtr1 {
68         uint32_t count;
69         struct srvsvc_NetCharDevQInfo1 *array;/* [unique,size_is(count)] */
70 };
71
72 union srvsvc_NetCharDevQInfo {
73         struct srvsvc_NetCharDevQInfo0 *info0;/* [unique,case(0)] */
74         struct srvsvc_NetCharDevQInfo1 *info1;/* [unique,case] */
75 };
76
77 union srvsvc_NetCharDevQCtr {
78         struct srvsvc_NetCharDevQCtr0 *ctr0;/* [unique,case(0)] */
79         struct srvsvc_NetCharDevQCtr1 *ctr1;/* [unique,case] */
80 };
81
82 struct srvsvc_NetCharDevQInfoCtr {
83         uint32_t level;
84         union srvsvc_NetCharDevQCtr ctr;/* [switch_is(level)] */
85 };
86
87 struct srvsvc_NetConnInfo0 {
88         uint32_t conn_id;
89 };
90
91 struct srvsvc_NetConnCtr0 {
92         uint32_t count;
93         struct srvsvc_NetConnInfo0 *array;/* [unique,size_is(count)] */
94 };
95
96 struct srvsvc_NetConnInfo1 {
97         uint32_t conn_id;
98         uint32_t conn_type;
99         uint32_t num_open;
100         uint32_t num_users;
101         uint32_t conn_time;
102         const char *user;/* [unique,charset(UTF16)] */
103         const char *share;/* [unique,charset(UTF16)] */
104 };
105
106 struct srvsvc_NetConnCtr1 {
107         uint32_t count;
108         struct srvsvc_NetConnInfo1 *array;/* [unique,size_is(count)] */
109 };
110
111 union srvsvc_NetConnCtr {
112         struct srvsvc_NetConnCtr0 *ctr0;/* [unique,case(0)] */
113         struct srvsvc_NetConnCtr1 *ctr1;/* [unique,case] */
114 };
115
116 struct srvsvc_NetConnInfoCtr {
117         uint32_t level;
118         union srvsvc_NetConnCtr ctr;/* [switch_is(level)] */
119 };
120
121 struct srvsvc_NetFileInfo2 {
122         uint32_t fid;
123 };
124
125 struct srvsvc_NetFileCtr2 {
126         uint32_t count;
127         struct srvsvc_NetFileInfo2 *array;/* [unique,size_is(count)] */
128 };
129
130 struct srvsvc_NetFileInfo3 {
131         uint32_t fid;
132         uint32_t permissions;
133         uint32_t num_locks;
134         const char *path;/* [unique,charset(UTF16)] */
135         const char *user;/* [unique,charset(UTF16)] */
136 };
137
138 struct srvsvc_NetFileCtr3 {
139         uint32_t count;
140         struct srvsvc_NetFileInfo3 *array;/* [unique,size_is(count)] */
141 };
142
143 union srvsvc_NetFileInfo {
144         struct srvsvc_NetFileInfo2 *info2;/* [unique,case(2)] */
145         struct srvsvc_NetFileInfo3 *info3;/* [unique,case(3)] */
146 };
147
148 union srvsvc_NetFileCtr {
149         struct srvsvc_NetFileCtr2 *ctr2;/* [unique,case(2)] */
150         struct srvsvc_NetFileCtr3 *ctr3;/* [unique,case(3)] */
151 };
152
153 struct srvsvc_NetFileInfoCtr {
154         uint32_t level;
155         union srvsvc_NetFileCtr ctr;/* [switch_is(level)] */
156 };
157
158 struct srvsvc_NetSessInfo0 {
159         const char *client;/* [unique,charset(UTF16)] */
160 };
161
162 struct srvsvc_NetSessCtr0 {
163         uint32_t count;
164         struct srvsvc_NetSessInfo0 *array;/* [unique,size_is(count)] */
165 };
166
167 struct srvsvc_NetSessInfo1 {
168         const char *client;/* [unique,charset(UTF16)] */
169         const char *user;/* [unique,charset(UTF16)] */
170         uint32_t num_open;
171         uint32_t time;
172         uint32_t idle_time;
173         uint32_t user_flags;
174 };
175
176 struct srvsvc_NetSessCtr1 {
177         uint32_t count;
178         struct srvsvc_NetSessInfo1 *array;/* [unique,size_is(count)] */
179 };
180
181 struct srvsvc_NetSessInfo2 {
182         const char *client;/* [unique,charset(UTF16)] */
183         const char *user;/* [unique,charset(UTF16)] */
184         uint32_t num_open;
185         uint32_t time;
186         uint32_t idle_time;
187         uint32_t user_flags;
188         const char *client_type;/* [unique,charset(UTF16)] */
189 };
190
191 struct srvsvc_NetSessCtr2 {
192         uint32_t count;
193         struct srvsvc_NetSessInfo2 *array;/* [unique,size_is(count)] */
194 };
195
196 struct srvsvc_NetSessInfo10 {
197         const char *client;/* [unique,charset(UTF16)] */
198         const char *user;/* [unique,charset(UTF16)] */
199         uint32_t time;
200         uint32_t idle_time;
201 };
202
203 struct srvsvc_NetSessCtr10 {
204         uint32_t count;
205         struct srvsvc_NetSessInfo10 *array;/* [unique,size_is(count)] */
206 };
207
208 struct srvsvc_NetSessInfo502 {
209         const char *client;/* [unique,charset(UTF16)] */
210         const char *user;/* [unique,charset(UTF16)] */
211         uint32_t num_open;
212         uint32_t time;
213         uint32_t idle_time;
214         uint32_t user_flags;
215         const char *client_type;/* [unique,charset(UTF16)] */
216         const char *transport;/* [unique,charset(UTF16)] */
217 };
218
219 struct srvsvc_NetSessCtr502 {
220         uint32_t count;
221         struct srvsvc_NetSessInfo502 *array;/* [unique,size_is(count)] */
222 };
223
224 union srvsvc_NetSessCtr {
225         struct srvsvc_NetSessCtr0 *ctr0;/* [unique,case(0)] */
226         struct srvsvc_NetSessCtr1 *ctr1;/* [unique,case] */
227         struct srvsvc_NetSessCtr2 *ctr2;/* [unique,case(2)] */
228         struct srvsvc_NetSessCtr10 *ctr10;/* [unique,case(10)] */
229         struct srvsvc_NetSessCtr502 *ctr502;/* [unique,case(502)] */
230 };
231
232 struct srvsvc_NetSessInfoCtr {
233         uint32_t level;
234         union srvsvc_NetSessCtr ctr;/* [switch_is(level)] */
235 };
236
237 enum srvsvc_ShareType
238 #ifndef USE_UINT_ENUMS
239  {
240         STYPE_DISKTREE=0,
241         STYPE_DISKTREE_TEMPORARY=STYPE_DISKTREE|STYPE_TEMPORARY,
242         STYPE_DISKTREE_HIDDEN=STYPE_DISKTREE|STYPE_HIDDEN,
243         STYPE_PRINTQ=1,
244         STYPE_PRINTQ_TEMPORARY=STYPE_PRINTQ|STYPE_TEMPORARY,
245         STYPE_PRINTQ_HIDDEN=STYPE_PRINTQ|STYPE_HIDDEN,
246         STYPE_DEVICE=2,
247         STYPE_DEVICE_TEMPORARY=STYPE_DEVICE|STYPE_TEMPORARY,
248         STYPE_DEVICE_HIDDEN=STYPE_DEVICE|STYPE_HIDDEN,
249         STYPE_IPC=3,
250         STYPE_IPC_TEMPORARY=STYPE_IPC|STYPE_TEMPORARY,
251         STYPE_IPC_HIDDEN=STYPE_IPC|STYPE_HIDDEN
252 }
253 #else
254  { __donnot_use_enum_srvsvc_ShareType=0x7FFFFFFF}
255 #define STYPE_DISKTREE ( 0 )
256 #define STYPE_DISKTREE_TEMPORARY ( STYPE_DISKTREE|STYPE_TEMPORARY )
257 #define STYPE_DISKTREE_HIDDEN ( STYPE_DISKTREE|STYPE_HIDDEN )
258 #define STYPE_PRINTQ ( 1 )
259 #define STYPE_PRINTQ_TEMPORARY ( STYPE_PRINTQ|STYPE_TEMPORARY )
260 #define STYPE_PRINTQ_HIDDEN ( STYPE_PRINTQ|STYPE_HIDDEN )
261 #define STYPE_DEVICE ( 2 )
262 #define STYPE_DEVICE_TEMPORARY ( STYPE_DEVICE|STYPE_TEMPORARY )
263 #define STYPE_DEVICE_HIDDEN ( STYPE_DEVICE|STYPE_HIDDEN )
264 #define STYPE_IPC ( 3 )
265 #define STYPE_IPC_TEMPORARY ( STYPE_IPC|STYPE_TEMPORARY )
266 #define STYPE_IPC_HIDDEN ( STYPE_IPC|STYPE_HIDDEN )
267 #endif
268 ;
269
270 struct srvsvc_NetShareInfo0 {
271         const char *name;/* [unique,charset(UTF16)] */
272 };
273
274 struct srvsvc_NetShareCtr0 {
275         uint32_t count;
276         struct srvsvc_NetShareInfo0 *array;/* [unique,size_is(count)] */
277 };
278
279 struct srvsvc_NetShareInfo1 {
280         const char *name;/* [unique,charset(UTF16)] */
281         enum srvsvc_ShareType type;
282         const char *comment;/* [unique,charset(UTF16)] */
283 };
284
285 struct srvsvc_NetShareCtr1 {
286         uint32_t count;
287         struct srvsvc_NetShareInfo1 *array;/* [unique,size_is(count)] */
288 };
289
290 struct srvsvc_NetShareInfo2 {
291         const char *name;/* [unique,charset(UTF16)] */
292         enum srvsvc_ShareType type;
293         const char *comment;/* [unique,charset(UTF16)] */
294         uint32_t permissions;
295         uint32_t max_users;
296         uint32_t current_users;
297         const char *path;/* [unique,charset(UTF16)] */
298         const char *password;/* [unique,charset(UTF16)] */
299 };
300
301 struct srvsvc_NetShareCtr2 {
302         uint32_t count;
303         struct srvsvc_NetShareInfo2 *array;/* [unique,size_is(count)] */
304 };
305
306 struct srvsvc_NetShareInfo501 {
307         const char *name;/* [unique,charset(UTF16)] */
308         enum srvsvc_ShareType type;
309         const char *comment;/* [unique,charset(UTF16)] */
310         uint32_t csc_policy;
311 };
312
313 struct srvsvc_NetShareCtr501 {
314         uint32_t count;
315         struct srvsvc_NetShareInfo501 *array;/* [unique,size_is(count)] */
316 };
317
318 struct srvsvc_NetShareInfo502 {
319         const char *name;/* [unique,charset(UTF16)] */
320         enum srvsvc_ShareType type;
321         const char *comment;/* [unique,charset(UTF16)] */
322         uint32_t permissions;
323         uint32_t max_users;
324         uint32_t current_users;
325         const char *path;/* [unique,charset(UTF16)] */
326         const char *password;/* [unique,charset(UTF16)] */
327         struct sec_desc_buf sd_buf;
328 };
329
330 struct srvsvc_NetShareCtr502 {
331         uint32_t count;
332         struct srvsvc_NetShareInfo502 *array;/* [unique,size_is(count)] */
333 };
334
335 struct srvsvc_NetShareInfo1004 {
336         const char *comment;/* [unique,charset(UTF16)] */
337 };
338
339 struct srvsvc_NetShareCtr1004 {
340         uint32_t count;
341         struct srvsvc_NetShareInfo1004 *array;/* [unique,size_is(count)] */
342 };
343
344 /* bitmap NetShareInfo1005Flags */
345 #define SHARE_1005_IN_DFS ( 0x00000001 )
346 #define SHARE_1005_DFS_ROOT ( 0x00000002 )
347
348 struct srvsvc_NetShareInfo1005 {
349         uint32_t dfs_flags;
350 };
351
352 struct srvsvc_NetShareCtr1005 {
353         uint32_t count;
354         struct srvsvc_NetShareInfo1005 *array;/* [unique,size_is(count)] */
355 };
356
357 struct srvsvc_NetShareInfo1006 {
358         uint32_t max_users;
359 };
360
361 struct srvsvc_NetShareCtr1006 {
362         uint32_t count;
363         struct srvsvc_NetShareInfo1006 *array;/* [unique,size_is(count)] */
364 };
365
366 struct srvsvc_NetShareInfo1007 {
367         uint32_t flags;
368         const char *alternate_directory_name;/* [unique,charset(UTF16)] */
369 };
370
371 struct srvsvc_NetShareCtr1007 {
372         uint32_t count;
373         struct srvsvc_NetShareInfo1007 *array;/* [unique,size_is(count)] */
374 };
375
376 struct srvsvc_NetShareCtr1501 {
377         uint32_t count;
378         struct sec_desc_buf *array;/* [unique,size_is(count)] */
379 };
380
381 union srvsvc_NetShareInfo {
382         struct srvsvc_NetShareInfo0 *info0;/* [unique,case(0)] */
383         struct srvsvc_NetShareInfo1 *info1;/* [unique,case] */
384         struct srvsvc_NetShareInfo2 *info2;/* [unique,case(2)] */
385         struct srvsvc_NetShareInfo501 *info501;/* [unique,case(501)] */
386         struct srvsvc_NetShareInfo502 *info502;/* [unique,case(502)] */
387         struct srvsvc_NetShareInfo1004 *info1004;/* [unique,case(1004)] */
388         struct srvsvc_NetShareInfo1005 *info1005;/* [unique,case(1005)] */
389         struct srvsvc_NetShareInfo1006 *info1006;/* [unique,case(1006)] */
390         struct srvsvc_NetShareInfo1007 *info1007;/* [unique,case(1007)] */
391         struct sec_desc_buf *info1501;/* [unique,case(1501)] */
392 };
393
394 union srvsvc_NetShareCtr {
395         struct srvsvc_NetShareCtr0 *ctr0;/* [unique,case(0)] */
396         struct srvsvc_NetShareCtr1 *ctr1;/* [unique,case] */
397         struct srvsvc_NetShareCtr2 *ctr2;/* [unique,case(2)] */
398         struct srvsvc_NetShareCtr501 *ctr501;/* [unique,case(501)] */
399         struct srvsvc_NetShareCtr502 *ctr502;/* [unique,case(502)] */
400         struct srvsvc_NetShareCtr1004 *ctr1004;/* [unique,case(1004)] */
401         struct srvsvc_NetShareCtr1005 *ctr1005;/* [unique,case(1005)] */
402         struct srvsvc_NetShareCtr1006 *ctr1006;/* [unique,case(1006)] */
403         struct srvsvc_NetShareCtr1007 *ctr1007;/* [unique,case(1007)] */
404         struct srvsvc_NetShareCtr1501 *ctr1501;/* [unique,case(1501)] */
405 };
406
407 struct srvsvc_NetShareInfoCtr {
408         uint32_t level;
409         union srvsvc_NetShareCtr ctr;/* [switch_is(level)] */
410 };
411
412 enum srvsvc_PlatformId
413 #ifndef USE_UINT_ENUMS
414  {
415         PLATFORM_ID_DOS=300,
416         PLATFORM_ID_OS2=400,
417         PLATFORM_ID_NT=500,
418         PLATFORM_ID_OSF=600,
419         PLATFORM_ID_VMS=700
420 }
421 #else
422  { __donnot_use_enum_srvsvc_PlatformId=0x7FFFFFFF}
423 #define PLATFORM_ID_DOS ( 300 )
424 #define PLATFORM_ID_OS2 ( 400 )
425 #define PLATFORM_ID_NT ( 500 )
426 #define PLATFORM_ID_OSF ( 600 )
427 #define PLATFORM_ID_VMS ( 700 )
428 #endif
429 ;
430
431 struct srvsvc_NetSrvInfo100 {
432         enum srvsvc_PlatformId platform_id;
433         const char *server_name;/* [unique,charset(UTF16)] */
434 }/* [public] */;
435
436 struct srvsvc_NetSrvInfo101 {
437         enum srvsvc_PlatformId platform_id;
438         const char *server_name;/* [unique,charset(UTF16)] */
439         uint32_t version_major;
440         uint32_t version_minor;
441         uint32_t server_type;
442         const char *comment;/* [unique,charset(UTF16)] */
443 }/* [public] */;
444
445 struct srvsvc_NetSrvInfo102 {
446         enum srvsvc_PlatformId platform_id;
447         const char *server_name;/* [unique,charset(UTF16)] */
448         uint32_t version_major;
449         uint32_t version_minor;
450         uint32_t server_type;
451         const char *comment;/* [unique,charset(UTF16)] */
452         uint32_t users;
453         uint32_t disc;
454         uint32_t hidden;
455         uint32_t announce;
456         uint32_t anndelta;
457         uint32_t licenses;
458         const char *userpath;/* [unique,charset(UTF16)] */
459 };
460
461 struct srvsvc_NetSrvInfo402 {
462         uint32_t ulist_mtime;
463         uint32_t glist_mtime;
464         uint32_t alist_mtime;
465         const char *alerts;/* [unique,charset(UTF16)] */
466         uint32_t security;
467         uint32_t numadmin;
468         uint32_t lanmask;
469         const char *guestaccount;/* [unique,charset(UTF16)] */
470         uint32_t chdevs;
471         uint32_t chdevqs;
472         uint32_t chdevjobs;
473         uint32_t connections;
474         uint32_t shares;
475         uint32_t openfiles;
476         uint32_t sessopen;
477         uint32_t sesssvc;
478         uint32_t sessreqs;
479         uint32_t opensearch;
480         uint32_t activelocks;
481         uint32_t numreqbufs;
482         uint32_t sizereqbufs;
483         uint32_t numbigbufs;
484         uint32_t numfiletasks;
485         uint32_t alertsched;
486         uint32_t erroralert;
487         uint32_t logonalert;
488         uint32_t accessalert;
489         uint32_t diskalert;
490         uint32_t netioalert;
491         uint32_t maxaudits;
492         const char *srvheuristics;/* [unique,charset(UTF16)] */
493 };
494
495 struct srvsvc_NetSrvInfo403 {
496         uint32_t ulist_mtime;
497         uint32_t glist_mtime;
498         uint32_t alist_mtime;
499         const char *alerts;/* [unique,charset(UTF16)] */
500         uint32_t security;
501         uint32_t numadmin;
502         uint32_t lanmask;
503         const char *guestaccount;/* [unique,charset(UTF16)] */
504         uint32_t chdevs;
505         uint32_t chdevqs;
506         uint32_t chdevjobs;
507         uint32_t connections;
508         uint32_t shares;
509         uint32_t openfiles;
510         uint32_t sessopen;
511         uint32_t sesssvc;
512         uint32_t sessreqs;
513         uint32_t opensearch;
514         uint32_t activelocks;
515         uint32_t numreqbufs;
516         uint32_t sizereqbufs;
517         uint32_t numbigbufs;
518         uint32_t numfiletasks;
519         uint32_t alertsched;
520         uint32_t erroralert;
521         uint32_t logonalert;
522         uint32_t accessalert;
523         uint32_t diskalert;
524         uint32_t netioalert;
525         uint32_t maxaudits;
526         const char *srvheuristics;/* [unique,charset(UTF16)] */
527         uint32_t auditedevents;
528         uint32_t auditprofile;
529         const char *autopath;/* [unique,charset(UTF16)] */
530 };
531
532 struct srvsvc_NetSrvInfo502 {
533         uint32_t sessopen;
534         uint32_t sesssvc;
535         uint32_t opensearch;
536         uint32_t sizereqbufs;
537         uint32_t initworkitems;
538         uint32_t maxworkitems;
539         uint32_t rawworkitems;
540         uint32_t irpstacksize;
541         uint32_t maxrawbuflen;
542         uint32_t sessusers;
543         uint32_t sessconns;
544         uint32_t maxpagedmemoryusage;
545         uint32_t maxnonpagedmemoryusage;
546         uint32_t enablesoftcompat;
547         uint32_t enableforcedlogoff;
548         uint32_t timesource;
549         uint32_t acceptdownlevelapis;
550         uint32_t lmannounce;
551 };
552
553 struct srvsvc_NetSrvInfo503 {
554         uint32_t sessopen;
555         uint32_t sesssvc;
556         uint32_t opensearch;
557         uint32_t sizereqbufs;
558         uint32_t initworkitems;
559         uint32_t maxworkitems;
560         uint32_t rawworkitems;
561         uint32_t irpstacksize;
562         uint32_t maxrawbuflen;
563         uint32_t sessusers;
564         uint32_t sessconns;
565         uint32_t maxpagedmemoryusage;
566         uint32_t maxnonpagedmemoryusage;
567         uint32_t enablesoftcompat;
568         uint32_t enableforcedlogoff;
569         uint32_t timesource;
570         uint32_t acceptdownlevelapis;
571         uint32_t lmannounce;
572         const char *domain;/* [unique,charset(UTF16)] */
573         uint32_t maxcopyreadlen;
574         uint32_t maxcopywritelen;
575         uint32_t minkeepsearch;
576         uint32_t maxkeepsearch;
577         uint32_t minkeepcomplsearch;
578         uint32_t maxkeepcomplsearch;
579         uint32_t threadcountadd;
580         uint32_t numlockthreads;
581         uint32_t scavtimeout;
582         uint32_t minrcvqueue;
583         uint32_t minfreeworkitems;
584         uint32_t xactmemsize;
585         uint32_t threadpriority;
586         uint32_t maxmpxct;
587         uint32_t oplockbreakwait;
588         uint32_t oplockbreakresponsewait;
589         uint32_t enableoplocks;
590         uint32_t enableoplockforceclose;
591         uint32_t enablefcbopens;
592         uint32_t enableraw;
593         uint32_t enablesharednetdrives;
594         uint32_t minfreeconnections;
595         uint32_t maxfreeconnections;
596 };
597
598 struct srvsvc_NetSrvInfo599 {
599         uint32_t sessopen;
600         uint32_t sesssvc;
601         uint32_t opensearch;
602         uint32_t sizereqbufs;
603         uint32_t initworkitems;
604         uint32_t maxworkitems;
605         uint32_t rawworkitems;
606         uint32_t irpstacksize;
607         uint32_t maxrawbuflen;
608         uint32_t sessusers;
609         uint32_t sessconns;
610         uint32_t maxpagedmemoryusage;
611         uint32_t maxnonpagedmemoryusage;
612         uint32_t enablesoftcompat;
613         uint32_t enableforcedlogoff;
614         uint32_t timesource;
615         uint32_t acceptdownlevelapis;
616         uint32_t lmannounce;
617         const char *domain;/* [unique,charset(UTF16)] */
618         uint32_t maxcopyreadlen;
619         uint32_t maxcopywritelen;
620         uint32_t minkeepsearch;
621         uint32_t minkeepcomplsearch;
622         uint32_t maxkeepcomplsearch;
623         uint32_t threadcountadd;
624         uint32_t numlockthreads;
625         uint32_t scavtimeout;
626         uint32_t minrcvqueue;
627         uint32_t minfreeworkitems;
628         uint32_t xactmemsize;
629         uint32_t threadpriority;
630         uint32_t maxmpxct;
631         uint32_t oplockbreakwait;
632         uint32_t oplockbreakresponsewait;
633         uint32_t enableoplocks;
634         uint32_t enableoplockforceclose;
635         uint32_t enablefcbopens;
636         uint32_t enableraw;
637         uint32_t enablesharednetdrives;
638         uint32_t minfreeconnections;
639         uint32_t maxfreeconnections;
640         uint32_t initsesstable;
641         uint32_t initconntable;
642         uint32_t initfiletable;
643         uint32_t initsearchtable;
644         uint32_t alertsched;
645         uint32_t errortreshold;
646         uint32_t networkerrortreshold;
647         uint32_t diskspacetreshold;
648         uint32_t reserved;
649         uint32_t maxlinkdelay;
650         uint32_t minlinkthroughput;
651         uint32_t linkinfovalidtime;
652         uint32_t scavqosinfoupdatetime;
653         uint32_t maxworkitemidletime;
654 };
655
656 struct srvsvc_NetSrvInfo1005 {
657         const char *comment;/* [unique,charset(UTF16)] */
658 };
659
660 struct srvsvc_NetSrvInfo1010 {
661         uint32_t disc;
662 };
663
664 struct srvsvc_NetSrvInfo1016 {
665         uint32_t hidden;
666 };
667
668 struct srvsvc_NetSrvInfo1017 {
669         uint32_t announce;
670 };
671
672 struct srvsvc_NetSrvInfo1018 {
673         uint32_t anndelta;
674 };
675
676 struct srvsvc_NetSrvInfo1107 {
677         uint32_t users;
678 };
679
680 struct srvsvc_NetSrvInfo1501 {
681         uint32_t sessopens;
682 };
683
684 struct srvsvc_NetSrvInfo1502 {
685         uint32_t sessvcs;
686 };
687
688 struct srvsvc_NetSrvInfo1503 {
689         uint32_t opensearch;
690 };
691
692 struct srvsvc_NetSrvInfo1506 {
693         uint32_t maxworkitems;
694 };
695
696 struct srvsvc_NetSrvInfo1509 {
697         uint32_t maxrawbuflen;
698 };
699
700 struct srvsvc_NetSrvInfo1510 {
701         uint32_t sessusers;
702 };
703
704 struct srvsvc_NetSrvInfo1511 {
705         uint32_t sesscons;
706 };
707
708 struct srvsvc_NetSrvInfo1512 {
709         uint32_t maxnonpagedmemoryusage;
710 };
711
712 struct srvsvc_NetSrvInfo1513 {
713         uint32_t maxpagedmemoryusage;
714 };
715
716 struct srvsvc_NetSrvInfo1514 {
717         uint32_t enablesoftcompat;
718 };
719
720 struct srvsvc_NetSrvInfo1515 {
721         uint32_t enableforcedlogoff;
722 };
723
724 struct srvsvc_NetSrvInfo1516 {
725         uint32_t timesource;
726 };
727
728 struct srvsvc_NetSrvInfo1518 {
729         uint32_t lmannounce;
730 };
731
732 struct srvsvc_NetSrvInfo1520 {
733         uint32_t maxcopyreadlen;
734 };
735
736 struct srvsvc_NetSrvInfo1521 {
737         uint32_t maxcopywritelen;
738 };
739
740 struct srvsvc_NetSrvInfo1522 {
741         uint32_t minkeepsearch;
742 };
743
744 struct srvsvc_NetSrvInfo1523 {
745         uint32_t maxkeepsearch;
746 };
747
748 struct srvsvc_NetSrvInfo1524 {
749         uint32_t minkeepcomplsearch;
750 };
751
752 struct srvsvc_NetSrvInfo1525 {
753         uint32_t maxkeepcomplsearch;
754 };
755
756 struct srvsvc_NetSrvInfo1528 {
757         uint32_t scavtimeout;
758 };
759
760 struct srvsvc_NetSrvInfo1529 {
761         uint32_t minrcvqueue;
762 };
763
764 struct srvsvc_NetSrvInfo1530 {
765         uint32_t minfreeworkitems;
766 };
767
768 struct srvsvc_NetSrvInfo1533 {
769         uint32_t maxmpxct;
770 };
771
772 struct srvsvc_NetSrvInfo1534 {
773         uint32_t oplockbreakwait;
774 };
775
776 struct srvsvc_NetSrvInfo1535 {
777         uint32_t oplockbreakresponsewait;
778 };
779
780 struct srvsvc_NetSrvInfo1536 {
781         uint32_t enableoplocks;
782 };
783
784 struct srvsvc_NetSrvInfo1537 {
785         uint32_t enableoplockforceclose;
786 };
787
788 struct srvsvc_NetSrvInfo1538 {
789         uint32_t enablefcbopens;
790 };
791
792 struct srvsvc_NetSrvInfo1539 {
793         uint32_t enableraw;
794 };
795
796 struct srvsvc_NetSrvInfo1540 {
797         uint32_t enablesharednetdrives;
798 };
799
800 struct srvsvc_NetSrvInfo1541 {
801         uint32_t minfreeconnections;
802 };
803
804 struct srvsvc_NetSrvInfo1542 {
805         uint32_t maxfreeconnections;
806 };
807
808 struct srvsvc_NetSrvInfo1543 {
809         uint32_t initsesstable;
810 };
811
812 struct srvsvc_NetSrvInfo1544 {
813         uint32_t initconntable;
814 };
815
816 struct srvsvc_NetSrvInfo1545 {
817         uint32_t initfiletable;
818 };
819
820 struct srvsvc_NetSrvInfo1546 {
821         uint32_t initsearchtable;
822 };
823
824 struct srvsvc_NetSrvInfo1547 {
825         uint32_t alertsched;
826 };
827
828 struct srvsvc_NetSrvInfo1548 {
829         uint32_t errortreshold;
830 };
831
832 struct srvsvc_NetSrvInfo1549 {
833         uint32_t networkerrortreshold;
834 };
835
836 struct srvsvc_NetSrvInfo1550 {
837         uint32_t diskspacetreshold;
838 };
839
840 struct srvsvc_NetSrvInfo1552 {
841         uint32_t maxlinkdelay;
842 };
843
844 struct srvsvc_NetSrvInfo1553 {
845         uint32_t minlinkthroughput;
846 };
847
848 struct srvsvc_NetSrvInfo1554 {
849         uint32_t linkinfovalidtime;
850 };
851
852 struct srvsvc_NetSrvInfo1555 {
853         uint32_t scavqosinfoupdatetime;
854 };
855
856 struct srvsvc_NetSrvInfo1556 {
857         uint32_t maxworkitemidletime;
858 };
859
860 union srvsvc_NetSrvInfo {
861         struct srvsvc_NetSrvInfo100 *info100;/* [unique,case(100)] */
862         struct srvsvc_NetSrvInfo101 *info101;/* [unique,case(101)] */
863         struct srvsvc_NetSrvInfo102 *info102;/* [unique,case(102)] */
864         struct srvsvc_NetSrvInfo402 *info402;/* [unique,case(402)] */
865         struct srvsvc_NetSrvInfo403 *info403;/* [unique,case(403)] */
866         struct srvsvc_NetSrvInfo502 *info502;/* [unique,case(502)] */
867         struct srvsvc_NetSrvInfo503 *info503;/* [unique,case(503)] */
868         struct srvsvc_NetSrvInfo599 *info599;/* [unique,case(599)] */
869         struct srvsvc_NetSrvInfo1005 *info1005;/* [unique,case(1005)] */
870         struct srvsvc_NetSrvInfo1010 *info1010;/* [unique,case(1010)] */
871         struct srvsvc_NetSrvInfo1016 *info1016;/* [unique,case(1016)] */
872         struct srvsvc_NetSrvInfo1017 *info1017;/* [unique,case(1017)] */
873         struct srvsvc_NetSrvInfo1018 *info1018;/* [unique,case(1018)] */
874         struct srvsvc_NetSrvInfo1107 *info1107;/* [unique,case(1107)] */
875         struct srvsvc_NetSrvInfo1501 *info1501;/* [unique,case(1501)] */
876         struct srvsvc_NetSrvInfo1502 *info1502;/* [unique,case(1502)] */
877         struct srvsvc_NetSrvInfo1503 *info1503;/* [unique,case(1503)] */
878         struct srvsvc_NetSrvInfo1506 *info1506;/* [unique,case(1506)] */
879         struct srvsvc_NetSrvInfo1509 *info1509;/* [unique,case(1509)] */
880         struct srvsvc_NetSrvInfo1510 *info1510;/* [unique,case(1510)] */
881         struct srvsvc_NetSrvInfo1511 *info1511;/* [unique,case(1511)] */
882         struct srvsvc_NetSrvInfo1512 *info1512;/* [unique,case(1512)] */
883         struct srvsvc_NetSrvInfo1513 *info1513;/* [unique,case(1513)] */
884         struct srvsvc_NetSrvInfo1514 *info1514;/* [unique,case(1514)] */
885         struct srvsvc_NetSrvInfo1515 *info1515;/* [unique,case(1515)] */
886         struct srvsvc_NetSrvInfo1516 *info1516;/* [unique,case(1516)] */
887         struct srvsvc_NetSrvInfo1518 *info1518;/* [unique,case(1518)] */
888         struct srvsvc_NetSrvInfo1520 *info1520;/* [unique,case(1520)] */
889         struct srvsvc_NetSrvInfo1521 *info1521;/* [unique,case(1521)] */
890         struct srvsvc_NetSrvInfo1522 *info1522;/* [unique,case(1522)] */
891         struct srvsvc_NetSrvInfo1523 *info1523;/* [unique,case(1523)] */
892         struct srvsvc_NetSrvInfo1524 *info1524;/* [unique,case(1524)] */
893         struct srvsvc_NetSrvInfo1525 *info1525;/* [unique,case(1525)] */
894         struct srvsvc_NetSrvInfo1528 *info1528;/* [unique,case(1528)] */
895         struct srvsvc_NetSrvInfo1529 *info1529;/* [unique,case(1529)] */
896         struct srvsvc_NetSrvInfo1530 *info1530;/* [unique,case(1530)] */
897         struct srvsvc_NetSrvInfo1533 *info1533;/* [unique,case(1533)] */
898         struct srvsvc_NetSrvInfo1534 *info1534;/* [unique,case(1534)] */
899         struct srvsvc_NetSrvInfo1535 *info1535;/* [unique,case(1535)] */
900         struct srvsvc_NetSrvInfo1536 *info1536;/* [unique,case(1536)] */
901         struct srvsvc_NetSrvInfo1537 *info1537;/* [unique,case(1537)] */
902         struct srvsvc_NetSrvInfo1538 *info1538;/* [unique,case(1538)] */
903         struct srvsvc_NetSrvInfo1539 *info1539;/* [unique,case(1539)] */
904         struct srvsvc_NetSrvInfo1540 *info1540;/* [unique,case(1540)] */
905         struct srvsvc_NetSrvInfo1541 *info1541;/* [unique,case(1541)] */
906         struct srvsvc_NetSrvInfo1542 *info1542;/* [unique,case(1542)] */
907         struct srvsvc_NetSrvInfo1543 *info1543;/* [unique,case(1543)] */
908         struct srvsvc_NetSrvInfo1544 *info1544;/* [unique,case(1544)] */
909         struct srvsvc_NetSrvInfo1545 *info1545;/* [unique,case(1545)] */
910         struct srvsvc_NetSrvInfo1546 *info1546;/* [unique,case(1546)] */
911         struct srvsvc_NetSrvInfo1547 *info1547;/* [unique,case(1547)] */
912         struct srvsvc_NetSrvInfo1548 *info1548;/* [unique,case(1548)] */
913         struct srvsvc_NetSrvInfo1549 *info1549;/* [unique,case(1549)] */
914         struct srvsvc_NetSrvInfo1550 *info1550;/* [unique,case(1550)] */
915         struct srvsvc_NetSrvInfo1552 *info1552;/* [unique,case(1552)] */
916         struct srvsvc_NetSrvInfo1553 *info1553;/* [unique,case(1553)] */
917         struct srvsvc_NetSrvInfo1554 *info1554;/* [unique,case(1554)] */
918         struct srvsvc_NetSrvInfo1555 *info1555;/* [unique,case(1555)] */
919         struct srvsvc_NetSrvInfo1556 *info1556;/* [unique,case(1556)] */
920 };
921
922 struct srvsvc_NetDiskInfo0 {
923         uint32_t __disk_offset;/* [value(0)] */
924         uint32_t __disk_length;/* [value(strlen(disk)+1)] */
925         const char *disk;/* [charset(UTF16)] */
926 };
927
928 struct srvsvc_NetDiskInfo {
929         uint32_t count;
930         struct srvsvc_NetDiskInfo0 *disks;/* [unique,length_is(count),size_is(count)] */
931 };
932
933 struct srvsvc_Statistics {
934         uint32_t start;
935         uint32_t fopens;
936         uint32_t devopens;
937         uint32_t jobsqueued;
938         uint32_t sopens;
939         uint32_t stimeouts;
940         uint32_t serrorout;
941         uint32_t pwerrors;
942         uint32_t permerrors;
943         uint32_t syserrors;
944         uint32_t bytessent_low;
945         uint32_t bytessent_high;
946         uint32_t bytesrcvd_low;
947         uint32_t bytesrcvd_high;
948         uint32_t avresponse;
949         uint32_t reqbufneed;
950         uint32_t bigbufneed;
951 };
952
953 struct srvsvc_NetTransportInfo0 {
954         uint32_t vcs;
955         const char *name;/* [unique,charset(UTF16)] */
956         uint8_t *addr;/* [unique,size_is(addr_len)] */
957         uint32_t addr_len;
958         const char *net_addr;/* [unique,charset(UTF16)] */
959 };
960
961 struct srvsvc_NetTransportCtr0 {
962         uint32_t count;
963         struct srvsvc_NetTransportInfo0 *array;/* [unique,size_is(count)] */
964 };
965
966 struct srvsvc_NetTransportInfo1 {
967         uint32_t vcs;
968         const char *name;/* [unique,charset(UTF16)] */
969         uint8_t *addr;/* [unique,size_is(addr_len)] */
970         uint32_t addr_len;
971         const char *net_addr;/* [unique,charset(UTF16)] */
972         const char *domain;/* [unique,charset(UTF16)] */
973 };
974
975 struct srvsvc_NetTransportCtr1 {
976         uint32_t count;
977         struct srvsvc_NetTransportInfo1 *array;/* [unique,size_is(count)] */
978 };
979
980 struct srvsvc_NetTransportInfo2 {
981         uint32_t vcs;
982         const char *name;/* [unique,charset(UTF16)] */
983         uint8_t *addr;/* [unique,size_is(addr_len)] */
984         uint32_t addr_len;
985         const char *net_addr;/* [unique,charset(UTF16)] */
986         const char *domain;/* [unique,charset(UTF16)] */
987         uint32_t unknown;
988 };
989
990 struct srvsvc_NetTransportCtr2 {
991         uint32_t count;
992         struct srvsvc_NetTransportInfo2 *array;/* [unique,size_is(count)] */
993 };
994
995 struct srvsvc_NetTransportInfo3 {
996         uint32_t vcs;
997         const char *name;/* [unique,charset(UTF16)] */
998         uint8_t *addr;/* [unique,size_is(addr_len)] */
999         uint32_t addr_len;
1000         const char *net_addr;/* [unique,charset(UTF16)] */
1001         const char *domain;/* [unique,charset(UTF16)] */
1002         uint32_t unknown1;
1003         uint32_t unknown2;
1004         uint8_t unknown3[256];
1005 };
1006
1007 struct srvsvc_NetTransportCtr3 {
1008         uint32_t count;
1009         struct srvsvc_NetTransportInfo3 *array;/* [unique,size_is(count)] */
1010 };
1011
1012 union srvsvc_NetTransportCtr {
1013         struct srvsvc_NetTransportCtr0 *ctr0;/* [unique,case(0)] */
1014         struct srvsvc_NetTransportCtr1 *ctr1;/* [unique,case] */
1015         struct srvsvc_NetTransportCtr2 *ctr2;/* [unique,case(2)] */
1016         struct srvsvc_NetTransportCtr3 *ctr3;/* [unique,case(3)] */
1017 };
1018
1019 struct srvsvc_NetTransportInfoCtr {
1020         uint32_t level;
1021         union srvsvc_NetTransportCtr ctr;/* [switch_is(level)] */
1022 };
1023
1024 struct srvsvc_NetRemoteTODInfo {
1025         uint32_t elapsed;
1026         uint32_t msecs;
1027         uint32_t hours;
1028         uint32_t mins;
1029         uint32_t secs;
1030         uint32_t hunds;
1031         int32_t timezone;
1032         uint32_t tinterval;
1033         uint32_t day;
1034         uint32_t month;
1035         uint32_t year;
1036         uint32_t weekday;
1037 };
1038
1039 union srvsvc_NetTransportInfo {
1040         struct srvsvc_NetTransportInfo0 info0;/* [case(0)] */
1041         struct srvsvc_NetTransportInfo1 info1;/* [case] */
1042         struct srvsvc_NetTransportInfo2 info2;/* [case(2)] */
1043         struct srvsvc_NetTransportInfo3 info3;/* [case(3)] */
1044 }/* [switch_type(uint32)] */;
1045
1046
1047 struct srvsvc_NetCharDevEnum {
1048         struct {
1049                 const char *server_unc;/* [unique,charset(UTF16)] */
1050                 uint32_t max_buffer;
1051                 struct srvsvc_NetCharDevInfoCtr *info_ctr;/* [ref] */
1052                 uint32_t *resume_handle;/* [unique] */
1053         } in;
1054
1055         struct {
1056                 uint32_t *totalentries;/* [ref] */
1057                 struct srvsvc_NetCharDevInfoCtr *info_ctr;/* [ref] */
1058                 uint32_t *resume_handle;/* [unique] */
1059                 WERROR result;
1060         } out;
1061
1062 };
1063
1064
1065 struct srvsvc_NetCharDevGetInfo {
1066         struct {
1067                 const char *server_unc;/* [unique,charset(UTF16)] */
1068                 const char *device_name;/* [charset(UTF16)] */
1069                 uint32_t level;
1070         } in;
1071
1072         struct {
1073                 union srvsvc_NetCharDevInfo *info;/* [ref,switch_is(level)] */
1074                 WERROR result;
1075         } out;
1076
1077 };
1078
1079
1080 struct srvsvc_NetCharDevControl {
1081         struct {
1082                 const char *server_unc;/* [unique,charset(UTF16)] */
1083                 const char *device_name;/* [charset(UTF16)] */
1084                 uint32_t opcode;
1085         } in;
1086
1087         struct {
1088                 WERROR result;
1089         } out;
1090
1091 };
1092
1093
1094 struct srvsvc_NetCharDevQEnum {
1095         struct {
1096                 const char *server_unc;/* [unique,charset(UTF16)] */
1097                 const char *user;/* [unique,charset(UTF16)] */
1098                 uint32_t max_buffer;
1099                 struct srvsvc_NetCharDevQInfoCtr *info_ctr;/* [ref] */
1100                 uint32_t *resume_handle;/* [unique] */
1101         } in;
1102
1103         struct {
1104                 uint32_t *totalentries;/* [ref] */
1105                 struct srvsvc_NetCharDevQInfoCtr *info_ctr;/* [ref] */
1106                 uint32_t *resume_handle;/* [unique] */
1107                 WERROR result;
1108         } out;
1109
1110 };
1111
1112
1113 struct srvsvc_NetCharDevQGetInfo {
1114         struct {
1115                 const char *server_unc;/* [unique,charset(UTF16)] */
1116                 const char *queue_name;/* [charset(UTF16)] */
1117                 const char *user;/* [charset(UTF16)] */
1118                 uint32_t level;
1119         } in;
1120
1121         struct {
1122                 union srvsvc_NetCharDevQInfo *info;/* [ref,switch_is(level)] */
1123                 WERROR result;
1124         } out;
1125
1126 };
1127
1128
1129 struct srvsvc_NetCharDevQSetInfo {
1130         struct {
1131                 const char *server_unc;/* [unique,charset(UTF16)] */
1132                 const char *queue_name;/* [charset(UTF16)] */
1133                 uint32_t level;
1134                 union srvsvc_NetCharDevQInfo info;/* [switch_is(level)] */
1135                 uint32_t *parm_error;/* [unique] */
1136         } in;
1137
1138         struct {
1139                 uint32_t *parm_error;/* [unique] */
1140                 WERROR result;
1141         } out;
1142
1143 };
1144
1145
1146 struct srvsvc_NetCharDevQPurge {
1147         struct {
1148                 const char *server_unc;/* [unique,charset(UTF16)] */
1149                 const char *queue_name;/* [charset(UTF16)] */
1150         } in;
1151
1152         struct {
1153                 WERROR result;
1154         } out;
1155
1156 };
1157
1158
1159 struct srvsvc_NetCharDevQPurgeSelf {
1160         struct {
1161                 const char *server_unc;/* [unique,charset(UTF16)] */
1162                 const char *queue_name;/* [charset(UTF16)] */
1163                 const char *computer_name;/* [charset(UTF16)] */
1164         } in;
1165
1166         struct {
1167                 WERROR result;
1168         } out;
1169
1170 };
1171
1172
1173 struct srvsvc_NetConnEnum {
1174         struct {
1175                 const char *server_unc;/* [unique,charset(UTF16)] */
1176                 const char *path;/* [unique,charset(UTF16)] */
1177                 uint32_t max_buffer;
1178                 struct srvsvc_NetConnInfoCtr *info_ctr;/* [ref] */
1179                 uint32_t *resume_handle;/* [unique] */
1180         } in;
1181
1182         struct {
1183                 uint32_t *totalentries;/* [ref] */
1184                 struct srvsvc_NetConnInfoCtr *info_ctr;/* [ref] */
1185                 uint32_t *resume_handle;/* [unique] */
1186                 WERROR result;
1187         } out;
1188
1189 };
1190
1191
1192 struct srvsvc_NetFileEnum {
1193         struct {
1194                 const char *server_unc;/* [unique,charset(UTF16)] */
1195                 const char *path;/* [unique,charset(UTF16)] */
1196                 const char *user;/* [unique,charset(UTF16)] */
1197                 uint32_t max_buffer;
1198                 struct srvsvc_NetFileInfoCtr *info_ctr;/* [ref] */
1199                 uint32_t *resume_handle;/* [unique] */
1200         } in;
1201
1202         struct {
1203                 uint32_t *totalentries;/* [ref] */
1204                 struct srvsvc_NetFileInfoCtr *info_ctr;/* [ref] */
1205                 uint32_t *resume_handle;/* [unique] */
1206                 WERROR result;
1207         } out;
1208
1209 };
1210
1211
1212 struct srvsvc_NetFileGetInfo {
1213         struct {
1214                 const char *server_unc;/* [unique,charset(UTF16)] */
1215                 uint32_t fid;
1216                 uint32_t level;
1217         } in;
1218
1219         struct {
1220                 union srvsvc_NetFileInfo *info;/* [ref,switch_is(level)] */
1221                 WERROR result;
1222         } out;
1223
1224 };
1225
1226
1227 struct srvsvc_NetFileClose {
1228         struct {
1229                 const char *server_unc;/* [unique,charset(UTF16)] */
1230                 uint32_t fid;
1231         } in;
1232
1233         struct {
1234                 WERROR result;
1235         } out;
1236
1237 };
1238
1239
1240 struct srvsvc_NetSessEnum {
1241         struct {
1242                 const char *server_unc;/* [unique,charset(UTF16)] */
1243                 const char *client;/* [unique,charset(UTF16)] */
1244                 const char *user;/* [unique,charset(UTF16)] */
1245                 uint32_t max_buffer;
1246                 struct srvsvc_NetSessInfoCtr *info_ctr;/* [ref] */
1247                 uint32_t *resume_handle;/* [unique] */
1248         } in;
1249
1250         struct {
1251                 uint32_t *totalentries;/* [ref] */
1252                 struct srvsvc_NetSessInfoCtr *info_ctr;/* [ref] */
1253                 uint32_t *resume_handle;/* [unique] */
1254                 WERROR result;
1255         } out;
1256
1257 };
1258
1259
1260 struct srvsvc_NetSessDel {
1261         struct {
1262                 const char *server_unc;/* [unique,charset(UTF16)] */
1263                 const char *client;/* [unique,charset(UTF16)] */
1264                 const char *user;/* [unique,charset(UTF16)] */
1265         } in;
1266
1267         struct {
1268                 WERROR result;
1269         } out;
1270
1271 };
1272
1273
1274 struct srvsvc_NetShareAdd {
1275         struct {
1276                 const char *server_unc;/* [unique,charset(UTF16)] */
1277                 uint32_t level;
1278                 union srvsvc_NetShareInfo *info;/* [ref,switch_is(level)] */
1279                 uint32_t *parm_error;/* [unique] */
1280         } in;
1281
1282         struct {
1283                 uint32_t *parm_error;/* [unique] */
1284                 WERROR result;
1285         } out;
1286
1287 };
1288
1289
1290 struct srvsvc_NetShareEnumAll {
1291         struct {
1292                 const char *server_unc;/* [unique,charset(UTF16)] */
1293                 uint32_t max_buffer;
1294                 struct srvsvc_NetShareInfoCtr *info_ctr;/* [ref] */
1295                 uint32_t *resume_handle;/* [unique] */
1296         } in;
1297
1298         struct {
1299                 uint32_t *totalentries;/* [ref] */
1300                 struct srvsvc_NetShareInfoCtr *info_ctr;/* [ref] */
1301                 uint32_t *resume_handle;/* [unique] */
1302                 WERROR result;
1303         } out;
1304
1305 };
1306
1307
1308 struct srvsvc_NetShareGetInfo {
1309         struct {
1310                 const char *server_unc;/* [unique,charset(UTF16)] */
1311                 const char *share_name;/* [charset(UTF16)] */
1312                 uint32_t level;
1313         } in;
1314
1315         struct {
1316                 union srvsvc_NetShareInfo *info;/* [ref,switch_is(level)] */
1317                 WERROR result;
1318         } out;
1319
1320 };
1321
1322
1323 struct srvsvc_NetShareSetInfo {
1324         struct {
1325                 const char *server_unc;/* [unique,charset(UTF16)] */
1326                 const char *share_name;/* [charset(UTF16)] */
1327                 uint32_t level;
1328                 union srvsvc_NetShareInfo *info;/* [ref,switch_is(level)] */
1329                 uint32_t *parm_error;/* [unique] */
1330         } in;
1331
1332         struct {
1333                 uint32_t *parm_error;/* [unique] */
1334                 WERROR result;
1335         } out;
1336
1337 };
1338
1339
1340 struct srvsvc_NetShareDel {
1341         struct {
1342                 const char *server_unc;/* [unique,charset(UTF16)] */
1343                 const char *share_name;/* [charset(UTF16)] */
1344                 uint32_t reserved;
1345         } in;
1346
1347         struct {
1348                 WERROR result;
1349         } out;
1350
1351 };
1352
1353
1354 struct srvsvc_NetShareDelSticky {
1355         struct {
1356                 const char *server_unc;/* [unique,charset(UTF16)] */
1357                 const char *share_name;/* [charset(UTF16)] */
1358                 uint32_t reserved;
1359         } in;
1360
1361         struct {
1362                 WERROR result;
1363         } out;
1364
1365 };
1366
1367
1368 struct srvsvc_NetShareCheck {
1369         struct {
1370                 const char *server_unc;/* [unique,charset(UTF16)] */
1371                 const char *device_name;/* [charset(UTF16)] */
1372         } in;
1373
1374         struct {
1375                 enum srvsvc_ShareType *type;/* [ref] */
1376                 WERROR result;
1377         } out;
1378
1379 };
1380
1381
1382 struct srvsvc_NetSrvGetInfo {
1383         struct {
1384                 const char *server_unc;/* [unique,charset(UTF16)] */
1385                 uint32_t level;
1386         } in;
1387
1388         struct {
1389                 union srvsvc_NetSrvInfo *info;/* [ref,switch_is(level)] */
1390                 WERROR result;
1391         } out;
1392
1393 };
1394
1395
1396 struct srvsvc_NetSrvSetInfo {
1397         struct {
1398                 const char *server_unc;/* [unique,charset(UTF16)] */
1399                 uint32_t level;
1400                 union srvsvc_NetSrvInfo *info;/* [ref,switch_is(level)] */
1401                 uint32_t *parm_error;/* [unique] */
1402         } in;
1403
1404         struct {
1405                 uint32_t *parm_error;/* [unique] */
1406                 WERROR result;
1407         } out;
1408
1409 };
1410
1411
1412 struct srvsvc_NetDiskEnum {
1413         struct {
1414                 const char *server_unc;/* [unique,charset(UTF16)] */
1415                 uint32_t level;
1416                 uint32_t maxlen;
1417                 struct srvsvc_NetDiskInfo *info;/* [ref] */
1418                 uint32_t *resume_handle;/* [unique] */
1419         } in;
1420
1421         struct {
1422                 uint32_t *totalentries;/* [ref] */
1423                 struct srvsvc_NetDiskInfo *info;/* [ref] */
1424                 uint32_t *resume_handle;/* [unique] */
1425                 WERROR result;
1426         } out;
1427
1428 };
1429
1430
1431 struct srvsvc_NetServerStatisticsGet {
1432         struct {
1433                 const char *server_unc;/* [unique,charset(UTF16)] */
1434                 const char *service;/* [unique,charset(UTF16)] */
1435                 uint32_t level;
1436                 uint32_t options;
1437         } in;
1438
1439         struct {
1440                 struct srvsvc_Statistics **stats;/* [ref] */
1441                 WERROR result;
1442         } out;
1443
1444 };
1445
1446
1447 struct srvsvc_NetTransportAdd {
1448         struct {
1449                 const char *server_unc;/* [unique,charset(UTF16)] */
1450                 uint32_t level;
1451                 union srvsvc_NetTransportInfo info;/* [switch_is(level)] */
1452         } in;
1453
1454         struct {
1455                 WERROR result;
1456         } out;
1457
1458 };
1459
1460
1461 struct srvsvc_NetTransportEnum {
1462         struct {
1463                 const char *server_unc;/* [unique,charset(UTF16)] */
1464                 uint32_t max_buffer;
1465                 struct srvsvc_NetTransportInfoCtr *transports;/* [ref] */
1466                 uint32_t *resume_handle;/* [unique] */
1467         } in;
1468
1469         struct {
1470                 uint32_t *totalentries;/* [ref] */
1471                 struct srvsvc_NetTransportInfoCtr *transports;/* [ref] */
1472                 uint32_t *resume_handle;/* [unique] */
1473                 WERROR result;
1474         } out;
1475
1476 };
1477
1478
1479 struct srvsvc_NetTransportDel {
1480         struct {
1481                 const char *server_unc;/* [unique,charset(UTF16)] */
1482                 uint32_t level;
1483                 struct srvsvc_NetTransportInfo0 *info0;/* [ref] */
1484         } in;
1485
1486         struct {
1487                 WERROR result;
1488         } out;
1489
1490 };
1491
1492
1493 struct srvsvc_NetRemoteTOD {
1494         struct {
1495                 const char *server_unc;/* [unique,charset(UTF16)] */
1496         } in;
1497
1498         struct {
1499                 struct srvsvc_NetRemoteTODInfo **info;/* [ref] */
1500                 WERROR result;
1501         } out;
1502
1503 };
1504
1505
1506 struct srvsvc_NetSetServiceBits {
1507         struct {
1508                 const char *server_unc;/* [unique,charset(UTF16)] */
1509                 const char *transport;/* [unique,charset(UTF16)] */
1510                 uint32_t servicebits;
1511                 uint32_t updateimmediately;
1512         } in;
1513
1514         struct {
1515                 WERROR result;
1516         } out;
1517
1518 };
1519
1520
1521 struct srvsvc_NetPathType {
1522         struct {
1523                 const char *server_unc;/* [unique,charset(UTF16)] */
1524                 const char *path;/* [charset(UTF16)] */
1525                 uint32_t pathflags;
1526         } in;
1527
1528         struct {
1529                 uint32_t *pathtype;/* [ref] */
1530                 WERROR result;
1531         } out;
1532
1533 };
1534
1535
1536 struct srvsvc_NetPathCanonicalize {
1537         struct {
1538                 const char *server_unc;/* [unique,charset(UTF16)] */
1539                 const char *path;/* [charset(UTF16)] */
1540                 uint32_t maxbuf;
1541                 const char *prefix;/* [charset(UTF16)] */
1542                 uint32_t pathflags;
1543                 uint32_t *pathtype;/* [ref] */
1544         } in;
1545
1546         struct {
1547                 uint8_t *can_path;/* [size_is(maxbuf)] */
1548                 uint32_t *pathtype;/* [ref] */
1549                 WERROR result;
1550         } out;
1551
1552 };
1553
1554
1555 struct srvsvc_NetPathCompare {
1556         struct {
1557                 const char *server_unc;/* [unique,charset(UTF16)] */
1558                 const char *path1;/* [charset(UTF16)] */
1559                 const char *path2;/* [charset(UTF16)] */
1560                 uint32_t pathtype;
1561                 uint32_t pathflags;
1562         } in;
1563
1564         struct {
1565                 WERROR result;
1566         } out;
1567
1568 };
1569
1570
1571 struct srvsvc_NetNameValidate {
1572         struct {
1573                 const char *server_unc;/* [unique,charset(UTF16)] */
1574                 const char *name;/* [charset(UTF16)] */
1575                 uint32_t name_type;
1576                 uint32_t flags;
1577         } in;
1578
1579         struct {
1580                 WERROR result;
1581         } out;
1582
1583 };
1584
1585
1586 struct srvsvc_NETRPRNAMECANONICALIZE {
1587         struct {
1588                 WERROR result;
1589         } out;
1590
1591 };
1592
1593
1594 struct srvsvc_NetPRNameCompare {
1595         struct {
1596                 const char *server_unc;/* [unique,charset(UTF16)] */
1597                 const char *name1;/* [charset(UTF16)] */
1598                 const char *name2;/* [charset(UTF16)] */
1599                 uint32_t name_type;
1600                 uint32_t flags;
1601         } in;
1602
1603         struct {
1604                 WERROR result;
1605         } out;
1606
1607 };
1608
1609
1610 struct srvsvc_NetShareEnum {
1611         struct {
1612                 const char *server_unc;/* [unique,charset(UTF16)] */
1613                 uint32_t max_buffer;
1614                 struct srvsvc_NetShareInfoCtr *info_ctr;/* [ref] */
1615                 uint32_t *resume_handle;/* [unique] */
1616         } in;
1617
1618         struct {
1619                 uint32_t *totalentries;/* [ref] */
1620                 struct srvsvc_NetShareInfoCtr *info_ctr;/* [ref] */
1621                 uint32_t *resume_handle;/* [unique] */
1622                 WERROR result;
1623         } out;
1624
1625 };
1626
1627
1628 struct srvsvc_NetShareDelStart {
1629         struct {
1630                 const char *server_unc;/* [unique,charset(UTF16)] */
1631                 const char *share;/* [charset(UTF16)] */
1632                 uint32_t reserved;
1633         } in;
1634
1635         struct {
1636                 struct policy_handle *hnd;/* [unique] */
1637                 WERROR result;
1638         } out;
1639
1640 };
1641
1642
1643 struct srvsvc_NetShareDelCommit {
1644         struct {
1645                 struct policy_handle *hnd;/* [unique] */
1646         } in;
1647
1648         struct {
1649                 struct policy_handle *hnd;/* [unique] */
1650                 WERROR result;
1651         } out;
1652
1653 };
1654
1655
1656 struct srvsvc_NetGetFileSecurity {
1657         struct {
1658                 const char *server_unc;/* [unique,charset(UTF16)] */
1659                 const char *share;/* [unique,charset(UTF16)] */
1660                 const char *file;/* [charset(UTF16)] */
1661                 uint32_t securityinformation;
1662         } in;
1663
1664         struct {
1665                 struct sec_desc_buf **sd_buf;/* [ref] */
1666                 WERROR result;
1667         } out;
1668
1669 };
1670
1671
1672 struct srvsvc_NetSetFileSecurity {
1673         struct {
1674                 const char *server_unc;/* [unique,charset(UTF16)] */
1675                 const char *share;/* [unique,charset(UTF16)] */
1676                 const char *file;/* [charset(UTF16)] */
1677                 uint32_t securityinformation;
1678                 struct sec_desc_buf *sd_buf;/* [ref] */
1679         } in;
1680
1681         struct {
1682                 WERROR result;
1683         } out;
1684
1685 };
1686
1687
1688 struct srvsvc_NetServerTransportAddEx {
1689         struct {
1690                 const char *server_unc;/* [unique,charset(UTF16)] */
1691                 uint32_t level;
1692                 union srvsvc_NetTransportInfo info;/* [switch_is(level)] */
1693         } in;
1694
1695         struct {
1696                 WERROR result;
1697         } out;
1698
1699 };
1700
1701
1702 struct srvsvc_NetServerSetServiceBitsEx {
1703         struct {
1704                 const char *server_unc;/* [unique,charset(UTF16)] */
1705                 const char *emulated_server_unc;/* [unique,charset(UTF16)] */
1706                 const char *transport;/* [unique,charset(UTF16)] */
1707                 uint32_t servicebitsofinterest;
1708                 uint32_t servicebits;
1709                 uint32_t updateimmediately;
1710         } in;
1711
1712         struct {
1713                 WERROR result;
1714         } out;
1715
1716 };
1717
1718
1719 struct srvsvc_NETRDFSGETVERSION {
1720         struct {
1721                 WERROR result;
1722         } out;
1723
1724 };
1725
1726
1727 struct srvsvc_NETRDFSCREATELOCALPARTITION {
1728         struct {
1729                 WERROR result;
1730         } out;
1731
1732 };
1733
1734
1735 struct srvsvc_NETRDFSDELETELOCALPARTITION {
1736         struct {
1737                 WERROR result;
1738         } out;
1739
1740 };
1741
1742
1743 struct srvsvc_NETRDFSSETLOCALVOLUMESTATE {
1744         struct {
1745                 WERROR result;
1746         } out;
1747
1748 };
1749
1750
1751 struct srvsvc_NETRDFSSETSERVERINFO {
1752         struct {
1753                 WERROR result;
1754         } out;
1755
1756 };
1757
1758
1759 struct srvsvc_NETRDFSCREATEEXITPOINT {
1760         struct {
1761                 WERROR result;
1762         } out;
1763
1764 };
1765
1766
1767 struct srvsvc_NETRDFSDELETEEXITPOINT {
1768         struct {
1769                 WERROR result;
1770         } out;
1771
1772 };
1773
1774
1775 struct srvsvc_NETRDFSMODIFYPREFIX {
1776         struct {
1777                 WERROR result;
1778         } out;
1779
1780 };
1781
1782
1783 struct srvsvc_NETRDFSFIXLOCALVOLUME {
1784         struct {
1785                 WERROR result;
1786         } out;
1787
1788 };
1789
1790
1791 struct srvsvc_NETRDFSMANAGERREPORTSITEINFO {
1792         struct {
1793                 WERROR result;
1794         } out;
1795
1796 };
1797
1798
1799 struct srvsvc_NETRSERVERTRANSPORTDELEX {
1800         struct {
1801                 WERROR result;
1802         } out;
1803
1804 };
1805
1806 #endif /* _HEADER_srvsvc */