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 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 )
30 #ifndef USE_UINT_ENUMS
35 { __donnot_use_enum_NET_API_STATUS=0x7FFFFFFF}
36 #define NERR_Success ( 0 )
47 struct SERVER_INFO_1005 {
48 const char * sv1005_comment;
51 struct DOMAIN_CONTROLLER_INFO {
52 const char * domain_controller_name;
53 const char * domain_controller_address;
54 uint32_t domain_controller_address_type;
55 struct GUID domain_guid;
56 const char * domain_name;
57 const char * dns_forest_name;
59 const char * dc_site_name;
60 const char * client_site_name;
64 const char * usri0_name;
68 const char * usri1_name;
69 const char * usri1_password;
70 uint32_t usri1_password_age;
72 const char * usri1_home_dir;
73 const char * usri1_comment;
75 const char * usri1_script_path;
79 const char * usri2_name;
80 const char * usri2_password;
81 uint32_t usri2_password_age;
83 const char * usri2_home_dir;
84 const char * usri2_comment;
86 const char * usri2_script_path;
87 uint32_t usri2_auth_flags;
88 const char * usri2_full_name;
89 const char * usri2_usr_comment;
90 const char * usri2_parms;
91 const char * usri2_workstations;
92 uint32_t usri2_last_logon;
93 uint32_t usri2_last_logoff;
94 uint32_t usri2_acct_expires;
95 uint32_t usri2_max_storage;
96 uint32_t usri2_units_per_week;
97 uint8_t *usri2_logon_hours;/* [unique] */
98 uint32_t usri2_bad_pw_count;
99 uint32_t usri2_num_logons;
100 const char * usri2_logon_server;
101 uint32_t usri2_country_code;
102 uint32_t usri2_code_page;
106 const char * usri3_name;
107 uint32_t usri3_password_age;
109 const char * usri3_home_dir;
110 const char * usri3_comment;
111 uint32_t usri3_flags;
112 const char * usri3_script_path;
113 uint32_t usri3_auth_flags;
114 const char * usri3_full_name;
115 const char * usri3_usr_comment;
116 const char * usri3_parms;
117 const char * usri3_workstations;
118 uint32_t usri3_last_logon;
119 uint32_t usri3_last_logoff;
120 uint32_t usri3_acct_expires;
121 uint32_t usri3_max_storage;
122 uint32_t usri3_units_per_week;
123 uint8_t *usri3_logon_hours;/* [unique] */
124 uint32_t usri3_bad_pw_count;
125 uint32_t usri3_num_logons;
126 const char * usri3_logon_server;
127 uint32_t usri3_country_code;
128 uint32_t usri3_code_page;
129 uint32_t usri3_user_id;
130 uint32_t usri3_primary_group_id;
131 const char * usri3_profile;
132 const char * usri3_home_dir_drive;
133 uint32_t usri3_password_expired;
137 const char * usri4_name;
138 const char * usri4_password;
139 uint32_t usri4_password_age;
141 const char * usri4_home_dir;
142 const char * usri4_comment;
143 uint32_t usri4_flags;
144 const char * usri4_script_path;
145 uint32_t usri4_auth_flags;
146 const char * usri4_full_name;
147 const char * usri4_usr_comment;
148 const char * usri4_parms;
149 const char * usri4_workstations;
150 uint32_t usri4_last_logon;
151 uint32_t usri4_last_logoff;
152 uint32_t usri4_acct_expires;
153 uint32_t usri4_max_storage;
154 uint32_t usri4_units_per_week;
155 uint8_t *usri4_logon_hours;/* [unique] */
156 uint32_t usri4_bad_pw_count;
157 uint32_t usri4_num_logons;
158 const char * usri4_logon_server;
159 uint32_t usri4_country_code;
160 uint32_t usri4_code_page;
161 struct domsid *usri4_user_sid;/* [unique] */
162 uint32_t usri4_primary_group_id;
163 const char * usri4_profile;
164 const char * usri4_home_dir_drive;
165 uint32_t usri4_password_expired;
168 struct USER_INFO_10 {
169 const char * usri10_name;
170 const char * usri10_comment;
171 const char * usri10_usr_comment;
172 const char * usri10_full_name;
175 struct USER_INFO_11 {
176 const char * usri11_name;
177 const char * usri11_comment;
178 const char * usri11_usr_comment;
179 const char * usri11_full_name;
180 uint32_t usri11_priv;
181 uint32_t usri11_auth_flags;
182 uint32_t usri11_password_age;
183 const char * usri11_home_dir;
184 const char * usri11_parms;
185 uint32_t usri11_last_logon;
186 uint32_t usri11_last_logoff;
187 uint32_t usri11_bad_pw_count;
188 uint32_t usri11_num_logons;
189 const char * usri11_logon_server;
190 uint32_t usri11_country_code;
191 const char * usri11_workstations;
192 uint32_t usri11_max_storage;
193 uint32_t usri11_units_per_week;
194 uint8_t *usri11_logon_hours;/* [unique] */
195 uint32_t usri11_code_page;
198 struct USER_INFO_20 {
199 const char * usri20_name;
200 const char * usri20_full_name;
201 const char * usri20_comment;
202 uint32_t usri20_flags;
203 uint32_t usri20_user_id;
206 struct USER_INFO_21 {
207 uint8_t *usri21_password;
210 struct USER_INFO_22 {
211 const char * usri22_name;
212 uint8_t *usri22_password;
213 uint32_t usri22_password_age;
214 uint32_t usri22_priv;
215 const char * usri22_home_dir;
216 const char * usri22_comment;
217 uint32_t usri22_flags;
218 uint32_t usri22_script_path;
219 uint32_t usri22_auth_flags;
220 const char * usri22_full_name;
221 const char * usri22_usr_comment;
222 const char * usri22_parms;
223 const char * usri22_workstations;
224 uint32_t usri22_last_logon;
225 uint32_t usri22_last_logoff;
226 uint32_t usri22_acct_expires;
227 uint32_t usri22_max_storage;
228 uint32_t usri22_units_per_week;
229 uint8_t *usri22_logon_hours;/* [unique] */
230 uint32_t usri22_bad_pw_count;
231 uint32_t usri22_num_logons;
232 const char * usri22_logon_server;
233 uint32_t usri22_country_code;
234 uint32_t usri22_code_page;
237 struct USER_INFO_23 {
238 const char * usri23_name;
239 const char * usri23_full_name;
240 const char * usri23_comment;
241 uint32_t usri23_flags;
242 struct domsid *usri23_user_sid;/* [unique] */
245 struct USER_INFO_1003 {
246 const char * usri1003_password;
249 struct USER_INFO_1005 {
250 uint32_t usri1005_priv;
253 struct USER_INFO_1006 {
254 const char * usri1006_home_dir;
257 struct USER_INFO_1007 {
258 const char * usri1007_comment;
261 struct USER_INFO_1008 {
262 uint32_t usri1008_flags;
265 struct USER_INFO_1009 {
266 const char * usri1009_script_path;
269 struct USER_INFO_1010 {
270 uint32_t usri1010_auth_flags;
273 struct USER_INFO_1011 {
274 const char * usri1011_full_name;
277 struct USER_INFO_1012 {
278 const char * usri1012_usr_comment;
281 struct USER_INFO_1013 {
282 const char * usri1013_parms;
285 struct USER_INFO_1014 {
286 const char * usri1014_workstations;
289 struct USER_INFO_1017 {
290 uint32_t usri1017_acct_expires;
293 struct USER_INFO_1018 {
294 uint32_t usri1018_max_storage;
297 struct USER_INFO_1020 {
298 uint32_t usri1020_units_per_week;
299 uint8_t *usri1020_logon_hours;/* [unique] */
302 struct USER_INFO_1023 {
303 const char * usri1023_logon_server;
306 struct USER_INFO_1024 {
307 uint32_t usri1024_country_code;
310 struct USER_INFO_1025 {
311 uint32_t usri1025_code_page;
314 struct USER_INFO_1051 {
315 uint32_t usri1051_primary_group_id;
318 struct USER_INFO_1052 {
319 const char * usri1052_profile;
322 struct USER_INFO_1053 {
323 const char * usri1053_home_dir_drive;
327 const char * usriX_name;
328 const char * usriX_password;
329 uint32_t usriX_password_age;
331 const char * usriX_home_dir;
332 const char * usriX_comment;
333 uint32_t usriX_flags;
334 const char * usriX_script_path;
335 uint32_t usriX_auth_flags;
336 const char * usriX_full_name;
337 const char * usriX_usr_comment;
338 const char * usriX_parms;
339 const char * usriX_workstations;
340 uint32_t usriX_last_logon;
341 uint32_t usriX_last_logoff;
342 uint32_t usriX_acct_expires;
343 uint32_t usriX_max_storage;
344 uint32_t usriX_units_per_week;
345 uint8_t *usriX_logon_hours;/* [unique] */
346 uint32_t usriX_bad_pw_count;
347 uint32_t usriX_num_logons;
348 const char * usriX_logon_server;
349 uint32_t usriX_country_code;
350 uint32_t usriX_code_page;
351 const char * usriX_profile;
352 const char * usriX_home_dir_drive;
353 uint32_t usriX_primary_group_id;
356 struct GROUP_USERS_INFO_0 {
357 const char * grui0_name;
360 struct GROUP_USERS_INFO_1 {
361 const char * grui1_name;
362 uint32_t grui1_attributes;
365 struct USER_MODALS_INFO_0 {
366 uint32_t usrmod0_min_passwd_len;
367 uint32_t usrmod0_max_passwd_age;
368 uint32_t usrmod0_min_passwd_age;
369 uint32_t usrmod0_force_logoff;
370 uint32_t usrmod0_password_hist_len;
373 struct USER_MODALS_INFO_1 {
374 uint32_t usrmod1_role;
375 const char * usrmod1_primary;
378 struct USER_MODALS_INFO_2 {
379 const char * usrmod2_domain_name;
380 struct domsid *usrmod2_domain_id;/* [unique] */
383 struct USER_MODALS_INFO_3 {
384 uint32_t usrmod3_lockout_duration;
385 uint32_t usrmod3_lockout_observation_window;
386 uint32_t usrmod3_lockout_threshold;
389 struct USER_MODALS_INFO_1001 {
390 uint32_t usrmod1001_min_passwd_len;
393 struct USER_MODALS_INFO_1002 {
394 uint32_t usrmod1002_max_passwd_age;
397 struct USER_MODALS_INFO_1003 {
398 uint32_t usrmod1003_min_passwd_age;
401 struct USER_MODALS_INFO_1004 {
402 uint32_t usrmod1004_force_logoff;
405 struct USER_MODALS_INFO_1005 {
406 uint32_t usrmod1005_password_hist_len;
409 struct USER_MODALS_INFO_1006 {
410 uint32_t usrmod1006_role;
413 struct USER_MODALS_INFO_1007 {
414 const char * usrmod1007_primary;
417 struct NET_DISPLAY_USER {
418 const char * usri1_name;
419 const char * usri1_comment;
420 uint32_t usri1_flags;
421 const char * usri1_full_name;
422 uint32_t usri1_user_id;
423 uint32_t usri1_next_index;
426 struct NET_DISPLAY_MACHINE {
427 const char * usri2_name;
428 const char * usri2_comment;
429 uint32_t usri2_flags;
430 uint32_t usri2_user_id;
431 uint32_t usri2_next_index;
434 struct NET_DISPLAY_GROUP {
435 const char * grpi3_name;
436 const char * grpi3_comment;
437 uint32_t grpi3_group_id;
438 uint32_t grpi3_attributes;
439 uint32_t grpi3_next_index;
442 struct GROUP_INFO_0 {
443 const char * grpi0_name;
446 struct GROUP_INFO_1 {
447 const char * grpi1_name;
448 const char * grpi1_comment;
451 struct GROUP_INFO_2 {
452 const char * grpi2_name;
453 const char * grpi2_comment;
454 uint32_t grpi2_group_id;
455 uint32_t grpi2_attributes;
458 struct GROUP_INFO_3 {
459 const char * grpi3_name;
460 const char * grpi3_comment;
461 struct domsid *grpi3_group_sid;/* [unique] */
462 uint32_t grpi3_attributes;
465 struct GROUP_INFO_1002 {
466 const char * grpi1002_comment;
469 struct GROUP_INFO_1005 {
470 uint32_t grpi1005_attributes;
473 struct LOCALGROUP_INFO_0 {
474 const char * lgrpi0_name;
477 struct LOCALGROUP_INFO_1 {
478 const char * lgrpi1_name;
479 const char * lgrpi1_comment;
482 struct LOCALGROUP_INFO_1002 {
483 const char * lgrpi1002_comment;
487 #ifndef USE_UINT_ENUMS
493 SidTypeWellKnownGroup=5,
494 SidTypeDeletedAccount=6,
501 { __donnot_use_enum_SID_NAME_USE=0x7FFFFFFF}
502 #define SidTypeUser ( 1 )
503 #define SidTypeGroup ( 2 )
504 #define SidTypeDomain ( 3 )
505 #define SidTypeAlias ( 4 )
506 #define SidTypeWellKnownGroup ( 5 )
507 #define SidTypeDeletedAccount ( 6 )
508 #define SidTypeInvalid ( 7 )
509 #define SidTypeUnknown ( 8 )
510 #define SidTypeComputer ( 9 )
511 #define SidTypeLabel ( 10 )
515 struct LOCALGROUP_MEMBERS_INFO_0 {
516 struct domsid *lgrmi0_sid;/* [unique] */
519 struct LOCALGROUP_MEMBERS_INFO_1 {
520 struct domsid *lgrmi1_sid;/* [unique] */
521 enum SID_NAME_USE lgrmi1_sidusage;
522 const char * lgrmi1_name;
525 struct LOCALGROUP_MEMBERS_INFO_2 {
526 struct domsid *lgrmi2_sid;/* [unique] */
527 enum SID_NAME_USE lgrmi2_sidusage;
528 const char * lgrmi2_domainandname;
531 struct LOCALGROUP_MEMBERS_INFO_3 {
532 const char * lgrmi3_domainandname;
535 struct TIME_OF_DAY_INFO {
536 uint32_t tod_elapsedt;
542 int32_t tod_timezone;
543 uint32_t tod_tinterval;
547 uint32_t tod_weekday;
550 struct SHARE_INFO_2 {
551 const char * shi2_netname;
553 const char * shi2_remark;
554 uint32_t shi2_permissions;
555 uint32_t shi2_max_uses;
556 uint32_t shi2_current_uses;
557 const char * shi2_path;
558 const char * shi2_passwd;
562 struct NetJoinDomain {
564 const char * server;/* [unique] */
565 const char * domain;/* [ref] */
566 const char * account_ou;/* [unique] */
567 const char * account;/* [unique] */
568 const char * password;/* [unique] */
573 enum NET_API_STATUS result;
579 struct NetUnjoinDomain {
581 const char * server_name;/* [unique] */
582 const char * account;/* [unique] */
583 const char * password;/* [unique] */
584 uint32_t unjoin_flags;
588 enum NET_API_STATUS result;
594 struct NetGetJoinInformation {
596 const char * server_name;/* [unique] */
600 const char * *name_buffer;/* [ref] */
601 uint16_t *name_type;/* [ref] */
602 enum NET_API_STATUS result;
608 struct NetGetJoinableOUs {
610 const char * server_name;/* [unique] */
611 const char * domain;/* [ref] */
612 const char * account;/* [unique] */
613 const char * password;/* [unique] */
617 uint32_t *ou_count;/* [ref] */
618 const char * **ous;/* [ref] */
619 enum NET_API_STATUS result;
625 struct NetServerGetInfo {
627 const char * server_name;/* [unique] */
632 uint8_t **buffer;/* [ref] */
633 enum NET_API_STATUS result;
639 struct NetServerSetInfo {
641 const char * server_name;/* [unique] */
643 uint8_t *buffer;/* [ref] */
647 uint32_t *parm_error;/* [ref] */
648 enum NET_API_STATUS result;
654 struct NetGetDCName {
656 const char * server_name;/* [unique] */
657 const char * domain_name;/* [unique] */
661 uint8_t **buffer;/* [ref] */
662 enum NET_API_STATUS result;
668 struct NetGetAnyDCName {
670 const char * server_name;/* [unique] */
671 const char * domain_name;/* [unique] */
675 uint8_t **buffer;/* [ref] */
676 enum NET_API_STATUS result;
684 const char * server_name;/* [unique] */
685 const char * domain_name;/* [ref] */
686 struct GUID *domain_guid;/* [unique] */
687 const char * site_name;/* [unique] */
692 struct DOMAIN_CONTROLLER_INFO **dc_info;/* [ref] */
693 enum NET_API_STATUS result;
701 const char * server_name;/* [unique] */
703 uint8_t *buffer;/* [ref] */
707 uint32_t *parm_error;/* [ref] */
708 enum NET_API_STATUS result;
716 const char * server_name;/* [unique] */
717 const char * user_name;/* [ref] */
721 enum NET_API_STATUS result;
729 const char * server_name;/* [unique] */
733 uint32_t *resume_handle;/* [ref] */
737 uint8_t **buffer;/* [ref] */
738 uint32_t *entries_read;/* [ref] */
739 uint32_t *total_entries;/* [ref] */
740 uint32_t *resume_handle;/* [ref] */
741 enum NET_API_STATUS result;
747 struct NetUserChangePassword {
749 const char * domain_name;
750 const char * user_name;
751 const char * old_password;
752 const char * new_password;
756 enum NET_API_STATUS result;
762 struct NetUserGetInfo {
764 const char * server_name;
765 const char * user_name;
770 uint8_t **buffer;/* [ref] */
771 enum NET_API_STATUS result;
777 struct NetUserSetInfo {
779 const char * server_name;
780 const char * user_name;
782 uint8_t *buffer;/* [ref] */
786 uint32_t *parm_err;/* [ref] */
787 enum NET_API_STATUS result;
793 struct NetUserGetGroups {
795 const char * server_name;
796 const char * user_name;
802 uint8_t **buffer;/* [ref] */
803 uint32_t *entries_read;/* [ref] */
804 uint32_t *total_entries;/* [ref] */
805 enum NET_API_STATUS result;
811 struct NetUserModalsGet {
813 const char * server_name;
818 uint8_t **buffer;/* [ref] */
819 enum NET_API_STATUS result;
825 struct NetUserModalsSet {
827 const char * server_name;
829 uint8_t *buffer;/* [ref] */
833 uint32_t *parm_err;/* [ref] */
834 enum NET_API_STATUS result;
840 struct NetQueryDisplayInformation {
842 const char * server_name;/* [unique] */
845 uint32_t entries_requested;
850 uint32_t *entries_read;/* [ref] */
851 void **buffer;/* [noprint,ref] */
852 enum NET_API_STATUS result;
860 const char * server_name;
862 uint8_t *buffer;/* [ref] */
866 uint32_t *parm_err;/* [ref] */
867 enum NET_API_STATUS result;
875 const char * server_name;
876 const char * group_name;
880 enum NET_API_STATUS result;
886 struct NetGroupEnum {
888 const char * server_name;
891 uint32_t *resume_handle;/* [ref] */
895 uint8_t **buffer;/* [ref] */
896 uint32_t *entries_read;/* [ref] */
897 uint32_t *total_entries;/* [ref] */
898 uint32_t *resume_handle;/* [ref] */
899 enum NET_API_STATUS result;
905 struct NetGroupSetInfo {
907 const char * server_name;
908 const char * group_name;
910 uint8_t *buffer;/* [ref] */
914 uint32_t *parm_err;/* [ref] */
915 enum NET_API_STATUS result;
921 struct NetGroupGetInfo {
923 const char * server_name;
924 const char * group_name;
929 uint8_t **buffer;/* [ref] */
930 enum NET_API_STATUS result;
936 struct NetGroupAddUser {
938 const char * server_name;
939 const char * group_name;
940 const char * user_name;
944 enum NET_API_STATUS result;
950 struct NetGroupDelUser {
952 const char * server_name;
953 const char * group_name;
954 const char * user_name;
958 enum NET_API_STATUS result;
964 struct NetGroupGetUsers {
966 const char * server_name;
967 const char * group_name;
970 uint32_t *resume_handle;/* [ref] */
974 uint8_t **buffer;/* [ref] */
975 uint32_t *entries_read;/* [ref] */
976 uint32_t *total_entries;/* [ref] */
977 uint32_t *resume_handle;/* [ref] */
978 enum NET_API_STATUS result;
984 struct NetLocalGroupAdd {
986 const char * server_name;
988 uint8_t *buffer;/* [ref] */
992 uint32_t *parm_err;/* [ref] */
993 enum NET_API_STATUS result;
999 struct NetLocalGroupDel {
1001 const char * server_name;
1002 const char * group_name;
1006 enum NET_API_STATUS result;
1012 struct NetLocalGroupGetInfo {
1014 const char * server_name;
1015 const char * group_name;
1020 uint8_t **buffer;/* [ref] */
1021 enum NET_API_STATUS result;
1027 struct NetLocalGroupSetInfo {
1029 const char * server_name;
1030 const char * group_name;
1032 uint8_t *buffer;/* [ref] */
1036 uint32_t *parm_err;/* [ref] */
1037 enum NET_API_STATUS result;
1043 struct NetLocalGroupEnum {
1045 const char * server_name;
1047 uint32_t prefmaxlen;
1048 uint32_t *resume_handle;/* [ref] */
1052 uint8_t **buffer;/* [ref] */
1053 uint32_t *entries_read;/* [ref] */
1054 uint32_t *total_entries;/* [ref] */
1055 uint32_t *resume_handle;/* [ref] */
1056 enum NET_API_STATUS result;
1062 struct NetLocalGroupAddMembers {
1064 const char * server_name;
1065 const char * group_name;
1067 uint8_t *buffer;/* [ref] */
1068 uint32_t total_entries;
1072 enum NET_API_STATUS result;
1078 struct NetLocalGroupDelMembers {
1080 const char * server_name;
1081 const char * group_name;
1083 uint8_t *buffer;/* [ref] */
1084 uint32_t total_entries;
1088 enum NET_API_STATUS result;
1094 struct NetLocalGroupGetMembers {
1096 const char * server_name;
1097 const char * local_group_name;
1099 uint32_t prefmaxlen;
1100 uint32_t *resume_handle;/* [ref] */
1104 uint8_t **buffer;/* [ref] */
1105 uint32_t *entries_read;/* [ref] */
1106 uint32_t *total_entries;/* [ref] */
1107 uint32_t *resume_handle;/* [ref] */
1108 enum NET_API_STATUS result;
1114 struct NetLocalGroupSetMembers {
1116 const char * server_name;
1117 const char * group_name;
1119 uint8_t *buffer;/* [ref] */
1120 uint32_t total_entries;
1124 enum NET_API_STATUS result;
1130 struct NetRemoteTOD {
1132 const char * server_name;
1136 uint8_t **buffer;/* [ref] */
1137 enum NET_API_STATUS result;
1143 struct NetShareAdd {
1145 const char * server_name;
1147 uint8_t *buffer;/* [ref] */
1151 uint32_t *parm_err;/* [ref] */
1152 enum NET_API_STATUS result;
1157 #endif /* _HEADER_libnetapi */