1 #include "../librpc/gen_ndr/ndr_samr.h"
4 NTSTATUS
rpccli_samr_Connect(struct rpc_pipe_client
*cli
,
6 uint16_t *system_name
/* [in] [unique] */,
7 uint32_t access_mask
/* [in] */,
8 struct policy_handle
*connect_handle
/* [out] [ref] */);
9 NTSTATUS
rpccli_samr_Close(struct rpc_pipe_client
*cli
,
11 struct policy_handle
*handle
/* [in,out] [ref] */);
12 NTSTATUS
rpccli_samr_SetSecurity(struct rpc_pipe_client
*cli
,
14 struct policy_handle
*handle
/* [in] [ref] */,
15 uint32_t sec_info
/* [in] */,
16 struct sec_desc_buf
*sdbuf
/* [in] [ref] */);
17 NTSTATUS
rpccli_samr_QuerySecurity(struct rpc_pipe_client
*cli
,
19 struct policy_handle
*handle
/* [in] [ref] */,
20 uint32_t sec_info
/* [in] */,
21 struct sec_desc_buf
**sdbuf
/* [out] [ref] */);
22 NTSTATUS
rpccli_samr_Shutdown(struct rpc_pipe_client
*cli
,
24 struct policy_handle
*connect_handle
/* [in] [ref] */);
25 NTSTATUS
rpccli_samr_LookupDomain(struct rpc_pipe_client
*cli
,
27 struct policy_handle
*connect_handle
/* [in] [ref] */,
28 struct lsa_String
*domain_name
/* [in] [ref] */,
29 struct dom_sid2
**sid
/* [out] [ref] */);
30 NTSTATUS
rpccli_samr_EnumDomains(struct rpc_pipe_client
*cli
,
32 struct policy_handle
*connect_handle
/* [in] [ref] */,
33 uint32_t *resume_handle
/* [in,out] [ref] */,
34 struct samr_SamArray
**sam
/* [out] [ref] */,
35 uint32_t buf_size
/* [in] */,
36 uint32_t *num_entries
/* [out] [ref] */);
37 NTSTATUS
rpccli_samr_OpenDomain(struct rpc_pipe_client
*cli
,
39 struct policy_handle
*connect_handle
/* [in] [ref] */,
40 uint32_t access_mask
/* [in] */,
41 struct dom_sid2
*sid
/* [in] [ref] */,
42 struct policy_handle
*domain_handle
/* [out] [ref] */);
43 NTSTATUS
rpccli_samr_QueryDomainInfo(struct rpc_pipe_client
*cli
,
45 struct policy_handle
*domain_handle
/* [in] [ref] */,
46 enum samr_DomainInfoClass level
/* [in] */,
47 union samr_DomainInfo
**info
/* [out] [ref,switch_is(level)] */);
48 NTSTATUS
rpccli_samr_SetDomainInfo(struct rpc_pipe_client
*cli
,
50 struct policy_handle
*domain_handle
/* [in] [ref] */,
51 enum samr_DomainInfoClass level
/* [in] */,
52 union samr_DomainInfo
*info
/* [in] [ref,switch_is(level)] */);
53 NTSTATUS
rpccli_samr_CreateDomainGroup(struct rpc_pipe_client
*cli
,
55 struct policy_handle
*domain_handle
/* [in] [ref] */,
56 struct lsa_String
*name
/* [in] [ref] */,
57 uint32_t access_mask
/* [in] */,
58 struct policy_handle
*group_handle
/* [out] [ref] */,
59 uint32_t *rid
/* [out] [ref] */);
60 NTSTATUS
rpccli_samr_EnumDomainGroups(struct rpc_pipe_client
*cli
,
62 struct policy_handle
*domain_handle
/* [in] [ref] */,
63 uint32_t *resume_handle
/* [in,out] [ref] */,
64 struct samr_SamArray
**sam
/* [out] [ref] */,
65 uint32_t max_size
/* [in] */,
66 uint32_t *num_entries
/* [out] [ref] */);
67 NTSTATUS
rpccli_samr_CreateUser(struct rpc_pipe_client
*cli
,
69 struct policy_handle
*domain_handle
/* [in] [ref] */,
70 struct lsa_String
*account_name
/* [in] [ref] */,
71 uint32_t access_mask
/* [in] */,
72 struct policy_handle
*user_handle
/* [out] [ref] */,
73 uint32_t *rid
/* [out] [ref] */);
74 NTSTATUS
rpccli_samr_EnumDomainUsers(struct rpc_pipe_client
*cli
,
76 struct policy_handle
*domain_handle
/* [in] [ref] */,
77 uint32_t *resume_handle
/* [in,out] [ref] */,
78 uint32_t acct_flags
/* [in] */,
79 struct samr_SamArray
**sam
/* [out] [ref] */,
80 uint32_t max_size
/* [in] */,
81 uint32_t *num_entries
/* [out] [ref] */);
82 NTSTATUS
rpccli_samr_CreateDomAlias(struct rpc_pipe_client
*cli
,
84 struct policy_handle
*domain_handle
/* [in] [ref] */,
85 struct lsa_String
*alias_name
/* [in] [ref] */,
86 uint32_t access_mask
/* [in] */,
87 struct policy_handle
*alias_handle
/* [out] [ref] */,
88 uint32_t *rid
/* [out] [ref] */);
89 NTSTATUS
rpccli_samr_EnumDomainAliases(struct rpc_pipe_client
*cli
,
91 struct policy_handle
*domain_handle
/* [in] [ref] */,
92 uint32_t *resume_handle
/* [in,out] [ref] */,
93 struct samr_SamArray
**sam
/* [out] [ref] */,
94 uint32_t max_size
/* [in] */,
95 uint32_t *num_entries
/* [out] [ref] */);
96 NTSTATUS
rpccli_samr_GetAliasMembership(struct rpc_pipe_client
*cli
,
98 struct policy_handle
*domain_handle
/* [in] [ref] */,
99 struct lsa_SidArray
*sids
/* [in] [ref] */,
100 struct samr_Ids
*rids
/* [out] [ref] */);
101 NTSTATUS
rpccli_samr_LookupNames(struct rpc_pipe_client
*cli
,
103 struct policy_handle
*domain_handle
/* [in] [ref] */,
104 uint32_t num_names
/* [in] [range(0,1000)] */,
105 struct lsa_String
*names
/* [in] [length_is(num_names),size_is(1000)] */,
106 struct samr_Ids
*rids
/* [out] [ref] */,
107 struct samr_Ids
*types
/* [out] [ref] */);
108 NTSTATUS
rpccli_samr_LookupRids(struct rpc_pipe_client
*cli
,
110 struct policy_handle
*domain_handle
/* [in] [ref] */,
111 uint32_t num_rids
/* [in] [range(0,1000)] */,
112 uint32_t *rids
/* [in] [length_is(num_rids),size_is(1000)] */,
113 struct lsa_Strings
*names
/* [out] [ref] */,
114 struct samr_Ids
*types
/* [out] [ref] */);
115 NTSTATUS
rpccli_samr_OpenGroup(struct rpc_pipe_client
*cli
,
117 struct policy_handle
*domain_handle
/* [in] [ref] */,
118 uint32_t access_mask
/* [in] */,
119 uint32_t rid
/* [in] */,
120 struct policy_handle
*group_handle
/* [out] [ref] */);
121 NTSTATUS
rpccli_samr_QueryGroupInfo(struct rpc_pipe_client
*cli
,
123 struct policy_handle
*group_handle
/* [in] [ref] */,
124 enum samr_GroupInfoEnum level
/* [in] */,
125 union samr_GroupInfo
**info
/* [out] [ref,switch_is(level)] */);
126 NTSTATUS
rpccli_samr_SetGroupInfo(struct rpc_pipe_client
*cli
,
128 struct policy_handle
*group_handle
/* [in] [ref] */,
129 enum samr_GroupInfoEnum level
/* [in] */,
130 union samr_GroupInfo
*info
/* [in] [ref,switch_is(level)] */);
131 NTSTATUS
rpccli_samr_AddGroupMember(struct rpc_pipe_client
*cli
,
133 struct policy_handle
*group_handle
/* [in] [ref] */,
134 uint32_t rid
/* [in] */,
135 uint32_t flags
/* [in] */);
136 NTSTATUS
rpccli_samr_DeleteDomainGroup(struct rpc_pipe_client
*cli
,
138 struct policy_handle
*group_handle
/* [in,out] [ref] */);
139 NTSTATUS
rpccli_samr_DeleteGroupMember(struct rpc_pipe_client
*cli
,
141 struct policy_handle
*group_handle
/* [in] [ref] */,
142 uint32_t rid
/* [in] */);
143 NTSTATUS
rpccli_samr_QueryGroupMember(struct rpc_pipe_client
*cli
,
145 struct policy_handle
*group_handle
/* [in] [ref] */,
146 struct samr_RidTypeArray
**rids
/* [out] [ref] */);
147 NTSTATUS
rpccli_samr_SetMemberAttributesOfGroup(struct rpc_pipe_client
*cli
,
149 struct policy_handle
*group_handle
/* [in] [ref] */,
150 uint32_t unknown1
/* [in] */,
151 uint32_t unknown2
/* [in] */);
152 NTSTATUS
rpccli_samr_OpenAlias(struct rpc_pipe_client
*cli
,
154 struct policy_handle
*domain_handle
/* [in] [ref] */,
155 uint32_t access_mask
/* [in] */,
156 uint32_t rid
/* [in] */,
157 struct policy_handle
*alias_handle
/* [out] [ref] */);
158 NTSTATUS
rpccli_samr_QueryAliasInfo(struct rpc_pipe_client
*cli
,
160 struct policy_handle
*alias_handle
/* [in] [ref] */,
161 enum samr_AliasInfoEnum level
/* [in] */,
162 union samr_AliasInfo
**info
/* [out] [ref,switch_is(level)] */);
163 NTSTATUS
rpccli_samr_SetAliasInfo(struct rpc_pipe_client
*cli
,
165 struct policy_handle
*alias_handle
/* [in] [ref] */,
166 enum samr_AliasInfoEnum level
/* [in] */,
167 union samr_AliasInfo
*info
/* [in] [ref,switch_is(level)] */);
168 NTSTATUS
rpccli_samr_DeleteDomAlias(struct rpc_pipe_client
*cli
,
170 struct policy_handle
*alias_handle
/* [in,out] [ref] */);
171 NTSTATUS
rpccli_samr_AddAliasMember(struct rpc_pipe_client
*cli
,
173 struct policy_handle
*alias_handle
/* [in] [ref] */,
174 struct dom_sid2
*sid
/* [in] [ref] */);
175 NTSTATUS
rpccli_samr_DeleteAliasMember(struct rpc_pipe_client
*cli
,
177 struct policy_handle
*alias_handle
/* [in] [ref] */,
178 struct dom_sid2
*sid
/* [in] [ref] */);
179 NTSTATUS
rpccli_samr_GetMembersInAlias(struct rpc_pipe_client
*cli
,
181 struct policy_handle
*alias_handle
/* [in] [ref] */,
182 struct lsa_SidArray
*sids
/* [out] [ref] */);
183 NTSTATUS
rpccli_samr_OpenUser(struct rpc_pipe_client
*cli
,
185 struct policy_handle
*domain_handle
/* [in] [ref] */,
186 uint32_t access_mask
/* [in] */,
187 uint32_t rid
/* [in] */,
188 struct policy_handle
*user_handle
/* [out] [ref] */);
189 NTSTATUS
rpccli_samr_DeleteUser(struct rpc_pipe_client
*cli
,
191 struct policy_handle
*user_handle
/* [in,out] [ref] */);
192 NTSTATUS
rpccli_samr_QueryUserInfo(struct rpc_pipe_client
*cli
,
194 struct policy_handle
*user_handle
/* [in] [ref] */,
195 enum samr_UserInfoLevel level
/* [in] */,
196 union samr_UserInfo
**info
/* [out] [ref,switch_is(level)] */);
197 NTSTATUS
rpccli_samr_SetUserInfo(struct rpc_pipe_client
*cli
,
199 struct policy_handle
*user_handle
/* [in] [ref] */,
200 enum samr_UserInfoLevel level
/* [in] */,
201 union samr_UserInfo
*info
/* [in] [ref,switch_is(level)] */);
202 NTSTATUS
rpccli_samr_ChangePasswordUser(struct rpc_pipe_client
*cli
,
204 struct policy_handle
*user_handle
/* [in] [ref] */,
205 uint8_t lm_present
/* [in] */,
206 struct samr_Password
*old_lm_crypted
/* [in] [unique] */,
207 struct samr_Password
*new_lm_crypted
/* [in] [unique] */,
208 uint8_t nt_present
/* [in] */,
209 struct samr_Password
*old_nt_crypted
/* [in] [unique] */,
210 struct samr_Password
*new_nt_crypted
/* [in] [unique] */,
211 uint8_t cross1_present
/* [in] */,
212 struct samr_Password
*nt_cross
/* [in] [unique] */,
213 uint8_t cross2_present
/* [in] */,
214 struct samr_Password
*lm_cross
/* [in] [unique] */);
215 NTSTATUS
rpccli_samr_GetGroupsForUser(struct rpc_pipe_client
*cli
,
217 struct policy_handle
*user_handle
/* [in] [ref] */,
218 struct samr_RidWithAttributeArray
**rids
/* [out] [ref] */);
219 NTSTATUS
rpccli_samr_QueryDisplayInfo(struct rpc_pipe_client
*cli
,
221 struct policy_handle
*domain_handle
/* [in] [ref] */,
222 uint16_t level
/* [in] */,
223 uint32_t start_idx
/* [in] */,
224 uint32_t max_entries
/* [in] */,
225 uint32_t buf_size
/* [in] */,
226 uint32_t *total_size
/* [out] [ref] */,
227 uint32_t *returned_size
/* [out] [ref] */,
228 union samr_DispInfo
*info
/* [out] [ref,switch_is(level)] */);
229 NTSTATUS
rpccli_samr_GetDisplayEnumerationIndex(struct rpc_pipe_client
*cli
,
231 struct policy_handle
*domain_handle
/* [in] [ref] */,
232 uint16_t level
/* [in] */,
233 struct lsa_String
*name
/* [in] [ref] */,
234 uint32_t *idx
/* [out] [ref] */);
235 NTSTATUS
rpccli_samr_TestPrivateFunctionsDomain(struct rpc_pipe_client
*cli
,
237 struct policy_handle
*domain_handle
/* [in] [ref] */);
238 NTSTATUS
rpccli_samr_TestPrivateFunctionsUser(struct rpc_pipe_client
*cli
,
240 struct policy_handle
*user_handle
/* [in] [ref] */);
241 NTSTATUS
rpccli_samr_GetUserPwInfo(struct rpc_pipe_client
*cli
,
243 struct policy_handle
*user_handle
/* [in] [ref] */,
244 struct samr_PwInfo
*info
/* [out] [ref] */);
245 NTSTATUS
rpccli_samr_RemoveMemberFromForeignDomain(struct rpc_pipe_client
*cli
,
247 struct policy_handle
*domain_handle
/* [in] [ref] */,
248 struct dom_sid2
*sid
/* [in] [ref] */);
249 NTSTATUS
rpccli_samr_QueryDomainInfo2(struct rpc_pipe_client
*cli
,
251 struct policy_handle
*domain_handle
/* [in] [ref] */,
252 enum samr_DomainInfoClass level
/* [in] */,
253 union samr_DomainInfo
**info
/* [out] [ref,switch_is(level)] */);
254 NTSTATUS
rpccli_samr_QueryUserInfo2(struct rpc_pipe_client
*cli
,
256 struct policy_handle
*user_handle
/* [in] [ref] */,
257 enum samr_UserInfoLevel level
/* [in] */,
258 union samr_UserInfo
**info
/* [out] [ref,switch_is(level)] */);
259 NTSTATUS
rpccli_samr_QueryDisplayInfo2(struct rpc_pipe_client
*cli
,
261 struct policy_handle
*domain_handle
/* [in] [ref] */,
262 uint16_t level
/* [in] */,
263 uint32_t start_idx
/* [in] */,
264 uint32_t max_entries
/* [in] */,
265 uint32_t buf_size
/* [in] */,
266 uint32_t *total_size
/* [out] [ref] */,
267 uint32_t *returned_size
/* [out] [ref] */,
268 union samr_DispInfo
*info
/* [out] [ref,switch_is(level)] */);
269 NTSTATUS
rpccli_samr_GetDisplayEnumerationIndex2(struct rpc_pipe_client
*cli
,
271 struct policy_handle
*domain_handle
/* [in] [ref] */,
272 uint16_t level
/* [in] */,
273 struct lsa_String
*name
/* [in] [ref] */,
274 uint32_t *idx
/* [out] [ref] */);
275 NTSTATUS
rpccli_samr_CreateUser2(struct rpc_pipe_client
*cli
,
277 struct policy_handle
*domain_handle
/* [in] [ref] */,
278 struct lsa_String
*account_name
/* [in] [ref] */,
279 uint32_t acct_flags
/* [in] */,
280 uint32_t access_mask
/* [in] */,
281 struct policy_handle
*user_handle
/* [out] [ref] */,
282 uint32_t *access_granted
/* [out] [ref] */,
283 uint32_t *rid
/* [out] [ref] */);
284 NTSTATUS
rpccli_samr_QueryDisplayInfo3(struct rpc_pipe_client
*cli
,
286 struct policy_handle
*domain_handle
/* [in] [ref] */,
287 uint16_t level
/* [in] */,
288 uint32_t start_idx
/* [in] */,
289 uint32_t max_entries
/* [in] */,
290 uint32_t buf_size
/* [in] */,
291 uint32_t *total_size
/* [out] [ref] */,
292 uint32_t *returned_size
/* [out] [ref] */,
293 union samr_DispInfo
*info
/* [out] [ref,switch_is(level)] */);
294 NTSTATUS
rpccli_samr_AddMultipleMembersToAlias(struct rpc_pipe_client
*cli
,
296 struct policy_handle
*alias_handle
/* [in] [ref] */,
297 struct lsa_SidArray
*sids
/* [in] [ref] */);
298 NTSTATUS
rpccli_samr_RemoveMultipleMembersFromAlias(struct rpc_pipe_client
*cli
,
300 struct policy_handle
*alias_handle
/* [in] [ref] */,
301 struct lsa_SidArray
*sids
/* [in] [ref] */);
302 NTSTATUS
rpccli_samr_OemChangePasswordUser2(struct rpc_pipe_client
*cli
,
304 struct lsa_AsciiString
*server
/* [in] [unique] */,
305 struct lsa_AsciiString
*account
/* [in] [ref] */,
306 struct samr_CryptPassword
*password
/* [in] [unique] */,
307 struct samr_Password
*hash
/* [in] [unique] */);
308 NTSTATUS
rpccli_samr_ChangePasswordUser2(struct rpc_pipe_client
*cli
,
310 struct lsa_String
*server
/* [in] [unique] */,
311 struct lsa_String
*account
/* [in] [ref] */,
312 struct samr_CryptPassword
*nt_password
/* [in] [unique] */,
313 struct samr_Password
*nt_verifier
/* [in] [unique] */,
314 uint8_t lm_change
/* [in] */,
315 struct samr_CryptPassword
*lm_password
/* [in] [unique] */,
316 struct samr_Password
*lm_verifier
/* [in] [unique] */);
317 NTSTATUS
rpccli_samr_GetDomPwInfo(struct rpc_pipe_client
*cli
,
319 struct lsa_String
*domain_name
/* [in] [unique] */,
320 struct samr_PwInfo
*info
/* [out] [ref] */);
321 NTSTATUS
rpccli_samr_Connect2(struct rpc_pipe_client
*cli
,
323 const char *system_name
/* [in] [unique,charset(UTF16)] */,
324 uint32_t access_mask
/* [in] */,
325 struct policy_handle
*connect_handle
/* [out] [ref] */);
326 NTSTATUS
rpccli_samr_SetUserInfo2(struct rpc_pipe_client
*cli
,
328 struct policy_handle
*user_handle
/* [in] [ref] */,
329 enum samr_UserInfoLevel level
/* [in] */,
330 union samr_UserInfo
*info
/* [in] [ref,switch_is(level)] */);
331 NTSTATUS
rpccli_samr_SetBootKeyInformation(struct rpc_pipe_client
*cli
,
333 struct policy_handle
*connect_handle
/* [in] [ref] */,
334 uint32_t unknown1
/* [in] */,
335 uint32_t unknown2
/* [in] */,
336 uint32_t unknown3
/* [in] */);
337 NTSTATUS
rpccli_samr_GetBootKeyInformation(struct rpc_pipe_client
*cli
,
339 struct policy_handle
*domain_handle
/* [in] [ref] */,
340 uint32_t *unknown
/* [out] [ref] */);
341 NTSTATUS
rpccli_samr_Connect3(struct rpc_pipe_client
*cli
,
343 const char *system_name
/* [in] [unique,charset(UTF16)] */,
344 uint32_t unknown
/* [in] */,
345 uint32_t access_mask
/* [in] */,
346 struct policy_handle
*connect_handle
/* [out] [ref] */);
347 NTSTATUS
rpccli_samr_Connect4(struct rpc_pipe_client
*cli
,
349 const char *system_name
/* [in] [unique,charset(UTF16)] */,
350 enum samr_ConnectVersion client_version
/* [in] */,
351 uint32_t access_mask
/* [in] */,
352 struct policy_handle
*connect_handle
/* [out] [ref] */);
353 NTSTATUS
rpccli_samr_ChangePasswordUser3(struct rpc_pipe_client
*cli
,
355 struct lsa_String
*server
/* [in] [unique] */,
356 struct lsa_String
*account
/* [in] [ref] */,
357 struct samr_CryptPassword
*nt_password
/* [in] [unique] */,
358 struct samr_Password
*nt_verifier
/* [in] [unique] */,
359 uint8_t lm_change
/* [in] */,
360 struct samr_CryptPassword
*lm_password
/* [in] [unique] */,
361 struct samr_Password
*lm_verifier
/* [in] [unique] */,
362 struct samr_CryptPassword
*password3
/* [in] [unique] */,
363 struct samr_DomInfo1
**dominfo
/* [out] [ref] */,
364 struct samr_ChangeReject
**reject
/* [out] [ref] */);
365 NTSTATUS
rpccli_samr_Connect5(struct rpc_pipe_client
*cli
,
367 const char *system_name
/* [in] [unique,charset(UTF16)] */,
368 uint32_t access_mask
/* [in] */,
369 uint32_t level_in
/* [in] */,
370 union samr_ConnectInfo
*info_in
/* [in] [ref,switch_is(level_in)] */,
371 uint32_t *level_out
/* [out] [ref] */,
372 union samr_ConnectInfo
*info_out
/* [out] [ref,switch_is(*level_out)] */,
373 struct policy_handle
*connect_handle
/* [out] [ref] */);
374 NTSTATUS
rpccli_samr_RidToSid(struct rpc_pipe_client
*cli
,
376 struct policy_handle
*domain_handle
/* [in] [ref] */,
377 uint32_t rid
/* [in] */,
378 struct dom_sid2
**sid
/* [out] [ref] */);
379 NTSTATUS
rpccli_samr_SetDsrmPassword(struct rpc_pipe_client
*cli
,
381 struct lsa_String
*name
/* [in] [unique] */,
382 uint32_t unknown
/* [in] */,
383 struct samr_Password
*hash
/* [in] [unique] */);
384 NTSTATUS
rpccli_samr_ValidatePassword(struct rpc_pipe_client
*cli
,
386 enum samr_ValidatePasswordLevel level
/* [in] */,
387 union samr_ValidatePasswordReq
*req
/* [in] [ref,switch_is(level)] */,
388 union samr_ValidatePasswordRep
**rep
/* [out] [ref,switch_is(level)] */);
389 #endif /* __CLI_SAMR__ */