2 import "lsa.idl", "netlogon.idl", "misc.idl", "security.idl", "idmap.idl";
5 uuid("bf09192c-ed60-4928-9dff-d0d7bcb03ed8"),
7 pointer_default(unique),
9 helpstring("winbind parent-child protocol"),
18 [out] uint32 *out_data
21 NTSTATUS wbint_LookupSid(
23 [out] lsa_SidType *type,
24 [out,string,charset(UTF8)] char **domain,
25 [out,string,charset(UTF8)] char **name
28 NTSTATUS wbint_LookupSids(
29 [in] lsa_SidArray *sids,
30 [out,ref] lsa_RefDomainList *domains,
31 [out,ref] lsa_TransNameArray *names
34 NTSTATUS wbint_LookupName(
35 [in,string,charset(UTF8)] char *domain,
36 [in,string,charset(UTF8)] char *name,
38 [out] lsa_SidType *type,
51 [size_is(num_ids)] wbint_TransID ids[];
54 NTSTATUS wbint_Sids2UnixIDs(
55 [in] lsa_RefDomainList *domains,
56 [in,out] wbint_TransIDArray *ids
59 NTSTATUS wbint_UnixIDs2Sids(
60 [in,string,charset(UTF8)] char *domain_name,
62 [in,out] unixid xids[num_ids],
63 [out] dom_sid sids[num_ids]
66 NTSTATUS wbint_AllocateUid(
70 NTSTATUS wbint_AllocateGid(
74 typedef [public] struct {
75 [string,charset(UTF8)] char *domain_name;
76 [string,charset(UTF8)] char *acct_name;
77 [string,charset(UTF8)] char *full_name;
78 [string,charset(UTF8)] char *homedir;
79 [string,charset(UTF8)] char *shell;
82 [string,charset(UTF8)] char *primary_group_name;
87 NTSTATUS wbint_GetNssInfo(
88 [in,out] wbint_userinfo *info
91 typedef [public] struct {
93 [size_is(num_sids)] dom_sid sids[];
96 typedef [public] struct {
98 [size_is(num_rids)] uint32 rids[];
101 NTSTATUS wbint_LookupUserAliases(
102 [in] wbint_SidArray *sids,
103 [out] wbint_RidArray *rids
106 NTSTATUS wbint_LookupUserGroups(
108 [out] wbint_SidArray *sids
111 NTSTATUS wbint_QuerySequenceNumber(
112 [out] uint32 *sequence
115 typedef [public] struct {
118 [string,charset(UTF8)] char *name;
121 typedef [public] struct {
123 [size_is(num_principals)] wbint_Principal principals[];
126 NTSTATUS wbint_LookupGroupMembers(
128 [in] lsa_SidType type,
129 [out] wbint_Principals *members
132 typedef [public] struct {
133 uint32 num_userinfos;
134 [size_is(num_userinfos)] wbint_userinfo userinfos[];
137 NTSTATUS wbint_QueryUserList(
138 [out] wbint_userinfos *users
141 NTSTATUS wbint_QueryGroupList(
142 [out] wbint_Principals *groups
145 NTSTATUS wbint_QueryUserRidList(
146 [out] wbint_RidArray *rids
149 NTSTATUS wbint_DsGetDcName(
150 [in,string,charset(UTF8)] char *domain_name,
151 [in,unique] GUID *domain_guid,
152 [in,string,unique,charset(UTF8)] char *site_name,
154 [out] netr_DsRGetDCNameInfo **dc_info
157 NTSTATUS wbint_LookupRids(
158 [in] dom_sid *domain_sid,
159 [in] wbint_RidArray *rids,
160 [out,string,charset(UTF8)] char **domain_name,
161 [out] wbint_Principals *names
164 NTSTATUS wbint_CheckMachineAccount(
167 NTSTATUS wbint_ChangeMachineAccount(
170 NTSTATUS wbint_PingDc(
171 [out,string,charset(UTF8)] char **dcname
174 /* Public methods available via IRPC */
176 typedef [switch_type(uint16)] union netr_LogonLevel netr_LogonLevel;
177 typedef [switch_type(uint16)] union netr_Validation netr_Validation;
180 * do a netr_LogonSamLogon() against the right DC
182 NTSTATUS winbind_SamLogon(
183 [in] uint16 logon_level,
184 [in] [switch_is(logon_level)] netr_LogonLevel logon,
185 [in] uint16 validation_level,
186 [out] [switch_is(validation_level)] netr_Validation validation,
187 [out] uint8 authoritative
190 NTSTATUS winbind_DsrUpdateReadOnlyServerDnsRecords(
191 [in,unique] [string,charset(UTF16)] uint16 *site_name,
193 [in,out,ref] NL_DNS_NAME_INFO_ARRAY *dns_names
197 * do a netr_LogonControl2Ex() against the right DC
199 typedef [v1_enum] enum netr_LogonControlCode netr_LogonControlCode;
200 typedef [switch_type(netr_LogonControlCode)] union netr_CONTROL_DATA_INFORMATION netr_CONTROL_DATA_INFORMATION;
201 typedef [switch_type(uint32)] union netr_CONTROL_QUERY_INFORMATION netr_CONTROL_QUERY_INFORMATION;
203 WERROR winbind_LogonControl(
204 [in] netr_LogonControlCode function_code,
206 [in,ref][switch_is(function_code)] netr_CONTROL_DATA_INFORMATION *data,
207 [out,ref][switch_is(level)] netr_CONTROL_QUERY_INFORMATION *query
211 * do a netr_GetForestTrustInformation() against the right DC
213 WERROR winbind_GetForestTrustInformation(
214 [in,unique] [string,charset(UTF16)] uint16 *trusted_domain_name,
216 [out,ref] lsa_ForestTrustInformation **forest_trust_info