mirror of
https://github.com/samba-team/samba.git
synced 2025-01-27 14:04:05 +03:00
a040b8be7d
Guenther (This used to be commit 12669b12c25a64b02c0e49b3ef96cf317992b18c)
414 lines
10 KiB
Plaintext
414 lines
10 KiB
Plaintext
/*
|
|
libnetapi interface definition
|
|
*/
|
|
|
|
cpp_quote("#define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))")
|
|
cpp_quote("#ifndef MAXSUBAUTHS")
|
|
cpp_quote("#define MAXSUBAUTHS 15 /* max sub authorities in a SID */")
|
|
cpp_quote("#endif")
|
|
|
|
[
|
|
pointer_default(unique)
|
|
]
|
|
interface libnetapi
|
|
{
|
|
const int ERROR_MORE_DATA = 234L;
|
|
|
|
[public] typedef [v1_enum] enum {
|
|
NERR_Success=0
|
|
} NET_API_STATUS;
|
|
|
|
[public] typedef struct {
|
|
uint8 sid_rev_num;
|
|
uint8 num_auths;
|
|
uint8 id_auth[6];
|
|
uint32 sub_auths[MAXSUBAUTHS];
|
|
} domsid;
|
|
|
|
/*******************************************/
|
|
/* NetJoinDomain */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetJoinDomain(
|
|
[in,unique] string *server,
|
|
[in,ref] string *domain,
|
|
[in,unique] string *account_ou,
|
|
[in,unique] string *account,
|
|
[in,unique] string *password,
|
|
[in] uint32 join_flags
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetUnjoinDomain */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetUnjoinDomain(
|
|
[in,unique] string *server_name,
|
|
[in,unique] string *account,
|
|
[in,unique] string *password,
|
|
[in] uint32 unjoin_flags
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGetJoinInformation */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGetJoinInformation(
|
|
[in,unique] string *server_name,
|
|
[out] string **name_buffer,
|
|
[out] uint16 *name_type
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGetJoinableOUs */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGetJoinableOUs(
|
|
[in,unique] string *server_name,
|
|
[in,ref] string *domain,
|
|
[in,unique] string *account,
|
|
[in,unique] string *password,
|
|
[out] uint32 *ou_count,
|
|
[out] string ***ous
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetServerGetInfo */
|
|
/*******************************************/
|
|
|
|
[public] typedef struct {
|
|
string sv1005_comment;
|
|
} SERVER_INFO_1005;
|
|
|
|
[nopush,nopull] NET_API_STATUS NetServerGetInfo(
|
|
[in,unique] string *server_name,
|
|
[in] uint32 level,
|
|
[out] uint8 **buffer
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetServerSetInfo */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetServerSetInfo(
|
|
[in,unique] string *server_name,
|
|
[in] uint32 level,
|
|
[in] uint8 *buffer,
|
|
[out] uint32 *parm_error
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGetDCName */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGetDCName(
|
|
[in,unique] string *server_name,
|
|
[in,unique] string *domain_name,
|
|
[out] uint8 **buffer
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGetAnyDCName */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGetAnyDCName(
|
|
[in,unique] string *server_name,
|
|
[in,unique] string *domain_name,
|
|
[out] uint8 **buffer
|
|
);
|
|
|
|
/*******************************************/
|
|
/* DsGetDcName */
|
|
/*******************************************/
|
|
|
|
[public] typedef struct {
|
|
string domain_controller_name;
|
|
string domain_controller_address;
|
|
uint32 domain_controller_address_type;
|
|
GUID domain_guid;
|
|
string domain_name;
|
|
string dns_forest_name;
|
|
uint32 flags;
|
|
string dc_site_name;
|
|
string client_site_name;
|
|
} DOMAIN_CONTROLLER_INFO;
|
|
|
|
[nopush,nopull] NET_API_STATUS DsGetDcName(
|
|
[in,unique] string *server_name,
|
|
[in,ref] string *domain_name,
|
|
[in,unique] GUID *domain_guid,
|
|
[in,unique] string *site_name,
|
|
[in] uint32 flags,
|
|
[out,ref] DOMAIN_CONTROLLER_INFO **dc_info
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetUserAdd */
|
|
/*******************************************/
|
|
|
|
[public] typedef struct {
|
|
string usri0_name;
|
|
} USER_INFO_0;
|
|
|
|
[public] typedef struct {
|
|
string usri1_name;
|
|
string usri1_password;
|
|
uint32 usri1_password_age;
|
|
uint32 usri1_priv;
|
|
string usri1_home_dir;
|
|
string usri1_comment;
|
|
uint32 usri1_flags;
|
|
string usri1_script_path;
|
|
} USER_INFO_1;
|
|
|
|
[nopush,nopull] NET_API_STATUS NetUserAdd(
|
|
[in,unique] string *server_name,
|
|
[in] uint32 level,
|
|
[in,ref] uint8 *buffer,
|
|
[out,ref] uint32 *parm_error
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetUserDel */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetUserDel(
|
|
[in,unique] string *server_name,
|
|
[in,ref] string *user_name
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetUserEnum */
|
|
/*******************************************/
|
|
|
|
const int FILTER_TEMP_DUPLICATE_ACCOUNT = 0x0001;
|
|
const int FILTER_NORMAL_ACCOUNT = 0x0002;
|
|
const int FILTER_INTERDOMAIN_TRUST_ACCOUNT = 0x0008;
|
|
const int FILTER_WORKSTATION_TRUST_ACCOUNT = 0x0010;
|
|
const int FILTER_SERVER_TRUST_ACCOUNT = 0x0020;
|
|
|
|
[nopush,nopull] NET_API_STATUS NetUserEnum(
|
|
[in,unique] string *server_name,
|
|
[in] uint32 level,
|
|
[in] uint32 filter,
|
|
[out,ref] uint8 **buffer,
|
|
[in] uint32 prefmaxlen,
|
|
[out,ref] uint32 *entries_read,
|
|
[out,ref] uint32 *total_entries,
|
|
[in,out,ref] uint32 *resume_handle
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetQueryDisplayInformation */
|
|
/*******************************************/
|
|
|
|
[public] typedef struct {
|
|
string usri1_name;
|
|
string usri1_comment;
|
|
uint32 usri1_flags;
|
|
string usri1_full_name;
|
|
uint32 usri1_user_id;
|
|
uint32 usri1_next_index;
|
|
} NET_DISPLAY_USER;
|
|
|
|
[public] typedef struct {
|
|
string usri2_name;
|
|
string usri2_comment;
|
|
uint32 usri2_flags;
|
|
uint32 usri2_user_id;
|
|
uint32 usri2_next_index;
|
|
} NET_DISPLAY_MACHINE;
|
|
|
|
[public] typedef struct {
|
|
string grpi3_name;
|
|
string grpi3_comment;
|
|
uint32 grpi3_group_id;
|
|
uint32 grpi3_attributes;
|
|
uint32 grpi3_next_index;
|
|
} NET_DISPLAY_GROUP;
|
|
|
|
[nopush,nopull] NET_API_STATUS NetQueryDisplayInformation(
|
|
[in,unique] string *server_name,
|
|
[in] uint32 level,
|
|
[in] uint32 idx,
|
|
[in] uint32 entries_requested,
|
|
[in] uint32 prefmaxlen,
|
|
[out,ref] uint32 *entries_read,
|
|
[out,ref,noprint] void **buffer
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGroupAdd */
|
|
/*******************************************/
|
|
|
|
typedef struct {
|
|
string grpi0_name;
|
|
} GROUP_INFO_0;
|
|
|
|
typedef struct {
|
|
string grpi1_name;
|
|
string grpi1_comment;
|
|
} GROUP_INFO_1;
|
|
|
|
typedef struct {
|
|
string grpi2_name;
|
|
string grpi2_comment;
|
|
uint32 grpi2_group_id;
|
|
uint32 grpi2_attributes;
|
|
} GROUP_INFO_2;
|
|
|
|
typedef struct {
|
|
string grpi3_name;
|
|
string grpi3_comment;
|
|
domsid grpi3_group_sid;
|
|
uint32 grpi3_attributes;
|
|
} GROUP_INFO_3;
|
|
|
|
typedef struct {
|
|
string grpi1002_comment;
|
|
} GROUP_INFO_1002;
|
|
|
|
typedef struct {
|
|
uint32 grpi1005_attributes;
|
|
} GROUP_INFO_1005;
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGroupAdd(
|
|
[in] string server_name,
|
|
[in] uint32 level,
|
|
[in] uint8 *buf,
|
|
[out] uint32 *parm_err
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGroupDel */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGroupDel(
|
|
[in] string server_name,
|
|
[in] string group_name
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGroupSetInfo */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGroupSetInfo(
|
|
[in] string server_name,
|
|
[in] string group_name,
|
|
[in] uint32 level,
|
|
[in] uint8 *buf,
|
|
[out] uint32 *parm_err
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGroupGetInfo */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGroupGetInfo(
|
|
[in] string server_name,
|
|
[in] string group_name,
|
|
[in] uint32 level,
|
|
[out] uint8 **buf
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGroupAddUser */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGroupAddUser(
|
|
[in] string server_name,
|
|
[in] string group_name,
|
|
[in] string user_name
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetGroupDelUser */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetGroupDelUser(
|
|
[in] string server_name,
|
|
[in] string group_name,
|
|
[in] string user_name
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetLocalGroupAdd */
|
|
/*******************************************/
|
|
|
|
typedef struct {
|
|
string lgrpi0_name;
|
|
} LOCALGROUP_INFO_0;
|
|
|
|
typedef struct {
|
|
string lgrpi1_name;
|
|
string lgrpi1_comment;
|
|
} LOCALGROUP_INFO_1;
|
|
|
|
typedef struct {
|
|
string lgrpi1002_comment;
|
|
} LOCALGROUP_INFO_1002;
|
|
|
|
[nopush,nopull] NET_API_STATUS NetLocalGroupAdd(
|
|
[in] string server_name,
|
|
[in] uint32 level,
|
|
[in] uint8 *buf,
|
|
[out,ref] uint32 *parm_err
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetLocalGroupDel */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetLocalGroupDel(
|
|
[in] string server_name,
|
|
[in] string group_name
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetLocalGroupGetInfo */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetLocalGroupGetInfo(
|
|
[in] string server_name,
|
|
[in] string group_name,
|
|
[in] uint32 level,
|
|
[out,ref] uint8 **buf
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetLocalGroupSetInfo */
|
|
/*******************************************/
|
|
|
|
[nopush,nopull] NET_API_STATUS NetLocalGroupSetInfo(
|
|
[in] string server_name,
|
|
[in] string group_name,
|
|
[in] uint32 level,
|
|
[in,ref] uint8 *buf,
|
|
[out,ref] uint32 *parm_err
|
|
);
|
|
|
|
/*******************************************/
|
|
/* NetRemoteTOD */
|
|
/*******************************************/
|
|
|
|
typedef struct {
|
|
uint32 tod_elapsedt;
|
|
uint32 tod_msecs;
|
|
uint32 tod_hours;
|
|
uint32 tod_mins;
|
|
uint32 tod_secs;
|
|
uint32 tod_hunds;
|
|
int32 tod_timezone;
|
|
uint32 tod_tinterval;
|
|
uint32 tod_day;
|
|
uint32 tod_month;
|
|
uint32 tod_year;
|
|
uint32 tod_weekday;
|
|
} TIME_OF_DAY_INFO;
|
|
|
|
[nopush,nopull] NET_API_STATUS NetRemoteTOD(
|
|
[in] string server_name,
|
|
[out,ref] uint8 **buf
|
|
);
|
|
}
|