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