summaryrefslogtreecommitdiffstats
path: root/source3/librpc/idl/libnet_join.idl
blob: 4c8e65805e8217b8f9933de68944abb114746cbd (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
#include "idl_types.h"

import "wkssvc.idl", "security.idl", "misc.idl", "netlogon.idl", "ODJ.idl", "ads.idl";

/*
  libnetjoin interface definition
*/

[
	pointer_default(unique)
]
interface libnetjoin
{
	typedef bitmap wkssvc_joinflags wkssvc_joinflags;
	typedef enum netr_SchannelType netr_SchannelType;

	typedef [public] enum {
		JoinDomNameTypeUnknown = 0,
		JoinDomNameTypeDNS = 1,
		JoinDomNameTypeNBT = 2
	} libnetjoin_JoinDomNameType;

	[nopush,nopull,noopnum] WERROR libnet_JoinCtx(
		[in] string dc_name,
		[in] string machine_name,
		[in,ref] string *domain_name,
		[in] libnetjoin_JoinDomNameType domain_name_type,
		[in] string account_ou,
		[in] string admin_account,
		[in] string admin_domain,
		[in,noprint] string admin_password,
		[in] string machine_password,
		[in] wkssvc_joinflags join_flags,
		[in] string os_version,
		[in] string os_name,
		[in] string os_servicepack,
		[in] boolean8 create_upn,
		[in] string upn,
		[in] string dnshostname,
		[in] boolean8 modify_config,
		[in,unique] ads_struct *ads,
		[in] boolean8 debug,
		[in] boolean8 use_kerberos,
		[in] netr_SchannelType secure_channel_type,
		[in,noprint] messaging_context *msg_ctx,
		[in] uint32 desired_encryption_types,
		[in] boolean8 provision_computer_account_only,
		[in,out,unique] ODJ_PROVISION_DATA *odj_provision_data,
		[in] boolean8 request_offline_join,
		[out] string account_name,
		[out] string netbios_domain_name,
		[out] string dns_domain_name,
		[out] string forest_name,
		[out] string dn,
		[out] GUID domain_guid,
		[out] dom_sid *domain_sid,
		[out] boolean8 modified_config,
		[out] string error_string,
		[out] boolean8 domain_is_ad,
		[out] uint32 set_encryption_types,
		[out] string krb5_salt,
		[out,unique] netr_DsRGetDCNameInfo *dcinfo,
		[out] uint32 account_rid
		);

	[nopush,nopull,noopnum] WERROR libnet_UnjoinCtx(
		[in] string dc_name,
		[in] string machine_name,
		[in] string domain_name,
		[in] string account_ou,
		[in] string admin_account,
		[in] string admin_domain,
		[in,noprint] string admin_password,
		[in] string machine_password,
		[in] wkssvc_joinflags unjoin_flags,
		[in] boolean8 delete_machine_account,
		[in] boolean8 modify_config,
		[in] dom_sid *domain_sid,
		[in,unique] ads_struct *ads,
		[in] boolean8 debug,
		[in] boolean8 use_kerberos,
		[in,noprint] messaging_context *msg_ctx,
		[out] string netbios_domain_name,
		[out] string dns_domain_name,
		[out] string forest_name,
		[out] boolean8 modified_config,
		[out] string error_string,
		[out] boolean8 disabled_machine_account,
		[out] boolean8 deleted_machine_account
		);
}