netapi: add NetUserGetGroups to IDL.
[Samba.git] / source / librpc / idl / libnetapi.idl
blobb9d94edf9a83d2f4c63d15778eaa339454323ea7
1 /*
2 libnetapi interface definition
3 */
5 cpp_quote("#define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))")
6 cpp_quote("#ifndef MAXSUBAUTHS")
7 cpp_quote("#define MAXSUBAUTHS 15 /* max sub authorities in a SID */")
8 cpp_quote("#endif")
11 pointer_default(unique)
13 interface libnetapi
15 const int ERROR_MORE_DATA = 234L;
17 [public] typedef [v1_enum] enum {
18 NERR_Success=0
19 } NET_API_STATUS;
21 [public] typedef struct {
22 uint8 sid_rev_num;
23 uint8 num_auths;
24 uint8 id_auth[6];
25 uint32 sub_auths[MAXSUBAUTHS];
26 } domsid;
28 /*******************************************/
29 /* NetJoinDomain */
30 /*******************************************/
32 [nopush,nopull] NET_API_STATUS NetJoinDomain(
33 [in,unique] string *server,
34 [in,ref] string *domain,
35 [in,unique] string *account_ou,
36 [in,unique] string *account,
37 [in,unique] string *password,
38 [in] uint32 join_flags
41 /*******************************************/
42 /* NetUnjoinDomain */
43 /*******************************************/
45 [nopush,nopull] NET_API_STATUS NetUnjoinDomain(
46 [in,unique] string *server_name,
47 [in,unique] string *account,
48 [in,unique] string *password,
49 [in] uint32 unjoin_flags
52 /*******************************************/
53 /* NetGetJoinInformation */
54 /*******************************************/
56 [nopush,nopull] NET_API_STATUS NetGetJoinInformation(
57 [in,unique] string *server_name,
58 [out] string **name_buffer,
59 [out] uint16 *name_type
62 /*******************************************/
63 /* NetGetJoinableOUs */
64 /*******************************************/
66 [nopush,nopull] NET_API_STATUS NetGetJoinableOUs(
67 [in,unique] string *server_name,
68 [in,ref] string *domain,
69 [in,unique] string *account,
70 [in,unique] string *password,
71 [out] uint32 *ou_count,
72 [out] string ***ous
75 /*******************************************/
76 /* NetServerGetInfo */
77 /*******************************************/
79 [public] typedef struct {
80 string sv1005_comment;
81 } SERVER_INFO_1005;
83 [nopush,nopull] NET_API_STATUS NetServerGetInfo(
84 [in,unique] string *server_name,
85 [in] uint32 level,
86 [out] uint8 **buffer
89 /*******************************************/
90 /* NetServerSetInfo */
91 /*******************************************/
93 [nopush,nopull] NET_API_STATUS NetServerSetInfo(
94 [in,unique] string *server_name,
95 [in] uint32 level,
96 [in] uint8 *buffer,
97 [out] uint32 *parm_error
100 /*******************************************/
101 /* NetGetDCName */
102 /*******************************************/
104 [nopush,nopull] NET_API_STATUS NetGetDCName(
105 [in,unique] string *server_name,
106 [in,unique] string *domain_name,
107 [out] uint8 **buffer
110 /*******************************************/
111 /* NetGetAnyDCName */
112 /*******************************************/
114 [nopush,nopull] NET_API_STATUS NetGetAnyDCName(
115 [in,unique] string *server_name,
116 [in,unique] string *domain_name,
117 [out] uint8 **buffer
120 /*******************************************/
121 /* DsGetDcName */
122 /*******************************************/
124 [public] typedef struct {
125 string domain_controller_name;
126 string domain_controller_address;
127 uint32 domain_controller_address_type;
128 GUID domain_guid;
129 string domain_name;
130 string dns_forest_name;
131 uint32 flags;
132 string dc_site_name;
133 string client_site_name;
134 } DOMAIN_CONTROLLER_INFO;
136 [nopush,nopull] NET_API_STATUS DsGetDcName(
137 [in,unique] string *server_name,
138 [in,ref] string *domain_name,
139 [in,unique] GUID *domain_guid,
140 [in,unique] string *site_name,
141 [in] uint32 flags,
142 [out,ref] DOMAIN_CONTROLLER_INFO **dc_info
145 /*******************************************/
146 /* NetUserAdd */
147 /*******************************************/
149 [public] typedef struct {
150 string usri0_name;
151 } USER_INFO_0;
153 [public] typedef struct {
154 string usri1_name;
155 string usri1_password;
156 uint32 usri1_password_age;
157 uint32 usri1_priv;
158 string usri1_home_dir;
159 string usri1_comment;
160 uint32 usri1_flags;
161 string usri1_script_path;
162 } USER_INFO_1;
164 [public] typedef struct {
165 string usri2_name;
166 string usri2_password;
167 uint32 usri2_password_age;
168 uint32 usri2_priv;
169 string usri2_home_dir;
170 string usri2_comment;
171 uint32 usri2_flags;
172 string usri2_script_path;
173 uint32 usri2_auth_flags;
174 string usri2_full_name;
175 string usri2_usr_comment;
176 string usri2_parms;
177 string usri2_workstations;
178 uint32 usri2_last_logon;
179 uint32 usri2_last_logoff;
180 uint32 usri2_acct_expires;
181 uint32 usri2_max_storage;
182 uint32 usri2_units_per_week;
183 uint8 *usri2_logon_hours;
184 uint32 usri2_bad_pw_count;
185 uint32 usri2_num_logons;
186 string usri2_logon_server;
187 uint32 usri2_country_code;
188 uint32 usri2_code_page;
189 } USER_INFO_2;
191 [public] typedef struct {
192 string usri3_name;
193 uint32 usri3_password_age;
194 uint32 usri3_priv;
195 string usri3_home_dir;
196 string usri3_comment;
197 uint32 usri3_flags;
198 string usri3_script_path;
199 uint32 usri3_auth_flags;
200 string usri3_full_name;
201 string usri3_usr_comment;
202 string usri3_parms;
203 string usri3_workstations;
204 uint32 usri3_last_logon;
205 uint32 usri3_last_logoff;
206 uint32 usri3_acct_expires;
207 uint32 usri3_max_storage;
208 uint32 usri3_units_per_week;
209 uint8 *usri3_logon_hours;
210 uint32 usri3_bad_pw_count;
211 uint32 usri3_num_logons;
212 string usri3_logon_server;
213 uint32 usri3_country_code;
214 uint32 usri3_code_page;
215 uint32 usri3_user_id;
216 uint32 usri3_primary_group_id;
217 string usri3_profile;
218 string usri3_home_dir_drive;
219 uint32 usri3_password_expired;
220 } USER_INFO_3;
222 [public] typedef struct {
223 string usri4_name;
224 string usri4_password;
225 uint32 usri4_password_age;
226 uint32 usri4_priv;
227 string usri4_home_dir;
228 string usri4_comment;
229 uint32 usri4_flags;
230 string usri4_script_path;
231 uint32 usri4_auth_flags;
232 string usri4_full_name;
233 string usri4_usr_comment;
234 string usri4_parms;
235 string usri4_workstations;
236 uint32 usri4_last_logon;
237 uint32 usri4_last_logoff;
238 uint32 usri4_acct_expires;
239 uint32 usri4_max_storage;
240 uint32 usri4_units_per_week;
241 uint8 *usri4_logon_hours;
242 uint32 usri4_bad_pw_count;
243 uint32 usri4_num_logons;
244 string usri4_logon_server;
245 uint32 usri4_country_code;
246 uint32 usri4_code_page;
247 dom_sid *usri4_user_sid;
248 uint32 usri4_primary_group_id;
249 string usri4_profile;
250 string usri4_home_dir_drive;
251 uint32 usri4_password_expired;
252 } USER_INFO_4;
254 [public] typedef struct {
255 string usri10_name;
256 string usri10_comment;
257 string usri10_usr_comment;
258 string usri10_full_name;
259 } USER_INFO_10;
261 [public] typedef struct {
262 string usri11_name;
263 string usri11_comment;
264 string usri11_usr_comment;
265 string usri11_full_name;
266 uint32 usri11_priv;
267 uint32 usri11_auth_flags;
268 uint32 usri11_password_age;
269 string usri11_home_dir;
270 string usri11_parms;
271 uint32 usri11_last_logon;
272 uint32 usri11_last_logoff;
273 uint32 usri11_bad_pw_count;
274 uint32 usri11_num_logons;
275 string usri11_logon_server;
276 uint32 usri11_country_code;
277 string usri11_workstations;
278 uint32 usri11_max_storage;
279 uint32 usri11_units_per_week;
280 uint8 *usri11_logon_hours;
281 uint32 usri11_code_page;
282 } USER_INFO_11;
284 [public] typedef struct {
285 string usri20_name;
286 string usri20_full_name;
287 string usri20_comment;
288 uint32 usri20_flags;
289 uint32 usri20_user_id;
290 } USER_INFO_20;
292 const int ENCRYPTED_PWLEN = 16;
294 [public] typedef struct {
295 uint8 usri21_password[ENCRYPTED_PWLEN];
296 } USER_INFO_21;
298 [public] typedef struct {
299 string usri22_name;
300 uint8 usri22_password[ENCRYPTED_PWLEN];
301 uint32 usri22_password_age;
302 uint32 usri22_priv;
303 string usri22_home_dir;
304 string usri22_comment;
305 uint32 usri22_flags;
306 uint32 usri22_script_path;
307 uint32 usri22_auth_flags;
308 string usri22_full_name;
309 string usri22_usr_comment;
310 string usri22_parms;
311 string usri22_workstations;
312 uint32 usri22_last_logon;
313 uint32 usri22_last_logoff;
314 uint32 usri22_acct_expires;
315 uint32 usri22_max_storage;
316 uint32 usri22_units_per_week;
317 uint8 *usri22_logon_hours;
318 uint32 usri22_bad_pw_count;
319 uint32 usri22_num_logons;
320 string usri22_logon_server;
321 uint32 usri22_country_code;
322 uint32 usri22_code_page;
323 } USER_INFO_22;
325 [public] typedef struct {
326 string usri23_name;
327 string usri23_full_name;
328 string usri23_comment;
329 uint32 usri23_flags;
330 domsid *usri23_user_sid;
331 } USER_INFO_23;
333 [public] typedef struct {
334 string usri1003_password;
335 } USER_INFO_1003;
337 [public] typedef struct {
338 uint32 usri1005_priv;
339 } USER_INFO_1005;
341 [public] typedef struct {
342 string usri1006_home_dir;
343 } USER_INFO_1006;
345 [public] typedef struct {
346 string usri1007_comment;
347 } USER_INFO_1007;
349 [public] typedef struct {
350 uint32 usri1008_flags;
351 } USER_INFO_1008;
353 [public] typedef struct {
354 string usri1009_script_path;
355 } USER_INFO_1009;
357 [public] typedef struct {
358 uint32 usri1010_auth_flags;
359 } USER_INFO_1010;
361 [public] typedef struct {
362 string usri1011_full_name;
363 } USER_INFO_1011;
365 [public] typedef struct {
366 string usri1012_usr_comment;
367 } USER_INFO_1012;
369 [public] typedef struct {
370 string usri1013_parms;
371 } USER_INFO_1013;
373 [public] typedef struct {
374 string usri1014_workstations;
375 } USER_INFO_1014;
377 [public] typedef struct {
378 uint32 usri1017_acct_expires;
379 } USER_INFO_1017;
381 [public] typedef struct {
382 uint32 usri1018_max_storage;
383 } USER_INFO_1018;
385 [public] typedef struct {
386 uint32 usri1020_units_per_week;
387 uint8 *usri1020_logon_hours;
388 } USER_INFO_1020;
390 [public] typedef struct {
391 string usri1023_logon_server;
392 } USER_INFO_1023;
394 [public] typedef struct {
395 uint32 usri1024_country_code;
396 } USER_INFO_1024;
398 [public] typedef struct {
399 uint32 usri1025_code_page;
400 } USER_INFO_1025;
402 [public] typedef struct {
403 uint32 usri1051_primary_group_id;
404 } USER_INFO_1051;
406 [public] typedef struct {
407 string usri1052_profile;
408 } USER_INFO_1052;
410 [public] typedef struct {
411 string usri1053_home_dir_drive;
412 } USER_INFO_1053;
414 [public] typedef struct {
415 string usriX_name;
416 string usriX_password;
417 uint32 usriX_password_age;
418 uint32 usriX_priv;
419 string usriX_home_dir;
420 string usriX_comment;
421 uint32 usriX_flags;
422 string usriX_script_path;
423 uint32 usriX_auth_flags;
424 string usriX_full_name;
425 string usriX_usr_comment;
426 string usriX_parms;
427 string usriX_workstations;
428 uint32 usriX_last_logon;
429 uint32 usriX_last_logoff;
430 uint32 usriX_acct_expires;
431 uint32 usriX_max_storage;
432 uint32 usriX_units_per_week;
433 uint8 *usriX_logon_hours;
434 uint32 usriX_bad_pw_count;
435 uint32 usriX_num_logons;
436 string usriX_logon_server;
437 uint32 usriX_country_code;
438 uint32 usriX_code_page;
439 string usriX_profile;
440 string usriX_home_dir_drive;
441 uint32 usriX_primary_group_id;
442 } USER_INFO_X;
444 [nopush,nopull] NET_API_STATUS NetUserAdd(
445 [in,unique] string *server_name,
446 [in] uint32 level,
447 [in,ref] uint8 *buffer,
448 [out,ref] uint32 *parm_error
451 /*******************************************/
452 /* NetUserDel */
453 /*******************************************/
455 [nopush,nopull] NET_API_STATUS NetUserDel(
456 [in,unique] string *server_name,
457 [in,ref] string *user_name
460 /*******************************************/
461 /* NetUserEnum */
462 /*******************************************/
464 const int FILTER_TEMP_DUPLICATE_ACCOUNT = 0x0001;
465 const int FILTER_NORMAL_ACCOUNT = 0x0002;
466 const int FILTER_INTERDOMAIN_TRUST_ACCOUNT = 0x0008;
467 const int FILTER_WORKSTATION_TRUST_ACCOUNT = 0x0010;
468 const int FILTER_SERVER_TRUST_ACCOUNT = 0x0020;
470 [nopush,nopull] NET_API_STATUS NetUserEnum(
471 [in,unique] string *server_name,
472 [in] uint32 level,
473 [in] uint32 filter,
474 [out,ref] uint8 **buffer,
475 [in] uint32 prefmaxlen,
476 [out,ref] uint32 *entries_read,
477 [out,ref] uint32 *total_entries,
478 [in,out,ref] uint32 *resume_handle
481 /*******************************************/
482 /* NetUserChangePassword */
483 /*******************************************/
485 [nopush,nopull] NET_API_STATUS NetUserChangePassword(
486 [in] string domain_name,
487 [in] string user_name,
488 [in] string old_password,
489 [in] string new_password
492 /*******************************************/
493 /* NetUserGetInfo */
494 /*******************************************/
496 [nopush,nopull] NET_API_STATUS NetUserGetInfo(
497 [in] string server_name,
498 [in] string user_name,
499 [in] uint32 level,
500 [out] uint8 **buffer
503 /*******************************************/
504 /* NetUserSetInfo */
505 /*******************************************/
507 [nopush,nopull] NET_API_STATUS NetUserSetInfo(
508 [in] string server_name,
509 [in] string user_name,
510 [in] uint32 level,
511 [in] uint8 *buffer,
512 [out] uint32 *parm_err
515 /*******************************************/
516 /* NetUserGetGroups */
517 /*******************************************/
519 [public] typedef struct {
520 string grui0_name;
521 } GROUP_USERS_INFO_0;
523 [public] typedef struct {
524 string grui1_name;
525 uint32 grui1_attributes;
526 } GROUP_USERS_INFO_1;
528 [nopush,nopull] NET_API_STATUS NetUserGetGroups(
529 [in] string server_name,
530 [in] string user_name,
531 [in] uint32 level,
532 [out] uint8 **buffer,
533 [in] uint32 prefmaxlen,
534 [out,ref] uint32 *entries_read,
535 [out,ref] uint32 *total_entries
538 /*******************************************/
539 /* NetUserModalsGet */
540 /*******************************************/
542 const int TIMEQ_FOREVER = (uint32_t)-1L;
544 typedef struct {
545 uint32 usrmod0_min_passwd_len;
546 uint32 usrmod0_max_passwd_age;
547 uint32 usrmod0_min_passwd_age;
548 uint32 usrmod0_force_logoff;
549 uint32 usrmod0_password_hist_len;
550 } USER_MODALS_INFO_0;
552 typedef struct {
553 uint32 usrmod1_role;
554 string usrmod1_primary;
555 } USER_MODALS_INFO_1;
557 typedef struct {
558 string usrmod2_domain_name;
559 domsid *usrmod2_domain_id;
560 } USER_MODALS_INFO_2;
562 typedef struct {
563 uint32 usrmod3_lockout_duration;
564 uint32 usrmod3_lockout_observation_window;
565 uint32 usrmod3_lockout_threshold;
566 } USER_MODALS_INFO_3;
568 typedef struct {
569 uint32 usrmod1001_min_passwd_len;
570 } USER_MODALS_INFO_1001;
572 typedef struct {
573 uint32 usrmod1002_max_passwd_age;
574 } USER_MODALS_INFO_1002;
576 typedef struct {
577 uint32 usrmod1003_min_passwd_age;
578 } USER_MODALS_INFO_1003;
580 typedef struct {
581 uint32 usrmod1004_force_logoff;
582 } USER_MODALS_INFO_1004;
584 typedef struct {
585 uint32 usrmod1005_password_hist_len;
586 } USER_MODALS_INFO_1005;
588 typedef struct {
589 uint32 usrmod1006_role;
590 } USER_MODALS_INFO_1006;
592 typedef struct {
593 string usrmod1007_primary;
594 } USER_MODALS_INFO_1007;
596 [nopush,nopull] NET_API_STATUS NetUserModalsGet(
597 [in] string server_name,
598 [in] uint32 level,
599 [out,ref] uint8 **buffer
602 /*******************************************/
603 /* NetUserModalsSet */
604 /*******************************************/
606 [nopush,nopull] NET_API_STATUS NetUserModalsSet(
607 [in] string server_name,
608 [in] uint32 level,
609 [in] uint8 *buffer,
610 [out,ref] uint32 *parm_err
613 /*******************************************/
614 /* NetQueryDisplayInformation */
615 /*******************************************/
617 [public] typedef struct {
618 string usri1_name;
619 string usri1_comment;
620 uint32 usri1_flags;
621 string usri1_full_name;
622 uint32 usri1_user_id;
623 uint32 usri1_next_index;
624 } NET_DISPLAY_USER;
626 [public] typedef struct {
627 string usri2_name;
628 string usri2_comment;
629 uint32 usri2_flags;
630 uint32 usri2_user_id;
631 uint32 usri2_next_index;
632 } NET_DISPLAY_MACHINE;
634 [public] typedef struct {
635 string grpi3_name;
636 string grpi3_comment;
637 uint32 grpi3_group_id;
638 uint32 grpi3_attributes;
639 uint32 grpi3_next_index;
640 } NET_DISPLAY_GROUP;
642 [nopush,nopull] NET_API_STATUS NetQueryDisplayInformation(
643 [in,unique] string *server_name,
644 [in] uint32 level,
645 [in] uint32 idx,
646 [in] uint32 entries_requested,
647 [in] uint32 prefmaxlen,
648 [out,ref] uint32 *entries_read,
649 [out,ref,noprint] void **buffer
652 /*******************************************/
653 /* NetGroupAdd */
654 /*******************************************/
656 typedef struct {
657 string grpi0_name;
658 } GROUP_INFO_0;
660 typedef struct {
661 string grpi1_name;
662 string grpi1_comment;
663 } GROUP_INFO_1;
665 typedef struct {
666 string grpi2_name;
667 string grpi2_comment;
668 uint32 grpi2_group_id;
669 uint32 grpi2_attributes;
670 } GROUP_INFO_2;
672 typedef struct {
673 string grpi3_name;
674 string grpi3_comment;
675 domsid *grpi3_group_sid;
676 uint32 grpi3_attributes;
677 } GROUP_INFO_3;
679 typedef struct {
680 string grpi1002_comment;
681 } GROUP_INFO_1002;
683 typedef struct {
684 uint32 grpi1005_attributes;
685 } GROUP_INFO_1005;
687 [nopush,nopull] NET_API_STATUS NetGroupAdd(
688 [in] string server_name,
689 [in] uint32 level,
690 [in] uint8 *buffer,
691 [out] uint32 *parm_err
694 /*******************************************/
695 /* NetGroupDel */
696 /*******************************************/
698 [nopush,nopull] NET_API_STATUS NetGroupDel(
699 [in] string server_name,
700 [in] string group_name
703 /*******************************************/
704 /* NetGroupEnum */
705 /*******************************************/
707 [nopush,nopull] NET_API_STATUS NetGroupEnum(
708 [in] string server_name,
709 [in] uint32 level,
710 [out,ref] uint8 **buffer,
711 [in] uint32 prefmaxlen,
712 [out,ref] uint32 *entries_read,
713 [out,ref] uint32 *total_entries,
714 [in,out,ref] uint32 *resume_handle
717 /*******************************************/
718 /* NetGroupSetInfo */
719 /*******************************************/
721 [nopush,nopull] NET_API_STATUS NetGroupSetInfo(
722 [in] string server_name,
723 [in] string group_name,
724 [in] uint32 level,
725 [in] uint8 *buffer,
726 [out] uint32 *parm_err
729 /*******************************************/
730 /* NetGroupGetInfo */
731 /*******************************************/
733 [nopush,nopull] NET_API_STATUS NetGroupGetInfo(
734 [in] string server_name,
735 [in] string group_name,
736 [in] uint32 level,
737 [out] uint8 **buffer
740 /*******************************************/
741 /* NetGroupAddUser */
742 /*******************************************/
744 [nopush,nopull] NET_API_STATUS NetGroupAddUser(
745 [in] string server_name,
746 [in] string group_name,
747 [in] string user_name
750 /*******************************************/
751 /* NetGroupDelUser */
752 /*******************************************/
754 [nopush,nopull] NET_API_STATUS NetGroupDelUser(
755 [in] string server_name,
756 [in] string group_name,
757 [in] string user_name
760 /*******************************************/
761 /* NetGroupGetUsers */
762 /*******************************************/
764 [nopush,nopull] NET_API_STATUS NetGroupGetUsers(
765 [in] string server_name,
766 [in] string group_name,
767 [in] uint32 level,
768 [out] uint8 **buffer,
769 [in] uint32 prefmaxlen,
770 [out,ref] uint32 *entries_read,
771 [out,ref] uint32 *total_entries,
772 [in,out,ref] uint32 *resume_handle
775 /*******************************************/
776 /* NetLocalGroupAdd */
777 /*******************************************/
779 typedef struct {
780 string lgrpi0_name;
781 } LOCALGROUP_INFO_0;
783 typedef struct {
784 string lgrpi1_name;
785 string lgrpi1_comment;
786 } LOCALGROUP_INFO_1;
788 typedef struct {
789 string lgrpi1002_comment;
790 } LOCALGROUP_INFO_1002;
792 [nopush,nopull] NET_API_STATUS NetLocalGroupAdd(
793 [in] string server_name,
794 [in] uint32 level,
795 [in] uint8 *buffer,
796 [out,ref] uint32 *parm_err
799 /*******************************************/
800 /* NetLocalGroupDel */
801 /*******************************************/
803 [nopush,nopull] NET_API_STATUS NetLocalGroupDel(
804 [in] string server_name,
805 [in] string group_name
808 /*******************************************/
809 /* NetLocalGroupGetInfo */
810 /*******************************************/
812 [nopush,nopull] NET_API_STATUS NetLocalGroupGetInfo(
813 [in] string server_name,
814 [in] string group_name,
815 [in] uint32 level,
816 [out,ref] uint8 **buffer
819 /*******************************************/
820 /* NetLocalGroupSetInfo */
821 /*******************************************/
823 [nopush,nopull] NET_API_STATUS NetLocalGroupSetInfo(
824 [in] string server_name,
825 [in] string group_name,
826 [in] uint32 level,
827 [in,ref] uint8 *buffer,
828 [out,ref] uint32 *parm_err
831 /*******************************************/
832 /* NetLocalGroupEnum */
833 /*******************************************/
835 [nopush,nopull] NET_API_STATUS NetLocalGroupEnum(
836 [in] string server_name,
837 [in] uint32 level,
838 [out,ref] uint8 **buffer,
839 [in] uint32 prefmaxlen,
840 [out,ref] uint32 *entries_read,
841 [out,ref] uint32 *total_entries,
842 [in,out,ref] uint32 *resume_handle
845 /*******************************************/
846 /* NetLocalGroupAddMembers */
847 /*******************************************/
849 typedef enum {
850 SidTypeUser = 1,
851 SidTypeGroup = 2,
852 SidTypeDomain = 3,
853 SidTypeAlias = 4,
854 SidTypeWellKnownGroup = 5,
855 SidTypeDeletedAccount = 6,
856 SidTypeInvalid = 7,
857 SidTypeUnknown = 8,
858 SidTypeComputer = 9,
859 SidTypeLabel = 10
860 } SID_NAME_USE;
862 typedef struct {
863 domsid *lgrmi0_sid;
864 } LOCALGROUP_MEMBERS_INFO_0;
866 typedef struct {
867 domsid *lgrmi1_sid;
868 SID_NAME_USE lgrmi1_sidusage;
869 string lgrmi1_name;
870 } LOCALGROUP_MEMBERS_INFO_1;
872 typedef struct {
873 domsid *lgrmi2_sid;
874 SID_NAME_USE lgrmi2_sidusage;
875 string lgrmi2_domainandname;
876 } LOCALGROUP_MEMBERS_INFO_2;
878 typedef struct {
879 string lgrmi3_domainandname;
880 } LOCALGROUP_MEMBERS_INFO_3;
882 [nopush,nopull] NET_API_STATUS NetLocalGroupAddMembers(
883 [in] string server_name,
884 [in] string group_name,
885 [in] uint32 level,
886 [in] uint8 *buffer,
887 [in] uint32 total_entries
890 /*******************************************/
891 /* NetLocalGroupDelMembers */
892 /*******************************************/
894 [nopush,nopull] NET_API_STATUS NetLocalGroupDelMembers(
895 [in] string server_name,
896 [in] string group_name,
897 [in] uint32 level,
898 [in] uint8 *buffer,
899 [in] uint32 total_entries
902 /*******************************************/
903 /* NetLocalGroupGetMembers */
904 /*******************************************/
906 [nopush,nopull] NET_API_STATUS NetLocalGroupGetMembers(
907 [in] string server_name,
908 [in] string local_group_name,
909 [in] uint32 level,
910 [out] uint8 **buffer,
911 [in] uint32 prefmaxlen,
912 [out] uint32 *entries_read,
913 [out] uint32 *total_entries,
914 [in,out] uint32 *resume_handle
917 /*******************************************/
918 /* NetLocalGroupSetMembers */
919 /*******************************************/
921 [nopush,nopull] NET_API_STATUS NetLocalGroupSetMembers(
922 [in] string server_name,
923 [in] string group_name,
924 [in] uint32 level,
925 [in] uint8 *buffer,
926 [in] uint32 total_entries
929 /*******************************************/
930 /* NetRemoteTOD */
931 /*******************************************/
933 typedef struct {
934 uint32 tod_elapsedt;
935 uint32 tod_msecs;
936 uint32 tod_hours;
937 uint32 tod_mins;
938 uint32 tod_secs;
939 uint32 tod_hunds;
940 int32 tod_timezone;
941 uint32 tod_tinterval;
942 uint32 tod_day;
943 uint32 tod_month;
944 uint32 tod_year;
945 uint32 tod_weekday;
946 } TIME_OF_DAY_INFO;
948 [nopush,nopull] NET_API_STATUS NetRemoteTOD(
949 [in] string server_name,
950 [out,ref] uint8 **buffer