1 /* header auto-generated by pidl */
5 #define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))
7 #define MAXSUBAUTHS 15 /* max sub authorities in a SID */
9 #ifndef _HEADER_libnetapi
10 #define _HEADER_libnetapi
12 #define ERROR_MORE_DATA ( 234L )
13 #define ENCRYPTED_PWLEN ( 16 )
14 #define FILTER_TEMP_DUPLICATE_ACCOUNT ( 0x0001 )
15 #define FILTER_NORMAL_ACCOUNT ( 0x0002 )
16 #define FILTER_INTERDOMAIN_TRUST_ACCOUNT ( 0x0008 )
17 #define FILTER_WORKSTATION_TRUST_ACCOUNT ( 0x0010 )
18 #define FILTER_SERVER_TRUST_ACCOUNT ( 0x0020 )
19 #define TIMEQ_FOREVER ( (uint32_t)-1L )
21 #ifndef USE_UINT_ENUMS
26 { __donnot_use_enum_NET_API_STATUS=0x7FFFFFFF}
27 #define NERR_Success ( 0 )
38 struct SERVER_INFO_1005 {
39 const char * sv1005_comment;
42 struct DOMAIN_CONTROLLER_INFO {
43 const char * domain_controller_name;
44 const char * domain_controller_address;
45 uint32_t domain_controller_address_type;
46 struct GUID domain_guid;
47 const char * domain_name;
48 const char * dns_forest_name;
50 const char * dc_site_name;
51 const char * client_site_name;
55 const char * usri0_name;
59 const char * usri1_name;
60 const char * usri1_password;
61 uint32_t usri1_password_age;
63 const char * usri1_home_dir;
64 const char * usri1_comment;
66 const char * usri1_script_path;
70 const char * usri2_name;
71 const char * usri2_password;
72 uint32_t usri2_password_age;
74 const char * usri2_home_dir;
75 const char * usri2_comment;
77 const char * usri2_script_path;
78 uint32_t usri2_auth_flags;
79 const char * usri2_full_name;
80 const char * usri2_usr_comment;
81 const char * usri2_parms;
82 const char * usri2_workstations;
83 uint32_t usri2_last_logon;
84 uint32_t usri2_last_logoff;
85 uint32_t usri2_acct_expires;
86 uint32_t usri2_max_storage;
87 uint32_t usri2_units_per_week;
88 uint8_t *usri2_logon_hours;/* [unique] */
89 uint32_t usri2_bad_pw_count;
90 uint32_t usri2_num_logons;
91 const char * usri2_logon_server;
92 uint32_t usri2_country_code;
93 uint32_t usri2_code_page;
97 const char * usri3_name;
98 uint32_t usri3_password_age;
100 const char * usri3_home_dir;
101 const char * usri3_comment;
102 uint32_t usri3_flags;
103 const char * usri3_script_path;
104 uint32_t usri3_auth_flags;
105 const char * usri3_full_name;
106 const char * usri3_usr_comment;
107 const char * usri3_parms;
108 const char * usri3_workstations;
109 uint32_t usri3_last_logon;
110 uint32_t usri3_last_logoff;
111 uint32_t usri3_acct_expires;
112 uint32_t usri3_max_storage;
113 uint32_t usri3_units_per_week;
114 uint8_t *usri3_logon_hours;/* [unique] */
115 uint32_t usri3_bad_pw_count;
116 uint32_t usri3_num_logons;
117 const char * usri3_logon_server;
118 uint32_t usri3_country_code;
119 uint32_t usri3_code_page;
120 uint32_t usri3_user_id;
121 uint32_t usri3_primary_group_id;
122 const char * usri3_profile;
123 const char * usri3_home_dir_drive;
124 uint32_t usri3_password_expired;
128 const char * usri4_name;
129 const char * usri4_password;
130 uint32_t usri4_password_age;
132 const char * usri4_home_dir;
133 const char * usri4_comment;
134 uint32_t usri4_flags;
135 const char * usri4_script_path;
136 uint32_t usri4_auth_flags;
137 const char * usri4_full_name;
138 const char * usri4_usr_comment;
139 const char * usri4_parms;
140 const char * usri4_workstations;
141 uint32_t usri4_last_logon;
142 uint32_t usri4_last_logoff;
143 uint32_t usri4_acct_expires;
144 uint32_t usri4_max_storage;
145 uint32_t usri4_units_per_week;
146 uint8_t *usri4_logon_hours;/* [unique] */
147 uint32_t usri4_bad_pw_count;
148 uint32_t usri4_num_logons;
149 const char * usri4_logon_server;
150 uint32_t usri4_country_code;
151 uint32_t usri4_code_page;
152 struct dom_sid *usri4_user_sid;/* [unique] */
153 uint32_t usri4_primary_group_id;
154 const char * usri4_profile;
155 const char * usri4_home_dir_drive;
156 uint32_t usri4_password_expired;
159 struct USER_INFO_10 {
160 const char * usri10_name;
161 const char * usri10_comment;
162 const char * usri10_usr_comment;
163 const char * usri10_full_name;
166 struct USER_INFO_11 {
167 const char * usri11_name;
168 const char * usri11_comment;
169 const char * usri11_usr_comment;
170 const char * usri11_full_name;
171 uint32_t usri11_priv;
172 uint32_t usri11_auth_flags;
173 uint32_t usri11_password_age;
174 const char * usri11_home_dir;
175 const char * usri11_parms;
176 uint32_t usri11_last_logon;
177 uint32_t usri11_last_logoff;
178 uint32_t usri11_bad_pw_count;
179 uint32_t usri11_num_logons;
180 const char * usri11_logon_server;
181 uint32_t usri11_country_code;
182 const char * usri11_workstations;
183 uint32_t usri11_max_storage;
184 uint32_t usri11_units_per_week;
185 uint8_t *usri11_logon_hours;/* [unique] */
186 uint32_t usri11_code_page;
189 struct USER_INFO_20 {
190 const char * usri20_name;
191 const char * usri20_full_name;
192 const char * usri20_comment;
193 uint32_t usri20_flags;
194 uint32_t usri20_user_id;
197 struct USER_INFO_21 {
198 uint8_t *usri21_password;
201 struct USER_INFO_22 {
202 const char * usri22_name;
203 uint8_t *usri22_password;
204 uint32_t usri22_password_age;
205 uint32_t usri22_priv;
206 const char * usri22_home_dir;
207 const char * usri22_comment;
208 uint32_t usri22_flags;
209 uint32_t usri22_script_path;
210 uint32_t usri22_auth_flags;
211 const char * usri22_full_name;
212 const char * usri22_usr_comment;
213 const char * usri22_parms;
214 const char * usri22_workstations;
215 uint32_t usri22_last_logon;
216 uint32_t usri22_last_logoff;
217 uint32_t usri22_acct_expires;
218 uint32_t usri22_max_storage;
219 uint32_t usri22_units_per_week;
220 uint8_t *usri22_logon_hours;/* [unique] */
221 uint32_t usri22_bad_pw_count;
222 uint32_t usri22_num_logons;
223 const char * usri22_logon_server;
224 uint32_t usri22_country_code;
225 uint32_t usri22_code_page;
228 struct USER_INFO_23 {
229 const char * usri23_name;
230 const char * usri23_full_name;
231 const char * usri23_comment;
232 uint32_t usri23_flags;
233 struct domsid *usri23_user_sid;/* [unique] */
236 struct USER_INFO_1003 {
237 const char * usri1003_password;
240 struct USER_INFO_1005 {
241 uint32_t usri1005_priv;
244 struct USER_INFO_1006 {
245 const char * usri1006_home_dir;
248 struct USER_INFO_1007 {
249 const char * usri1007_comment;
252 struct USER_INFO_1008 {
253 uint32_t usri1008_flags;
256 struct USER_INFO_1009 {
257 const char * usri1009_script_path;
260 struct USER_INFO_1010 {
261 uint32_t usri1010_auth_flags;
264 struct USER_INFO_1011 {
265 const char * usri1011_full_name;
268 struct USER_INFO_1012 {
269 const char * usri1012_usr_comment;
272 struct USER_INFO_1013 {
273 const char * usri1013_parms;
276 struct USER_INFO_1014 {
277 const char * usri1014_workstations;
280 struct USER_INFO_1017 {
281 uint32_t usri1017_acct_expires;
284 struct USER_INFO_1018 {
285 uint32_t usri1018_max_storage;
288 struct USER_INFO_1020 {
289 uint32_t usri1020_units_per_week;
290 uint8_t *usri1020_logon_hours;/* [unique] */
293 struct USER_INFO_1023 {
294 const char * usri1023_logon_server;
297 struct USER_INFO_1024 {
298 uint32_t usri1024_country_code;
301 struct USER_INFO_1025 {
302 uint32_t usri1025_code_page;
305 struct USER_INFO_1051 {
306 uint32_t usri1051_primary_group_id;
309 struct USER_INFO_1052 {
310 const char * usri1052_profile;
313 struct USER_INFO_1053 {
314 const char * usri1053_home_dir_drive;
318 const char * usriX_name;
319 const char * usriX_password;
320 uint32_t usriX_password_age;
322 const char * usriX_home_dir;
323 const char * usriX_comment;
324 uint32_t usriX_flags;
325 const char * usriX_script_path;
326 uint32_t usriX_auth_flags;
327 const char * usriX_full_name;
328 const char * usriX_usr_comment;
329 const char * usriX_parms;
330 const char * usriX_workstations;
331 uint32_t usriX_last_logon;
332 uint32_t usriX_last_logoff;
333 uint32_t usriX_acct_expires;
334 uint32_t usriX_max_storage;
335 uint32_t usriX_units_per_week;
336 uint8_t *usriX_logon_hours;/* [unique] */
337 uint32_t usriX_bad_pw_count;
338 uint32_t usriX_num_logons;
339 const char * usriX_logon_server;
340 uint32_t usriX_country_code;
341 uint32_t usriX_code_page;
342 const char * usriX_profile;
343 const char * usriX_home_dir_drive;
344 uint32_t usriX_primary_group_id;
347 struct GROUP_USERS_INFO_0 {
348 const char * grui0_name;
351 struct GROUP_USERS_INFO_1 {
352 const char * grui1_name;
353 uint32_t grui1_attributes;
356 struct USER_MODALS_INFO_0 {
357 uint32_t usrmod0_min_passwd_len;
358 uint32_t usrmod0_max_passwd_age;
359 uint32_t usrmod0_min_passwd_age;
360 uint32_t usrmod0_force_logoff;
361 uint32_t usrmod0_password_hist_len;
364 struct USER_MODALS_INFO_1 {
365 uint32_t usrmod1_role;
366 const char * usrmod1_primary;
369 struct USER_MODALS_INFO_2 {
370 const char * usrmod2_domain_name;
371 struct domsid *usrmod2_domain_id;/* [unique] */
374 struct USER_MODALS_INFO_3 {
375 uint32_t usrmod3_lockout_duration;
376 uint32_t usrmod3_lockout_observation_window;
377 uint32_t usrmod3_lockout_threshold;
380 struct USER_MODALS_INFO_1001 {
381 uint32_t usrmod1001_min_passwd_len;
384 struct USER_MODALS_INFO_1002 {
385 uint32_t usrmod1002_max_passwd_age;
388 struct USER_MODALS_INFO_1003 {
389 uint32_t usrmod1003_min_passwd_age;
392 struct USER_MODALS_INFO_1004 {
393 uint32_t usrmod1004_force_logoff;
396 struct USER_MODALS_INFO_1005 {
397 uint32_t usrmod1005_password_hist_len;
400 struct USER_MODALS_INFO_1006 {
401 uint32_t usrmod1006_role;
404 struct USER_MODALS_INFO_1007 {
405 const char * usrmod1007_primary;
408 struct NET_DISPLAY_USER {
409 const char * usri1_name;
410 const char * usri1_comment;
411 uint32_t usri1_flags;
412 const char * usri1_full_name;
413 uint32_t usri1_user_id;
414 uint32_t usri1_next_index;
417 struct NET_DISPLAY_MACHINE {
418 const char * usri2_name;
419 const char * usri2_comment;
420 uint32_t usri2_flags;
421 uint32_t usri2_user_id;
422 uint32_t usri2_next_index;
425 struct NET_DISPLAY_GROUP {
426 const char * grpi3_name;
427 const char * grpi3_comment;
428 uint32_t grpi3_group_id;
429 uint32_t grpi3_attributes;
430 uint32_t grpi3_next_index;
433 struct GROUP_INFO_0 {
434 const char * grpi0_name;
437 struct GROUP_INFO_1 {
438 const char * grpi1_name;
439 const char * grpi1_comment;
442 struct GROUP_INFO_2 {
443 const char * grpi2_name;
444 const char * grpi2_comment;
445 uint32_t grpi2_group_id;
446 uint32_t grpi2_attributes;
449 struct GROUP_INFO_3 {
450 const char * grpi3_name;
451 const char * grpi3_comment;
452 struct domsid *grpi3_group_sid;/* [unique] */
453 uint32_t grpi3_attributes;
456 struct GROUP_INFO_1002 {
457 const char * grpi1002_comment;
460 struct GROUP_INFO_1005 {
461 uint32_t grpi1005_attributes;
464 struct LOCALGROUP_INFO_0 {
465 const char * lgrpi0_name;
468 struct LOCALGROUP_INFO_1 {
469 const char * lgrpi1_name;
470 const char * lgrpi1_comment;
473 struct LOCALGROUP_INFO_1002 {
474 const char * lgrpi1002_comment;
478 #ifndef USE_UINT_ENUMS
484 SidTypeWellKnownGroup=5,
485 SidTypeDeletedAccount=6,
492 { __donnot_use_enum_SID_NAME_USE=0x7FFFFFFF}
493 #define SidTypeUser ( 1 )
494 #define SidTypeGroup ( 2 )
495 #define SidTypeDomain ( 3 )
496 #define SidTypeAlias ( 4 )
497 #define SidTypeWellKnownGroup ( 5 )
498 #define SidTypeDeletedAccount ( 6 )
499 #define SidTypeInvalid ( 7 )
500 #define SidTypeUnknown ( 8 )
501 #define SidTypeComputer ( 9 )
502 #define SidTypeLabel ( 10 )
506 struct LOCALGROUP_MEMBERS_INFO_0 {
507 struct domsid *lgrmi0_sid;/* [unique] */
510 struct LOCALGROUP_MEMBERS_INFO_1 {
511 struct domsid *lgrmi1_sid;/* [unique] */
512 enum SID_NAME_USE lgrmi1_sidusage;
513 const char * lgrmi1_name;
516 struct LOCALGROUP_MEMBERS_INFO_2 {
517 struct domsid *lgrmi2_sid;/* [unique] */
518 enum SID_NAME_USE lgrmi2_sidusage;
519 const char * lgrmi2_domainandname;
522 struct LOCALGROUP_MEMBERS_INFO_3 {
523 const char * lgrmi3_domainandname;
526 struct TIME_OF_DAY_INFO {
527 uint32_t tod_elapsedt;
533 int32_t tod_timezone;
534 uint32_t tod_tinterval;
538 uint32_t tod_weekday;
542 struct NetJoinDomain {
544 const char * server;/* [unique] */
545 const char * domain;/* [ref] */
546 const char * account_ou;/* [unique] */
547 const char * account;/* [unique] */
548 const char * password;/* [unique] */
553 enum NET_API_STATUS result;
559 struct NetUnjoinDomain {
561 const char * server_name;/* [unique] */
562 const char * account;/* [unique] */
563 const char * password;/* [unique] */
564 uint32_t unjoin_flags;
568 enum NET_API_STATUS result;
574 struct NetGetJoinInformation {
576 const char * server_name;/* [unique] */
580 const char * *name_buffer;/* [ref] */
581 uint16_t *name_type;/* [ref] */
582 enum NET_API_STATUS result;
588 struct NetGetJoinableOUs {
590 const char * server_name;/* [unique] */
591 const char * domain;/* [ref] */
592 const char * account;/* [unique] */
593 const char * password;/* [unique] */
597 uint32_t *ou_count;/* [ref] */
598 const char * **ous;/* [ref] */
599 enum NET_API_STATUS result;
605 struct NetServerGetInfo {
607 const char * server_name;/* [unique] */
612 uint8_t **buffer;/* [ref] */
613 enum NET_API_STATUS result;
619 struct NetServerSetInfo {
621 const char * server_name;/* [unique] */
623 uint8_t *buffer;/* [ref] */
627 uint32_t *parm_error;/* [ref] */
628 enum NET_API_STATUS result;
634 struct NetGetDCName {
636 const char * server_name;/* [unique] */
637 const char * domain_name;/* [unique] */
641 uint8_t **buffer;/* [ref] */
642 enum NET_API_STATUS result;
648 struct NetGetAnyDCName {
650 const char * server_name;/* [unique] */
651 const char * domain_name;/* [unique] */
655 uint8_t **buffer;/* [ref] */
656 enum NET_API_STATUS result;
664 const char * server_name;/* [unique] */
665 const char * domain_name;/* [ref] */
666 struct GUID *domain_guid;/* [unique] */
667 const char * site_name;/* [unique] */
672 struct DOMAIN_CONTROLLER_INFO **dc_info;/* [ref] */
673 enum NET_API_STATUS result;
681 const char * server_name;/* [unique] */
683 uint8_t *buffer;/* [ref] */
687 uint32_t *parm_error;/* [ref] */
688 enum NET_API_STATUS result;
696 const char * server_name;/* [unique] */
697 const char * user_name;/* [ref] */
701 enum NET_API_STATUS result;
709 const char * server_name;/* [unique] */
713 uint32_t *resume_handle;/* [ref] */
717 uint8_t **buffer;/* [ref] */
718 uint32_t *entries_read;/* [ref] */
719 uint32_t *total_entries;/* [ref] */
720 uint32_t *resume_handle;/* [ref] */
721 enum NET_API_STATUS result;
727 struct NetUserChangePassword {
729 const char * domain_name;
730 const char * user_name;
731 const char * old_password;
732 const char * new_password;
736 enum NET_API_STATUS result;
742 struct NetUserGetInfo {
744 const char * server_name;
745 const char * user_name;
750 uint8_t **buffer;/* [ref] */
751 enum NET_API_STATUS result;
757 struct NetUserSetInfo {
759 const char * server_name;
760 const char * user_name;
762 uint8_t *buffer;/* [ref] */
766 uint32_t *parm_err;/* [ref] */
767 enum NET_API_STATUS result;
773 struct NetUserGetGroups {
775 const char * server_name;
776 const char * user_name;
782 uint8_t **buffer;/* [ref] */
783 uint32_t *entries_read;/* [ref] */
784 uint32_t *total_entries;/* [ref] */
785 enum NET_API_STATUS result;
791 struct NetUserModalsGet {
793 const char * server_name;
798 uint8_t **buffer;/* [ref] */
799 enum NET_API_STATUS result;
805 struct NetUserModalsSet {
807 const char * server_name;
809 uint8_t *buffer;/* [ref] */
813 uint32_t *parm_err;/* [ref] */
814 enum NET_API_STATUS result;
820 struct NetQueryDisplayInformation {
822 const char * server_name;/* [unique] */
825 uint32_t entries_requested;
830 uint32_t *entries_read;/* [ref] */
831 void **buffer;/* [noprint,ref] */
832 enum NET_API_STATUS result;
840 const char * server_name;
842 uint8_t *buffer;/* [ref] */
846 uint32_t *parm_err;/* [ref] */
847 enum NET_API_STATUS result;
855 const char * server_name;
856 const char * group_name;
860 enum NET_API_STATUS result;
866 struct NetGroupEnum {
868 const char * server_name;
871 uint32_t *resume_handle;/* [ref] */
875 uint8_t **buffer;/* [ref] */
876 uint32_t *entries_read;/* [ref] */
877 uint32_t *total_entries;/* [ref] */
878 uint32_t *resume_handle;/* [ref] */
879 enum NET_API_STATUS result;
885 struct NetGroupSetInfo {
887 const char * server_name;
888 const char * group_name;
890 uint8_t *buffer;/* [ref] */
894 uint32_t *parm_err;/* [ref] */
895 enum NET_API_STATUS result;
901 struct NetGroupGetInfo {
903 const char * server_name;
904 const char * group_name;
909 uint8_t **buffer;/* [ref] */
910 enum NET_API_STATUS result;
916 struct NetGroupAddUser {
918 const char * server_name;
919 const char * group_name;
920 const char * user_name;
924 enum NET_API_STATUS result;
930 struct NetGroupDelUser {
932 const char * server_name;
933 const char * group_name;
934 const char * user_name;
938 enum NET_API_STATUS result;
944 struct NetGroupGetUsers {
946 const char * server_name;
947 const char * group_name;
950 uint32_t *resume_handle;/* [ref] */
954 uint8_t **buffer;/* [ref] */
955 uint32_t *entries_read;/* [ref] */
956 uint32_t *total_entries;/* [ref] */
957 uint32_t *resume_handle;/* [ref] */
958 enum NET_API_STATUS result;
964 struct NetLocalGroupAdd {
966 const char * server_name;
968 uint8_t *buffer;/* [ref] */
972 uint32_t *parm_err;/* [ref] */
973 enum NET_API_STATUS result;
979 struct NetLocalGroupDel {
981 const char * server_name;
982 const char * group_name;
986 enum NET_API_STATUS result;
992 struct NetLocalGroupGetInfo {
994 const char * server_name;
995 const char * group_name;
1000 uint8_t **buffer;/* [ref] */
1001 enum NET_API_STATUS result;
1007 struct NetLocalGroupSetInfo {
1009 const char * server_name;
1010 const char * group_name;
1012 uint8_t *buffer;/* [ref] */
1016 uint32_t *parm_err;/* [ref] */
1017 enum NET_API_STATUS result;
1023 struct NetLocalGroupEnum {
1025 const char * server_name;
1027 uint32_t prefmaxlen;
1028 uint32_t *resume_handle;/* [ref] */
1032 uint8_t **buffer;/* [ref] */
1033 uint32_t *entries_read;/* [ref] */
1034 uint32_t *total_entries;/* [ref] */
1035 uint32_t *resume_handle;/* [ref] */
1036 enum NET_API_STATUS result;
1042 struct NetLocalGroupAddMembers {
1044 const char * server_name;
1045 const char * group_name;
1047 uint8_t *buffer;/* [ref] */
1048 uint32_t total_entries;
1052 enum NET_API_STATUS result;
1058 struct NetLocalGroupDelMembers {
1060 const char * server_name;
1061 const char * group_name;
1063 uint8_t *buffer;/* [ref] */
1064 uint32_t total_entries;
1068 enum NET_API_STATUS result;
1074 struct NetLocalGroupGetMembers {
1076 const char * server_name;
1077 const char * local_group_name;
1079 uint32_t prefmaxlen;
1080 uint32_t *resume_handle;/* [ref] */
1084 uint8_t **buffer;/* [ref] */
1085 uint32_t *entries_read;/* [ref] */
1086 uint32_t *total_entries;/* [ref] */
1087 uint32_t *resume_handle;/* [ref] */
1088 enum NET_API_STATUS result;
1094 struct NetLocalGroupSetMembers {
1096 const char * server_name;
1097 const char * group_name;
1099 uint8_t *buffer;/* [ref] */
1100 uint32_t total_entries;
1104 enum NET_API_STATUS result;
1110 struct NetRemoteTOD {
1112 const char * server_name;
1116 uint8_t **buffer;/* [ref] */
1117 enum NET_API_STATUS result;
1122 #endif /* _HEADER_libnetapi */