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