2 libnetapi interface definition
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 */")
11 pointer_default(unique)
15 const int ERROR_MORE_DATA = 234L;
17 [public] typedef [v1_enum] enum {
21 [public] typedef struct {
25 uint32 sub_auths[MAXSUBAUTHS];
28 /*******************************************/
30 /*******************************************/
32 typedef [public,bitmap32bit] bitmap {
33 NETSETUP_JOIN_DOMAIN = 0x00000001,
34 NETSETUP_ACCT_CREATE = 0x00000002,
35 NETSETUP_ACCT_DELETE = 0x00000004,
36 NETSETUP_WIN9X_UPGRADE = 0x00000010,
37 NETSETUP_DOMAIN_JOIN_IF_JOINED = 0x00000020,
38 NETSETUP_JOIN_UNSECURE = 0x00000040,
39 NETSETUP_MACHINE_PWD_PASSED = 0x00000080,
40 NETSETUP_DEFER_SPN_SET = 0x00000100,
41 NETSETUP_JOIN_DC_ACCOUNT = 0x00000200,
42 NETSETUP_JOIN_WITH_NEW_NAME = 0x00000400,
43 NETSETUP_INSTALL_INVOCATION = 0x00040000,
44 NETSETUP_IGNORE_UNSUPPORTED_FLAGS = 0x10000000
47 [nopush,nopull] NET_API_STATUS NetJoinDomain(
48 [in,unique] string *server,
49 [in,ref] string *domain,
50 [in,unique] string *account_ou,
51 [in,unique] string *account,
52 [in,unique] string *password,
53 [in] NetJoinFlags join_flags
56 /*******************************************/
58 /*******************************************/
60 [nopush,nopull] NET_API_STATUS NetUnjoinDomain(
61 [in,unique] string *server_name,
62 [in,unique] string *account,
63 [in,unique] string *password,
64 [in] NetJoinFlags unjoin_flags
67 /*******************************************/
68 /* NetGetJoinInformation */
69 /*******************************************/
72 NetSetupUnknownStatus = 0,
74 NetSetupWorkgroupName = 2,
75 NetSetupDomainName = 3
76 } NETSETUP_JOIN_STATUS;
78 [nopush,nopull] NET_API_STATUS NetGetJoinInformation(
79 [in,unique] string *server_name,
80 [out] string **name_buffer,
81 [out] uint16 *name_type
84 /*******************************************/
85 /* NetGetJoinableOUs */
86 /*******************************************/
88 [nopush,nopull] NET_API_STATUS NetGetJoinableOUs(
89 [in,unique] string *server_name,
90 [in,ref] string *domain,
91 [in,unique] string *account,
92 [in,unique] string *password,
93 [out] uint32 *ou_count,
97 /*******************************************/
98 /* NetRenameMachineInDomain */
99 /*******************************************/
101 [nopush,nopull] NET_API_STATUS NetRenameMachineInDomain(
102 [in] string server_name,
103 [in] string new_machine_name,
105 [in] string password,
106 [in] uint32 rename_options
109 /*******************************************/
110 /* NetServerGetInfo */
111 /*******************************************/
113 [public] typedef struct {
114 uint32 sv100_platform_id;
118 [public] typedef struct {
119 uint32 sv101_platform_id;
121 uint32 sv101_version_major;
122 uint32 sv101_version_minor;
124 string sv101_comment;
127 [public] typedef struct {
128 uint32 sv102_platform_id;
130 uint32 sv102_version_major;
131 uint32 sv102_version_minor;
133 string sv102_comment;
136 boolean8 sv102_hidden;
137 uint32 sv102_announce;
138 uint32 sv102_anndelta;
139 uint32 sv102_licenses;
140 string sv102_userpath;
143 [public] typedef struct {
144 string sv1005_comment;
147 [nopush,nopull] NET_API_STATUS NetServerGetInfo(
148 [in,unique] string *server_name,
153 /*******************************************/
154 /* NetServerSetInfo */
155 /*******************************************/
157 [nopush,nopull] NET_API_STATUS NetServerSetInfo(
158 [in,unique] string *server_name,
161 [out] uint32 *parm_error
164 /*******************************************/
166 /*******************************************/
168 [nopush,nopull] NET_API_STATUS NetGetDCName(
169 [in,unique] string *server_name,
170 [in,unique] string *domain_name,
174 /*******************************************/
175 /* NetGetAnyDCName */
176 /*******************************************/
178 [nopush,nopull] NET_API_STATUS NetGetAnyDCName(
179 [in,unique] string *server_name,
180 [in,unique] string *domain_name,
184 /*******************************************/
186 /*******************************************/
188 [public] typedef struct {
189 string domain_controller_name;
190 string domain_controller_address;
191 uint32 domain_controller_address_type;
194 string dns_forest_name;
197 string client_site_name;
198 } DOMAIN_CONTROLLER_INFO;
200 [nopush,nopull] NET_API_STATUS DsGetDcName(
201 [in,unique] string *server_name,
202 [in,ref] string *domain_name,
203 [in,unique] GUID *domain_guid,
204 [in,unique] string *site_name,
206 [out,ref] DOMAIN_CONTROLLER_INFO **dc_info
209 /*******************************************/
211 /*******************************************/
213 [public] typedef struct {
218 const int USER_PRIV_GUEST = 0;
219 const int USER_PRIV_USER = 1;
220 const int USER_PRIV_ADMIN = 2;
222 [public] typedef struct {
224 string usri1_password;
225 uint32 usri1_password_age;
227 string usri1_home_dir;
228 string usri1_comment;
230 string usri1_script_path;
233 /* auth_flags in USER_INFO_2 */
235 const int AF_OP_PRINT = 0x1;
236 const int AF_OP_COMM = 0x2;
237 const int AF_OP_SERVER = 0x4;
238 const int AF_OP_ACCOUNTS = 0x8;
239 const int AF_SETTABLE_BITS = (AF_OP_PRINT | AF_OP_COMM | AF_OP_SERVER | AF_OP_ACCOUNTS);
241 const int USER_MAXSTORAGE_UNLIMITED = (uint32_t)-1L;
243 [public] typedef struct {
245 string usri2_password;
246 uint32 usri2_password_age;
248 string usri2_home_dir;
249 string usri2_comment;
251 string usri2_script_path;
252 uint32 usri2_auth_flags;
253 string usri2_full_name;
254 string usri2_usr_comment;
256 string usri2_workstations;
257 uint32 usri2_last_logon;
258 uint32 usri2_last_logoff;
259 uint32 usri2_acct_expires;
260 uint32 usri2_max_storage;
261 uint32 usri2_units_per_week;
262 uint8 *usri2_logon_hours;
263 uint32 usri2_bad_pw_count;
264 uint32 usri2_num_logons;
265 string usri2_logon_server;
266 uint32 usri2_country_code;
267 uint32 usri2_code_page;
270 [public] typedef struct {
272 uint32 usri3_password_age;
274 string usri3_home_dir;
275 string usri3_comment;
277 string usri3_script_path;
278 uint32 usri3_auth_flags;
279 string usri3_full_name;
280 string usri3_usr_comment;
282 string usri3_workstations;
283 uint32 usri3_last_logon;
284 uint32 usri3_last_logoff;
285 uint32 usri3_acct_expires;
286 uint32 usri3_max_storage;
287 uint32 usri3_units_per_week;
288 uint8 *usri3_logon_hours;
289 uint32 usri3_bad_pw_count;
290 uint32 usri3_num_logons;
291 string usri3_logon_server;
292 uint32 usri3_country_code;
293 uint32 usri3_code_page;
294 uint32 usri3_user_id;
295 uint32 usri3_primary_group_id;
296 string usri3_profile;
297 string usri3_home_dir_drive;
298 uint32 usri3_password_expired;
301 [public] typedef struct {
303 string usri4_password;
304 uint32 usri4_password_age;
306 string usri4_home_dir;
307 string usri4_comment;
309 string usri4_script_path;
310 uint32 usri4_auth_flags;
311 string usri4_full_name;
312 string usri4_usr_comment;
314 string usri4_workstations;
315 uint32 usri4_last_logon;
316 uint32 usri4_last_logoff;
317 uint32 usri4_acct_expires;
318 uint32 usri4_max_storage;
319 uint32 usri4_units_per_week;
320 uint8 *usri4_logon_hours;
321 uint32 usri4_bad_pw_count;
322 uint32 usri4_num_logons;
323 string usri4_logon_server;
324 uint32 usri4_country_code;
325 uint32 usri4_code_page;
326 domsid *usri4_user_sid;
327 uint32 usri4_primary_group_id;
328 string usri4_profile;
329 string usri4_home_dir_drive;
330 uint32 usri4_password_expired;
333 [public] typedef struct {
335 string usri10_comment;
336 string usri10_usr_comment;
337 string usri10_full_name;
340 [public] typedef struct {
342 string usri11_comment;
343 string usri11_usr_comment;
344 string usri11_full_name;
346 uint32 usri11_auth_flags;
347 uint32 usri11_password_age;
348 string usri11_home_dir;
350 uint32 usri11_last_logon;
351 uint32 usri11_last_logoff;
352 uint32 usri11_bad_pw_count;
353 uint32 usri11_num_logons;
354 string usri11_logon_server;
355 uint32 usri11_country_code;
356 string usri11_workstations;
357 uint32 usri11_max_storage;
358 uint32 usri11_units_per_week;
359 uint8 *usri11_logon_hours;
360 uint32 usri11_code_page;
363 [public] typedef struct {
365 string usri20_full_name;
366 string usri20_comment;
368 uint32 usri20_user_id;
371 const int ENCRYPTED_PWLEN = 16;
373 [public] typedef struct {
374 uint8 usri21_password[ENCRYPTED_PWLEN];
377 [public] typedef struct {
379 uint8 usri22_password[ENCRYPTED_PWLEN];
380 uint32 usri22_password_age;
382 string usri22_home_dir;
383 string usri22_comment;
385 uint32 usri22_script_path;
386 uint32 usri22_auth_flags;
387 string usri22_full_name;
388 string usri22_usr_comment;
390 string usri22_workstations;
391 uint32 usri22_last_logon;
392 uint32 usri22_last_logoff;
393 uint32 usri22_acct_expires;
394 uint32 usri22_max_storage;
395 uint32 usri22_units_per_week;
396 uint8 *usri22_logon_hours;
397 uint32 usri22_bad_pw_count;
398 uint32 usri22_num_logons;
399 string usri22_logon_server;
400 uint32 usri22_country_code;
401 uint32 usri22_code_page;
404 [public] typedef struct {
406 string usri23_full_name;
407 string usri23_comment;
409 domsid *usri23_user_sid;
412 [public] typedef struct {
413 string usri1003_password;
416 [public] typedef struct {
417 uint32 usri1005_priv;
420 [public] typedef struct {
421 string usri1006_home_dir;
424 [public] typedef struct {
425 string usri1007_comment;
428 [public] typedef struct {
429 uint32 usri1008_flags;
432 [public] typedef struct {
433 string usri1009_script_path;
436 [public] typedef struct {
437 uint32 usri1010_auth_flags;
440 [public] typedef struct {
441 string usri1011_full_name;
444 [public] typedef struct {
445 string usri1012_usr_comment;
448 [public] typedef struct {
449 string usri1013_parms;
452 [public] typedef struct {
453 string usri1014_workstations;
456 [public] typedef struct {
457 uint32 usri1017_acct_expires;
460 [public] typedef struct {
461 uint32 usri1018_max_storage;
464 [public] typedef struct {
465 uint32 usri1020_units_per_week;
466 uint8 *usri1020_logon_hours;
469 [public] typedef struct {
470 string usri1023_logon_server;
473 [public] typedef struct {
474 uint32 usri1024_country_code;
477 [public] typedef struct {
478 uint32 usri1025_code_page;
481 [public] typedef struct {
482 uint32 usri1051_primary_group_id;
485 [public] typedef struct {
486 string usri1052_profile;
489 [public] typedef struct {
490 string usri1053_home_dir_drive;
493 [public] typedef struct {
495 string usriX_password;
496 uint32 usriX_password_age;
498 string usriX_home_dir;
499 string usriX_comment;
501 string usriX_script_path;
502 uint32 usriX_auth_flags;
503 string usriX_full_name;
504 string usriX_usr_comment;
506 string usriX_workstations;
507 uint32 usriX_last_logon;
508 uint32 usriX_last_logoff;
509 uint32 usriX_acct_expires;
510 uint32 usriX_max_storage;
511 uint32 usriX_units_per_week;
512 uint8 *usriX_logon_hours;
513 uint32 usriX_bad_pw_count;
514 uint32 usriX_num_logons;
515 string usriX_logon_server;
516 uint32 usriX_country_code;
517 uint32 usriX_code_page;
518 string usriX_profile;
519 string usriX_home_dir_drive;
520 uint32 usriX_primary_group_id;
523 [nopush,nopull] NET_API_STATUS NetUserAdd(
524 [in,unique] string *server_name,
526 [in,ref] uint8 *buffer,
527 [out,ref] uint32 *parm_error
530 /*******************************************/
532 /*******************************************/
534 [nopush,nopull] NET_API_STATUS NetUserDel(
535 [in,unique] string *server_name,
536 [in,ref] string *user_name
539 /*******************************************/
541 /*******************************************/
543 const int FILTER_TEMP_DUPLICATE_ACCOUNT = 0x0001;
544 const int FILTER_NORMAL_ACCOUNT = 0x0002;
545 const int FILTER_INTERDOMAIN_TRUST_ACCOUNT = 0x0008;
546 const int FILTER_WORKSTATION_TRUST_ACCOUNT = 0x0010;
547 const int FILTER_SERVER_TRUST_ACCOUNT = 0x0020;
549 [nopush,nopull] NET_API_STATUS NetUserEnum(
550 [in,unique] string *server_name,
553 [out,ref] uint8 **buffer,
554 [in] uint32 prefmaxlen,
555 [out,ref] uint32 *entries_read,
556 [out,ref] uint32 *total_entries,
557 [in,out,ref] uint32 *resume_handle
560 /*******************************************/
561 /* NetUserChangePassword */
562 /*******************************************/
564 [nopush,nopull] NET_API_STATUS NetUserChangePassword(
565 [in] string domain_name,
566 [in] string user_name,
567 [in] string old_password,
568 [in] string new_password
571 /*******************************************/
573 /*******************************************/
575 [nopush,nopull] NET_API_STATUS NetUserGetInfo(
576 [in] string server_name,
577 [in] string user_name,
582 /*******************************************/
584 /*******************************************/
586 [nopush,nopull] NET_API_STATUS NetUserSetInfo(
587 [in] string server_name,
588 [in] string user_name,
591 [out] uint32 *parm_err
594 /*******************************************/
595 /* NetUserGetGroups */
596 /*******************************************/
598 [public] typedef struct {
600 } GROUP_USERS_INFO_0;
602 [public] typedef struct {
604 uint32 grui1_attributes;
605 } GROUP_USERS_INFO_1;
607 [nopush,nopull] NET_API_STATUS NetUserGetGroups(
608 [in] string server_name,
609 [in] string user_name,
611 [out] uint8 **buffer,
612 [in] uint32 prefmaxlen,
613 [out,ref] uint32 *entries_read,
614 [out,ref] uint32 *total_entries
617 /*******************************************/
618 /* NetUserSetGroups */
619 /*******************************************/
621 [nopush,nopull] NET_API_STATUS NetUserSetGroups(
622 [in] string server_name,
623 [in] string user_name,
626 [in] uint32 num_entries
629 /*******************************************/
630 /* NetUserModalsGet */
631 /*******************************************/
633 const int TIMEQ_FOREVER = (uint32_t)-1L;
636 uint32 usrmod0_min_passwd_len;
637 uint32 usrmod0_max_passwd_age;
638 uint32 usrmod0_min_passwd_age;
639 uint32 usrmod0_force_logoff;
640 uint32 usrmod0_password_hist_len;
641 } USER_MODALS_INFO_0;
645 string usrmod1_primary;
646 } USER_MODALS_INFO_1;
649 string usrmod2_domain_name;
650 domsid *usrmod2_domain_id;
651 } USER_MODALS_INFO_2;
654 uint32 usrmod3_lockout_duration;
655 uint32 usrmod3_lockout_observation_window;
656 uint32 usrmod3_lockout_threshold;
657 } USER_MODALS_INFO_3;
660 uint32 usrmod1001_min_passwd_len;
661 } USER_MODALS_INFO_1001;
664 uint32 usrmod1002_max_passwd_age;
665 } USER_MODALS_INFO_1002;
668 uint32 usrmod1003_min_passwd_age;
669 } USER_MODALS_INFO_1003;
672 uint32 usrmod1004_force_logoff;
673 } USER_MODALS_INFO_1004;
676 uint32 usrmod1005_password_hist_len;
677 } USER_MODALS_INFO_1005;
680 uint32 usrmod1006_role;
681 } USER_MODALS_INFO_1006;
684 string usrmod1007_primary;
685 } USER_MODALS_INFO_1007;
687 [nopush,nopull] NET_API_STATUS NetUserModalsGet(
688 [in] string server_name,
690 [out,ref] uint8 **buffer
693 /*******************************************/
694 /* NetUserModalsSet */
695 /*******************************************/
697 [nopush,nopull] NET_API_STATUS NetUserModalsSet(
698 [in] string server_name,
701 [out,ref] uint32 *parm_err
704 /*******************************************/
705 /* NetQueryDisplayInformation */
706 /*******************************************/
708 [public] typedef struct {
710 string usri1_comment;
712 string usri1_full_name;
713 uint32 usri1_user_id;
714 uint32 usri1_next_index;
717 [public] typedef struct {
719 string usri2_comment;
721 uint32 usri2_user_id;
722 uint32 usri2_next_index;
723 } NET_DISPLAY_MACHINE;
725 [public] typedef struct {
727 string grpi3_comment;
728 uint32 grpi3_group_id;
729 uint32 grpi3_attributes;
730 uint32 grpi3_next_index;
733 [nopush,nopull] NET_API_STATUS NetQueryDisplayInformation(
734 [in,unique] string *server_name,
737 [in] uint32 entries_requested,
738 [in] uint32 prefmaxlen,
739 [out,ref] uint32 *entries_read,
740 [out,ref,noprint] void **buffer
743 /*******************************************/
745 /*******************************************/
753 string grpi1_comment;
758 string grpi2_comment;
759 uint32 grpi2_group_id;
760 uint32 grpi2_attributes;
765 string grpi3_comment;
766 domsid *grpi3_group_sid;
767 uint32 grpi3_attributes;
771 string grpi1002_comment;
775 uint32 grpi1005_attributes;
778 [nopush,nopull] NET_API_STATUS NetGroupAdd(
779 [in] string server_name,
782 [out] uint32 *parm_err
785 /*******************************************/
787 /*******************************************/
789 [nopush,nopull] NET_API_STATUS NetGroupDel(
790 [in] string server_name,
791 [in] string group_name
794 /*******************************************/
796 /*******************************************/
798 [nopush,nopull] NET_API_STATUS NetGroupEnum(
799 [in] string server_name,
801 [out,ref] uint8 **buffer,
802 [in] uint32 prefmaxlen,
803 [out,ref] uint32 *entries_read,
804 [out,ref] uint32 *total_entries,
805 [in,out,ref] uint32 *resume_handle
808 /*******************************************/
809 /* NetGroupSetInfo */
810 /*******************************************/
812 [nopush,nopull] NET_API_STATUS NetGroupSetInfo(
813 [in] string server_name,
814 [in] string group_name,
817 [out] uint32 *parm_err
820 /*******************************************/
821 /* NetGroupGetInfo */
822 /*******************************************/
824 [nopush,nopull] NET_API_STATUS NetGroupGetInfo(
825 [in] string server_name,
826 [in] string group_name,
831 /*******************************************/
832 /* NetGroupAddUser */
833 /*******************************************/
835 [nopush,nopull] NET_API_STATUS NetGroupAddUser(
836 [in] string server_name,
837 [in] string group_name,
838 [in] string user_name
841 /*******************************************/
842 /* NetGroupDelUser */
843 /*******************************************/
845 [nopush,nopull] NET_API_STATUS NetGroupDelUser(
846 [in] string server_name,
847 [in] string group_name,
848 [in] string user_name
851 /*******************************************/
852 /* NetGroupGetUsers */
853 /*******************************************/
855 [nopush,nopull] NET_API_STATUS NetGroupGetUsers(
856 [in] string server_name,
857 [in] string group_name,
859 [out] uint8 **buffer,
860 [in] uint32 prefmaxlen,
861 [out,ref] uint32 *entries_read,
862 [out,ref] uint32 *total_entries,
863 [in,out,ref] uint32 *resume_handle
866 /*******************************************/
867 /* NetGroupSetUsers */
868 /*******************************************/
870 [nopush,nopull] NET_API_STATUS NetGroupSetUsers(
871 [in] string server_name,
872 [in] string group_name,
875 [in] uint32 num_entries
878 /*******************************************/
879 /* NetLocalGroupAdd */
880 /*******************************************/
888 string lgrpi1_comment;
892 string lgrpi1002_comment;
893 } LOCALGROUP_INFO_1002;
895 [nopush,nopull] NET_API_STATUS NetLocalGroupAdd(
896 [in] string server_name,
899 [out,ref] uint32 *parm_err
902 /*******************************************/
903 /* NetLocalGroupDel */
904 /*******************************************/
906 [nopush,nopull] NET_API_STATUS NetLocalGroupDel(
907 [in] string server_name,
908 [in] string group_name
911 /*******************************************/
912 /* NetLocalGroupGetInfo */
913 /*******************************************/
915 [nopush,nopull] NET_API_STATUS NetLocalGroupGetInfo(
916 [in] string server_name,
917 [in] string group_name,
919 [out,ref] uint8 **buffer
922 /*******************************************/
923 /* NetLocalGroupSetInfo */
924 /*******************************************/
926 [nopush,nopull] NET_API_STATUS NetLocalGroupSetInfo(
927 [in] string server_name,
928 [in] string group_name,
930 [in,ref] uint8 *buffer,
931 [out,ref] uint32 *parm_err
934 /*******************************************/
935 /* NetLocalGroupEnum */
936 /*******************************************/
938 [nopush,nopull] NET_API_STATUS NetLocalGroupEnum(
939 [in] string server_name,
941 [out,ref] uint8 **buffer,
942 [in] uint32 prefmaxlen,
943 [out,ref] uint32 *entries_read,
944 [out,ref] uint32 *total_entries,
945 [in,out,ref] uint32 *resume_handle
948 /*******************************************/
949 /* NetLocalGroupAddMembers */
950 /*******************************************/
957 SidTypeWellKnownGroup = 5,
958 SidTypeDeletedAccount = 6,
967 } LOCALGROUP_MEMBERS_INFO_0;
971 SID_NAME_USE lgrmi1_sidusage;
973 } LOCALGROUP_MEMBERS_INFO_1;
977 SID_NAME_USE lgrmi2_sidusage;
978 string lgrmi2_domainandname;
979 } LOCALGROUP_MEMBERS_INFO_2;
982 string lgrmi3_domainandname;
983 } LOCALGROUP_MEMBERS_INFO_3;
985 [nopush,nopull] NET_API_STATUS NetLocalGroupAddMembers(
986 [in] string server_name,
987 [in] string group_name,
990 [in] uint32 total_entries
993 /*******************************************/
994 /* NetLocalGroupDelMembers */
995 /*******************************************/
997 [nopush,nopull] NET_API_STATUS NetLocalGroupDelMembers(
998 [in] string server_name,
999 [in] string group_name,
1002 [in] uint32 total_entries
1005 /*******************************************/
1006 /* NetLocalGroupGetMembers */
1007 /*******************************************/
1009 [nopush,nopull] NET_API_STATUS NetLocalGroupGetMembers(
1010 [in] string server_name,
1011 [in] string local_group_name,
1013 [out] uint8 **buffer,
1014 [in] uint32 prefmaxlen,
1015 [out] uint32 *entries_read,
1016 [out] uint32 *total_entries,
1017 [in,out] uint32 *resume_handle
1020 /*******************************************/
1021 /* NetLocalGroupSetMembers */
1022 /*******************************************/
1024 [nopush,nopull] NET_API_STATUS NetLocalGroupSetMembers(
1025 [in] string server_name,
1026 [in] string group_name,
1029 [in] uint32 total_entries
1032 /*******************************************/
1034 /*******************************************/
1037 uint32 tod_elapsedt;
1044 uint32 tod_tinterval;
1051 [nopush,nopull] NET_API_STATUS NetRemoteTOD(
1052 [in] string server_name,
1053 [out,ref] uint8 **buffer
1056 /*******************************************/
1058 /*******************************************/
1061 string shi0_netname;
1065 string shi1_netname;
1071 string shi2_netname;
1074 uint32 shi2_permissions;
1075 uint32 shi2_max_uses;
1076 uint32 shi2_current_uses;
1082 string shi501_netname;
1084 string shi501_remark;
1085 uint32 shi501_flags;
1089 string shi1004_remark;
1092 const int CSC_MASK = 0x30;
1094 typedef [public,bitmap32bit] bitmap {
1095 SHI1005_FLAGS_DFS = 0x01,
1096 SHI1005_FLAGS_DFS_ROOT = 0x02,
1097 CSC_CACHE_MANUAL_REINT = 0x00,
1098 CSC_CACHE_AUTO_REINT = 0x10,
1099 CSC_CACHE_VDO = 0x20,
1100 CSC_CACHE_NONE = 0x30,
1101 SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS = 0x0100,
1102 SHI1005_FLAGS_FORCE_SHARED_DELETE = 0x0200,
1103 SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING = 0x0400,
1104 SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM = 0x0800
1105 } SHARE_INFO_1005_FLAGS;
1108 SHARE_INFO_1005_FLAGS shi1005_flags;
1112 uint32 shi1006_max_uses;
1115 [nopush,nopull] NET_API_STATUS NetShareAdd(
1116 [in] string server_name,
1119 [out] uint32 *parm_err
1122 /*******************************************/
1124 /*******************************************/
1126 [nopush,nopull] NET_API_STATUS NetShareDel(
1127 [in] string server_name,
1128 [in] string net_name,
1129 [in] uint32 reserved
1132 /*******************************************/
1134 /*******************************************/
1136 [nopush,nopull] NET_API_STATUS NetShareEnum(
1137 [in] string server_name,
1139 [out] uint8 **buffer,
1140 [in] uint32 prefmaxlen,
1141 [out] uint32 *entries_read,
1142 [out] uint32 *total_entries,
1143 [in,out] uint32 *resume_handle
1146 /*******************************************/
1147 /* NetShareGetInfo */
1148 /*******************************************/
1150 [nopush,nopull] NET_API_STATUS NetShareGetInfo(
1151 [in] string server_name,
1152 [in] string net_name,
1154 [out] uint8 **buffer
1157 /*******************************************/
1158 /* NetShareSetInfo */
1159 /*******************************************/
1161 [nopush,nopull] NET_API_STATUS NetShareSetInfo(
1162 [in] string server_name,
1163 [in] string net_name,
1166 [out] uint32 *parm_err