s3-libnetapi: add I_NetLogonControl{2} to IDL.
[ira/wip.git] / source3 / librpc / gen_ndr / libnetapi.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "libcli/util/ntstatus.h"
6
7 #define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))
8 #ifndef MAXSUBAUTHS
9 #define MAXSUBAUTHS 15 /* max sub authorities in a SID */
10 #endif
11 #ifndef _HEADER_libnetapi
12 #define _HEADER_libnetapi
13
14 #define ERROR_MORE_DATA ( 234L )
15 #define USER_PRIV_GUEST ( 0 )
16 #define USER_PRIV_USER  ( 1 )
17 #define USER_PRIV_ADMIN ( 2 )
18 #define AF_OP_PRINT     ( 0x1 )
19 #define AF_OP_COMM      ( 0x2 )
20 #define AF_OP_SERVER    ( 0x4 )
21 #define AF_OP_ACCOUNTS  ( 0x8 )
22 #define AF_SETTABLE_BITS        ( (AF_OP_PRINT|AF_OP_COMM|AF_OP_SERVER|AF_OP_ACCOUNTS) )
23 #define USER_MAXSTORAGE_UNLIMITED       ( (uint32_t)-1L )
24 #define ENCRYPTED_PWLEN ( 16 )
25 #define FILTER_TEMP_DUPLICATE_ACCOUNT   ( 0x0001 )
26 #define FILTER_NORMAL_ACCOUNT   ( 0x0002 )
27 #define FILTER_INTERDOMAIN_TRUST_ACCOUNT        ( 0x0008 )
28 #define FILTER_WORKSTATION_TRUST_ACCOUNT        ( 0x0010 )
29 #define FILTER_SERVER_TRUST_ACCOUNT     ( 0x0020 )
30 #define LG_INCLUDE_INDIRECT     ( 0x0001 )
31 #define TIMEQ_FOREVER   ( (uint32_t)-1L )
32 #define CSC_MASK        ( 0x30 )
33 enum NET_API_STATUS
34 #ifndef USE_UINT_ENUMS
35  {
36         NERR_Success=(int)(0)
37 }
38 #else
39  { __donnot_use_enum_NET_API_STATUS=0x7FFFFFFF}
40 #define NERR_Success ( 0 )
41 #endif
42 ;
43
44 struct domsid {
45         uint8_t sid_rev_num;
46         uint8_t num_auths;
47         uint8_t id_auth[6];
48         uint32_t *sub_auths;
49 };
50
51 /* bitmap NetJoinFlags */
52 #define NETSETUP_JOIN_DOMAIN ( 0x00000001 )
53 #define NETSETUP_ACCT_CREATE ( 0x00000002 )
54 #define NETSETUP_ACCT_DELETE ( 0x00000004 )
55 #define NETSETUP_WIN9X_UPGRADE ( 0x00000010 )
56 #define NETSETUP_DOMAIN_JOIN_IF_JOINED ( 0x00000020 )
57 #define NETSETUP_JOIN_UNSECURE ( 0x00000040 )
58 #define NETSETUP_MACHINE_PWD_PASSED ( 0x00000080 )
59 #define NETSETUP_DEFER_SPN_SET ( 0x00000100 )
60 #define NETSETUP_JOIN_DC_ACCOUNT ( 0x00000200 )
61 #define NETSETUP_JOIN_WITH_NEW_NAME ( 0x00000400 )
62 #define NETSETUP_INSTALL_INVOCATION ( 0x00040000 )
63 #define NETSETUP_IGNORE_UNSUPPORTED_FLAGS ( 0x10000000 )
64
65 enum NETSETUP_JOIN_STATUS
66 #ifndef USE_UINT_ENUMS
67  {
68         NetSetupUnknownStatus=(int)(0),
69         NetSetupUnjoined=(int)(1),
70         NetSetupWorkgroupName=(int)(2),
71         NetSetupDomainName=(int)(3)
72 }
73 #else
74  { __donnot_use_enum_NETSETUP_JOIN_STATUS=0x7FFFFFFF}
75 #define NetSetupUnknownStatus ( 0 )
76 #define NetSetupUnjoined ( 1 )
77 #define NetSetupWorkgroupName ( 2 )
78 #define NetSetupDomainName ( 3 )
79 #endif
80 ;
81
82 struct SERVER_INFO_100 {
83         uint32_t sv100_platform_id;
84         const char * sv100_name;
85 };
86
87 struct SERVER_INFO_101 {
88         uint32_t sv101_platform_id;
89         const char * sv101_name;
90         uint32_t sv101_version_major;
91         uint32_t sv101_version_minor;
92         uint32_t sv101_type;
93         const char * sv101_comment;
94 };
95
96 struct SERVER_INFO_102 {
97         uint32_t sv102_platform_id;
98         const char * sv102_name;
99         uint32_t sv102_version_major;
100         uint32_t sv102_version_minor;
101         uint32_t sv102_type;
102         const char * sv102_comment;
103         uint32_t sv102_users;
104         uint32_t sv102_disc;
105         uint8_t sv102_hidden;
106         uint32_t sv102_announce;
107         uint32_t sv102_anndelta;
108         uint32_t sv102_licenses;
109         const char * sv102_userpath;
110 };
111
112 struct SERVER_INFO_402 {
113         uint32_t sv402_ulist_mtime;
114         uint32_t sv402_glist_mtime;
115         uint32_t sv402_alist_mtime;
116         const char * sv402_alerts;
117         uint32_t sv402_security;
118         uint32_t sv402_numadmin;
119         uint32_t sv402_lanmask;
120         const char * sv402_guestacct;
121         uint32_t sv402_chdevs;
122         uint32_t sv402_chdevq;
123         uint32_t sv402_chdevjobs;
124         uint32_t sv402_connections;
125         uint32_t sv402_shares;
126         uint32_t sv402_openfiles;
127         uint32_t sv402_sessopens;
128         uint32_t sv402_sessvcs;
129         uint32_t sv402_sessreqs;
130         uint32_t sv402_opensearch;
131         uint32_t sv402_activelocks;
132         uint32_t sv402_numreqbuf;
133         uint32_t sv402_sizreqbuf;
134         uint32_t sv402_numbigbuf;
135         uint32_t sv402_numfiletasks;
136         uint32_t sv402_alertsched;
137         uint32_t sv402_erroralert;
138         uint32_t sv402_logonalert;
139         uint32_t sv402_accessalert;
140         uint32_t sv402_diskalert;
141         uint32_t sv402_netioalert;
142         uint32_t sv402_maxauditsz;
143         const char * sv402_srvheuristics;
144 };
145
146 struct SERVER_INFO_403 {
147         uint32_t sv403_ulist_mtime;
148         uint32_t sv403_glist_mtime;
149         uint32_t sv403_alist_mtime;
150         const char * sv403_alerts;
151         uint32_t sv403_security;
152         uint32_t sv403_numadmin;
153         uint32_t sv403_lanmask;
154         const char * sv403_guestacct;
155         uint32_t sv403_chdevs;
156         uint32_t sv403_chdevq;
157         uint32_t sv403_chdevjobs;
158         uint32_t sv403_connections;
159         uint32_t sv403_shares;
160         uint32_t sv403_openfiles;
161         uint32_t sv403_sessopens;
162         uint32_t sv403_sessvcs;
163         uint32_t sv403_sessreqs;
164         uint32_t sv403_opensearch;
165         uint32_t sv403_activelocks;
166         uint32_t sv403_numreqbuf;
167         uint32_t sv403_sizreqbuf;
168         uint32_t sv403_numbigbuf;
169         uint32_t sv403_numfiletasks;
170         uint32_t sv403_alertsched;
171         uint32_t sv403_erroralert;
172         uint32_t sv403_logonalert;
173         uint32_t sv403_accessalert;
174         uint32_t sv403_diskalert;
175         uint32_t sv403_netioalert;
176         uint32_t sv403_maxauditsz;
177         const char * sv403_srvheuristics;
178         uint32_t sv403_auditedevents;
179         uint32_t sv403_autoprofile;
180         const char * sv403_autopath;
181 };
182
183 struct SERVER_INFO_502 {
184         uint32_t sv502_sessopens;
185         uint32_t sv502_sessvcs;
186         uint32_t sv502_opensearch;
187         uint32_t sv502_sizreqbuf;
188         uint32_t sv502_initworkitems;
189         uint32_t sv502_maxworkitems;
190         uint32_t sv502_rawworkitems;
191         uint32_t sv502_irpstacksize;
192         uint32_t sv502_maxrawbuflen;
193         uint32_t sv502_sessusers;
194         uint32_t sv502_sessconns;
195         uint32_t sv502_maxpagedmemoryusage;
196         uint32_t sv502_maxnonpagedmemoryusage;
197         uint8_t sv502_enablesoftcompat;
198         uint8_t sv502_enableforcedlogoff;
199         uint8_t sv502_timesource;
200         uint8_t sv502_acceptdownlevelapis;
201         uint8_t sv502_lmannounce;
202 };
203
204 struct SERVER_INFO_503 {
205         uint32_t sv503_sessopens;
206         uint32_t sv503_sessvcs;
207         uint32_t sv503_opensearch;
208         uint32_t sv503_sizreqbuf;
209         uint32_t sv503_initworkitems;
210         uint32_t sv503_maxworkitems;
211         uint32_t sv503_rawworkitems;
212         uint32_t sv503_irpstacksize;
213         uint32_t sv503_maxrawbuflen;
214         uint32_t sv503_sessusers;
215         uint32_t sv503_sessconns;
216         uint32_t sv503_maxpagedmemoryusage;
217         uint32_t sv503_maxnonpagedmemoryusage;
218         uint8_t sv503_enablesoftcompat;
219         uint8_t sv503_enableforcedlogoff;
220         uint8_t sv503_timesource;
221         uint8_t sv503_acceptdownlevelapis;
222         uint8_t sv503_lmannounce;
223         const char * sv503_domain;
224         uint32_t sv503_maxcopyreadlen;
225         uint32_t sv503_maxcopywritelen;
226         uint32_t sv503_minkeepsearch;
227         uint32_t sv503_maxkeepsearch;
228         uint32_t sv503_minkeepcomplsearch;
229         uint32_t sv503_maxkeepcomplsearch;
230         uint32_t sv503_threadcountadd;
231         uint32_t sv503_numblockthreads;
232         uint32_t sv503_scavtimeout;
233         uint32_t sv503_minrcvqueue;
234         uint32_t sv503_minfreeworkitems;
235         uint32_t sv503_xactmemsize;
236         uint32_t sv503_threadpriority;
237         uint32_t sv503_maxmpxct;
238         uint32_t sv503_oplockbreakwait;
239         uint32_t sv503_oplockbreakresponsewait;
240         uint8_t sv503_enableoplocks;
241         uint8_t sv503_enableoplockforceclose;
242         uint8_t sv503_enablefcbopens;
243         uint8_t sv503_enableraw;
244         uint8_t sv503_enablesharednetdrives;
245         uint32_t sv503_minfreeconnections;
246         uint32_t sv503_maxfreeconnections;
247 };
248
249 struct SERVER_INFO_599 {
250         uint32_t sv599_sessopens;
251         uint32_t sv599_sessvcs;
252         uint32_t sv599_opensearch;
253         uint32_t sv599_sizreqbuf;
254         uint32_t sv599_initworkitems;
255         uint32_t sv599_maxworkitems;
256         uint32_t sv599_rawworkitems;
257         uint32_t sv599_irpstacksize;
258         uint32_t sv599_maxrawbuflen;
259         uint32_t sv599_sessusers;
260         uint32_t sv599_sessconns;
261         uint32_t sv599_maxpagedmemoryusage;
262         uint32_t sv599_maxnonpagedmemoryusage;
263         uint8_t sv599_enablesoftcompat;
264         uint8_t sv599_enableforcedlogoff;
265         uint8_t sv599_timesource;
266         uint8_t sv599_acceptdownlevelapis;
267         uint8_t sv599_lmannounce;
268         const char * sv599_domain;
269         uint32_t sv599_maxcopyreadlen;
270         uint32_t sv599_maxcopywritelen;
271         uint32_t sv599_minkeepsearch;
272         uint32_t sv599_maxkeepsearch;
273         uint32_t sv599_minkeepcomplsearch;
274         uint32_t sv599_maxkeepcomplsearch;
275         uint32_t sv599_threadcountadd;
276         uint32_t sv599_numblockthreads;
277         uint32_t sv599_scavtimeout;
278         uint32_t sv599_minrcvqueue;
279         uint32_t sv599_minfreeworkitems;
280         uint32_t sv599_xactmemsize;
281         uint32_t sv599_threadpriority;
282         uint32_t sv599_maxmpxct;
283         uint32_t sv599_oplockbreakwait;
284         uint32_t sv599_oplockbreakresponsewait;
285         uint8_t sv599_enableoplocks;
286         uint8_t sv599_enableoplockforceclose;
287         uint8_t sv599_enablefcbopens;
288         uint8_t sv599_enableraw;
289         uint8_t sv599_enablesharednetdrives;
290         uint32_t sv599_minfreeconnections;
291         uint32_t sv599_maxfreeconnections;
292         uint32_t sv599_initsesstable;
293         uint32_t sv599_initconntable;
294         uint32_t sv599_initfiletable;
295         uint32_t sv599_initsearchtable;
296         uint32_t sv599_alertschedule;
297         uint32_t sv599_errorthreshold;
298         uint32_t sv599_networkerrorthreshold;
299         uint32_t sv599_diskspacethreshold;
300         uint32_t sv599_reserved;
301         uint32_t sv599_maxlinkdelay;
302         uint32_t sv599_minlinkthroughput;
303         uint32_t sv599_linkinfovalidtime;
304         uint32_t sv599_scavqosinfoupdatetime;
305         uint32_t sv599_maxworkitemidletime;
306 };
307
308 struct SERVER_INFO_598 {
309         uint32_t sv598_maxrawworkitems;
310         uint32_t sv598_maxthreadsperqueue;
311         uint32_t sv598_producttype;
312         uint32_t sv598_serversize;
313         uint32_t sv598_connectionlessautodisc;
314         uint32_t sv598_sharingviolationretries;
315         uint32_t sv598_sharingviolationdelay;
316         uint32_t sv598_maxglobalopensearch;
317         uint32_t sv598_removeduplicatesearches;
318         uint32_t sv598_lockviolationoffset;
319         uint32_t sv598_lockviolationdelay;
320         uint32_t sv598_mdlreadswitchover;
321         uint32_t sv598_cachedopenlimit;
322         uint32_t sv598_otherqueueaffinity;
323         uint8_t sv598_restrictnullsessaccess;
324         uint8_t sv598_enablewfw311directipx;
325         uint32_t sv598_queuesamplesecs;
326         uint32_t sv598_balancecount;
327         uint32_t sv598_preferredaffinity;
328         uint32_t sv598_maxfreerfcbs;
329         uint32_t sv598_maxfreemfcbs;
330         uint32_t sv598_maxfreelfcbs;
331         uint32_t sv598_maxfreepagedpoolchunks;
332         uint32_t sv598_minpagedpoolchunksize;
333         uint32_t sv598_maxpagedpoolchunksize;
334         uint8_t sv598_sendsfrompreferredprocessor;
335         uint32_t sv598_cacheddirectorylimit;
336         uint32_t sv598_maxcopylength;
337         uint8_t sv598_enablecompression;
338         uint8_t sv598_autosharewks;
339         uint8_t sv598_autoshareserver;
340         uint8_t sv598_enablesecuritysignature;
341         uint8_t sv598_requiresecuritysignature;
342         uint32_t sv598_minclientbuffersize;
343         struct GUID sv598_serverguid;
344         uint32_t sv598_ConnectionNoSessionsTimeout;
345         uint32_t sv598_IdleThreadTimeOut;
346         uint8_t sv598_enableW9xsecuritysignature;
347         uint8_t sv598_enforcekerberosreauthentication;
348         uint8_t sv598_disabledos;
349         uint32_t sv598_lowdiskspaceminimum;
350         uint8_t sv598_disablestrictnamechecking;
351 };
352
353 struct SERVER_INFO_1005 {
354         const char * sv1005_comment;
355 };
356
357 struct SERVER_INFO_1107 {
358         uint32_t sv1107_users;
359 };
360
361 struct SERVER_INFO_1010 {
362         int32_t sv1010_disc;
363 };
364
365 struct SERVER_INFO_1016 {
366         uint8_t sv1016_hidden;
367 };
368
369 struct SERVER_INFO_1017 {
370         uint32_t sv1017_announce;
371 };
372
373 struct SERVER_INFO_1018 {
374         uint32_t sv1018_anndelta;
375 };
376
377 struct SERVER_INFO_1501 {
378         uint32_t sv1501_sessopens;
379 };
380
381 struct SERVER_INFO_1502 {
382         uint32_t sv1502_sessvcs;
383 };
384
385 struct SERVER_INFO_1503 {
386         uint32_t sv1503_opensearch;
387 };
388
389 struct SERVER_INFO_1506 {
390         uint32_t sv1506_maxworkitems;
391 };
392
393 struct SERVER_INFO_1509 {
394         uint32_t sv1509_maxrawbuflen;
395 };
396
397 struct SERVER_INFO_1510 {
398         uint32_t sv1510_sessusers;
399 };
400
401 struct SERVER_INFO_1511 {
402         uint32_t sv1511_sessconns;
403 };
404
405 struct SERVER_INFO_1512 {
406         uint32_t sv1512_maxnonpagedmemoryusage;
407 };
408
409 struct SERVER_INFO_1513 {
410         uint32_t sv1513_maxpagedmemoryusage;
411 };
412
413 struct SERVER_INFO_1514 {
414         uint8_t sv1514_enablesoftcompat;
415 };
416
417 struct SERVER_INFO_1515 {
418         uint8_t sv1515_enableforcedlogoff;
419 };
420
421 struct SERVER_INFO_1516 {
422         uint8_t sv1516_timesource;
423 };
424
425 struct SERVER_INFO_1518 {
426         uint8_t sv1518_lmannounce;
427 };
428
429 struct SERVER_INFO_1520 {
430         uint32_t sv1520_maxcopyreadlen;
431 };
432
433 struct SERVER_INFO_1521 {
434         uint32_t sv1521_maxcopywritelen;
435 };
436
437 struct SERVER_INFO_1522 {
438         uint32_t sv1522_minkeepsearch;
439 };
440
441 struct SERVER_INFO_1523 {
442         uint32_t sv1523_maxkeepsearch;
443 };
444
445 struct SERVER_INFO_1524 {
446         uint32_t sv1524_minkeepcomplsearch;
447 };
448
449 struct SERVER_INFO_1525 {
450         uint32_t sv1525_maxkeepcomplsearch;
451 };
452
453 struct SERVER_INFO_1528 {
454         uint32_t sv1528_scavtimeout;
455 };
456
457 struct SERVER_INFO_1529 {
458         uint32_t sv1529_minrcvqueue;
459 };
460
461 struct SERVER_INFO_1530 {
462         uint32_t sv1530_minfreeworkitems;
463 };
464
465 struct SERVER_INFO_1533 {
466         uint32_t sv1533_maxmpxct;
467 };
468
469 struct SERVER_INFO_1534 {
470         uint32_t sv1534_oplockbreakwait;
471 };
472
473 struct SERVER_INFO_1535 {
474         uint32_t sv1535_oplockbreakresponsewait;
475 };
476
477 struct SERVER_INFO_1536 {
478         uint8_t sv1536_enableoplocks;
479 };
480
481 struct SERVER_INFO_1537 {
482         uint8_t sv1537_enableoplockforceclose;
483 };
484
485 struct SERVER_INFO_1538 {
486         uint8_t sv1538_enablefcbopens;
487 };
488
489 struct SERVER_INFO_1539 {
490         uint8_t sv1539_enableraw;
491 };
492
493 struct SERVER_INFO_1540 {
494         uint8_t sv1540_enablesharednetdrives;
495 };
496
497 struct SERVER_INFO_1541 {
498         uint8_t sv1541_minfreeconnections;
499 };
500
501 struct SERVER_INFO_1542 {
502         uint8_t sv1542_maxfreeconnections;
503 };
504
505 struct SERVER_INFO_1543 {
506         uint32_t sv1543_initsesstable;
507 };
508
509 struct SERVER_INFO_1544 {
510         uint32_t sv1544_initconntable;
511 };
512
513 struct SERVER_INFO_1545 {
514         uint32_t sv1545_initfiletable;
515 };
516
517 struct SERVER_INFO_1546 {
518         uint32_t sv1546_initsearchtable;
519 };
520
521 struct SERVER_INFO_1547 {
522         uint32_t sv1547_alertschedule;
523 };
524
525 struct SERVER_INFO_1548 {
526         uint32_t sv1548_errorthreshold;
527 };
528
529 struct SERVER_INFO_1549 {
530         uint32_t sv1549_networkerrorthreshold;
531 };
532
533 struct SERVER_INFO_1550 {
534         uint32_t sv1550_diskspacethreshold;
535 };
536
537 struct SERVER_INFO_1552 {
538         uint32_t sv1552_maxlinkdelay;
539 };
540
541 struct SERVER_INFO_1553 {
542         uint32_t sv1553_minlinkthroughput;
543 };
544
545 struct SERVER_INFO_1554 {
546         uint32_t sv1554_linkinfovalidtime;
547 };
548
549 struct SERVER_INFO_1555 {
550         uint32_t sv1555_scavqosinfoupdatetime;
551 };
552
553 struct SERVER_INFO_1556 {
554         uint32_t sv1556_maxworkitemidletime;
555 };
556
557 struct SERVER_INFO_1557 {
558         uint32_t sv1557_maxrawworkitems;
559 };
560
561 struct SERVER_INFO_1560 {
562         uint32_t sv1560_producttype;
563 };
564
565 struct SERVER_INFO_1561 {
566         uint32_t sv1561_serversize;
567 };
568
569 struct SERVER_INFO_1562 {
570         uint32_t sv1562_connectionlessautodisc;
571 };
572
573 struct SERVER_INFO_1563 {
574         uint32_t sv1563_sharingviolationretries;
575 };
576
577 struct SERVER_INFO_1564 {
578         uint32_t sv1564_sharingviolationdelay;
579 };
580
581 struct SERVER_INFO_1565 {
582         uint32_t sv1565_maxglobalopensearch;
583 };
584
585 struct SERVER_INFO_1566 {
586         uint8_t sv1566_removeduplicatesearches;
587 };
588
589 struct SERVER_INFO_1567 {
590         uint32_t sv1567_lockviolationretries;
591 };
592
593 struct SERVER_INFO_1568 {
594         uint32_t sv1568_lockviolationoffset;
595 };
596
597 struct SERVER_INFO_1569 {
598         uint32_t sv1569_lockviolationdelay;
599 };
600
601 struct SERVER_INFO_1570 {
602         uint32_t sv1570_mdlreadswitchover;
603 };
604
605 struct SERVER_INFO_1571 {
606         uint32_t sv1571_cachedopenlimit;
607 };
608
609 struct SERVER_INFO_1572 {
610         uint32_t sv1572_criticalthreads;
611 };
612
613 struct SERVER_INFO_1573 {
614         uint32_t sv1573_restrictnullsessaccess;
615 };
616
617 struct SERVER_INFO_1574 {
618         uint32_t sv1574_enablewfw311directipx;
619 };
620
621 struct SERVER_INFO_1575 {
622         uint32_t sv1575_otherqueueaffinity;
623 };
624
625 struct SERVER_INFO_1576 {
626         uint32_t sv1576_queuesamplesecs;
627 };
628
629 struct SERVER_INFO_1577 {
630         uint32_t sv1577_balancecount;
631 };
632
633 struct SERVER_INFO_1578 {
634         uint32_t sv1578_preferredaffinity;
635 };
636
637 struct SERVER_INFO_1579 {
638         uint32_t sv1579_maxfreerfcbs;
639 };
640
641 struct SERVER_INFO_1580 {
642         uint32_t sv1580_maxfreemfcbs;
643 };
644
645 struct SERVER_INFO_1581 {
646         uint32_t sv1581_maxfreemlcbs;
647 };
648
649 struct SERVER_INFO_1582 {
650         uint32_t sv1582_maxfreepagedpoolchunks;
651 };
652
653 struct SERVER_INFO_1583 {
654         uint32_t sv1583_minpagedpoolchunksize;
655 };
656
657 struct SERVER_INFO_1584 {
658         uint32_t sv1584_maxpagedpoolchunksize;
659 };
660
661 struct SERVER_INFO_1585 {
662         uint8_t sv1585_sendsfrompreferredprocessor;
663 };
664
665 struct SERVER_INFO_1586 {
666         uint32_t sv1586_maxthreadsperqueue;
667 };
668
669 struct SERVER_INFO_1587 {
670         uint32_t sv1587_cacheddirectorylimit;
671 };
672
673 struct SERVER_INFO_1588 {
674         uint32_t sv1588_maxcopylength;
675 };
676
677 struct SERVER_INFO_1590 {
678         uint32_t sv1590_enablecompression;
679 };
680
681 struct SERVER_INFO_1591 {
682         uint32_t sv1591_autosharewks;
683 };
684
685 struct SERVER_INFO_1592 {
686         uint32_t sv1592_autosharewks;
687 };
688
689 struct SERVER_INFO_1593 {
690         uint32_t sv1593_enablesecuritysignature;
691 };
692
693 struct SERVER_INFO_1594 {
694         uint32_t sv1594_requiresecuritysignature;
695 };
696
697 struct SERVER_INFO_1595 {
698         uint32_t sv1595_minclientbuffersize;
699 };
700
701 struct SERVER_INFO_1596 {
702         uint32_t sv1596_ConnectionNoSessionsTimeout;
703 };
704
705 struct SERVER_INFO_1597 {
706         uint32_t sv1597_IdleThreadTimeOut;
707 };
708
709 struct SERVER_INFO_1598 {
710         uint32_t sv1598_enableW9xsecuritysignature;
711 };
712
713 struct SERVER_INFO_1599 {
714         uint8_t sv1598_enforcekerberosreauthentication;
715 };
716
717 struct SERVER_INFO_1600 {
718         uint8_t sv1598_disabledos;
719 };
720
721 struct SERVER_INFO_1601 {
722         uint32_t sv1598_lowdiskspaceminimum;
723 };
724
725 struct SERVER_INFO_1602 {
726         uint8_t sv_1598_disablestrictnamechecking;
727 };
728
729 struct DOMAIN_CONTROLLER_INFO {
730         const char * domain_controller_name;
731         const char * domain_controller_address;
732         uint32_t domain_controller_address_type;
733         struct GUID domain_guid;
734         const char * domain_name;
735         const char * dns_forest_name;
736         uint32_t flags;
737         const char * dc_site_name;
738         const char * client_site_name;
739 };
740
741 struct USER_INFO_0 {
742         const char * usri0_name;
743 };
744
745 struct USER_INFO_1 {
746         const char * usri1_name;
747         const char * usri1_password;
748         uint32_t usri1_password_age;
749         uint32_t usri1_priv;
750         const char * usri1_home_dir;
751         const char * usri1_comment;
752         uint32_t usri1_flags;
753         const char * usri1_script_path;
754 };
755
756 struct USER_INFO_2 {
757         const char * usri2_name;
758         const char * usri2_password;
759         uint32_t usri2_password_age;
760         uint32_t usri2_priv;
761         const char * usri2_home_dir;
762         const char * usri2_comment;
763         uint32_t usri2_flags;
764         const char * usri2_script_path;
765         uint32_t usri2_auth_flags;
766         const char * usri2_full_name;
767         const char * usri2_usr_comment;
768         const char * usri2_parms;
769         const char * usri2_workstations;
770         uint32_t usri2_last_logon;
771         uint32_t usri2_last_logoff;
772         uint32_t usri2_acct_expires;
773         uint32_t usri2_max_storage;
774         uint32_t usri2_units_per_week;
775         uint8_t *usri2_logon_hours;/* [unique] */
776         uint32_t usri2_bad_pw_count;
777         uint32_t usri2_num_logons;
778         const char * usri2_logon_server;
779         uint32_t usri2_country_code;
780         uint32_t usri2_code_page;
781 };
782
783 struct USER_INFO_3 {
784         const char * usri3_name;
785         uint32_t usri3_password_age;
786         uint32_t usri3_priv;
787         const char * usri3_home_dir;
788         const char * usri3_comment;
789         uint32_t usri3_flags;
790         const char * usri3_script_path;
791         uint32_t usri3_auth_flags;
792         const char * usri3_full_name;
793         const char * usri3_usr_comment;
794         const char * usri3_parms;
795         const char * usri3_workstations;
796         uint32_t usri3_last_logon;
797         uint32_t usri3_last_logoff;
798         uint32_t usri3_acct_expires;
799         uint32_t usri3_max_storage;
800         uint32_t usri3_units_per_week;
801         uint8_t *usri3_logon_hours;/* [unique] */
802         uint32_t usri3_bad_pw_count;
803         uint32_t usri3_num_logons;
804         const char * usri3_logon_server;
805         uint32_t usri3_country_code;
806         uint32_t usri3_code_page;
807         uint32_t usri3_user_id;
808         uint32_t usri3_primary_group_id;
809         const char * usri3_profile;
810         const char * usri3_home_dir_drive;
811         uint32_t usri3_password_expired;
812 };
813
814 struct USER_INFO_4 {
815         const char * usri4_name;
816         const char * usri4_password;
817         uint32_t usri4_password_age;
818         uint32_t usri4_priv;
819         const char * usri4_home_dir;
820         const char * usri4_comment;
821         uint32_t usri4_flags;
822         const char * usri4_script_path;
823         uint32_t usri4_auth_flags;
824         const char * usri4_full_name;
825         const char * usri4_usr_comment;
826         const char * usri4_parms;
827         const char * usri4_workstations;
828         uint32_t usri4_last_logon;
829         uint32_t usri4_last_logoff;
830         uint32_t usri4_acct_expires;
831         uint32_t usri4_max_storage;
832         uint32_t usri4_units_per_week;
833         uint8_t *usri4_logon_hours;/* [unique] */
834         uint32_t usri4_bad_pw_count;
835         uint32_t usri4_num_logons;
836         const char * usri4_logon_server;
837         uint32_t usri4_country_code;
838         uint32_t usri4_code_page;
839         struct domsid *usri4_user_sid;/* [unique] */
840         uint32_t usri4_primary_group_id;
841         const char * usri4_profile;
842         const char * usri4_home_dir_drive;
843         uint32_t usri4_password_expired;
844 };
845
846 struct USER_INFO_10 {
847         const char * usri10_name;
848         const char * usri10_comment;
849         const char * usri10_usr_comment;
850         const char * usri10_full_name;
851 };
852
853 struct USER_INFO_11 {
854         const char * usri11_name;
855         const char * usri11_comment;
856         const char * usri11_usr_comment;
857         const char * usri11_full_name;
858         uint32_t usri11_priv;
859         uint32_t usri11_auth_flags;
860         uint32_t usri11_password_age;
861         const char * usri11_home_dir;
862         const char * usri11_parms;
863         uint32_t usri11_last_logon;
864         uint32_t usri11_last_logoff;
865         uint32_t usri11_bad_pw_count;
866         uint32_t usri11_num_logons;
867         const char * usri11_logon_server;
868         uint32_t usri11_country_code;
869         const char * usri11_workstations;
870         uint32_t usri11_max_storage;
871         uint32_t usri11_units_per_week;
872         uint8_t *usri11_logon_hours;/* [unique] */
873         uint32_t usri11_code_page;
874 };
875
876 struct USER_INFO_20 {
877         const char * usri20_name;
878         const char * usri20_full_name;
879         const char * usri20_comment;
880         uint32_t usri20_flags;
881         uint32_t usri20_user_id;
882 };
883
884 struct USER_INFO_21 {
885         uint8_t *usri21_password;
886 };
887
888 struct USER_INFO_22 {
889         const char * usri22_name;
890         uint8_t *usri22_password;
891         uint32_t usri22_password_age;
892         uint32_t usri22_priv;
893         const char * usri22_home_dir;
894         const char * usri22_comment;
895         uint32_t usri22_flags;
896         uint32_t usri22_script_path;
897         uint32_t usri22_auth_flags;
898         const char * usri22_full_name;
899         const char * usri22_usr_comment;
900         const char * usri22_parms;
901         const char * usri22_workstations;
902         uint32_t usri22_last_logon;
903         uint32_t usri22_last_logoff;
904         uint32_t usri22_acct_expires;
905         uint32_t usri22_max_storage;
906         uint32_t usri22_units_per_week;
907         uint8_t *usri22_logon_hours;/* [unique] */
908         uint32_t usri22_bad_pw_count;
909         uint32_t usri22_num_logons;
910         const char * usri22_logon_server;
911         uint32_t usri22_country_code;
912         uint32_t usri22_code_page;
913 };
914
915 struct USER_INFO_23 {
916         const char * usri23_name;
917         const char * usri23_full_name;
918         const char * usri23_comment;
919         uint32_t usri23_flags;
920         struct domsid *usri23_user_sid;/* [unique] */
921 };
922
923 struct USER_INFO_1003 {
924         const char * usri1003_password;
925 };
926
927 struct USER_INFO_1005 {
928         uint32_t usri1005_priv;
929 };
930
931 struct USER_INFO_1006 {
932         const char * usri1006_home_dir;
933 };
934
935 struct USER_INFO_1007 {
936         const char * usri1007_comment;
937 };
938
939 struct USER_INFO_1008 {
940         uint32_t usri1008_flags;
941 };
942
943 struct USER_INFO_1009 {
944         const char * usri1009_script_path;
945 };
946
947 struct USER_INFO_1010 {
948         uint32_t usri1010_auth_flags;
949 };
950
951 struct USER_INFO_1011 {
952         const char * usri1011_full_name;
953 };
954
955 struct USER_INFO_1012 {
956         const char * usri1012_usr_comment;
957 };
958
959 struct USER_INFO_1013 {
960         const char * usri1013_parms;
961 };
962
963 struct USER_INFO_1014 {
964         const char * usri1014_workstations;
965 };
966
967 struct USER_INFO_1017 {
968         uint32_t usri1017_acct_expires;
969 };
970
971 struct USER_INFO_1018 {
972         uint32_t usri1018_max_storage;
973 };
974
975 struct USER_INFO_1020 {
976         uint32_t usri1020_units_per_week;
977         uint8_t *usri1020_logon_hours;/* [unique] */
978 };
979
980 struct USER_INFO_1023 {
981         const char * usri1023_logon_server;
982 };
983
984 struct USER_INFO_1024 {
985         uint32_t usri1024_country_code;
986 };
987
988 struct USER_INFO_1025 {
989         uint32_t usri1025_code_page;
990 };
991
992 struct USER_INFO_1051 {
993         uint32_t usri1051_primary_group_id;
994 };
995
996 struct USER_INFO_1052 {
997         const char * usri1052_profile;
998 };
999
1000 struct USER_INFO_1053 {
1001         const char * usri1053_home_dir_drive;
1002 };
1003
1004 struct USER_INFO_X {
1005         const char * usriX_name;
1006         const char * usriX_password;
1007         uint32_t usriX_password_age;
1008         uint32_t usriX_priv;
1009         const char * usriX_home_dir;
1010         const char * usriX_comment;
1011         uint32_t usriX_flags;
1012         const char * usriX_script_path;
1013         uint32_t usriX_auth_flags;
1014         const char * usriX_full_name;
1015         const char * usriX_usr_comment;
1016         const char * usriX_parms;
1017         const char * usriX_workstations;
1018         uint32_t usriX_last_logon;
1019         uint32_t usriX_last_logoff;
1020         uint32_t usriX_acct_expires;
1021         uint32_t usriX_max_storage;
1022         uint32_t usriX_units_per_week;
1023         uint8_t *usriX_logon_hours;/* [unique] */
1024         uint32_t usriX_bad_pw_count;
1025         uint32_t usriX_num_logons;
1026         const char * usriX_logon_server;
1027         uint32_t usriX_country_code;
1028         uint32_t usriX_code_page;
1029         const char * usriX_profile;
1030         const char * usriX_home_dir_drive;
1031         uint32_t usriX_user_id;
1032         uint32_t usriX_primary_group_id;
1033         uint32_t usriX_password_expired;
1034 };
1035
1036 struct GROUP_USERS_INFO_0 {
1037         const char * grui0_name;
1038 };
1039
1040 struct GROUP_USERS_INFO_1 {
1041         const char * grui1_name;
1042         uint32_t grui1_attributes;
1043 };
1044
1045 struct LOCALGROUP_USERS_INFO_0 {
1046         const char * lgrui0_name;
1047 };
1048
1049 struct USER_MODALS_INFO_0 {
1050         uint32_t usrmod0_min_passwd_len;
1051         uint32_t usrmod0_max_passwd_age;
1052         uint32_t usrmod0_min_passwd_age;
1053         uint32_t usrmod0_force_logoff;
1054         uint32_t usrmod0_password_hist_len;
1055 };
1056
1057 struct USER_MODALS_INFO_1 {
1058         uint32_t usrmod1_role;
1059         const char * usrmod1_primary;
1060 };
1061
1062 struct USER_MODALS_INFO_2 {
1063         const char * usrmod2_domain_name;
1064         struct domsid *usrmod2_domain_id;/* [unique] */
1065 };
1066
1067 struct USER_MODALS_INFO_3 {
1068         uint32_t usrmod3_lockout_duration;
1069         uint32_t usrmod3_lockout_observation_window;
1070         uint32_t usrmod3_lockout_threshold;
1071 };
1072
1073 struct USER_MODALS_INFO_1001 {
1074         uint32_t usrmod1001_min_passwd_len;
1075 };
1076
1077 struct USER_MODALS_INFO_1002 {
1078         uint32_t usrmod1002_max_passwd_age;
1079 };
1080
1081 struct USER_MODALS_INFO_1003 {
1082         uint32_t usrmod1003_min_passwd_age;
1083 };
1084
1085 struct USER_MODALS_INFO_1004 {
1086         uint32_t usrmod1004_force_logoff;
1087 };
1088
1089 struct USER_MODALS_INFO_1005 {
1090         uint32_t usrmod1005_password_hist_len;
1091 };
1092
1093 struct USER_MODALS_INFO_1006 {
1094         uint32_t usrmod1006_role;
1095 };
1096
1097 struct USER_MODALS_INFO_1007 {
1098         const char * usrmod1007_primary;
1099 };
1100
1101 struct NET_DISPLAY_USER {
1102         const char * usri1_name;
1103         const char * usri1_comment;
1104         uint32_t usri1_flags;
1105         const char * usri1_full_name;
1106         uint32_t usri1_user_id;
1107         uint32_t usri1_next_index;
1108 };
1109
1110 struct NET_DISPLAY_MACHINE {
1111         const char * usri2_name;
1112         const char * usri2_comment;
1113         uint32_t usri2_flags;
1114         uint32_t usri2_user_id;
1115         uint32_t usri2_next_index;
1116 };
1117
1118 struct NET_DISPLAY_GROUP {
1119         const char * grpi3_name;
1120         const char * grpi3_comment;
1121         uint32_t grpi3_group_id;
1122         uint32_t grpi3_attributes;
1123         uint32_t grpi3_next_index;
1124 };
1125
1126 struct GROUP_INFO_0 {
1127         const char * grpi0_name;
1128 };
1129
1130 struct GROUP_INFO_1 {
1131         const char * grpi1_name;
1132         const char * grpi1_comment;
1133 };
1134
1135 struct GROUP_INFO_2 {
1136         const char * grpi2_name;
1137         const char * grpi2_comment;
1138         uint32_t grpi2_group_id;
1139         uint32_t grpi2_attributes;
1140 };
1141
1142 struct GROUP_INFO_3 {
1143         const char * grpi3_name;
1144         const char * grpi3_comment;
1145         struct domsid *grpi3_group_sid;/* [unique] */
1146         uint32_t grpi3_attributes;
1147 };
1148
1149 struct GROUP_INFO_1002 {
1150         const char * grpi1002_comment;
1151 };
1152
1153 struct GROUP_INFO_1005 {
1154         uint32_t grpi1005_attributes;
1155 };
1156
1157 struct LOCALGROUP_INFO_0 {
1158         const char * lgrpi0_name;
1159 };
1160
1161 struct LOCALGROUP_INFO_1 {
1162         const char * lgrpi1_name;
1163         const char * lgrpi1_comment;
1164 };
1165
1166 struct LOCALGROUP_INFO_1002 {
1167         const char * lgrpi1002_comment;
1168 };
1169
1170 enum SID_NAME_USE
1171 #ifndef USE_UINT_ENUMS
1172  {
1173         SidTypeUser=(int)(1),
1174         SidTypeGroup=(int)(2),
1175         SidTypeDomain=(int)(3),
1176         SidTypeAlias=(int)(4),
1177         SidTypeWellKnownGroup=(int)(5),
1178         SidTypeDeletedAccount=(int)(6),
1179         SidTypeInvalid=(int)(7),
1180         SidTypeUnknown=(int)(8),
1181         SidTypeComputer=(int)(9),
1182         SidTypeLabel=(int)(10)
1183 }
1184 #else
1185  { __donnot_use_enum_SID_NAME_USE=0x7FFFFFFF}
1186 #define SidTypeUser ( 1 )
1187 #define SidTypeGroup ( 2 )
1188 #define SidTypeDomain ( 3 )
1189 #define SidTypeAlias ( 4 )
1190 #define SidTypeWellKnownGroup ( 5 )
1191 #define SidTypeDeletedAccount ( 6 )
1192 #define SidTypeInvalid ( 7 )
1193 #define SidTypeUnknown ( 8 )
1194 #define SidTypeComputer ( 9 )
1195 #define SidTypeLabel ( 10 )
1196 #endif
1197 ;
1198
1199 struct LOCALGROUP_MEMBERS_INFO_0 {
1200         struct domsid *lgrmi0_sid;/* [unique] */
1201 };
1202
1203 struct LOCALGROUP_MEMBERS_INFO_1 {
1204         struct domsid *lgrmi1_sid;/* [unique] */
1205         enum SID_NAME_USE lgrmi1_sidusage;
1206         const char * lgrmi1_name;
1207 };
1208
1209 struct LOCALGROUP_MEMBERS_INFO_2 {
1210         struct domsid *lgrmi2_sid;/* [unique] */
1211         enum SID_NAME_USE lgrmi2_sidusage;
1212         const char * lgrmi2_domainandname;
1213 };
1214
1215 struct LOCALGROUP_MEMBERS_INFO_3 {
1216         const char * lgrmi3_domainandname;
1217 };
1218
1219 struct TIME_OF_DAY_INFO {
1220         uint32_t tod_elapsedt;
1221         uint32_t tod_msecs;
1222         uint32_t tod_hours;
1223         uint32_t tod_mins;
1224         uint32_t tod_secs;
1225         uint32_t tod_hunds;
1226         int32_t tod_timezone;
1227         uint32_t tod_tinterval;
1228         uint32_t tod_day;
1229         uint32_t tod_month;
1230         uint32_t tod_year;
1231         uint32_t tod_weekday;
1232 };
1233
1234 struct SHARE_INFO_0 {
1235         const char * shi0_netname;
1236 };
1237
1238 struct SHARE_INFO_1 {
1239         const char * shi1_netname;
1240         uint32_t shi1_type;
1241         const char * shi1_remark;
1242 };
1243
1244 struct SHARE_INFO_2 {
1245         const char * shi2_netname;
1246         uint32_t shi2_type;
1247         const char * shi2_remark;
1248         uint32_t shi2_permissions;
1249         uint32_t shi2_max_uses;
1250         uint32_t shi2_current_uses;
1251         const char * shi2_path;
1252         const char * shi2_passwd;
1253 };
1254
1255 struct SHARE_INFO_501 {
1256         const char * shi501_netname;
1257         uint32_t shi501_type;
1258         const char * shi501_remark;
1259         uint32_t shi501_flags;
1260 };
1261
1262 struct SHARE_INFO_1004 {
1263         const char * shi1004_remark;
1264 };
1265
1266 /* bitmap SHARE_INFO_1005_FLAGS */
1267 #define SHI1005_FLAGS_DFS ( 0x01 )
1268 #define SHI1005_FLAGS_DFS_ROOT ( 0x02 )
1269 #define CSC_CACHE_MANUAL_REINT ( 0x00 )
1270 #define CSC_CACHE_AUTO_REINT ( 0x10 )
1271 #define CSC_CACHE_VDO ( 0x20 )
1272 #define CSC_CACHE_NONE ( 0x30 )
1273 #define SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS ( 0x0100 )
1274 #define SHI1005_FLAGS_FORCE_SHARED_DELETE ( 0x0200 )
1275 #define SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING ( 0x0400 )
1276 #define SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM ( 0x0800 )
1277
1278 struct SHARE_INFO_1005 {
1279         uint32_t shi1005_flags;
1280 };
1281
1282 struct SHARE_INFO_1006 {
1283         uint32_t shi1006_max_uses;
1284 };
1285
1286 struct FILE_INFO_2 {
1287         uint32_t fi2_id;
1288 };
1289
1290 struct FILE_INFO_3 {
1291         uint32_t fi3_id;
1292         uint32_t fi3_permissions;
1293         uint32_t fi3_num_locks;
1294         const char * fi3_pathname;
1295         const char * fi3_username;
1296 };
1297
1298 struct NETLOGON_INFO_1 {
1299         uint32_t netlog1_flags;
1300         enum NET_API_STATUS netlog1_pdc_connection_status;
1301 };
1302
1303 struct NETLOGON_INFO_2 {
1304         uint32_t netlog2_flags;
1305         enum NET_API_STATUS netlog2_pdc_connection_status;
1306         const char * netlog2_trusted_dc_name;
1307         enum NET_API_STATUS netlog2_tc_connection_status;
1308 };
1309
1310 struct NETLOGON_INFO_3 {
1311         uint32_t netlog1_flags;
1312         uint32_t netlog3_logon_attempts;
1313         uint32_t netlog3_reserved1;
1314         uint32_t netlog3_reserved2;
1315         uint32_t netlog3_reserved3;
1316         uint32_t netlog3_reserved4;
1317         uint32_t netlog3_reserved5;
1318 };
1319
1320 struct NETLOGON_INFO_4 {
1321         const char * netlog4_trusted_dc_name;
1322         const char * netlog4_trusted_domain_name;
1323 };
1324
1325
1326 struct NetJoinDomain {
1327         struct {
1328                 const char * server;/* [unique] */
1329                 const char * domain;/* [ref] */
1330                 const char * account_ou;/* [unique] */
1331                 const char * account;/* [unique] */
1332                 const char * password;/* [unique] */
1333                 uint32_t join_flags;
1334         } in;
1335
1336         struct {
1337                 enum NET_API_STATUS result;
1338         } out;
1339
1340 };
1341
1342
1343 struct NetUnjoinDomain {
1344         struct {
1345                 const char * server_name;/* [unique] */
1346                 const char * account;/* [unique] */
1347                 const char * password;/* [unique] */
1348                 uint32_t unjoin_flags;
1349         } in;
1350
1351         struct {
1352                 enum NET_API_STATUS result;
1353         } out;
1354
1355 };
1356
1357
1358 struct NetGetJoinInformation {
1359         struct {
1360                 const char * server_name;/* [unique] */
1361         } in;
1362
1363         struct {
1364                 const char * *name_buffer;/* [ref] */
1365                 uint16_t *name_type;/* [ref] */
1366                 enum NET_API_STATUS result;
1367         } out;
1368
1369 };
1370
1371
1372 struct NetGetJoinableOUs {
1373         struct {
1374                 const char * server_name;/* [unique] */
1375                 const char * domain;/* [ref] */
1376                 const char * account;/* [unique] */
1377                 const char * password;/* [unique] */
1378         } in;
1379
1380         struct {
1381                 uint32_t *ou_count;/* [ref] */
1382                 const char * **ous;/* [ref] */
1383                 enum NET_API_STATUS result;
1384         } out;
1385
1386 };
1387
1388
1389 struct NetRenameMachineInDomain {
1390         struct {
1391                 const char * server_name;
1392                 const char * new_machine_name;
1393                 const char * account;
1394                 const char * password;
1395                 uint32_t rename_options;
1396         } in;
1397
1398         struct {
1399                 enum NET_API_STATUS result;
1400         } out;
1401
1402 };
1403
1404
1405 struct NetServerGetInfo {
1406         struct {
1407                 const char * server_name;/* [unique] */
1408                 uint32_t level;
1409         } in;
1410
1411         struct {
1412                 uint8_t **buffer;/* [ref] */
1413                 enum NET_API_STATUS result;
1414         } out;
1415
1416 };
1417
1418
1419 struct NetServerSetInfo {
1420         struct {
1421                 const char * server_name;/* [unique] */
1422                 uint32_t level;
1423                 uint8_t *buffer;/* [ref] */
1424         } in;
1425
1426         struct {
1427                 uint32_t *parm_error;/* [ref] */
1428                 enum NET_API_STATUS result;
1429         } out;
1430
1431 };
1432
1433
1434 struct NetGetDCName {
1435         struct {
1436                 const char * server_name;/* [unique] */
1437                 const char * domain_name;/* [unique] */
1438         } in;
1439
1440         struct {
1441                 uint8_t **buffer;/* [ref] */
1442                 enum NET_API_STATUS result;
1443         } out;
1444
1445 };
1446
1447
1448 struct NetGetAnyDCName {
1449         struct {
1450                 const char * server_name;/* [unique] */
1451                 const char * domain_name;/* [unique] */
1452         } in;
1453
1454         struct {
1455                 uint8_t **buffer;/* [ref] */
1456                 enum NET_API_STATUS result;
1457         } out;
1458
1459 };
1460
1461
1462 struct DsGetDcName {
1463         struct {
1464                 const char * server_name;/* [unique] */
1465                 const char * domain_name;/* [ref] */
1466                 struct GUID *domain_guid;/* [unique] */
1467                 const char * site_name;/* [unique] */
1468                 uint32_t flags;
1469         } in;
1470
1471         struct {
1472                 struct DOMAIN_CONTROLLER_INFO **dc_info;/* [ref] */
1473                 enum NET_API_STATUS result;
1474         } out;
1475
1476 };
1477
1478
1479 struct NetUserAdd {
1480         struct {
1481                 const char * server_name;/* [unique] */
1482                 uint32_t level;
1483                 uint8_t *buffer;/* [ref] */
1484         } in;
1485
1486         struct {
1487                 uint32_t *parm_error;/* [ref] */
1488                 enum NET_API_STATUS result;
1489         } out;
1490
1491 };
1492
1493
1494 struct NetUserDel {
1495         struct {
1496                 const char * server_name;/* [unique] */
1497                 const char * user_name;/* [ref] */
1498         } in;
1499
1500         struct {
1501                 enum NET_API_STATUS result;
1502         } out;
1503
1504 };
1505
1506
1507 struct NetUserEnum {
1508         struct {
1509                 const char * server_name;/* [unique] */
1510                 uint32_t level;
1511                 uint32_t filter;
1512                 uint32_t prefmaxlen;
1513                 uint32_t *resume_handle;/* [ref] */
1514         } in;
1515
1516         struct {
1517                 uint8_t **buffer;/* [ref] */
1518                 uint32_t *entries_read;/* [ref] */
1519                 uint32_t *total_entries;/* [ref] */
1520                 uint32_t *resume_handle;/* [ref] */
1521                 enum NET_API_STATUS result;
1522         } out;
1523
1524 };
1525
1526
1527 struct NetUserChangePassword {
1528         struct {
1529                 const char * domain_name;
1530                 const char * user_name;
1531                 const char * old_password;
1532                 const char * new_password;
1533         } in;
1534
1535         struct {
1536                 enum NET_API_STATUS result;
1537         } out;
1538
1539 };
1540
1541
1542 struct NetUserGetInfo {
1543         struct {
1544                 const char * server_name;
1545                 const char * user_name;
1546                 uint32_t level;
1547         } in;
1548
1549         struct {
1550                 uint8_t **buffer;/* [ref] */
1551                 enum NET_API_STATUS result;
1552         } out;
1553
1554 };
1555
1556
1557 struct NetUserSetInfo {
1558         struct {
1559                 const char * server_name;
1560                 const char * user_name;
1561                 uint32_t level;
1562                 uint8_t *buffer;/* [ref] */
1563         } in;
1564
1565         struct {
1566                 uint32_t *parm_err;/* [ref] */
1567                 enum NET_API_STATUS result;
1568         } out;
1569
1570 };
1571
1572
1573 struct NetUserGetGroups {
1574         struct {
1575                 const char * server_name;
1576                 const char * user_name;
1577                 uint32_t level;
1578                 uint32_t prefmaxlen;
1579         } in;
1580
1581         struct {
1582                 uint8_t **buffer;/* [ref] */
1583                 uint32_t *entries_read;/* [ref] */
1584                 uint32_t *total_entries;/* [ref] */
1585                 enum NET_API_STATUS result;
1586         } out;
1587
1588 };
1589
1590
1591 struct NetUserSetGroups {
1592         struct {
1593                 const char * server_name;
1594                 const char * user_name;
1595                 uint32_t level;
1596                 uint8_t *buffer;/* [ref] */
1597                 uint32_t num_entries;
1598         } in;
1599
1600         struct {
1601                 enum NET_API_STATUS result;
1602         } out;
1603
1604 };
1605
1606
1607 struct NetUserGetLocalGroups {
1608         struct {
1609                 const char * server_name;
1610                 const char * user_name;
1611                 uint32_t level;
1612                 uint32_t flags;
1613                 uint32_t prefmaxlen;
1614         } in;
1615
1616         struct {
1617                 uint8_t **buffer;/* [ref] */
1618                 uint32_t *entries_read;/* [ref] */
1619                 uint32_t *total_entries;/* [ref] */
1620                 enum NET_API_STATUS result;
1621         } out;
1622
1623 };
1624
1625
1626 struct NetUserModalsGet {
1627         struct {
1628                 const char * server_name;
1629                 uint32_t level;
1630         } in;
1631
1632         struct {
1633                 uint8_t **buffer;/* [ref] */
1634                 enum NET_API_STATUS result;
1635         } out;
1636
1637 };
1638
1639
1640 struct NetUserModalsSet {
1641         struct {
1642                 const char * server_name;
1643                 uint32_t level;
1644                 uint8_t *buffer;/* [ref] */
1645         } in;
1646
1647         struct {
1648                 uint32_t *parm_err;/* [ref] */
1649                 enum NET_API_STATUS result;
1650         } out;
1651
1652 };
1653
1654
1655 struct NetQueryDisplayInformation {
1656         struct {
1657                 const char * server_name;/* [unique] */
1658                 uint32_t level;
1659                 uint32_t idx;
1660                 uint32_t entries_requested;
1661                 uint32_t prefmaxlen;
1662         } in;
1663
1664         struct {
1665                 uint32_t *entries_read;/* [ref] */
1666                 void **buffer;/* [noprint,ref] */
1667                 enum NET_API_STATUS result;
1668         } out;
1669
1670 };
1671
1672
1673 struct NetGroupAdd {
1674         struct {
1675                 const char * server_name;
1676                 uint32_t level;
1677                 uint8_t *buffer;/* [ref] */
1678         } in;
1679
1680         struct {
1681                 uint32_t *parm_err;/* [ref] */
1682                 enum NET_API_STATUS result;
1683         } out;
1684
1685 };
1686
1687
1688 struct NetGroupDel {
1689         struct {
1690                 const char * server_name;
1691                 const char * group_name;
1692         } in;
1693
1694         struct {
1695                 enum NET_API_STATUS result;
1696         } out;
1697
1698 };
1699
1700
1701 struct NetGroupEnum {
1702         struct {
1703                 const char * server_name;
1704                 uint32_t level;
1705                 uint32_t prefmaxlen;
1706                 uint32_t *resume_handle;/* [ref] */
1707         } in;
1708
1709         struct {
1710                 uint8_t **buffer;/* [ref] */
1711                 uint32_t *entries_read;/* [ref] */
1712                 uint32_t *total_entries;/* [ref] */
1713                 uint32_t *resume_handle;/* [ref] */
1714                 enum NET_API_STATUS result;
1715         } out;
1716
1717 };
1718
1719
1720 struct NetGroupSetInfo {
1721         struct {
1722                 const char * server_name;
1723                 const char * group_name;
1724                 uint32_t level;
1725                 uint8_t *buffer;/* [ref] */
1726         } in;
1727
1728         struct {
1729                 uint32_t *parm_err;/* [ref] */
1730                 enum NET_API_STATUS result;
1731         } out;
1732
1733 };
1734
1735
1736 struct NetGroupGetInfo {
1737         struct {
1738                 const char * server_name;
1739                 const char * group_name;
1740                 uint32_t level;
1741         } in;
1742
1743         struct {
1744                 uint8_t **buffer;/* [ref] */
1745                 enum NET_API_STATUS result;
1746         } out;
1747
1748 };
1749
1750
1751 struct NetGroupAddUser {
1752         struct {
1753                 const char * server_name;
1754                 const char * group_name;
1755                 const char * user_name;
1756         } in;
1757
1758         struct {
1759                 enum NET_API_STATUS result;
1760         } out;
1761
1762 };
1763
1764
1765 struct NetGroupDelUser {
1766         struct {
1767                 const char * server_name;
1768                 const char * group_name;
1769                 const char * user_name;
1770         } in;
1771
1772         struct {
1773                 enum NET_API_STATUS result;
1774         } out;
1775
1776 };
1777
1778
1779 struct NetGroupGetUsers {
1780         struct {
1781                 const char * server_name;
1782                 const char * group_name;
1783                 uint32_t level;
1784                 uint32_t prefmaxlen;
1785                 uint32_t *resume_handle;/* [ref] */
1786         } in;
1787
1788         struct {
1789                 uint8_t **buffer;/* [ref] */
1790                 uint32_t *entries_read;/* [ref] */
1791                 uint32_t *total_entries;/* [ref] */
1792                 uint32_t *resume_handle;/* [ref] */
1793                 enum NET_API_STATUS result;
1794         } out;
1795
1796 };
1797
1798
1799 struct NetGroupSetUsers {
1800         struct {
1801                 const char * server_name;
1802                 const char * group_name;
1803                 uint32_t level;
1804                 uint8_t *buffer;/* [ref] */
1805                 uint32_t num_entries;
1806         } in;
1807
1808         struct {
1809                 enum NET_API_STATUS result;
1810         } out;
1811
1812 };
1813
1814
1815 struct NetLocalGroupAdd {
1816         struct {
1817                 const char * server_name;
1818                 uint32_t level;
1819                 uint8_t *buffer;/* [ref] */
1820         } in;
1821
1822         struct {
1823                 uint32_t *parm_err;/* [ref] */
1824                 enum NET_API_STATUS result;
1825         } out;
1826
1827 };
1828
1829
1830 struct NetLocalGroupDel {
1831         struct {
1832                 const char * server_name;
1833                 const char * group_name;
1834         } in;
1835
1836         struct {
1837                 enum NET_API_STATUS result;
1838         } out;
1839
1840 };
1841
1842
1843 struct NetLocalGroupGetInfo {
1844         struct {
1845                 const char * server_name;
1846                 const char * group_name;
1847                 uint32_t level;
1848         } in;
1849
1850         struct {
1851                 uint8_t **buffer;/* [ref] */
1852                 enum NET_API_STATUS result;
1853         } out;
1854
1855 };
1856
1857
1858 struct NetLocalGroupSetInfo {
1859         struct {
1860                 const char * server_name;
1861                 const char * group_name;
1862                 uint32_t level;
1863                 uint8_t *buffer;/* [ref] */
1864         } in;
1865
1866         struct {
1867                 uint32_t *parm_err;/* [ref] */
1868                 enum NET_API_STATUS result;
1869         } out;
1870
1871 };
1872
1873
1874 struct NetLocalGroupEnum {
1875         struct {
1876                 const char * server_name;
1877                 uint32_t level;
1878                 uint32_t prefmaxlen;
1879                 uint32_t *resume_handle;/* [ref] */
1880         } in;
1881
1882         struct {
1883                 uint8_t **buffer;/* [ref] */
1884                 uint32_t *entries_read;/* [ref] */
1885                 uint32_t *total_entries;/* [ref] */
1886                 uint32_t *resume_handle;/* [ref] */
1887                 enum NET_API_STATUS result;
1888         } out;
1889
1890 };
1891
1892
1893 struct NetLocalGroupAddMembers {
1894         struct {
1895                 const char * server_name;
1896                 const char * group_name;
1897                 uint32_t level;
1898                 uint8_t *buffer;/* [ref] */
1899                 uint32_t total_entries;
1900         } in;
1901
1902         struct {
1903                 enum NET_API_STATUS result;
1904         } out;
1905
1906 };
1907
1908
1909 struct NetLocalGroupDelMembers {
1910         struct {
1911                 const char * server_name;
1912                 const char * group_name;
1913                 uint32_t level;
1914                 uint8_t *buffer;/* [ref] */
1915                 uint32_t total_entries;
1916         } in;
1917
1918         struct {
1919                 enum NET_API_STATUS result;
1920         } out;
1921
1922 };
1923
1924
1925 struct NetLocalGroupGetMembers {
1926         struct {
1927                 const char * server_name;
1928                 const char * local_group_name;
1929                 uint32_t level;
1930                 uint32_t prefmaxlen;
1931                 uint32_t *resume_handle;/* [ref] */
1932         } in;
1933
1934         struct {
1935                 uint8_t **buffer;/* [ref] */
1936                 uint32_t *entries_read;/* [ref] */
1937                 uint32_t *total_entries;/* [ref] */
1938                 uint32_t *resume_handle;/* [ref] */
1939                 enum NET_API_STATUS result;
1940         } out;
1941
1942 };
1943
1944
1945 struct NetLocalGroupSetMembers {
1946         struct {
1947                 const char * server_name;
1948                 const char * group_name;
1949                 uint32_t level;
1950                 uint8_t *buffer;/* [ref] */
1951                 uint32_t total_entries;
1952         } in;
1953
1954         struct {
1955                 enum NET_API_STATUS result;
1956         } out;
1957
1958 };
1959
1960
1961 struct NetRemoteTOD {
1962         struct {
1963                 const char * server_name;
1964         } in;
1965
1966         struct {
1967                 uint8_t **buffer;/* [ref] */
1968                 enum NET_API_STATUS result;
1969         } out;
1970
1971 };
1972
1973
1974 struct NetShareAdd {
1975         struct {
1976                 const char * server_name;
1977                 uint32_t level;
1978                 uint8_t *buffer;/* [ref] */
1979         } in;
1980
1981         struct {
1982                 uint32_t *parm_err;/* [ref] */
1983                 enum NET_API_STATUS result;
1984         } out;
1985
1986 };
1987
1988
1989 struct NetShareDel {
1990         struct {
1991                 const char * server_name;
1992                 const char * net_name;
1993                 uint32_t reserved;
1994         } in;
1995
1996         struct {
1997                 enum NET_API_STATUS result;
1998         } out;
1999
2000 };
2001
2002
2003 struct NetShareEnum {
2004         struct {
2005                 const char * server_name;
2006                 uint32_t level;
2007                 uint32_t prefmaxlen;
2008                 uint32_t *resume_handle;/* [ref] */
2009         } in;
2010
2011         struct {
2012                 uint8_t **buffer;/* [ref] */
2013                 uint32_t *entries_read;/* [ref] */
2014                 uint32_t *total_entries;/* [ref] */
2015                 uint32_t *resume_handle;/* [ref] */
2016                 enum NET_API_STATUS result;
2017         } out;
2018
2019 };
2020
2021
2022 struct NetShareGetInfo {
2023         struct {
2024                 const char * server_name;
2025                 const char * net_name;
2026                 uint32_t level;
2027         } in;
2028
2029         struct {
2030                 uint8_t **buffer;/* [ref] */
2031                 enum NET_API_STATUS result;
2032         } out;
2033
2034 };
2035
2036
2037 struct NetShareSetInfo {
2038         struct {
2039                 const char * server_name;
2040                 const char * net_name;
2041                 uint32_t level;
2042                 uint8_t *buffer;/* [ref] */
2043         } in;
2044
2045         struct {
2046                 uint32_t *parm_err;/* [ref] */
2047                 enum NET_API_STATUS result;
2048         } out;
2049
2050 };
2051
2052
2053 struct NetFileClose {
2054         struct {
2055                 const char * server_name;
2056                 uint32_t fileid;
2057         } in;
2058
2059         struct {
2060                 enum NET_API_STATUS result;
2061         } out;
2062
2063 };
2064
2065
2066 struct NetFileGetInfo {
2067         struct {
2068                 const char * server_name;
2069                 uint32_t fileid;
2070                 uint32_t level;
2071         } in;
2072
2073         struct {
2074                 uint8_t **buffer;/* [ref] */
2075                 enum NET_API_STATUS result;
2076         } out;
2077
2078 };
2079
2080
2081 struct NetFileEnum {
2082         struct {
2083                 const char * server_name;
2084                 const char * base_path;
2085                 const char * user_name;
2086                 uint32_t level;
2087                 uint32_t prefmaxlen;
2088                 uint32_t *resume_handle;/* [ref] */
2089         } in;
2090
2091         struct {
2092                 uint8_t **buffer;/* [ref] */
2093                 uint32_t *entries_read;/* [ref] */
2094                 uint32_t *total_entries;/* [ref] */
2095                 uint32_t *resume_handle;/* [ref] */
2096                 enum NET_API_STATUS result;
2097         } out;
2098
2099 };
2100
2101
2102 struct NetShutdownInit {
2103         struct {
2104                 const char * server_name;
2105                 const char * message;
2106                 uint32_t timeout;
2107                 uint8_t force_apps;
2108                 uint8_t do_reboot;
2109         } in;
2110
2111         struct {
2112                 enum NET_API_STATUS result;
2113         } out;
2114
2115 };
2116
2117
2118 struct NetShutdownAbort {
2119         struct {
2120                 const char * server_name;
2121         } in;
2122
2123         struct {
2124                 enum NET_API_STATUS result;
2125         } out;
2126
2127 };
2128
2129
2130 struct I_NetLogonControl {
2131         struct {
2132                 const char * server_name;
2133                 uint32_t function_code;
2134                 uint32_t query_level;
2135         } in;
2136
2137         struct {
2138                 uint8_t **buffer;/* [ref] */
2139                 enum NET_API_STATUS result;
2140         } out;
2141
2142 };
2143
2144
2145 struct I_NetLogonControl2 {
2146         struct {
2147                 const char * server_name;
2148                 uint32_t function_code;
2149                 uint32_t query_level;
2150                 uint8_t *data;/* [ref] */
2151         } in;
2152
2153         struct {
2154                 uint8_t **buffer;/* [ref] */
2155                 enum NET_API_STATUS result;
2156         } out;
2157
2158 };
2159
2160 #endif /* _HEADER_libnetapi */