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