1 #include "../librpc/gen_ndr/ndr_netlogon.h"
2 #ifndef __CLI_NETLOGON__
3 #define __CLI_NETLOGON__
4 NTSTATUS rpccli_netr_LogonUasLogon(struct rpc_pipe_client *cli,
6 const char *server_name /* [in] [unique,charset(UTF16)] */,
7 const char *account_name /* [in] [charset(UTF16)] */,
8 const char *workstation /* [in] [charset(UTF16)] */,
9 struct netr_UasInfo **info /* [out] [ref] */,
11 NTSTATUS rpccli_netr_LogonUasLogoff(struct rpc_pipe_client *cli,
13 const char *server_name /* [in] [unique,charset(UTF16)] */,
14 const char *account_name /* [in] [charset(UTF16)] */,
15 const char *workstation /* [in] [charset(UTF16)] */,
16 struct netr_UasLogoffInfo *info /* [out] [ref] */,
18 NTSTATUS rpccli_netr_LogonSamLogon(struct rpc_pipe_client *cli,
20 const char *server_name /* [in] [unique,charset(UTF16)] */,
21 const char *computer_name /* [in] [unique,charset(UTF16)] */,
22 struct netr_Authenticator *credential /* [in] [unique] */,
23 struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
24 enum netr_LogonInfoClass logon_level /* [in] */,
25 union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
26 uint16_t validation_level /* [in] */,
27 union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
28 uint8_t *authoritative /* [out] [ref] */);
29 NTSTATUS rpccli_netr_LogonSamLogoff(struct rpc_pipe_client *cli,
31 const char *server_name /* [in] [unique,charset(UTF16)] */,
32 const char *computer_name /* [in] [unique,charset(UTF16)] */,
33 struct netr_Authenticator *credential /* [in] [unique] */,
34 struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
35 enum netr_LogonInfoClass logon_level /* [in] */,
36 union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */);
37 NTSTATUS rpccli_netr_ServerReqChallenge(struct rpc_pipe_client *cli,
39 const char *server_name /* [in] [unique,charset(UTF16)] */,
40 const char *computer_name /* [in] [charset(UTF16)] */,
41 struct netr_Credential *credentials /* [in] [ref] */,
42 struct netr_Credential *return_credentials /* [out] [ref] */);
43 NTSTATUS rpccli_netr_ServerAuthenticate(struct rpc_pipe_client *cli,
45 const char *server_name /* [in] [unique,charset(UTF16)] */,
46 const char *account_name /* [in] [charset(UTF16)] */,
47 enum netr_SchannelType secure_channel_type /* [in] */,
48 const char *computer_name /* [in] [charset(UTF16)] */,
49 struct netr_Credential *credentials /* [in] [ref] */,
50 struct netr_Credential *return_credentials /* [out] [ref] */);
51 NTSTATUS rpccli_netr_ServerPasswordSet(struct rpc_pipe_client *cli,
53 const char *server_name /* [in] [unique,charset(UTF16)] */,
54 const char *account_name /* [in] [charset(UTF16)] */,
55 enum netr_SchannelType secure_channel_type /* [in] */,
56 const char *computer_name /* [in] [charset(UTF16)] */,
57 struct netr_Authenticator *credential /* [in] [ref] */,
58 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
59 struct samr_Password *new_password /* [in] [ref] */);
60 NTSTATUS rpccli_netr_DatabaseDeltas(struct rpc_pipe_client *cli,
62 const char *logon_server /* [in] [charset(UTF16)] */,
63 const char *computername /* [in] [charset(UTF16)] */,
64 struct netr_Authenticator *credential /* [in] [ref] */,
65 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
66 enum netr_SamDatabaseID database_id /* [in] */,
67 uint64_t *sequence_num /* [in,out] [ref] */,
68 struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */,
69 uint32_t preferredmaximumlength /* [in] */);
70 NTSTATUS rpccli_netr_DatabaseSync(struct rpc_pipe_client *cli,
72 const char *logon_server /* [in] [charset(UTF16)] */,
73 const char *computername /* [in] [charset(UTF16)] */,
74 struct netr_Authenticator *credential /* [in] [ref] */,
75 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
76 enum netr_SamDatabaseID database_id /* [in] */,
77 uint32_t *sync_context /* [in,out] [ref] */,
78 struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */,
79 uint32_t preferredmaximumlength /* [in] */);
80 NTSTATUS rpccli_netr_AccountDeltas(struct rpc_pipe_client *cli,
82 const char *logon_server /* [in] [unique,charset(UTF16)] */,
83 const char *computername /* [in] [charset(UTF16)] */,
84 struct netr_Authenticator credential /* [in] */,
85 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
86 struct netr_UAS_INFO_0 uas /* [in] */,
87 uint32_t count /* [in] */,
88 uint32_t level /* [in] */,
89 uint32_t buffersize /* [in] */,
90 struct netr_AccountBuffer *buffer /* [out] [ref,subcontext(4)] */,
91 uint32_t *count_returned /* [out] [ref] */,
92 uint32_t *total_entries /* [out] [ref] */,
93 struct netr_UAS_INFO_0 *recordid /* [out] [ref] */);
94 NTSTATUS rpccli_netr_AccountSync(struct rpc_pipe_client *cli,
96 const char *logon_server /* [in] [unique,charset(UTF16)] */,
97 const char *computername /* [in] [charset(UTF16)] */,
98 struct netr_Authenticator credential /* [in] */,
99 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
100 uint32_t reference /* [in] */,
101 uint32_t level /* [in] */,
102 uint32_t buffersize /* [in] */,
103 struct netr_AccountBuffer *buffer /* [out] [ref,subcontext(4)] */,
104 uint32_t *count_returned /* [out] [ref] */,
105 uint32_t *total_entries /* [out] [ref] */,
106 uint32_t *next_reference /* [out] [ref] */,
107 struct netr_UAS_INFO_0 *recordid /* [in,out] [ref] */);
108 NTSTATUS rpccli_netr_GetDcName(struct rpc_pipe_client *cli,
110 const char *logon_server /* [in] [charset(UTF16)] */,
111 const char *domainname /* [in] [unique,charset(UTF16)] */,
112 const char **dcname /* [out] [ref,charset(UTF16)] */,
114 NTSTATUS rpccli_netr_LogonControl(struct rpc_pipe_client *cli,
116 const char *logon_server /* [in] [unique,charset(UTF16)] */,
117 enum netr_LogonControlCode function_code /* [in] */,
118 uint32_t level /* [in] */,
119 union netr_CONTROL_QUERY_INFORMATION *info /* [out] [ref,switch_is(level)] */,
121 NTSTATUS rpccli_netr_GetAnyDCName(struct rpc_pipe_client *cli,
123 const char *logon_server /* [in] [unique,charset(UTF16)] */,
124 const char *domainname /* [in] [unique,charset(UTF16)] */,
125 const char **dcname /* [out] [ref,charset(UTF16)] */,
127 NTSTATUS rpccli_netr_LogonControl2(struct rpc_pipe_client *cli,
129 const char *logon_server /* [in] [unique,charset(UTF16)] */,
130 enum netr_LogonControlCode function_code /* [in] */,
131 uint32_t level /* [in] */,
132 union netr_CONTROL_DATA_INFORMATION *data /* [in] [ref,switch_is(function_code)] */,
133 union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */,
135 NTSTATUS rpccli_netr_ServerAuthenticate2(struct rpc_pipe_client *cli,
137 const char *server_name /* [in] [unique,charset(UTF16)] */,
138 const char *account_name /* [in] [charset(UTF16)] */,
139 enum netr_SchannelType secure_channel_type /* [in] */,
140 const char *computer_name /* [in] [charset(UTF16)] */,
141 struct netr_Credential *credentials /* [in] [ref] */,
142 struct netr_Credential *return_credentials /* [out] [ref] */,
143 uint32_t *negotiate_flags /* [in,out] [ref] */);
144 NTSTATUS rpccli_netr_DatabaseSync2(struct rpc_pipe_client *cli,
146 const char *logon_server /* [in] [charset(UTF16)] */,
147 const char *computername /* [in] [charset(UTF16)] */,
148 struct netr_Authenticator *credential /* [in] [ref] */,
149 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
150 enum netr_SamDatabaseID database_id /* [in] */,
151 uint16_t restart_state /* [in] */,
152 uint32_t *sync_context /* [in,out] [ref] */,
153 struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */,
154 uint32_t preferredmaximumlength /* [in] */);
155 NTSTATUS rpccli_netr_DatabaseRedo(struct rpc_pipe_client *cli,
157 const char *logon_server /* [in] [charset(UTF16)] */,
158 const char *computername /* [in] [charset(UTF16)] */,
159 struct netr_Authenticator *credential /* [in] [ref] */,
160 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
161 struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */,
162 uint32_t change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */,
163 struct netr_DELTA_ENUM_ARRAY **delta_enum_array /* [out] [ref] */);
164 NTSTATUS rpccli_netr_LogonControl2Ex(struct rpc_pipe_client *cli,
166 const char *logon_server /* [in] [unique,charset(UTF16)] */,
167 enum netr_LogonControlCode function_code /* [in] */,
168 uint32_t level /* [in] */,
169 union netr_CONTROL_DATA_INFORMATION *data /* [in] [ref,switch_is(function_code)] */,
170 union netr_CONTROL_QUERY_INFORMATION *query /* [out] [ref,switch_is(level)] */,
172 NTSTATUS rpccli_netr_NetrEnumerateTrustedDomains(struct rpc_pipe_client *cli,
174 const char *server_name /* [in] [unique,charset(UTF16)] */,
175 struct netr_Blob *trusted_domains_blob /* [out] [ref] */,
177 NTSTATUS rpccli_netr_DsRGetDCName(struct rpc_pipe_client *cli,
179 const char *server_unc /* [in] [unique,charset(UTF16)] */,
180 const char *domain_name /* [in] [unique,charset(UTF16)] */,
181 struct GUID *domain_guid /* [in] [unique] */,
182 struct GUID *site_guid /* [in] [unique] */,
183 uint32_t flags /* [in] */,
184 struct netr_DsRGetDCNameInfo **info /* [out] [ref] */,
186 NTSTATUS rpccli_netr_NETRLOGONDUMMYROUTINE1(struct rpc_pipe_client *cli,
189 NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client *cli,
192 NTSTATUS rpccli_netr_LogonGetTrustRid(struct rpc_pipe_client *cli,
194 const char *server_name /* [in] [unique,charset(UTF16)] */,
195 const char *domain_name /* [in] [unique,charset(UTF16)] */,
196 uint32_t *rid /* [out] [ref] */,
198 NTSTATUS rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST(struct rpc_pipe_client *cli,
201 NTSTATUS rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct rpc_pipe_client *cli,
204 NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli,
206 const char *server_name /* [in] [unique,charset(UTF16)] */,
207 const char *account_name /* [in] [charset(UTF16)] */,
208 enum netr_SchannelType secure_channel_type /* [in] */,
209 const char *computer_name /* [in] [charset(UTF16)] */,
210 struct netr_Credential *credentials /* [in] [ref] */,
211 struct netr_Credential *return_credentials /* [out] [ref] */,
212 uint32_t *negotiate_flags /* [in,out] [ref] */,
213 uint32_t *rid /* [out] [ref] */);
214 NTSTATUS rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli,
216 const char *server_unc /* [in] [unique,charset(UTF16)] */,
217 const char *domain_name /* [in] [unique,charset(UTF16)] */,
218 struct GUID *domain_guid /* [in] [unique] */,
219 const char *site_name /* [in] [unique,charset(UTF16)] */,
220 uint32_t flags /* [in] */,
221 struct netr_DsRGetDCNameInfo **info /* [out] [ref] */,
223 NTSTATUS rpccli_netr_DsRGetSiteName(struct rpc_pipe_client *cli,
225 const char *computer_name /* [in] [unique,charset(UTF16)] */,
226 const char **site /* [out] [ref,charset(UTF16)] */,
228 NTSTATUS rpccli_netr_LogonGetDomainInfo(struct rpc_pipe_client *cli,
230 const char *server_name /* [in] [charset(UTF16)] */,
231 const char *computer_name /* [in] [unique,charset(UTF16)] */,
232 struct netr_Authenticator *credential /* [in] [ref] */,
233 struct netr_Authenticator *return_authenticator /* [in,out] [ref] */,
234 uint32_t level /* [in] */,
235 union netr_DomainQuery query /* [in] [switch_is(level)] */,
236 union netr_DomainInfo *info /* [out] [ref,switch_is(level)] */);
237 NTSTATUS rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client *cli,
239 const char *server_name /* [in] [unique,charset(UTF16)] */,
240 const char *account_name /* [in] [charset(UTF16)] */,
241 enum netr_SchannelType secure_channel_type /* [in] */,
242 const char *computer_name /* [in] [charset(UTF16)] */,
243 struct netr_Authenticator *credential /* [in] [ref] */,
244 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
245 struct netr_CryptPassword *new_password /* [in] [ref] */);
246 NTSTATUS rpccli_netr_ServerPasswordGet(struct rpc_pipe_client *cli,
248 const char *server_name /* [in] [unique,charset(UTF16)] */,
249 const char *account_name /* [in] [charset(UTF16)] */,
250 enum netr_SchannelType secure_channel_type /* [in] */,
251 const char *computer_name /* [in] [charset(UTF16)] */,
252 struct netr_Authenticator *credential /* [in] [ref] */,
253 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
254 struct samr_Password *password /* [out] [ref] */,
256 NTSTATUS rpccli_netr_NETRLOGONSENDTOSAM(struct rpc_pipe_client *cli,
259 NTSTATUS rpccli_netr_DsRAddressToSitenamesW(struct rpc_pipe_client *cli,
261 const char *server_name /* [in] [unique,charset(UTF16)] */,
262 uint32_t count /* [in] [range(0,32000)] */,
263 struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */,
264 struct netr_DsRAddressToSitenamesWCtr **ctr /* [out] [ref] */,
266 NTSTATUS rpccli_netr_DsRGetDCNameEx2(struct rpc_pipe_client *cli,
268 const char *server_unc /* [in] [unique,charset(UTF16)] */,
269 const char *client_account /* [in] [unique,charset(UTF16)] */,
270 uint32_t mask /* [in] */,
271 const char *domain_name /* [in] [unique,charset(UTF16)] */,
272 struct GUID *domain_guid /* [in] [unique] */,
273 const char *site_name /* [in] [unique,charset(UTF16)] */,
274 uint32_t flags /* [in] */,
275 struct netr_DsRGetDCNameInfo **info /* [out] [ref] */,
277 NTSTATUS rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct rpc_pipe_client *cli,
280 NTSTATUS rpccli_netr_NetrEnumerateTrustedDomainsEx(struct rpc_pipe_client *cli,
282 const char *server_name /* [in] [unique,charset(UTF16)] */,
283 struct netr_DomainTrustList *dom_trust_list /* [out] [ref] */,
285 NTSTATUS rpccli_netr_DsRAddressToSitenamesExW(struct rpc_pipe_client *cli,
287 const char *server_name /* [in] [unique,charset(UTF16)] */,
288 uint32_t count /* [in] [range(0,32000)] */,
289 struct netr_DsRAddress *addresses /* [in] [ref,size_is(count)] */,
290 struct netr_DsRAddressToSitenamesExWCtr **ctr /* [out] [ref] */,
292 NTSTATUS rpccli_netr_DsrGetDcSiteCoverageW(struct rpc_pipe_client *cli,
294 const char *server_name /* [in] [unique,charset(UTF16)] */,
295 struct DcSitesCtr **ctr /* [out] [ref] */,
297 NTSTATUS rpccli_netr_LogonSamLogonEx(struct rpc_pipe_client *cli,
299 const char *server_name /* [in] [unique,charset(UTF16)] */,
300 const char *computer_name /* [in] [unique,charset(UTF16)] */,
301 enum netr_LogonInfoClass logon_level /* [in] */,
302 union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
303 uint16_t validation_level /* [in] */,
304 union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
305 uint8_t *authoritative /* [out] [ref] */,
306 uint32_t *flags /* [in,out] [ref] */);
307 NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client *cli,
309 const char *server_name /* [in] [unique,charset(UTF16)] */,
310 uint32_t trust_flags /* [in] */,
311 struct netr_DomainTrustList *trusts /* [out] [ref] */,
313 NTSTATUS rpccli_netr_DsrDeregisterDNSHostRecords(struct rpc_pipe_client *cli,
315 const char *server_name /* [in] [unique,charset(UTF16)] */,
316 const char *domain /* [in] [unique,charset(UTF16)] */,
317 struct GUID *domain_guid /* [in] [unique] */,
318 struct GUID *dsa_guid /* [in] [unique] */,
319 const char *dns_host /* [in] [ref,charset(UTF16)] */,
321 NTSTATUS rpccli_netr_ServerTrustPasswordsGet(struct rpc_pipe_client *cli,
323 const char *server_name /* [in] [unique,charset(UTF16)] */,
324 const char *account_name /* [in] [charset(UTF16)] */,
325 enum netr_SchannelType secure_channel_type /* [in] */,
326 const char *computer_name /* [in] [charset(UTF16)] */,
327 struct netr_Authenticator *credential /* [in] [ref] */,
328 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
329 struct samr_Password *password /* [out] [ref] */,
330 struct samr_Password *password2 /* [out] [ref] */);
331 NTSTATUS rpccli_netr_DsRGetForestTrustInformation(struct rpc_pipe_client *cli,
333 const char *server_name /* [in] [unique,charset(UTF16)] */,
334 const char *trusted_domain_name /* [in] [unique,charset(UTF16)] */,
335 uint32_t flags /* [in] */,
336 struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */,
338 NTSTATUS rpccli_netr_GetForestTrustInformation(struct rpc_pipe_client *cli,
340 const char *server_name /* [in] [unique,charset(UTF16)] */,
341 const char *trusted_domain_name /* [in] [ref,charset(UTF16)] */,
342 struct netr_Authenticator *credential /* [in] [ref] */,
343 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
344 uint32_t flags /* [in] */,
345 struct lsa_ForestTrustInformation **forest_trust_info /* [out] [ref] */,
347 NTSTATUS rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli,
349 const char *server_name /* [in] [unique,charset(UTF16)] */,
350 const char *computer_name /* [in] [unique,charset(UTF16)] */,
351 struct netr_Authenticator *credential /* [in] [unique] */,
352 struct netr_Authenticator *return_authenticator /* [in,out] [unique] */,
353 enum netr_LogonInfoClass logon_level /* [in] */,
354 union netr_LogonLevel *logon /* [in] [ref,switch_is(logon_level)] */,
355 uint16_t validation_level /* [in] */,
356 union netr_Validation *validation /* [out] [ref,switch_is(validation_level)] */,
357 uint8_t *authoritative /* [out] [ref] */,
358 uint32_t *flags /* [in,out] [ref] */);
359 NTSTATUS rpccli_netr_ServerGetTrustInfo(struct rpc_pipe_client *cli,
361 const char *server_name /* [in] [unique,charset(UTF16)] */,
362 const char *account_name /* [in] [ref,charset(UTF16)] */,
363 enum netr_SchannelType secure_channel_type /* [in] */,
364 const char *computer_name /* [in] [ref,charset(UTF16)] */,
365 struct netr_Authenticator *credential /* [in] [ref] */,
366 struct netr_Authenticator *return_authenticator /* [out] [ref] */,
367 struct samr_Password *new_owf_password /* [out] [ref] */,
368 struct samr_Password *old_owf_password /* [out] [ref] */,
369 struct netr_TrustInfo **trust_info /* [out] [ref] */);
370 #endif /* __CLI_NETLOGON__ */