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