re-run make idl.
[amitay/samba.git] / source3 / librpc / gen_ndr / libnetapi.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))
6 #ifndef MAXSUBAUTHS
7 #define MAXSUBAUTHS 15 /* max sub authorities in a SID */
8 #endif
9 #ifndef _HEADER_libnetapi
10 #define _HEADER_libnetapi
11
12 #define ERROR_MORE_DATA ( 234L )
13 #define USER_PRIV_GUEST ( 0 )
14 #define USER_PRIV_USER  ( 1 )
15 #define USER_PRIV_ADMIN ( 2 )
16 #define AF_OP_PRINT     ( 0x1 )
17 #define AF_OP_COMM      ( 0x2 )
18 #define AF_OP_SERVER    ( 0x4 )
19 #define AF_OP_ACCOUNTS  ( 0x8 )
20 #define AF_SETTABLE_BITS        ( (AF_OP_PRINT|AF_OP_COMM|AF_OP_SERVER|AF_OP_ACCOUNTS) )
21 #define USER_MAXSTORAGE_UNLIMITED       ( (uint32_t)-1L )
22 #define ENCRYPTED_PWLEN ( 16 )
23 #define FILTER_TEMP_DUPLICATE_ACCOUNT   ( 0x0001 )
24 #define FILTER_NORMAL_ACCOUNT   ( 0x0002 )
25 #define FILTER_INTERDOMAIN_TRUST_ACCOUNT        ( 0x0008 )
26 #define FILTER_WORKSTATION_TRUST_ACCOUNT        ( 0x0010 )
27 #define FILTER_SERVER_TRUST_ACCOUNT     ( 0x0020 )
28 #define TIMEQ_FOREVER   ( (uint32_t)-1L )
29 #define CSC_MASK        ( 0x30 )
30 enum NET_API_STATUS
31 #ifndef USE_UINT_ENUMS
32  {
33         NERR_Success=0
34 }
35 #else
36  { __donnot_use_enum_NET_API_STATUS=0x7FFFFFFF}
37 #define NERR_Success ( 0 )
38 #endif
39 ;
40
41 struct domsid {
42         uint8_t sid_rev_num;
43         uint8_t num_auths;
44         uint8_t id_auth[6];
45         uint32_t *sub_auths;
46 };
47
48 /* bitmap NetJoinFlags */
49 #define NETSETUP_JOIN_DOMAIN ( 0x00000001 )
50 #define NETSETUP_ACCT_CREATE ( 0x00000002 )
51 #define NETSETUP_ACCT_DELETE ( 0x00000004 )
52 #define NETSETUP_WIN9X_UPGRADE ( 0x00000010 )
53 #define NETSETUP_DOMAIN_JOIN_IF_JOINED ( 0x00000020 )
54 #define NETSETUP_JOIN_UNSECURE ( 0x00000040 )
55 #define NETSETUP_MACHINE_PWD_PASSED ( 0x00000080 )
56 #define NETSETUP_DEFER_SPN_SET ( 0x00000100 )
57 #define NETSETUP_JOIN_DC_ACCOUNT ( 0x00000200 )
58 #define NETSETUP_JOIN_WITH_NEW_NAME ( 0x00000400 )
59 #define NETSETUP_INSTALL_INVOCATION ( 0x00040000 )
60 #define NETSETUP_IGNORE_UNSUPPORTED_FLAGS ( 0x10000000 )
61
62 enum NETSETUP_JOIN_STATUS
63 #ifndef USE_UINT_ENUMS
64  {
65         NetSetupUnknownStatus=0,
66         NetSetupUnjoined=1,
67         NetSetupWorkgroupName=2,
68         NetSetupDomainName=3
69 }
70 #else
71  { __donnot_use_enum_NETSETUP_JOIN_STATUS=0x7FFFFFFF}
72 #define NetSetupUnknownStatus ( 0 )
73 #define NetSetupUnjoined ( 1 )
74 #define NetSetupWorkgroupName ( 2 )
75 #define NetSetupDomainName ( 3 )
76 #endif
77 ;
78
79 struct SERVER_INFO_100 {
80         uint32_t sv100_platform_id;
81         const char * sv100_name;
82 };
83
84 struct SERVER_INFO_101 {
85         uint32_t sv101_platform_id;
86         const char * sv101_name;
87         uint32_t sv101_version_major;
88         uint32_t sv101_version_minor;
89         uint32_t sv101_type;
90         const char * sv101_comment;
91 };
92
93 struct SERVER_INFO_102 {
94         uint32_t sv102_platform_id;
95         const char * sv102_name;
96         uint32_t sv102_version_major;
97         uint32_t sv102_version_minor;
98         uint32_t sv102_type;
99         const char * sv102_comment;
100         uint32_t sv102_users;
101         uint32_t sv102_disc;
102         uint8_t sv102_hidden;
103         uint32_t sv102_announce;
104         uint32_t sv102_anndelta;
105         uint32_t sv102_licenses;
106         const char * sv102_userpath;
107 };
108
109 struct SERVER_INFO_1005 {
110         const char * sv1005_comment;
111 };
112
113 struct DOMAIN_CONTROLLER_INFO {
114         const char * domain_controller_name;
115         const char * domain_controller_address;
116         uint32_t domain_controller_address_type;
117         struct GUID domain_guid;
118         const char * domain_name;
119         const char * dns_forest_name;
120         uint32_t flags;
121         const char * dc_site_name;
122         const char * client_site_name;
123 };
124
125 struct USER_INFO_0 {
126         const char * usri0_name;
127 };
128
129 struct USER_INFO_1 {
130         const char * usri1_name;
131         const char * usri1_password;
132         uint32_t usri1_password_age;
133         uint32_t usri1_priv;
134         const char * usri1_home_dir;
135         const char * usri1_comment;
136         uint32_t usri1_flags;
137         const char * usri1_script_path;
138 };
139
140 struct USER_INFO_2 {
141         const char * usri2_name;
142         const char * usri2_password;
143         uint32_t usri2_password_age;
144         uint32_t usri2_priv;
145         const char * usri2_home_dir;
146         const char * usri2_comment;
147         uint32_t usri2_flags;
148         const char * usri2_script_path;
149         uint32_t usri2_auth_flags;
150         const char * usri2_full_name;
151         const char * usri2_usr_comment;
152         const char * usri2_parms;
153         const char * usri2_workstations;
154         uint32_t usri2_last_logon;
155         uint32_t usri2_last_logoff;
156         uint32_t usri2_acct_expires;
157         uint32_t usri2_max_storage;
158         uint32_t usri2_units_per_week;
159         uint8_t *usri2_logon_hours;/* [unique] */
160         uint32_t usri2_bad_pw_count;
161         uint32_t usri2_num_logons;
162         const char * usri2_logon_server;
163         uint32_t usri2_country_code;
164         uint32_t usri2_code_page;
165 };
166
167 struct USER_INFO_3 {
168         const char * usri3_name;
169         uint32_t usri3_password_age;
170         uint32_t usri3_priv;
171         const char * usri3_home_dir;
172         const char * usri3_comment;
173         uint32_t usri3_flags;
174         const char * usri3_script_path;
175         uint32_t usri3_auth_flags;
176         const char * usri3_full_name;
177         const char * usri3_usr_comment;
178         const char * usri3_parms;
179         const char * usri3_workstations;
180         uint32_t usri3_last_logon;
181         uint32_t usri3_last_logoff;
182         uint32_t usri3_acct_expires;
183         uint32_t usri3_max_storage;
184         uint32_t usri3_units_per_week;
185         uint8_t *usri3_logon_hours;/* [unique] */
186         uint32_t usri3_bad_pw_count;
187         uint32_t usri3_num_logons;
188         const char * usri3_logon_server;
189         uint32_t usri3_country_code;
190         uint32_t usri3_code_page;
191         uint32_t usri3_user_id;
192         uint32_t usri3_primary_group_id;
193         const char * usri3_profile;
194         const char * usri3_home_dir_drive;
195         uint32_t usri3_password_expired;
196 };
197
198 struct USER_INFO_4 {
199         const char * usri4_name;
200         const char * usri4_password;
201         uint32_t usri4_password_age;
202         uint32_t usri4_priv;
203         const char * usri4_home_dir;
204         const char * usri4_comment;
205         uint32_t usri4_flags;
206         const char * usri4_script_path;
207         uint32_t usri4_auth_flags;
208         const char * usri4_full_name;
209         const char * usri4_usr_comment;
210         const char * usri4_parms;
211         const char * usri4_workstations;
212         uint32_t usri4_last_logon;
213         uint32_t usri4_last_logoff;
214         uint32_t usri4_acct_expires;
215         uint32_t usri4_max_storage;
216         uint32_t usri4_units_per_week;
217         uint8_t *usri4_logon_hours;/* [unique] */
218         uint32_t usri4_bad_pw_count;
219         uint32_t usri4_num_logons;
220         const char * usri4_logon_server;
221         uint32_t usri4_country_code;
222         uint32_t usri4_code_page;
223         struct domsid *usri4_user_sid;/* [unique] */
224         uint32_t usri4_primary_group_id;
225         const char * usri4_profile;
226         const char * usri4_home_dir_drive;
227         uint32_t usri4_password_expired;
228 };
229
230 struct USER_INFO_10 {
231         const char * usri10_name;
232         const char * usri10_comment;
233         const char * usri10_usr_comment;
234         const char * usri10_full_name;
235 };
236
237 struct USER_INFO_11 {
238         const char * usri11_name;
239         const char * usri11_comment;
240         const char * usri11_usr_comment;
241         const char * usri11_full_name;
242         uint32_t usri11_priv;
243         uint32_t usri11_auth_flags;
244         uint32_t usri11_password_age;
245         const char * usri11_home_dir;
246         const char * usri11_parms;
247         uint32_t usri11_last_logon;
248         uint32_t usri11_last_logoff;
249         uint32_t usri11_bad_pw_count;
250         uint32_t usri11_num_logons;
251         const char * usri11_logon_server;
252         uint32_t usri11_country_code;
253         const char * usri11_workstations;
254         uint32_t usri11_max_storage;
255         uint32_t usri11_units_per_week;
256         uint8_t *usri11_logon_hours;/* [unique] */
257         uint32_t usri11_code_page;
258 };
259
260 struct USER_INFO_20 {
261         const char * usri20_name;
262         const char * usri20_full_name;
263         const char * usri20_comment;
264         uint32_t usri20_flags;
265         uint32_t usri20_user_id;
266 };
267
268 struct USER_INFO_21 {
269         uint8_t *usri21_password;
270 };
271
272 struct USER_INFO_22 {
273         const char * usri22_name;
274         uint8_t *usri22_password;
275         uint32_t usri22_password_age;
276         uint32_t usri22_priv;
277         const char * usri22_home_dir;
278         const char * usri22_comment;
279         uint32_t usri22_flags;
280         uint32_t usri22_script_path;
281         uint32_t usri22_auth_flags;
282         const char * usri22_full_name;
283         const char * usri22_usr_comment;
284         const char * usri22_parms;
285         const char * usri22_workstations;
286         uint32_t usri22_last_logon;
287         uint32_t usri22_last_logoff;
288         uint32_t usri22_acct_expires;
289         uint32_t usri22_max_storage;
290         uint32_t usri22_units_per_week;
291         uint8_t *usri22_logon_hours;/* [unique] */
292         uint32_t usri22_bad_pw_count;
293         uint32_t usri22_num_logons;
294         const char * usri22_logon_server;
295         uint32_t usri22_country_code;
296         uint32_t usri22_code_page;
297 };
298
299 struct USER_INFO_23 {
300         const char * usri23_name;
301         const char * usri23_full_name;
302         const char * usri23_comment;
303         uint32_t usri23_flags;
304         struct domsid *usri23_user_sid;/* [unique] */
305 };
306
307 struct USER_INFO_1003 {
308         const char * usri1003_password;
309 };
310
311 struct USER_INFO_1005 {
312         uint32_t usri1005_priv;
313 };
314
315 struct USER_INFO_1006 {
316         const char * usri1006_home_dir;
317 };
318
319 struct USER_INFO_1007 {
320         const char * usri1007_comment;
321 };
322
323 struct USER_INFO_1008 {
324         uint32_t usri1008_flags;
325 };
326
327 struct USER_INFO_1009 {
328         const char * usri1009_script_path;
329 };
330
331 struct USER_INFO_1010 {
332         uint32_t usri1010_auth_flags;
333 };
334
335 struct USER_INFO_1011 {
336         const char * usri1011_full_name;
337 };
338
339 struct USER_INFO_1012 {
340         const char * usri1012_usr_comment;
341 };
342
343 struct USER_INFO_1013 {
344         const char * usri1013_parms;
345 };
346
347 struct USER_INFO_1014 {
348         const char * usri1014_workstations;
349 };
350
351 struct USER_INFO_1017 {
352         uint32_t usri1017_acct_expires;
353 };
354
355 struct USER_INFO_1018 {
356         uint32_t usri1018_max_storage;
357 };
358
359 struct USER_INFO_1020 {
360         uint32_t usri1020_units_per_week;
361         uint8_t *usri1020_logon_hours;/* [unique] */
362 };
363
364 struct USER_INFO_1023 {
365         const char * usri1023_logon_server;
366 };
367
368 struct USER_INFO_1024 {
369         uint32_t usri1024_country_code;
370 };
371
372 struct USER_INFO_1025 {
373         uint32_t usri1025_code_page;
374 };
375
376 struct USER_INFO_1051 {
377         uint32_t usri1051_primary_group_id;
378 };
379
380 struct USER_INFO_1052 {
381         const char * usri1052_profile;
382 };
383
384 struct USER_INFO_1053 {
385         const char * usri1053_home_dir_drive;
386 };
387
388 struct USER_INFO_X {
389         const char * usriX_name;
390         const char * usriX_password;
391         uint32_t usriX_password_age;
392         uint32_t usriX_priv;
393         const char * usriX_home_dir;
394         const char * usriX_comment;
395         uint32_t usriX_flags;
396         const char * usriX_script_path;
397         uint32_t usriX_auth_flags;
398         const char * usriX_full_name;
399         const char * usriX_usr_comment;
400         const char * usriX_parms;
401         const char * usriX_workstations;
402         uint32_t usriX_last_logon;
403         uint32_t usriX_last_logoff;
404         uint32_t usriX_acct_expires;
405         uint32_t usriX_max_storage;
406         uint32_t usriX_units_per_week;
407         uint8_t *usriX_logon_hours;/* [unique] */
408         uint32_t usriX_bad_pw_count;
409         uint32_t usriX_num_logons;
410         const char * usriX_logon_server;
411         uint32_t usriX_country_code;
412         uint32_t usriX_code_page;
413         const char * usriX_profile;
414         const char * usriX_home_dir_drive;
415         uint32_t usriX_primary_group_id;
416 };
417
418 struct GROUP_USERS_INFO_0 {
419         const char * grui0_name;
420 };
421
422 struct GROUP_USERS_INFO_1 {
423         const char * grui1_name;
424         uint32_t grui1_attributes;
425 };
426
427 struct USER_MODALS_INFO_0 {
428         uint32_t usrmod0_min_passwd_len;
429         uint32_t usrmod0_max_passwd_age;
430         uint32_t usrmod0_min_passwd_age;
431         uint32_t usrmod0_force_logoff;
432         uint32_t usrmod0_password_hist_len;
433 };
434
435 struct USER_MODALS_INFO_1 {
436         uint32_t usrmod1_role;
437         const char * usrmod1_primary;
438 };
439
440 struct USER_MODALS_INFO_2 {
441         const char * usrmod2_domain_name;
442         struct domsid *usrmod2_domain_id;/* [unique] */
443 };
444
445 struct USER_MODALS_INFO_3 {
446         uint32_t usrmod3_lockout_duration;
447         uint32_t usrmod3_lockout_observation_window;
448         uint32_t usrmod3_lockout_threshold;
449 };
450
451 struct USER_MODALS_INFO_1001 {
452         uint32_t usrmod1001_min_passwd_len;
453 };
454
455 struct USER_MODALS_INFO_1002 {
456         uint32_t usrmod1002_max_passwd_age;
457 };
458
459 struct USER_MODALS_INFO_1003 {
460         uint32_t usrmod1003_min_passwd_age;
461 };
462
463 struct USER_MODALS_INFO_1004 {
464         uint32_t usrmod1004_force_logoff;
465 };
466
467 struct USER_MODALS_INFO_1005 {
468         uint32_t usrmod1005_password_hist_len;
469 };
470
471 struct USER_MODALS_INFO_1006 {
472         uint32_t usrmod1006_role;
473 };
474
475 struct USER_MODALS_INFO_1007 {
476         const char * usrmod1007_primary;
477 };
478
479 struct NET_DISPLAY_USER {
480         const char * usri1_name;
481         const char * usri1_comment;
482         uint32_t usri1_flags;
483         const char * usri1_full_name;
484         uint32_t usri1_user_id;
485         uint32_t usri1_next_index;
486 };
487
488 struct NET_DISPLAY_MACHINE {
489         const char * usri2_name;
490         const char * usri2_comment;
491         uint32_t usri2_flags;
492         uint32_t usri2_user_id;
493         uint32_t usri2_next_index;
494 };
495
496 struct NET_DISPLAY_GROUP {
497         const char * grpi3_name;
498         const char * grpi3_comment;
499         uint32_t grpi3_group_id;
500         uint32_t grpi3_attributes;
501         uint32_t grpi3_next_index;
502 };
503
504 struct GROUP_INFO_0 {
505         const char * grpi0_name;
506 };
507
508 struct GROUP_INFO_1 {
509         const char * grpi1_name;
510         const char * grpi1_comment;
511 };
512
513 struct GROUP_INFO_2 {
514         const char * grpi2_name;
515         const char * grpi2_comment;
516         uint32_t grpi2_group_id;
517         uint32_t grpi2_attributes;
518 };
519
520 struct GROUP_INFO_3 {
521         const char * grpi3_name;
522         const char * grpi3_comment;
523         struct domsid *grpi3_group_sid;/* [unique] */
524         uint32_t grpi3_attributes;
525 };
526
527 struct GROUP_INFO_1002 {
528         const char * grpi1002_comment;
529 };
530
531 struct GROUP_INFO_1005 {
532         uint32_t grpi1005_attributes;
533 };
534
535 struct LOCALGROUP_INFO_0 {
536         const char * lgrpi0_name;
537 };
538
539 struct LOCALGROUP_INFO_1 {
540         const char * lgrpi1_name;
541         const char * lgrpi1_comment;
542 };
543
544 struct LOCALGROUP_INFO_1002 {
545         const char * lgrpi1002_comment;
546 };
547
548 enum SID_NAME_USE
549 #ifndef USE_UINT_ENUMS
550  {
551         SidTypeUser=1,
552         SidTypeGroup=2,
553         SidTypeDomain=3,
554         SidTypeAlias=4,
555         SidTypeWellKnownGroup=5,
556         SidTypeDeletedAccount=6,
557         SidTypeInvalid=7,
558         SidTypeUnknown=8,
559         SidTypeComputer=9,
560         SidTypeLabel=10
561 }
562 #else
563  { __donnot_use_enum_SID_NAME_USE=0x7FFFFFFF}
564 #define SidTypeUser ( 1 )
565 #define SidTypeGroup ( 2 )
566 #define SidTypeDomain ( 3 )
567 #define SidTypeAlias ( 4 )
568 #define SidTypeWellKnownGroup ( 5 )
569 #define SidTypeDeletedAccount ( 6 )
570 #define SidTypeInvalid ( 7 )
571 #define SidTypeUnknown ( 8 )
572 #define SidTypeComputer ( 9 )
573 #define SidTypeLabel ( 10 )
574 #endif
575 ;
576
577 struct LOCALGROUP_MEMBERS_INFO_0 {
578         struct domsid *lgrmi0_sid;/* [unique] */
579 };
580
581 struct LOCALGROUP_MEMBERS_INFO_1 {
582         struct domsid *lgrmi1_sid;/* [unique] */
583         enum SID_NAME_USE lgrmi1_sidusage;
584         const char * lgrmi1_name;
585 };
586
587 struct LOCALGROUP_MEMBERS_INFO_2 {
588         struct domsid *lgrmi2_sid;/* [unique] */
589         enum SID_NAME_USE lgrmi2_sidusage;
590         const char * lgrmi2_domainandname;
591 };
592
593 struct LOCALGROUP_MEMBERS_INFO_3 {
594         const char * lgrmi3_domainandname;
595 };
596
597 struct TIME_OF_DAY_INFO {
598         uint32_t tod_elapsedt;
599         uint32_t tod_msecs;
600         uint32_t tod_hours;
601         uint32_t tod_mins;
602         uint32_t tod_secs;
603         uint32_t tod_hunds;
604         int32_t tod_timezone;
605         uint32_t tod_tinterval;
606         uint32_t tod_day;
607         uint32_t tod_month;
608         uint32_t tod_year;
609         uint32_t tod_weekday;
610 };
611
612 struct SHARE_INFO_0 {
613         const char * shi0_netname;
614 };
615
616 struct SHARE_INFO_1 {
617         const char * shi1_netname;
618         uint32_t shi1_type;
619         const char * shi1_remark;
620 };
621
622 struct SHARE_INFO_2 {
623         const char * shi2_netname;
624         uint32_t shi2_type;
625         const char * shi2_remark;
626         uint32_t shi2_permissions;
627         uint32_t shi2_max_uses;
628         uint32_t shi2_current_uses;
629         const char * shi2_path;
630         const char * shi2_passwd;
631 };
632
633 struct SHARE_INFO_501 {
634         const char * shi501_netname;
635         uint32_t shi501_type;
636         const char * shi501_remark;
637         uint32_t shi501_flags;
638 };
639
640 struct SHARE_INFO_1004 {
641         const char * shi1004_remark;
642 };
643
644 /* bitmap SHARE_INFO_1005_FLAGS */
645 #define SHI1005_FLAGS_DFS ( 0x01 )
646 #define SHI1005_FLAGS_DFS_ROOT ( 0x02 )
647 #define CSC_CACHE_MANUAL_REINT ( 0x00 )
648 #define CSC_CACHE_AUTO_REINT ( 0x10 )
649 #define CSC_CACHE_VDO ( 0x20 )
650 #define CSC_CACHE_NONE ( 0x30 )
651 #define SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS ( 0x0100 )
652 #define SHI1005_FLAGS_FORCE_SHARED_DELETE ( 0x0200 )
653 #define SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING ( 0x0400 )
654 #define SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM ( 0x0800 )
655
656 struct SHARE_INFO_1005 {
657         uint32_t shi1005_flags;
658 };
659
660 struct SHARE_INFO_1006 {
661         uint32_t shi1006_max_uses;
662 };
663
664
665 struct NetJoinDomain {
666         struct {
667                 const char * server;/* [unique] */
668                 const char * domain;/* [ref] */
669                 const char * account_ou;/* [unique] */
670                 const char * account;/* [unique] */
671                 const char * password;/* [unique] */
672                 uint32_t join_flags;
673         } in;
674
675         struct {
676                 enum NET_API_STATUS result;
677         } out;
678
679 };
680
681
682 struct NetUnjoinDomain {
683         struct {
684                 const char * server_name;/* [unique] */
685                 const char * account;/* [unique] */
686                 const char * password;/* [unique] */
687                 uint32_t unjoin_flags;
688         } in;
689
690         struct {
691                 enum NET_API_STATUS result;
692         } out;
693
694 };
695
696
697 struct NetGetJoinInformation {
698         struct {
699                 const char * server_name;/* [unique] */
700         } in;
701
702         struct {
703                 const char * *name_buffer;/* [ref] */
704                 uint16_t *name_type;/* [ref] */
705                 enum NET_API_STATUS result;
706         } out;
707
708 };
709
710
711 struct NetGetJoinableOUs {
712         struct {
713                 const char * server_name;/* [unique] */
714                 const char * domain;/* [ref] */
715                 const char * account;/* [unique] */
716                 const char * password;/* [unique] */
717         } in;
718
719         struct {
720                 uint32_t *ou_count;/* [ref] */
721                 const char * **ous;/* [ref] */
722                 enum NET_API_STATUS result;
723         } out;
724
725 };
726
727
728 struct NetRenameMachineInDomain {
729         struct {
730                 const char * server_name;
731                 const char * new_machine_name;
732                 const char * account;
733                 const char * password;
734                 uint32_t rename_options;
735         } in;
736
737         struct {
738                 enum NET_API_STATUS result;
739         } out;
740
741 };
742
743
744 struct NetServerGetInfo {
745         struct {
746                 const char * server_name;/* [unique] */
747                 uint32_t level;
748         } in;
749
750         struct {
751                 uint8_t **buffer;/* [ref] */
752                 enum NET_API_STATUS result;
753         } out;
754
755 };
756
757
758 struct NetServerSetInfo {
759         struct {
760                 const char * server_name;/* [unique] */
761                 uint32_t level;
762                 uint8_t *buffer;/* [ref] */
763         } in;
764
765         struct {
766                 uint32_t *parm_error;/* [ref] */
767                 enum NET_API_STATUS result;
768         } out;
769
770 };
771
772
773 struct NetGetDCName {
774         struct {
775                 const char * server_name;/* [unique] */
776                 const char * domain_name;/* [unique] */
777         } in;
778
779         struct {
780                 uint8_t **buffer;/* [ref] */
781                 enum NET_API_STATUS result;
782         } out;
783
784 };
785
786
787 struct NetGetAnyDCName {
788         struct {
789                 const char * server_name;/* [unique] */
790                 const char * domain_name;/* [unique] */
791         } in;
792
793         struct {
794                 uint8_t **buffer;/* [ref] */
795                 enum NET_API_STATUS result;
796         } out;
797
798 };
799
800
801 struct DsGetDcName {
802         struct {
803                 const char * server_name;/* [unique] */
804                 const char * domain_name;/* [ref] */
805                 struct GUID *domain_guid;/* [unique] */
806                 const char * site_name;/* [unique] */
807                 uint32_t flags;
808         } in;
809
810         struct {
811                 struct DOMAIN_CONTROLLER_INFO **dc_info;/* [ref] */
812                 enum NET_API_STATUS result;
813         } out;
814
815 };
816
817
818 struct NetUserAdd {
819         struct {
820                 const char * server_name;/* [unique] */
821                 uint32_t level;
822                 uint8_t *buffer;/* [ref] */
823         } in;
824
825         struct {
826                 uint32_t *parm_error;/* [ref] */
827                 enum NET_API_STATUS result;
828         } out;
829
830 };
831
832
833 struct NetUserDel {
834         struct {
835                 const char * server_name;/* [unique] */
836                 const char * user_name;/* [ref] */
837         } in;
838
839         struct {
840                 enum NET_API_STATUS result;
841         } out;
842
843 };
844
845
846 struct NetUserEnum {
847         struct {
848                 const char * server_name;/* [unique] */
849                 uint32_t level;
850                 uint32_t filter;
851                 uint32_t prefmaxlen;
852                 uint32_t *resume_handle;/* [ref] */
853         } in;
854
855         struct {
856                 uint8_t **buffer;/* [ref] */
857                 uint32_t *entries_read;/* [ref] */
858                 uint32_t *total_entries;/* [ref] */
859                 uint32_t *resume_handle;/* [ref] */
860                 enum NET_API_STATUS result;
861         } out;
862
863 };
864
865
866 struct NetUserChangePassword {
867         struct {
868                 const char * domain_name;
869                 const char * user_name;
870                 const char * old_password;
871                 const char * new_password;
872         } in;
873
874         struct {
875                 enum NET_API_STATUS result;
876         } out;
877
878 };
879
880
881 struct NetUserGetInfo {
882         struct {
883                 const char * server_name;
884                 const char * user_name;
885                 uint32_t level;
886         } in;
887
888         struct {
889                 uint8_t **buffer;/* [ref] */
890                 enum NET_API_STATUS result;
891         } out;
892
893 };
894
895
896 struct NetUserSetInfo {
897         struct {
898                 const char * server_name;
899                 const char * user_name;
900                 uint32_t level;
901                 uint8_t *buffer;/* [ref] */
902         } in;
903
904         struct {
905                 uint32_t *parm_err;/* [ref] */
906                 enum NET_API_STATUS result;
907         } out;
908
909 };
910
911
912 struct NetUserGetGroups {
913         struct {
914                 const char * server_name;
915                 const char * user_name;
916                 uint32_t level;
917                 uint32_t prefmaxlen;
918         } in;
919
920         struct {
921                 uint8_t **buffer;/* [ref] */
922                 uint32_t *entries_read;/* [ref] */
923                 uint32_t *total_entries;/* [ref] */
924                 enum NET_API_STATUS result;
925         } out;
926
927 };
928
929
930 struct NetUserSetGroups {
931         struct {
932                 const char * server_name;
933                 const char * user_name;
934                 uint32_t level;
935                 uint8_t *buffer;/* [ref] */
936                 uint32_t num_entries;
937         } in;
938
939         struct {
940                 enum NET_API_STATUS result;
941         } out;
942
943 };
944
945
946 struct NetUserModalsGet {
947         struct {
948                 const char * server_name;
949                 uint32_t level;
950         } in;
951
952         struct {
953                 uint8_t **buffer;/* [ref] */
954                 enum NET_API_STATUS result;
955         } out;
956
957 };
958
959
960 struct NetUserModalsSet {
961         struct {
962                 const char * server_name;
963                 uint32_t level;
964                 uint8_t *buffer;/* [ref] */
965         } in;
966
967         struct {
968                 uint32_t *parm_err;/* [ref] */
969                 enum NET_API_STATUS result;
970         } out;
971
972 };
973
974
975 struct NetQueryDisplayInformation {
976         struct {
977                 const char * server_name;/* [unique] */
978                 uint32_t level;
979                 uint32_t idx;
980                 uint32_t entries_requested;
981                 uint32_t prefmaxlen;
982         } in;
983
984         struct {
985                 uint32_t *entries_read;/* [ref] */
986                 void **buffer;/* [noprint,ref] */
987                 enum NET_API_STATUS result;
988         } out;
989
990 };
991
992
993 struct NetGroupAdd {
994         struct {
995                 const char * server_name;
996                 uint32_t level;
997                 uint8_t *buffer;/* [ref] */
998         } in;
999
1000         struct {
1001                 uint32_t *parm_err;/* [ref] */
1002                 enum NET_API_STATUS result;
1003         } out;
1004
1005 };
1006
1007
1008 struct NetGroupDel {
1009         struct {
1010                 const char * server_name;
1011                 const char * group_name;
1012         } in;
1013
1014         struct {
1015                 enum NET_API_STATUS result;
1016         } out;
1017
1018 };
1019
1020
1021 struct NetGroupEnum {
1022         struct {
1023                 const char * server_name;
1024                 uint32_t level;
1025                 uint32_t prefmaxlen;
1026                 uint32_t *resume_handle;/* [ref] */
1027         } in;
1028
1029         struct {
1030                 uint8_t **buffer;/* [ref] */
1031                 uint32_t *entries_read;/* [ref] */
1032                 uint32_t *total_entries;/* [ref] */
1033                 uint32_t *resume_handle;/* [ref] */
1034                 enum NET_API_STATUS result;
1035         } out;
1036
1037 };
1038
1039
1040 struct NetGroupSetInfo {
1041         struct {
1042                 const char * server_name;
1043                 const char * group_name;
1044                 uint32_t level;
1045                 uint8_t *buffer;/* [ref] */
1046         } in;
1047
1048         struct {
1049                 uint32_t *parm_err;/* [ref] */
1050                 enum NET_API_STATUS result;
1051         } out;
1052
1053 };
1054
1055
1056 struct NetGroupGetInfo {
1057         struct {
1058                 const char * server_name;
1059                 const char * group_name;
1060                 uint32_t level;
1061         } in;
1062
1063         struct {
1064                 uint8_t **buffer;/* [ref] */
1065                 enum NET_API_STATUS result;
1066         } out;
1067
1068 };
1069
1070
1071 struct NetGroupAddUser {
1072         struct {
1073                 const char * server_name;
1074                 const char * group_name;
1075                 const char * user_name;
1076         } in;
1077
1078         struct {
1079                 enum NET_API_STATUS result;
1080         } out;
1081
1082 };
1083
1084
1085 struct NetGroupDelUser {
1086         struct {
1087                 const char * server_name;
1088                 const char * group_name;
1089                 const char * user_name;
1090         } in;
1091
1092         struct {
1093                 enum NET_API_STATUS result;
1094         } out;
1095
1096 };
1097
1098
1099 struct NetGroupGetUsers {
1100         struct {
1101                 const char * server_name;
1102                 const char * group_name;
1103                 uint32_t level;
1104                 uint32_t prefmaxlen;
1105                 uint32_t *resume_handle;/* [ref] */
1106         } in;
1107
1108         struct {
1109                 uint8_t **buffer;/* [ref] */
1110                 uint32_t *entries_read;/* [ref] */
1111                 uint32_t *total_entries;/* [ref] */
1112                 uint32_t *resume_handle;/* [ref] */
1113                 enum NET_API_STATUS result;
1114         } out;
1115
1116 };
1117
1118
1119 struct NetGroupSetUsers {
1120         struct {
1121                 const char * server_name;
1122                 const char * group_name;
1123                 uint32_t level;
1124                 uint8_t *buffer;/* [ref] */
1125                 uint32_t num_entries;
1126         } in;
1127
1128         struct {
1129                 enum NET_API_STATUS result;
1130         } out;
1131
1132 };
1133
1134
1135 struct NetLocalGroupAdd {
1136         struct {
1137                 const char * server_name;
1138                 uint32_t level;
1139                 uint8_t *buffer;/* [ref] */
1140         } in;
1141
1142         struct {
1143                 uint32_t *parm_err;/* [ref] */
1144                 enum NET_API_STATUS result;
1145         } out;
1146
1147 };
1148
1149
1150 struct NetLocalGroupDel {
1151         struct {
1152                 const char * server_name;
1153                 const char * group_name;
1154         } in;
1155
1156         struct {
1157                 enum NET_API_STATUS result;
1158         } out;
1159
1160 };
1161
1162
1163 struct NetLocalGroupGetInfo {
1164         struct {
1165                 const char * server_name;
1166                 const char * group_name;
1167                 uint32_t level;
1168         } in;
1169
1170         struct {
1171                 uint8_t **buffer;/* [ref] */
1172                 enum NET_API_STATUS result;
1173         } out;
1174
1175 };
1176
1177
1178 struct NetLocalGroupSetInfo {
1179         struct {
1180                 const char * server_name;
1181                 const char * group_name;
1182                 uint32_t level;
1183                 uint8_t *buffer;/* [ref] */
1184         } in;
1185
1186         struct {
1187                 uint32_t *parm_err;/* [ref] */
1188                 enum NET_API_STATUS result;
1189         } out;
1190
1191 };
1192
1193
1194 struct NetLocalGroupEnum {
1195         struct {
1196                 const char * server_name;
1197                 uint32_t level;
1198                 uint32_t prefmaxlen;
1199                 uint32_t *resume_handle;/* [ref] */
1200         } in;
1201
1202         struct {
1203                 uint8_t **buffer;/* [ref] */
1204                 uint32_t *entries_read;/* [ref] */
1205                 uint32_t *total_entries;/* [ref] */
1206                 uint32_t *resume_handle;/* [ref] */
1207                 enum NET_API_STATUS result;
1208         } out;
1209
1210 };
1211
1212
1213 struct NetLocalGroupAddMembers {
1214         struct {
1215                 const char * server_name;
1216                 const char * group_name;
1217                 uint32_t level;
1218                 uint8_t *buffer;/* [ref] */
1219                 uint32_t total_entries;
1220         } in;
1221
1222         struct {
1223                 enum NET_API_STATUS result;
1224         } out;
1225
1226 };
1227
1228
1229 struct NetLocalGroupDelMembers {
1230         struct {
1231                 const char * server_name;
1232                 const char * group_name;
1233                 uint32_t level;
1234                 uint8_t *buffer;/* [ref] */
1235                 uint32_t total_entries;
1236         } in;
1237
1238         struct {
1239                 enum NET_API_STATUS result;
1240         } out;
1241
1242 };
1243
1244
1245 struct NetLocalGroupGetMembers {
1246         struct {
1247                 const char * server_name;
1248                 const char * local_group_name;
1249                 uint32_t level;
1250                 uint32_t prefmaxlen;
1251                 uint32_t *resume_handle;/* [ref] */
1252         } in;
1253
1254         struct {
1255                 uint8_t **buffer;/* [ref] */
1256                 uint32_t *entries_read;/* [ref] */
1257                 uint32_t *total_entries;/* [ref] */
1258                 uint32_t *resume_handle;/* [ref] */
1259                 enum NET_API_STATUS result;
1260         } out;
1261
1262 };
1263
1264
1265 struct NetLocalGroupSetMembers {
1266         struct {
1267                 const char * server_name;
1268                 const char * group_name;
1269                 uint32_t level;
1270                 uint8_t *buffer;/* [ref] */
1271                 uint32_t total_entries;
1272         } in;
1273
1274         struct {
1275                 enum NET_API_STATUS result;
1276         } out;
1277
1278 };
1279
1280
1281 struct NetRemoteTOD {
1282         struct {
1283                 const char * server_name;
1284         } in;
1285
1286         struct {
1287                 uint8_t **buffer;/* [ref] */
1288                 enum NET_API_STATUS result;
1289         } out;
1290
1291 };
1292
1293
1294 struct NetShareAdd {
1295         struct {
1296                 const char * server_name;
1297                 uint32_t level;
1298                 uint8_t *buffer;/* [ref] */
1299         } in;
1300
1301         struct {
1302                 uint32_t *parm_err;/* [ref] */
1303                 enum NET_API_STATUS result;
1304         } out;
1305
1306 };
1307
1308
1309 struct NetShareDel {
1310         struct {
1311                 const char * server_name;
1312                 const char * net_name;
1313                 uint32_t reserved;
1314         } in;
1315
1316         struct {
1317                 enum NET_API_STATUS result;
1318         } out;
1319
1320 };
1321
1322
1323 struct NetShareEnum {
1324         struct {
1325                 const char * server_name;
1326                 uint32_t level;
1327                 uint32_t prefmaxlen;
1328                 uint32_t *resume_handle;/* [ref] */
1329         } in;
1330
1331         struct {
1332                 uint8_t **buffer;/* [ref] */
1333                 uint32_t *entries_read;/* [ref] */
1334                 uint32_t *total_entries;/* [ref] */
1335                 uint32_t *resume_handle;/* [ref] */
1336                 enum NET_API_STATUS result;
1337         } out;
1338
1339 };
1340
1341
1342 struct NetShareGetInfo {
1343         struct {
1344                 const char * server_name;
1345                 const char * net_name;
1346                 uint32_t level;
1347         } in;
1348
1349         struct {
1350                 uint8_t **buffer;/* [ref] */
1351                 enum NET_API_STATUS result;
1352         } out;
1353
1354 };
1355
1356
1357 struct NetShareSetInfo {
1358         struct {
1359                 const char * server_name;
1360                 const char * net_name;
1361                 uint32_t level;
1362                 uint8_t *buffer;/* [ref] */
1363         } in;
1364
1365         struct {
1366                 uint32_t *parm_err;/* [ref] */
1367                 enum NET_API_STATUS result;
1368         } out;
1369
1370 };
1371
1372 #endif /* _HEADER_libnetapi */