summaryrefslogtreecommitdiff
path: root/source3/librpc/idl/libnetapi.idl
blob: 679afb0aef63ceaa4e44faf97887ca1f8255bebd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/*
  libnetapi interface definition
*/

cpp_quote("#define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))")

[
	pointer_default(unique)
]
interface libnetapi
{
	[public] typedef [v1_enum] enum {
		NERR_Success=0
	} NET_API_STATUS;

	[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
		);

	[nopush,nopull] NET_API_STATUS NetUnjoinDomain(
		[in,unique] string *server_name,
		[in,unique] string *account,
		[in,unique] string *password,
		[in] uint32 unjoin_flags
		);

	[nopush,nopull] NET_API_STATUS NetGetJoinInformation(
		[in,unique] string *server_name,
		[out] string **name_buffer,
		[out] uint16 *name_type
		);

	[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
		);

	[nopush,nopull] NET_API_STATUS NetServerGetInfo(
		[in,unique] string *server_name,
		[in] uint32 level,
		[out] uint8 **buffer
		);

	[nopush,nopull] NET_API_STATUS NetServerSetInfo(
		[in,unique] string *server_name,
		[in] uint32 level,
		[in] uint8 *buffer,
		[out] uint32 *parm_error
		);

	[nopush,nopull] NET_API_STATUS NetGetDCName(
		[in,unique] string *server_name,
		[in,unique] string *domain_name,
		[out] uint8 **buffer
		);

	[nopush,nopull] NET_API_STATUS NetGetAnyDCName(
		[in,unique] string *server_name,
		[in,unique] string *domain_name,
		[out] uint8 **buffer
		);

	[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
		);

}