1 /* parser auto-generated by pidl */
4 #include "bin/default/librpc/gen_ndr/ndr_samr.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_lsa.h"
8 #include "librpc/gen_ndr/ndr_security.h"
9 _PUBLIC_ enum ndr_err_code ndr_push_samr_AcctFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
11 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
12 return NDR_ERR_SUCCESS;
15 _PUBLIC_ enum ndr_err_code ndr_pull_samr_AcctFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20 return NDR_ERR_SUCCESS;
23 _PUBLIC_ void ndr_print_samr_AcctFlags(struct ndr_print *ndr, const char *name, uint32_t r)
25 ndr_print_uint32(ndr, name, r);
27 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED, r);
28 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ, r);
29 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_MNS", ACB_MNS, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION", ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION, r);
46 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD, r);
47 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PARTIAL_SECRETS_ACCOUNT", ACB_PARTIAL_SECRETS_ACCOUNT, r);
48 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_AES_KEYS", ACB_USE_AES_KEYS, r);
52 static enum ndr_err_code ndr_push_samr_ConnectAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
54 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
55 return NDR_ERR_SUCCESS;
58 static enum ndr_err_code ndr_pull_samr_ConnectAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
61 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
63 return NDR_ERR_SUCCESS;
66 _PUBLIC_ void ndr_print_samr_ConnectAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
68 ndr_print_uint32(ndr, name, r);
70 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER, r);
71 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER, r);
72 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER, r);
73 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN, r);
74 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS, r);
75 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_LOOKUP_DOMAIN", SAMR_ACCESS_LOOKUP_DOMAIN, r);
79 static enum ndr_err_code ndr_push_samr_UserAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
81 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
82 return NDR_ERR_SUCCESS;
85 static enum ndr_err_code ndr_pull_samr_UserAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
88 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
90 return NDR_ERR_SUCCESS;
93 _PUBLIC_ void ndr_print_samr_UserAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
95 ndr_print_uint32(ndr, name, r);
97 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC, r);
98 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE, r);
99 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM, r);
100 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO, r);
101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES, r);
102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES, r);
103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD, r);
104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD, r);
105 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS, r);
106 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP, r);
107 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP, r);
111 static enum ndr_err_code ndr_push_samr_DomainAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
113 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
114 return NDR_ERR_SUCCESS;
117 static enum ndr_err_code ndr_pull_samr_DomainAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
120 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
122 return NDR_ERR_SUCCESS;
125 _PUBLIC_ void ndr_print_samr_DomainAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
127 ndr_print_uint32(ndr, name, r);
129 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1, r);
130 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1, r);
131 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2, r);
132 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2, r);
133 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER, r);
134 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP, r);
135 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS, r);
136 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS, r);
137 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS, r);
138 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT, r);
139 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3, r);
143 static enum ndr_err_code ndr_push_samr_GroupAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
146 return NDR_ERR_SUCCESS;
149 static enum ndr_err_code ndr_pull_samr_GroupAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
152 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
154 return NDR_ERR_SUCCESS;
157 _PUBLIC_ void ndr_print_samr_GroupAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
159 ndr_print_uint32(ndr, name, r);
161 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO, r);
162 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO, r);
163 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER, r);
164 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER, r);
165 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS, r);
169 static enum ndr_err_code ndr_push_samr_AliasAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
172 return NDR_ERR_SUCCESS;
175 static enum ndr_err_code ndr_pull_samr_AliasAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
180 return NDR_ERR_SUCCESS;
183 _PUBLIC_ void ndr_print_samr_AliasAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
185 ndr_print_uint32(ndr, name, r);
187 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER, r);
188 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER, r);
189 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS, r);
190 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO, r);
191 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO, r);
195 static enum ndr_err_code ndr_push_samr_SamEntry(struct ndr_push *ndr, int ndr_flags, const struct samr_SamEntry *r)
197 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
198 if (ndr_flags & NDR_SCALARS) {
199 NDR_CHECK(ndr_push_align(ndr, 5));
200 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
201 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
202 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
204 if (ndr_flags & NDR_BUFFERS) {
205 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
207 return NDR_ERR_SUCCESS;
210 static enum ndr_err_code ndr_pull_samr_SamEntry(struct ndr_pull *ndr, int ndr_flags, struct samr_SamEntry *r)
212 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
213 if (ndr_flags & NDR_SCALARS) {
214 NDR_CHECK(ndr_pull_align(ndr, 5));
215 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
216 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
217 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
219 if (ndr_flags & NDR_BUFFERS) {
220 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
222 return NDR_ERR_SUCCESS;
225 _PUBLIC_ void ndr_print_samr_SamEntry(struct ndr_print *ndr, const char *name, const struct samr_SamEntry *r)
227 ndr_print_struct(ndr, name, "samr_SamEntry");
228 if (r == NULL) { ndr_print_null(ndr); return; }
230 ndr_print_uint32(ndr, "idx", r->idx);
231 ndr_print_lsa_String(ndr, "name", &r->name);
235 static enum ndr_err_code ndr_push_samr_SamArray(struct ndr_push *ndr, int ndr_flags, const struct samr_SamArray *r)
237 uint32_t cntr_entries_1;
238 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
239 if (ndr_flags & NDR_SCALARS) {
240 NDR_CHECK(ndr_push_align(ndr, 5));
241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
242 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
243 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
245 if (ndr_flags & NDR_BUFFERS) {
247 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
248 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
249 NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
251 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
252 NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
256 return NDR_ERR_SUCCESS;
259 static enum ndr_err_code ndr_pull_samr_SamArray(struct ndr_pull *ndr, int ndr_flags, struct samr_SamArray *r)
261 uint32_t _ptr_entries;
262 uint32_t size_entries_1 = 0;
263 uint32_t cntr_entries_1;
264 TALLOC_CTX *_mem_save_entries_0;
265 TALLOC_CTX *_mem_save_entries_1;
266 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
267 if (ndr_flags & NDR_SCALARS) {
268 NDR_CHECK(ndr_pull_align(ndr, 5));
269 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
270 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
272 NDR_PULL_ALLOC(ndr, r->entries);
276 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
278 if (ndr_flags & NDR_BUFFERS) {
280 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
281 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
282 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
283 size_entries_1 = ndr_get_array_size(ndr, &r->entries);
284 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
285 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
286 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
287 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
288 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
290 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
291 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
297 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
300 return NDR_ERR_SUCCESS;
303 _PUBLIC_ void ndr_print_samr_SamArray(struct ndr_print *ndr, const char *name, const struct samr_SamArray *r)
305 uint32_t cntr_entries_1;
306 ndr_print_struct(ndr, name, "samr_SamArray");
307 if (r == NULL) { ndr_print_null(ndr); return; }
309 ndr_print_uint32(ndr, "count", r->count);
310 ndr_print_ptr(ndr, "entries", r->entries);
313 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
315 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
316 ndr_print_samr_SamEntry(ndr, "entries", &r->entries[cntr_entries_1]);
324 static enum ndr_err_code ndr_push_samr_DomainInfoClass(struct ndr_push *ndr, int ndr_flags, enum samr_DomainInfoClass r)
326 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
327 return NDR_ERR_SUCCESS;
330 static enum ndr_err_code ndr_pull_samr_DomainInfoClass(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainInfoClass *r)
333 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
335 return NDR_ERR_SUCCESS;
338 _PUBLIC_ void ndr_print_samr_DomainInfoClass(struct ndr_print *ndr, const char *name, enum samr_DomainInfoClass r)
340 const char *val = NULL;
343 case DomainPasswordInformation: val = "DomainPasswordInformation"; break;
344 case DomainGeneralInformation: val = "DomainGeneralInformation"; break;
345 case DomainLogoffInformation: val = "DomainLogoffInformation"; break;
346 case DomainOemInformation: val = "DomainOemInformation"; break;
347 case DomainNameInformation: val = "DomainNameInformation"; break;
348 case DomainReplicationInformation: val = "DomainReplicationInformation"; break;
349 case DomainServerRoleInformation: val = "DomainServerRoleInformation"; break;
350 case DomainModifiedInformation: val = "DomainModifiedInformation"; break;
351 case DomainStateInformation: val = "DomainStateInformation"; break;
352 case DomainUasInformation: val = "DomainUasInformation"; break;
353 case DomainGeneralInformation2: val = "DomainGeneralInformation2"; break;
354 case DomainLockoutInformation: val = "DomainLockoutInformation"; break;
355 case DomainModifiedInformation2: val = "DomainModifiedInformation2"; break;
357 ndr_print_enum(ndr, name, "ENUM", val, r);
360 static enum ndr_err_code ndr_push_samr_Role(struct ndr_push *ndr, int ndr_flags, enum samr_Role r)
362 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
363 return NDR_ERR_SUCCESS;
366 static enum ndr_err_code ndr_pull_samr_Role(struct ndr_pull *ndr, int ndr_flags, enum samr_Role *r)
369 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
371 return NDR_ERR_SUCCESS;
374 _PUBLIC_ void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role r)
376 const char *val = NULL;
379 case SAMR_ROLE_STANDALONE: val = "SAMR_ROLE_STANDALONE"; break;
380 case SAMR_ROLE_DOMAIN_MEMBER: val = "SAMR_ROLE_DOMAIN_MEMBER"; break;
381 case SAMR_ROLE_DOMAIN_BDC: val = "SAMR_ROLE_DOMAIN_BDC"; break;
382 case SAMR_ROLE_DOMAIN_PDC: val = "SAMR_ROLE_DOMAIN_PDC"; break;
384 ndr_print_enum(ndr, name, "ENUM", val, r);
387 _PUBLIC_ enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r)
389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
390 return NDR_ERR_SUCCESS;
393 _PUBLIC_ enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
398 return NDR_ERR_SUCCESS;
401 _PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r)
403 ndr_print_uint32(ndr, name, r);
405 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX, r);
406 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE, r);
407 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE, r);
408 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS, r);
409 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT, r);
410 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE, r);
414 static enum ndr_err_code ndr_push_samr_DomainServerState(struct ndr_push *ndr, int ndr_flags, enum samr_DomainServerState r)
416 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
417 return NDR_ERR_SUCCESS;
420 static enum ndr_err_code ndr_pull_samr_DomainServerState(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainServerState *r)
423 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
425 return NDR_ERR_SUCCESS;
428 _PUBLIC_ void ndr_print_samr_DomainServerState(struct ndr_print *ndr, const char *name, enum samr_DomainServerState r)
430 const char *val = NULL;
433 case DOMAIN_SERVER_ENABLED: val = "DOMAIN_SERVER_ENABLED"; break;
434 case DOMAIN_SERVER_DISABLED: val = "DOMAIN_SERVER_DISABLED"; break;
436 ndr_print_enum(ndr, name, "ENUM", val, r);
439 static enum ndr_err_code ndr_push_samr_DomInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo1 *r)
441 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
442 if (ndr_flags & NDR_SCALARS) {
443 NDR_CHECK(ndr_push_align(ndr, 4));
444 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
445 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
446 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
447 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
448 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
449 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
451 if (ndr_flags & NDR_BUFFERS) {
453 return NDR_ERR_SUCCESS;
456 static enum ndr_err_code ndr_pull_samr_DomInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo1 *r)
458 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
459 if (ndr_flags & NDR_SCALARS) {
460 NDR_CHECK(ndr_pull_align(ndr, 4));
461 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
462 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
463 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
464 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
465 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
466 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
468 if (ndr_flags & NDR_BUFFERS) {
470 return NDR_ERR_SUCCESS;
473 _PUBLIC_ void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r)
475 ndr_print_struct(ndr, name, "samr_DomInfo1");
476 if (r == NULL) { ndr_print_null(ndr); return; }
478 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
479 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
480 ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
481 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
482 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
486 static enum ndr_err_code ndr_push_samr_DomGeneralInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation *r)
488 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
489 if (ndr_flags & NDR_SCALARS) {
490 NDR_CHECK(ndr_push_align(ndr, 5));
491 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
492 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
493 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
494 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
495 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
496 NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
497 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
499 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users));
500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_groups));
501 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aliases));
502 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
504 if (ndr_flags & NDR_BUFFERS) {
505 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
506 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
507 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
509 return NDR_ERR_SUCCESS;
512 static enum ndr_err_code ndr_pull_samr_DomGeneralInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation *r)
514 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
515 if (ndr_flags & NDR_SCALARS) {
516 NDR_CHECK(ndr_pull_align(ndr, 5));
517 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
518 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
519 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
520 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
521 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
522 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
523 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
524 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
525 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users));
526 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_groups));
527 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aliases));
528 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
530 if (ndr_flags & NDR_BUFFERS) {
531 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
532 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
533 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
535 return NDR_ERR_SUCCESS;
538 _PUBLIC_ void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r)
540 ndr_print_struct(ndr, name, "samr_DomGeneralInformation");
541 if (r == NULL) { ndr_print_null(ndr); return; }
543 ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
544 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
545 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
546 ndr_print_lsa_String(ndr, "primary", &r->primary);
547 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
548 ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
549 ndr_print_samr_Role(ndr, "role", r->role);
550 ndr_print_uint32(ndr, "unknown3", r->unknown3);
551 ndr_print_uint32(ndr, "num_users", r->num_users);
552 ndr_print_uint32(ndr, "num_groups", r->num_groups);
553 ndr_print_uint32(ndr, "num_aliases", r->num_aliases);
557 static enum ndr_err_code ndr_push_samr_DomInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo3 *r)
559 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
560 if (ndr_flags & NDR_SCALARS) {
561 NDR_CHECK(ndr_push_align(ndr, 4));
562 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
563 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
565 if (ndr_flags & NDR_BUFFERS) {
567 return NDR_ERR_SUCCESS;
570 static enum ndr_err_code ndr_pull_samr_DomInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo3 *r)
572 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
573 if (ndr_flags & NDR_SCALARS) {
574 NDR_CHECK(ndr_pull_align(ndr, 4));
575 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
576 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
578 if (ndr_flags & NDR_BUFFERS) {
580 return NDR_ERR_SUCCESS;
583 _PUBLIC_ void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r)
585 ndr_print_struct(ndr, name, "samr_DomInfo3");
586 if (r == NULL) { ndr_print_null(ndr); return; }
588 ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
592 static enum ndr_err_code ndr_push_samr_DomOEMInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomOEMInformation *r)
594 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
595 if (ndr_flags & NDR_SCALARS) {
596 NDR_CHECK(ndr_push_align(ndr, 5));
597 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
598 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
600 if (ndr_flags & NDR_BUFFERS) {
601 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
603 return NDR_ERR_SUCCESS;
606 static enum ndr_err_code ndr_pull_samr_DomOEMInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomOEMInformation *r)
608 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
609 if (ndr_flags & NDR_SCALARS) {
610 NDR_CHECK(ndr_pull_align(ndr, 5));
611 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
612 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
614 if (ndr_flags & NDR_BUFFERS) {
615 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
617 return NDR_ERR_SUCCESS;
620 _PUBLIC_ void ndr_print_samr_DomOEMInformation(struct ndr_print *ndr, const char *name, const struct samr_DomOEMInformation *r)
622 ndr_print_struct(ndr, name, "samr_DomOEMInformation");
623 if (r == NULL) { ndr_print_null(ndr); return; }
625 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
629 static enum ndr_err_code ndr_push_samr_DomInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo5 *r)
631 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
632 if (ndr_flags & NDR_SCALARS) {
633 NDR_CHECK(ndr_push_align(ndr, 5));
634 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
635 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
637 if (ndr_flags & NDR_BUFFERS) {
638 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
640 return NDR_ERR_SUCCESS;
643 static enum ndr_err_code ndr_pull_samr_DomInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo5 *r)
645 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
646 if (ndr_flags & NDR_SCALARS) {
647 NDR_CHECK(ndr_pull_align(ndr, 5));
648 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
649 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
651 if (ndr_flags & NDR_BUFFERS) {
652 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
654 return NDR_ERR_SUCCESS;
657 _PUBLIC_ void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r)
659 ndr_print_struct(ndr, name, "samr_DomInfo5");
660 if (r == NULL) { ndr_print_null(ndr); return; }
662 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
666 static enum ndr_err_code ndr_push_samr_DomInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo6 *r)
668 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
669 if (ndr_flags & NDR_SCALARS) {
670 NDR_CHECK(ndr_push_align(ndr, 5));
671 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
672 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
674 if (ndr_flags & NDR_BUFFERS) {
675 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
677 return NDR_ERR_SUCCESS;
680 static enum ndr_err_code ndr_pull_samr_DomInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo6 *r)
682 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
683 if (ndr_flags & NDR_SCALARS) {
684 NDR_CHECK(ndr_pull_align(ndr, 5));
685 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
686 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
688 if (ndr_flags & NDR_BUFFERS) {
689 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
691 return NDR_ERR_SUCCESS;
694 _PUBLIC_ void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r)
696 ndr_print_struct(ndr, name, "samr_DomInfo6");
697 if (r == NULL) { ndr_print_null(ndr); return; }
699 ndr_print_lsa_String(ndr, "primary", &r->primary);
703 static enum ndr_err_code ndr_push_samr_DomInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo7 *r)
705 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
706 if (ndr_flags & NDR_SCALARS) {
707 NDR_CHECK(ndr_push_align(ndr, 4));
708 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
709 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
711 if (ndr_flags & NDR_BUFFERS) {
713 return NDR_ERR_SUCCESS;
716 static enum ndr_err_code ndr_pull_samr_DomInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo7 *r)
718 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
719 if (ndr_flags & NDR_SCALARS) {
720 NDR_CHECK(ndr_pull_align(ndr, 4));
721 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
722 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
724 if (ndr_flags & NDR_BUFFERS) {
726 return NDR_ERR_SUCCESS;
729 _PUBLIC_ void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r)
731 ndr_print_struct(ndr, name, "samr_DomInfo7");
732 if (r == NULL) { ndr_print_null(ndr); return; }
734 ndr_print_samr_Role(ndr, "role", r->role);
738 static enum ndr_err_code ndr_push_samr_DomInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo8 *r)
740 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
741 if (ndr_flags & NDR_SCALARS) {
742 NDR_CHECK(ndr_push_align(ndr, 8));
743 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
744 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
745 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
747 if (ndr_flags & NDR_BUFFERS) {
749 return NDR_ERR_SUCCESS;
752 static enum ndr_err_code ndr_pull_samr_DomInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo8 *r)
754 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
755 if (ndr_flags & NDR_SCALARS) {
756 NDR_CHECK(ndr_pull_align(ndr, 8));
757 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
758 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
759 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
761 if (ndr_flags & NDR_BUFFERS) {
763 return NDR_ERR_SUCCESS;
766 _PUBLIC_ void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r)
768 ndr_print_struct(ndr, name, "samr_DomInfo8");
769 if (r == NULL) { ndr_print_null(ndr); return; }
771 ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
772 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
776 static enum ndr_err_code ndr_push_samr_DomInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo9 *r)
778 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
779 if (ndr_flags & NDR_SCALARS) {
780 NDR_CHECK(ndr_push_align(ndr, 4));
781 NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
782 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
784 if (ndr_flags & NDR_BUFFERS) {
786 return NDR_ERR_SUCCESS;
789 static enum ndr_err_code ndr_pull_samr_DomInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo9 *r)
791 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
792 if (ndr_flags & NDR_SCALARS) {
793 NDR_CHECK(ndr_pull_align(ndr, 4));
794 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
795 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
797 if (ndr_flags & NDR_BUFFERS) {
799 return NDR_ERR_SUCCESS;
802 _PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r)
804 ndr_print_struct(ndr, name, "samr_DomInfo9");
805 if (r == NULL) { ndr_print_null(ndr); return; }
807 ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
811 static enum ndr_err_code ndr_push_samr_DomGeneralInformation2(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation2 *r)
813 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
814 if (ndr_flags & NDR_SCALARS) {
815 NDR_CHECK(ndr_push_align(ndr, 8));
816 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
817 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
818 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
819 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
820 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
822 if (ndr_flags & NDR_BUFFERS) {
823 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
825 return NDR_ERR_SUCCESS;
828 static enum ndr_err_code ndr_pull_samr_DomGeneralInformation2(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation2 *r)
830 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
831 if (ndr_flags & NDR_SCALARS) {
832 NDR_CHECK(ndr_pull_align(ndr, 8));
833 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
834 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
835 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
836 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
837 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
839 if (ndr_flags & NDR_BUFFERS) {
840 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
842 return NDR_ERR_SUCCESS;
845 _PUBLIC_ void ndr_print_samr_DomGeneralInformation2(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation2 *r)
847 ndr_print_struct(ndr, name, "samr_DomGeneralInformation2");
848 if (r == NULL) { ndr_print_null(ndr); return; }
850 ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
851 ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
852 ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
853 ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
857 static enum ndr_err_code ndr_push_samr_DomInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo12 *r)
859 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
860 if (ndr_flags & NDR_SCALARS) {
861 NDR_CHECK(ndr_push_align(ndr, 8));
862 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
863 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
864 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
865 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
867 if (ndr_flags & NDR_BUFFERS) {
869 return NDR_ERR_SUCCESS;
872 static enum ndr_err_code ndr_pull_samr_DomInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo12 *r)
874 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
875 if (ndr_flags & NDR_SCALARS) {
876 NDR_CHECK(ndr_pull_align(ndr, 8));
877 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
878 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
879 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
880 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
882 if (ndr_flags & NDR_BUFFERS) {
884 return NDR_ERR_SUCCESS;
887 _PUBLIC_ void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r)
889 ndr_print_struct(ndr, name, "samr_DomInfo12");
890 if (r == NULL) { ndr_print_null(ndr); return; }
892 ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
893 ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
894 ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
898 static enum ndr_err_code ndr_push_samr_DomInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo13 *r)
900 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
901 if (ndr_flags & NDR_SCALARS) {
902 NDR_CHECK(ndr_push_align(ndr, 8));
903 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
904 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
905 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_count_at_last_promotion));
906 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
908 if (ndr_flags & NDR_BUFFERS) {
910 return NDR_ERR_SUCCESS;
913 static enum ndr_err_code ndr_pull_samr_DomInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo13 *r)
915 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
916 if (ndr_flags & NDR_SCALARS) {
917 NDR_CHECK(ndr_pull_align(ndr, 8));
918 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
919 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
920 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_count_at_last_promotion));
921 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
923 if (ndr_flags & NDR_BUFFERS) {
925 return NDR_ERR_SUCCESS;
928 _PUBLIC_ void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r)
930 ndr_print_struct(ndr, name, "samr_DomInfo13");
931 if (r == NULL) { ndr_print_null(ndr); return; }
933 ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
934 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
935 ndr_print_hyper(ndr, "modified_count_at_last_promotion", r->modified_count_at_last_promotion);
939 static enum ndr_err_code ndr_push_samr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DomainInfo *r)
941 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
942 if (ndr_flags & NDR_SCALARS) {
943 uint32_t level = ndr_push_get_switch_value(ndr, r);
944 NDR_CHECK(ndr_push_union_align(ndr, 8));
945 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
946 NDR_CHECK(ndr_push_union_align(ndr, 8));
949 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
953 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
957 NDR_CHECK(ndr_push_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
961 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
965 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
969 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
973 NDR_CHECK(ndr_push_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
977 NDR_CHECK(ndr_push_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
981 NDR_CHECK(ndr_push_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
985 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
989 NDR_CHECK(ndr_push_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
993 NDR_CHECK(ndr_push_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
997 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1000 if (ndr_flags & NDR_BUFFERS) {
1001 uint32_t level = ndr_push_get_switch_value(ndr, r);
1007 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
1014 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
1018 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
1022 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
1035 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
1045 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1048 return NDR_ERR_SUCCESS;
1051 static enum ndr_err_code ndr_pull_samr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DomainInfo *r)
1055 level = ndr_pull_get_switch_value(ndr, r);
1056 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1057 if (ndr_flags & NDR_SCALARS) {
1058 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1059 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1060 if (_level != level) {
1061 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1063 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1066 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
1070 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
1074 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
1078 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
1082 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
1086 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
1090 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
1094 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
1098 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
1102 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
1106 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
1110 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
1114 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1117 if (ndr_flags & NDR_BUFFERS) {
1123 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
1130 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
1134 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
1138 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
1151 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
1161 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1164 return NDR_ERR_SUCCESS;
1167 _PUBLIC_ void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r)
1170 level = ndr_print_get_switch_value(ndr, r);
1171 ndr_print_union(ndr, name, level, "samr_DomainInfo");
1174 ndr_print_samr_DomInfo1(ndr, "info1", &r->info1);
1178 ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
1182 ndr_print_samr_DomInfo3(ndr, "info3", &r->info3);
1186 ndr_print_samr_DomOEMInformation(ndr, "oem", &r->oem);
1190 ndr_print_samr_DomInfo5(ndr, "info5", &r->info5);
1194 ndr_print_samr_DomInfo6(ndr, "info6", &r->info6);
1198 ndr_print_samr_DomInfo7(ndr, "info7", &r->info7);
1202 ndr_print_samr_DomInfo8(ndr, "info8", &r->info8);
1206 ndr_print_samr_DomInfo9(ndr, "info9", &r->info9);
1210 ndr_print_samr_DomGeneralInformation2(ndr, "general2", &r->general2);
1214 ndr_print_samr_DomInfo12(ndr, "info12", &r->info12);
1218 ndr_print_samr_DomInfo13(ndr, "info13", &r->info13);
1222 ndr_print_bad_level(ndr, name, level);
1226 static enum ndr_err_code ndr_push_samr_Ids(struct ndr_push *ndr, int ndr_flags, const struct samr_Ids *r)
1228 uint32_t cntr_ids_1;
1229 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1230 if (ndr_flags & NDR_SCALARS) {
1231 NDR_CHECK(ndr_push_align(ndr, 5));
1232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ids));
1234 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1236 if (ndr_flags & NDR_BUFFERS) {
1238 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1239 for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
1240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ids[cntr_ids_1]));
1244 return NDR_ERR_SUCCESS;
1247 static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags, struct samr_Ids *r)
1250 uint32_t size_ids_1 = 0;
1251 uint32_t cntr_ids_1;
1252 TALLOC_CTX *_mem_save_ids_0;
1253 TALLOC_CTX *_mem_save_ids_1;
1254 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1255 if (ndr_flags & NDR_SCALARS) {
1256 NDR_CHECK(ndr_pull_align(ndr, 5));
1257 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1258 if (r->count > 1024) {
1259 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1261 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ids));
1263 NDR_PULL_ALLOC(ndr, r->ids);
1267 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1269 if (ndr_flags & NDR_BUFFERS) {
1271 _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1272 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1273 NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
1274 size_ids_1 = ndr_get_array_size(ndr, &r->ids);
1275 NDR_PULL_ALLOC_N(ndr, r->ids, size_ids_1);
1276 _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1277 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1278 for (cntr_ids_1 = 0; cntr_ids_1 < size_ids_1; cntr_ids_1++) {
1279 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1]));
1281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_1, 0);
1282 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
1285 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->ids, r->count));
1288 return NDR_ERR_SUCCESS;
1291 _PUBLIC_ void ndr_print_samr_Ids(struct ndr_print *ndr, const char *name, const struct samr_Ids *r)
1293 uint32_t cntr_ids_1;
1294 ndr_print_struct(ndr, name, "samr_Ids");
1295 if (r == NULL) { ndr_print_null(ndr); return; }
1297 ndr_print_uint32(ndr, "count", r->count);
1298 ndr_print_ptr(ndr, "ids", r->ids);
1301 ndr->print(ndr, "%s: ARRAY(%d)", "ids", (int)r->count);
1303 for (cntr_ids_1=0;cntr_ids_1<r->count;cntr_ids_1++) {
1304 ndr_print_uint32(ndr, "ids", r->ids[cntr_ids_1]);
1312 _PUBLIC_ enum ndr_err_code ndr_push_samr_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1314 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1315 return NDR_ERR_SUCCESS;
1318 _PUBLIC_ enum ndr_err_code ndr_pull_samr_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1321 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1323 return NDR_ERR_SUCCESS;
1326 _PUBLIC_ void ndr_print_samr_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
1328 ndr_print_uint32(ndr, name, r);
1330 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
1331 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
1332 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
1333 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
1334 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
1335 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
1336 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
1340 static enum ndr_err_code ndr_push_samr_GroupInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAll *r)
1342 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1343 if (ndr_flags & NDR_SCALARS) {
1344 NDR_CHECK(ndr_push_align(ndr, 5));
1345 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1346 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1347 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1348 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1349 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1351 if (ndr_flags & NDR_BUFFERS) {
1352 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1353 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1355 return NDR_ERR_SUCCESS;
1358 static enum ndr_err_code ndr_pull_samr_GroupInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAll *r)
1360 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1361 if (ndr_flags & NDR_SCALARS) {
1362 NDR_CHECK(ndr_pull_align(ndr, 5));
1363 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1364 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1365 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1366 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1367 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1369 if (ndr_flags & NDR_BUFFERS) {
1370 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1371 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1373 return NDR_ERR_SUCCESS;
1376 _PUBLIC_ void ndr_print_samr_GroupInfoAll(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAll *r)
1378 ndr_print_struct(ndr, name, "samr_GroupInfoAll");
1379 if (r == NULL) { ndr_print_null(ndr); return; }
1381 ndr_print_lsa_String(ndr, "name", &r->name);
1382 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1383 ndr_print_uint32(ndr, "num_members", r->num_members);
1384 ndr_print_lsa_String(ndr, "description", &r->description);
1388 static enum ndr_err_code ndr_push_samr_GroupInfoAttributes(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAttributes *r)
1390 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1391 if (ndr_flags & NDR_SCALARS) {
1392 NDR_CHECK(ndr_push_align(ndr, 4));
1393 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1394 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1396 if (ndr_flags & NDR_BUFFERS) {
1398 return NDR_ERR_SUCCESS;
1401 static enum ndr_err_code ndr_pull_samr_GroupInfoAttributes(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAttributes *r)
1403 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1404 if (ndr_flags & NDR_SCALARS) {
1405 NDR_CHECK(ndr_pull_align(ndr, 4));
1406 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1407 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1409 if (ndr_flags & NDR_BUFFERS) {
1411 return NDR_ERR_SUCCESS;
1414 _PUBLIC_ void ndr_print_samr_GroupInfoAttributes(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAttributes *r)
1416 ndr_print_struct(ndr, name, "samr_GroupInfoAttributes");
1417 if (r == NULL) { ndr_print_null(ndr); return; }
1419 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1423 static enum ndr_err_code ndr_push_samr_GroupInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_GroupInfoEnum r)
1425 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1426 return NDR_ERR_SUCCESS;
1429 static enum ndr_err_code ndr_pull_samr_GroupInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_GroupInfoEnum *r)
1432 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1434 return NDR_ERR_SUCCESS;
1437 _PUBLIC_ void ndr_print_samr_GroupInfoEnum(struct ndr_print *ndr, const char *name, enum samr_GroupInfoEnum r)
1439 const char *val = NULL;
1442 case GROUPINFOALL: val = "GROUPINFOALL"; break;
1443 case GROUPINFONAME: val = "GROUPINFONAME"; break;
1444 case GROUPINFOATTRIBUTES: val = "GROUPINFOATTRIBUTES"; break;
1445 case GROUPINFODESCRIPTION: val = "GROUPINFODESCRIPTION"; break;
1446 case GROUPINFOALL2: val = "GROUPINFOALL2"; break;
1448 ndr_print_enum(ndr, name, "ENUM", val, r);
1451 static enum ndr_err_code ndr_push_samr_GroupInfo(struct ndr_push *ndr, int ndr_flags, const union samr_GroupInfo *r)
1453 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1454 if (ndr_flags & NDR_SCALARS) {
1455 uint32_t level = ndr_push_get_switch_value(ndr, r);
1456 NDR_CHECK(ndr_push_union_align(ndr, 5));
1457 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, level));
1458 NDR_CHECK(ndr_push_union_align(ndr, 5));
1460 case GROUPINFOALL: {
1461 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1464 case GROUPINFONAME: {
1465 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1468 case GROUPINFOATTRIBUTES: {
1469 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1472 case GROUPINFODESCRIPTION: {
1473 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1476 case GROUPINFOALL2: {
1477 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1481 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1484 if (ndr_flags & NDR_BUFFERS) {
1485 uint32_t level = ndr_push_get_switch_value(ndr, r);
1488 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1492 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1495 case GROUPINFOATTRIBUTES:
1498 case GROUPINFODESCRIPTION:
1499 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1503 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1507 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1510 return NDR_ERR_SUCCESS;
1513 static enum ndr_err_code ndr_pull_samr_GroupInfo(struct ndr_pull *ndr, int ndr_flags, union samr_GroupInfo *r)
1517 level = ndr_pull_get_switch_value(ndr, r);
1518 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1519 if (ndr_flags & NDR_SCALARS) {
1520 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1521 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
1522 if (_level != level) {
1523 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1525 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1527 case GROUPINFOALL: {
1528 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1531 case GROUPINFONAME: {
1532 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1535 case GROUPINFOATTRIBUTES: {
1536 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1539 case GROUPINFODESCRIPTION: {
1540 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1543 case GROUPINFOALL2: {
1544 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1548 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1551 if (ndr_flags & NDR_BUFFERS) {
1554 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1558 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1561 case GROUPINFOATTRIBUTES:
1564 case GROUPINFODESCRIPTION:
1565 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1569 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1573 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1576 return NDR_ERR_SUCCESS;
1579 _PUBLIC_ void ndr_print_samr_GroupInfo(struct ndr_print *ndr, const char *name, const union samr_GroupInfo *r)
1582 level = ndr_print_get_switch_value(ndr, r);
1583 ndr_print_union(ndr, name, level, "samr_GroupInfo");
1586 ndr_print_samr_GroupInfoAll(ndr, "all", &r->all);
1590 ndr_print_lsa_String(ndr, "name", &r->name);
1593 case GROUPINFOATTRIBUTES:
1594 ndr_print_samr_GroupInfoAttributes(ndr, "attributes", &r->attributes);
1597 case GROUPINFODESCRIPTION:
1598 ndr_print_lsa_String(ndr, "description", &r->description);
1602 ndr_print_samr_GroupInfoAll(ndr, "all2", &r->all2);
1606 ndr_print_bad_level(ndr, name, level);
1610 static enum ndr_err_code ndr_push_samr_RidAttrArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidAttrArray *r)
1612 uint32_t cntr_rids_1;
1613 uint32_t cntr_attributes_1;
1614 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1615 if (ndr_flags & NDR_SCALARS) {
1616 NDR_CHECK(ndr_push_align(ndr, 5));
1617 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1618 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
1619 NDR_CHECK(ndr_push_unique_ptr(ndr, r->attributes));
1620 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1622 if (ndr_flags & NDR_BUFFERS) {
1624 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1625 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
1626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
1629 if (r->attributes) {
1630 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1631 for (cntr_attributes_1 = 0; cntr_attributes_1 < r->count; cntr_attributes_1++) {
1632 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes[cntr_attributes_1]));
1636 return NDR_ERR_SUCCESS;
1639 static enum ndr_err_code ndr_pull_samr_RidAttrArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidAttrArray *r)
1642 uint32_t size_rids_1 = 0;
1643 uint32_t cntr_rids_1;
1644 TALLOC_CTX *_mem_save_rids_0;
1645 TALLOC_CTX *_mem_save_rids_1;
1646 uint32_t _ptr_attributes;
1647 uint32_t size_attributes_1 = 0;
1648 uint32_t cntr_attributes_1;
1649 TALLOC_CTX *_mem_save_attributes_0;
1650 TALLOC_CTX *_mem_save_attributes_1;
1651 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1652 if (ndr_flags & NDR_SCALARS) {
1653 NDR_CHECK(ndr_pull_align(ndr, 5));
1654 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1655 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
1657 NDR_PULL_ALLOC(ndr, r->rids);
1661 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attributes));
1662 if (_ptr_attributes) {
1663 NDR_PULL_ALLOC(ndr, r->attributes);
1665 r->attributes = NULL;
1667 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1669 if (ndr_flags & NDR_BUFFERS) {
1671 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1672 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1673 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
1674 size_rids_1 = ndr_get_array_size(ndr, &r->rids);
1675 NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
1676 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1677 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1678 for (cntr_rids_1 = 0; cntr_rids_1 < size_rids_1; cntr_rids_1++) {
1679 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
1681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
1682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
1684 if (r->attributes) {
1685 _mem_save_attributes_0 = NDR_PULL_GET_MEM_CTX(ndr);
1686 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
1687 NDR_CHECK(ndr_pull_array_size(ndr, &r->attributes));
1688 size_attributes_1 = ndr_get_array_size(ndr, &r->attributes);
1689 NDR_PULL_ALLOC_N(ndr, r->attributes, size_attributes_1);
1690 _mem_save_attributes_1 = NDR_PULL_GET_MEM_CTX(ndr);
1691 NDR_PULL_SET_MEM_CTX(ndr, r->attributes, 0);
1692 for (cntr_attributes_1 = 0; cntr_attributes_1 < size_attributes_1; cntr_attributes_1++) {
1693 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes[cntr_attributes_1]));
1695 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_1, 0);
1696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attributes_0, 0);
1699 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
1701 if (r->attributes) {
1702 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->attributes, r->count));
1705 return NDR_ERR_SUCCESS;
1708 _PUBLIC_ void ndr_print_samr_RidAttrArray(struct ndr_print *ndr, const char *name, const struct samr_RidAttrArray *r)
1710 uint32_t cntr_rids_1;
1711 uint32_t cntr_attributes_1;
1712 ndr_print_struct(ndr, name, "samr_RidAttrArray");
1713 if (r == NULL) { ndr_print_null(ndr); return; }
1715 ndr_print_uint32(ndr, "count", r->count);
1716 ndr_print_ptr(ndr, "rids", r->rids);
1719 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
1721 for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
1722 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
1727 ndr_print_ptr(ndr, "attributes", r->attributes);
1729 if (r->attributes) {
1730 ndr->print(ndr, "%s: ARRAY(%d)", "attributes", (int)r->count);
1732 for (cntr_attributes_1=0;cntr_attributes_1<r->count;cntr_attributes_1++) {
1733 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes[cntr_attributes_1]);
1741 static enum ndr_err_code ndr_push_samr_AliasInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_AliasInfoAll *r)
1743 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1744 if (ndr_flags & NDR_SCALARS) {
1745 NDR_CHECK(ndr_push_align(ndr, 5));
1746 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1748 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1749 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1751 if (ndr_flags & NDR_BUFFERS) {
1752 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1753 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1755 return NDR_ERR_SUCCESS;
1758 static enum ndr_err_code ndr_pull_samr_AliasInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_AliasInfoAll *r)
1760 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1761 if (ndr_flags & NDR_SCALARS) {
1762 NDR_CHECK(ndr_pull_align(ndr, 5));
1763 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1764 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1765 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1766 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1768 if (ndr_flags & NDR_BUFFERS) {
1769 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1770 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1772 return NDR_ERR_SUCCESS;
1775 _PUBLIC_ void ndr_print_samr_AliasInfoAll(struct ndr_print *ndr, const char *name, const struct samr_AliasInfoAll *r)
1777 ndr_print_struct(ndr, name, "samr_AliasInfoAll");
1778 if (r == NULL) { ndr_print_null(ndr); return; }
1780 ndr_print_lsa_String(ndr, "name", &r->name);
1781 ndr_print_uint32(ndr, "num_members", r->num_members);
1782 ndr_print_lsa_String(ndr, "description", &r->description);
1786 static enum ndr_err_code ndr_push_samr_AliasInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_AliasInfoEnum r)
1788 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1789 return NDR_ERR_SUCCESS;
1792 static enum ndr_err_code ndr_pull_samr_AliasInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_AliasInfoEnum *r)
1795 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1797 return NDR_ERR_SUCCESS;
1800 _PUBLIC_ void ndr_print_samr_AliasInfoEnum(struct ndr_print *ndr, const char *name, enum samr_AliasInfoEnum r)
1802 const char *val = NULL;
1805 case ALIASINFOALL: val = "ALIASINFOALL"; break;
1806 case ALIASINFONAME: val = "ALIASINFONAME"; break;
1807 case ALIASINFODESCRIPTION: val = "ALIASINFODESCRIPTION"; break;
1809 ndr_print_enum(ndr, name, "ENUM", val, r);
1812 static enum ndr_err_code ndr_push_samr_AliasInfo(struct ndr_push *ndr, int ndr_flags, const union samr_AliasInfo *r)
1814 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1815 if (ndr_flags & NDR_SCALARS) {
1816 uint32_t level = ndr_push_get_switch_value(ndr, r);
1817 NDR_CHECK(ndr_push_union_align(ndr, 5));
1818 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, level));
1819 NDR_CHECK(ndr_push_union_align(ndr, 5));
1821 case ALIASINFOALL: {
1822 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1825 case ALIASINFONAME: {
1826 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1829 case ALIASINFODESCRIPTION: {
1830 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1834 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1837 if (ndr_flags & NDR_BUFFERS) {
1838 uint32_t level = ndr_push_get_switch_value(ndr, r);
1841 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1845 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1848 case ALIASINFODESCRIPTION:
1849 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1853 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1856 return NDR_ERR_SUCCESS;
1859 static enum ndr_err_code ndr_pull_samr_AliasInfo(struct ndr_pull *ndr, int ndr_flags, union samr_AliasInfo *r)
1863 level = ndr_pull_get_switch_value(ndr, r);
1864 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1865 if (ndr_flags & NDR_SCALARS) {
1866 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1867 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
1868 if (_level != level) {
1869 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1871 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1873 case ALIASINFOALL: {
1874 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1877 case ALIASINFONAME: {
1878 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1881 case ALIASINFODESCRIPTION: {
1882 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1886 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1889 if (ndr_flags & NDR_BUFFERS) {
1892 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1896 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1899 case ALIASINFODESCRIPTION:
1900 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1904 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1907 return NDR_ERR_SUCCESS;
1910 _PUBLIC_ void ndr_print_samr_AliasInfo(struct ndr_print *ndr, const char *name, const union samr_AliasInfo *r)
1913 level = ndr_print_get_switch_value(ndr, r);
1914 ndr_print_union(ndr, name, level, "samr_AliasInfo");
1917 ndr_print_samr_AliasInfoAll(ndr, "all", &r->all);
1921 ndr_print_lsa_String(ndr, "name", &r->name);
1924 case ALIASINFODESCRIPTION:
1925 ndr_print_lsa_String(ndr, "description", &r->description);
1929 ndr_print_bad_level(ndr, name, level);
1933 static enum ndr_err_code ndr_push_samr_UserInfoLevel(struct ndr_push *ndr, int ndr_flags, enum samr_UserInfoLevel r)
1935 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1936 return NDR_ERR_SUCCESS;
1939 static enum ndr_err_code ndr_pull_samr_UserInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_UserInfoLevel *r)
1942 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1944 return NDR_ERR_SUCCESS;
1947 _PUBLIC_ void ndr_print_samr_UserInfoLevel(struct ndr_print *ndr, const char *name, enum samr_UserInfoLevel r)
1949 const char *val = NULL;
1952 case UserGeneralInformation: val = "UserGeneralInformation"; break;
1953 case UserPreferencesInformation: val = "UserPreferencesInformation"; break;
1954 case UserLogonInformation: val = "UserLogonInformation"; break;
1955 case UserLogonHoursInformation: val = "UserLogonHoursInformation"; break;
1956 case UserAccountInformation: val = "UserAccountInformation"; break;
1957 case UserNameInformation: val = "UserNameInformation"; break;
1958 case UserAccountNameInformation: val = "UserAccountNameInformation"; break;
1959 case UserFullNameInformation: val = "UserFullNameInformation"; break;
1960 case UserPrimaryGroupInformation: val = "UserPrimaryGroupInformation"; break;
1961 case UserHomeInformation: val = "UserHomeInformation"; break;
1962 case UserScriptInformation: val = "UserScriptInformation"; break;
1963 case UserProfileInformation: val = "UserProfileInformation"; break;
1964 case UserAdminCommentInformation: val = "UserAdminCommentInformation"; break;
1965 case UserWorkStationsInformation: val = "UserWorkStationsInformation"; break;
1966 case UserControlInformation: val = "UserControlInformation"; break;
1967 case UserExpiresInformation: val = "UserExpiresInformation"; break;
1968 case UserInternal1Information: val = "UserInternal1Information"; break;
1969 case UserParametersInformation: val = "UserParametersInformation"; break;
1970 case UserAllInformation: val = "UserAllInformation"; break;
1971 case UserInternal4Information: val = "UserInternal4Information"; break;
1972 case UserInternal5Information: val = "UserInternal5Information"; break;
1973 case UserInternal4InformationNew: val = "UserInternal4InformationNew"; break;
1974 case UserInternal5InformationNew: val = "UserInternal5InformationNew"; break;
1976 ndr_print_enum(ndr, name, "ENUM", val, r);
1979 static enum ndr_err_code ndr_push_samr_UserInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo1 *r)
1981 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1982 if (ndr_flags & NDR_SCALARS) {
1983 NDR_CHECK(ndr_push_align(ndr, 5));
1984 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1985 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1986 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1987 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1988 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
1989 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1991 if (ndr_flags & NDR_BUFFERS) {
1992 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1993 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1994 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1995 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1997 return NDR_ERR_SUCCESS;
2000 static enum ndr_err_code ndr_pull_samr_UserInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo1 *r)
2002 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2003 if (ndr_flags & NDR_SCALARS) {
2004 NDR_CHECK(ndr_pull_align(ndr, 5));
2005 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2006 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2008 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2009 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2010 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2012 if (ndr_flags & NDR_BUFFERS) {
2013 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2014 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2015 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2016 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2018 return NDR_ERR_SUCCESS;
2021 _PUBLIC_ void ndr_print_samr_UserInfo1(struct ndr_print *ndr, const char *name, const struct samr_UserInfo1 *r)
2023 ndr_print_struct(ndr, name, "samr_UserInfo1");
2024 if (r == NULL) { ndr_print_null(ndr); return; }
2026 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2027 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2028 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2029 ndr_print_lsa_String(ndr, "description", &r->description);
2030 ndr_print_lsa_String(ndr, "comment", &r->comment);
2034 static enum ndr_err_code ndr_push_samr_UserInfo2(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo2 *r)
2036 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2037 if (ndr_flags & NDR_SCALARS) {
2038 NDR_CHECK(ndr_push_align(ndr, 5));
2039 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2040 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->reserved));
2041 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2042 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2043 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2045 if (ndr_flags & NDR_BUFFERS) {
2046 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2047 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->reserved));
2049 return NDR_ERR_SUCCESS;
2052 static enum ndr_err_code ndr_pull_samr_UserInfo2(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo2 *r)
2054 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2055 if (ndr_flags & NDR_SCALARS) {
2056 NDR_CHECK(ndr_pull_align(ndr, 5));
2057 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2058 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->reserved));
2059 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2060 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2061 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2063 if (ndr_flags & NDR_BUFFERS) {
2064 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2065 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->reserved));
2067 return NDR_ERR_SUCCESS;
2070 _PUBLIC_ void ndr_print_samr_UserInfo2(struct ndr_print *ndr, const char *name, const struct samr_UserInfo2 *r)
2072 ndr_print_struct(ndr, name, "samr_UserInfo2");
2073 if (r == NULL) { ndr_print_null(ndr); return; }
2075 ndr_print_lsa_String(ndr, "comment", &r->comment);
2076 ndr_print_lsa_String(ndr, "reserved", &r->reserved);
2077 ndr_print_uint16(ndr, "country_code", r->country_code);
2078 ndr_print_uint16(ndr, "code_page", r->code_page);
2082 _PUBLIC_ enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct samr_LogonHours *r)
2085 uint32_t _flags_save_STRUCT = ndr->flags;
2086 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2087 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2088 if (ndr_flags & NDR_SCALARS) {
2089 NDR_CHECK(ndr_push_align(ndr, 5));
2090 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->units_per_week));
2091 NDR_CHECK(ndr_push_unique_ptr(ndr, r->bits));
2092 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2094 if (ndr_flags & NDR_BUFFERS) {
2096 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1260));
2097 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2098 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->units_per_week / 8));
2099 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->bits, r->units_per_week / 8));
2102 ndr->flags = _flags_save_STRUCT;
2104 return NDR_ERR_SUCCESS;
2107 _PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r)
2110 uint32_t size_bits_1 = 0;
2111 uint32_t length_bits_1 = 0;
2112 TALLOC_CTX *_mem_save_bits_0;
2114 uint32_t _flags_save_STRUCT = ndr->flags;
2115 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2116 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2117 if (ndr_flags & NDR_SCALARS) {
2118 NDR_CHECK(ndr_pull_align(ndr, 5));
2119 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->units_per_week));
2120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bits));
2122 NDR_PULL_ALLOC(ndr, r->bits);
2126 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2128 if (ndr_flags & NDR_BUFFERS) {
2130 _mem_save_bits_0 = NDR_PULL_GET_MEM_CTX(ndr);
2131 NDR_PULL_SET_MEM_CTX(ndr, r->bits, 0);
2132 NDR_CHECK(ndr_pull_array_size(ndr, &r->bits));
2133 NDR_CHECK(ndr_pull_array_length(ndr, &r->bits));
2134 size_bits_1 = ndr_get_array_size(ndr, &r->bits);
2135 length_bits_1 = ndr_get_array_length(ndr, &r->bits);
2136 if (length_bits_1 > size_bits_1) {
2137 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_bits_1, length_bits_1);
2139 NDR_PULL_ALLOC_N(ndr, r->bits, size_bits_1);
2140 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, length_bits_1));
2141 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0);
2144 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->bits, 1260));
2147 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->bits, r->units_per_week / 8));
2150 ndr->flags = _flags_save_STRUCT;
2152 return NDR_ERR_SUCCESS;
2155 _PUBLIC_ void ndr_print_samr_LogonHours(struct ndr_print *ndr, const char *name, const struct samr_LogonHours *r)
2157 ndr_print_struct(ndr, name, "samr_LogonHours");
2158 if (r == NULL) { ndr_print_null(ndr); return; }
2160 uint32_t _flags_save_STRUCT = ndr->flags;
2161 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2163 ndr_print_uint16(ndr, "units_per_week", r->units_per_week);
2164 ndr_print_ptr(ndr, "bits", r->bits);
2167 ndr_print_array_uint8(ndr, "bits", r->bits, r->units_per_week / 8);
2171 ndr->flags = _flags_save_STRUCT;
2175 static enum ndr_err_code ndr_push_samr_UserInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo3 *r)
2177 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2178 if (ndr_flags & NDR_SCALARS) {
2179 NDR_CHECK(ndr_push_align(ndr, 5));
2180 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2181 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2182 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2184 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2185 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2186 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2187 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2188 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2189 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2190 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2191 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2192 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
2193 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
2194 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2195 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2196 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2197 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2198 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2200 if (ndr_flags & NDR_BUFFERS) {
2201 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2202 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2203 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2204 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2205 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2206 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2207 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2208 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2210 return NDR_ERR_SUCCESS;
2213 static enum ndr_err_code ndr_pull_samr_UserInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo3 *r)
2215 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2216 if (ndr_flags & NDR_SCALARS) {
2217 NDR_CHECK(ndr_pull_align(ndr, 5));
2218 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2219 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2220 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2222 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2223 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2224 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2225 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2226 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2227 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2228 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2229 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2230 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
2231 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
2232 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2233 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2234 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2235 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2236 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2238 if (ndr_flags & NDR_BUFFERS) {
2239 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2240 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2241 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2242 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2243 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2244 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2245 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2246 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2248 return NDR_ERR_SUCCESS;
2251 _PUBLIC_ void ndr_print_samr_UserInfo3(struct ndr_print *ndr, const char *name, const struct samr_UserInfo3 *r)
2253 ndr_print_struct(ndr, name, "samr_UserInfo3");
2254 if (r == NULL) { ndr_print_null(ndr); return; }
2256 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2257 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2258 ndr_print_uint32(ndr, "rid", r->rid);
2259 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2260 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2261 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2262 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2263 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2264 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2265 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2266 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2267 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2268 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
2269 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
2270 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2271 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2272 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2273 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2277 static enum ndr_err_code ndr_push_samr_UserInfo4(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo4 *r)
2279 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2280 if (ndr_flags & NDR_SCALARS) {
2281 NDR_CHECK(ndr_push_align(ndr, 5));
2282 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2283 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2285 if (ndr_flags & NDR_BUFFERS) {
2286 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2288 return NDR_ERR_SUCCESS;
2291 static enum ndr_err_code ndr_pull_samr_UserInfo4(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo4 *r)
2293 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2294 if (ndr_flags & NDR_SCALARS) {
2295 NDR_CHECK(ndr_pull_align(ndr, 5));
2296 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2297 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2299 if (ndr_flags & NDR_BUFFERS) {
2300 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2302 return NDR_ERR_SUCCESS;
2305 _PUBLIC_ void ndr_print_samr_UserInfo4(struct ndr_print *ndr, const char *name, const struct samr_UserInfo4 *r)
2307 ndr_print_struct(ndr, name, "samr_UserInfo4");
2308 if (r == NULL) { ndr_print_null(ndr); return; }
2310 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2314 static enum ndr_err_code ndr_push_samr_UserInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo5 *r)
2316 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2317 if (ndr_flags & NDR_SCALARS) {
2318 NDR_CHECK(ndr_push_align(ndr, 5));
2319 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2320 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2321 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2323 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2324 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2325 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2327 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2328 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2329 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2330 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2331 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2332 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2333 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2334 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2335 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2336 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2337 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2339 if (ndr_flags & NDR_BUFFERS) {
2340 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2341 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2342 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2343 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2344 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2345 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2346 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2347 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2348 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2350 return NDR_ERR_SUCCESS;
2353 static enum ndr_err_code ndr_pull_samr_UserInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo5 *r)
2355 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2356 if (ndr_flags & NDR_SCALARS) {
2357 NDR_CHECK(ndr_pull_align(ndr, 5));
2358 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2359 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2360 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2362 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2363 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2364 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2365 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2366 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2367 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2368 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2369 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2370 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2371 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2372 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2373 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2374 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2375 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2376 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2378 if (ndr_flags & NDR_BUFFERS) {
2379 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2380 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2381 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2382 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2383 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2384 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2385 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2386 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2387 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2389 return NDR_ERR_SUCCESS;
2392 _PUBLIC_ void ndr_print_samr_UserInfo5(struct ndr_print *ndr, const char *name, const struct samr_UserInfo5 *r)
2394 ndr_print_struct(ndr, name, "samr_UserInfo5");
2395 if (r == NULL) { ndr_print_null(ndr); return; }
2397 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2398 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2399 ndr_print_uint32(ndr, "rid", r->rid);
2400 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2401 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2402 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2403 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2404 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2405 ndr_print_lsa_String(ndr, "description", &r->description);
2406 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2407 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2408 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2409 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2410 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2411 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2412 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2413 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2414 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2418 static enum ndr_err_code ndr_push_samr_UserInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo6 *r)
2420 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2421 if (ndr_flags & NDR_SCALARS) {
2422 NDR_CHECK(ndr_push_align(ndr, 5));
2423 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2424 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2425 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2427 if (ndr_flags & NDR_BUFFERS) {
2428 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2429 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2431 return NDR_ERR_SUCCESS;
2434 static enum ndr_err_code ndr_pull_samr_UserInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo6 *r)
2436 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2437 if (ndr_flags & NDR_SCALARS) {
2438 NDR_CHECK(ndr_pull_align(ndr, 5));
2439 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2440 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2441 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2443 if (ndr_flags & NDR_BUFFERS) {
2444 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2445 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2447 return NDR_ERR_SUCCESS;
2450 _PUBLIC_ void ndr_print_samr_UserInfo6(struct ndr_print *ndr, const char *name, const struct samr_UserInfo6 *r)
2452 ndr_print_struct(ndr, name, "samr_UserInfo6");
2453 if (r == NULL) { ndr_print_null(ndr); return; }
2455 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2456 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2460 static enum ndr_err_code ndr_push_samr_UserInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo7 *r)
2462 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2463 if (ndr_flags & NDR_SCALARS) {
2464 NDR_CHECK(ndr_push_align(ndr, 5));
2465 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2466 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2468 if (ndr_flags & NDR_BUFFERS) {
2469 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2471 return NDR_ERR_SUCCESS;
2474 static enum ndr_err_code ndr_pull_samr_UserInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo7 *r)
2476 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2477 if (ndr_flags & NDR_SCALARS) {
2478 NDR_CHECK(ndr_pull_align(ndr, 5));
2479 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2480 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2482 if (ndr_flags & NDR_BUFFERS) {
2483 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2485 return NDR_ERR_SUCCESS;
2488 _PUBLIC_ void ndr_print_samr_UserInfo7(struct ndr_print *ndr, const char *name, const struct samr_UserInfo7 *r)
2490 ndr_print_struct(ndr, name, "samr_UserInfo7");
2491 if (r == NULL) { ndr_print_null(ndr); return; }
2493 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2497 static enum ndr_err_code ndr_push_samr_UserInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo8 *r)
2499 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2500 if (ndr_flags & NDR_SCALARS) {
2501 NDR_CHECK(ndr_push_align(ndr, 5));
2502 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2503 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2505 if (ndr_flags & NDR_BUFFERS) {
2506 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2508 return NDR_ERR_SUCCESS;
2511 static enum ndr_err_code ndr_pull_samr_UserInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo8 *r)
2513 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2514 if (ndr_flags & NDR_SCALARS) {
2515 NDR_CHECK(ndr_pull_align(ndr, 5));
2516 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2517 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2519 if (ndr_flags & NDR_BUFFERS) {
2520 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2522 return NDR_ERR_SUCCESS;
2525 _PUBLIC_ void ndr_print_samr_UserInfo8(struct ndr_print *ndr, const char *name, const struct samr_UserInfo8 *r)
2527 ndr_print_struct(ndr, name, "samr_UserInfo8");
2528 if (r == NULL) { ndr_print_null(ndr); return; }
2530 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2534 static enum ndr_err_code ndr_push_samr_UserInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo9 *r)
2536 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2537 if (ndr_flags & NDR_SCALARS) {
2538 NDR_CHECK(ndr_push_align(ndr, 4));
2539 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2540 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2542 if (ndr_flags & NDR_BUFFERS) {
2544 return NDR_ERR_SUCCESS;
2547 static enum ndr_err_code ndr_pull_samr_UserInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo9 *r)
2549 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2550 if (ndr_flags & NDR_SCALARS) {
2551 NDR_CHECK(ndr_pull_align(ndr, 4));
2552 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2553 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2555 if (ndr_flags & NDR_BUFFERS) {
2557 return NDR_ERR_SUCCESS;
2560 _PUBLIC_ void ndr_print_samr_UserInfo9(struct ndr_print *ndr, const char *name, const struct samr_UserInfo9 *r)
2562 ndr_print_struct(ndr, name, "samr_UserInfo9");
2563 if (r == NULL) { ndr_print_null(ndr); return; }
2565 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2569 static enum ndr_err_code ndr_push_samr_UserInfo10(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo10 *r)
2571 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2572 if (ndr_flags & NDR_SCALARS) {
2573 NDR_CHECK(ndr_push_align(ndr, 5));
2574 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2575 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2576 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2578 if (ndr_flags & NDR_BUFFERS) {
2579 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2580 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2582 return NDR_ERR_SUCCESS;
2585 static enum ndr_err_code ndr_pull_samr_UserInfo10(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo10 *r)
2587 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2588 if (ndr_flags & NDR_SCALARS) {
2589 NDR_CHECK(ndr_pull_align(ndr, 5));
2590 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2591 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2592 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2594 if (ndr_flags & NDR_BUFFERS) {
2595 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2596 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2598 return NDR_ERR_SUCCESS;
2601 _PUBLIC_ void ndr_print_samr_UserInfo10(struct ndr_print *ndr, const char *name, const struct samr_UserInfo10 *r)
2603 ndr_print_struct(ndr, name, "samr_UserInfo10");
2604 if (r == NULL) { ndr_print_null(ndr); return; }
2606 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2607 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2611 static enum ndr_err_code ndr_push_samr_UserInfo11(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo11 *r)
2613 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2614 if (ndr_flags & NDR_SCALARS) {
2615 NDR_CHECK(ndr_push_align(ndr, 5));
2616 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2617 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2619 if (ndr_flags & NDR_BUFFERS) {
2620 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2622 return NDR_ERR_SUCCESS;
2625 static enum ndr_err_code ndr_pull_samr_UserInfo11(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo11 *r)
2627 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2628 if (ndr_flags & NDR_SCALARS) {
2629 NDR_CHECK(ndr_pull_align(ndr, 5));
2630 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2631 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2633 if (ndr_flags & NDR_BUFFERS) {
2634 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2636 return NDR_ERR_SUCCESS;
2639 _PUBLIC_ void ndr_print_samr_UserInfo11(struct ndr_print *ndr, const char *name, const struct samr_UserInfo11 *r)
2641 ndr_print_struct(ndr, name, "samr_UserInfo11");
2642 if (r == NULL) { ndr_print_null(ndr); return; }
2644 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2648 static enum ndr_err_code ndr_push_samr_UserInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo12 *r)
2650 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2651 if (ndr_flags & NDR_SCALARS) {
2652 NDR_CHECK(ndr_push_align(ndr, 5));
2653 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2654 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2656 if (ndr_flags & NDR_BUFFERS) {
2657 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2659 return NDR_ERR_SUCCESS;
2662 static enum ndr_err_code ndr_pull_samr_UserInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo12 *r)
2664 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2665 if (ndr_flags & NDR_SCALARS) {
2666 NDR_CHECK(ndr_pull_align(ndr, 5));
2667 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2668 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2670 if (ndr_flags & NDR_BUFFERS) {
2671 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2673 return NDR_ERR_SUCCESS;
2676 _PUBLIC_ void ndr_print_samr_UserInfo12(struct ndr_print *ndr, const char *name, const struct samr_UserInfo12 *r)
2678 ndr_print_struct(ndr, name, "samr_UserInfo12");
2679 if (r == NULL) { ndr_print_null(ndr); return; }
2681 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2685 static enum ndr_err_code ndr_push_samr_UserInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo13 *r)
2687 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2688 if (ndr_flags & NDR_SCALARS) {
2689 NDR_CHECK(ndr_push_align(ndr, 5));
2690 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2691 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2693 if (ndr_flags & NDR_BUFFERS) {
2694 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2696 return NDR_ERR_SUCCESS;
2699 static enum ndr_err_code ndr_pull_samr_UserInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo13 *r)
2701 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2702 if (ndr_flags & NDR_SCALARS) {
2703 NDR_CHECK(ndr_pull_align(ndr, 5));
2704 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2705 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2707 if (ndr_flags & NDR_BUFFERS) {
2708 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2710 return NDR_ERR_SUCCESS;
2713 _PUBLIC_ void ndr_print_samr_UserInfo13(struct ndr_print *ndr, const char *name, const struct samr_UserInfo13 *r)
2715 ndr_print_struct(ndr, name, "samr_UserInfo13");
2716 if (r == NULL) { ndr_print_null(ndr); return; }
2718 ndr_print_lsa_String(ndr, "description", &r->description);
2722 static enum ndr_err_code ndr_push_samr_UserInfo14(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo14 *r)
2724 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2725 if (ndr_flags & NDR_SCALARS) {
2726 NDR_CHECK(ndr_push_align(ndr, 5));
2727 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2728 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2730 if (ndr_flags & NDR_BUFFERS) {
2731 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2733 return NDR_ERR_SUCCESS;
2736 static enum ndr_err_code ndr_pull_samr_UserInfo14(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo14 *r)
2738 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2739 if (ndr_flags & NDR_SCALARS) {
2740 NDR_CHECK(ndr_pull_align(ndr, 5));
2741 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2742 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2744 if (ndr_flags & NDR_BUFFERS) {
2745 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2747 return NDR_ERR_SUCCESS;
2750 _PUBLIC_ void ndr_print_samr_UserInfo14(struct ndr_print *ndr, const char *name, const struct samr_UserInfo14 *r)
2752 ndr_print_struct(ndr, name, "samr_UserInfo14");
2753 if (r == NULL) { ndr_print_null(ndr); return; }
2755 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2759 static enum ndr_err_code ndr_push_samr_UserInfo16(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo16 *r)
2761 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2762 if (ndr_flags & NDR_SCALARS) {
2763 NDR_CHECK(ndr_push_align(ndr, 4));
2764 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2765 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2767 if (ndr_flags & NDR_BUFFERS) {
2769 return NDR_ERR_SUCCESS;
2772 static enum ndr_err_code ndr_pull_samr_UserInfo16(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo16 *r)
2774 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2775 if (ndr_flags & NDR_SCALARS) {
2776 NDR_CHECK(ndr_pull_align(ndr, 4));
2777 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2778 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2780 if (ndr_flags & NDR_BUFFERS) {
2782 return NDR_ERR_SUCCESS;
2785 _PUBLIC_ void ndr_print_samr_UserInfo16(struct ndr_print *ndr, const char *name, const struct samr_UserInfo16 *r)
2787 ndr_print_struct(ndr, name, "samr_UserInfo16");
2788 if (r == NULL) { ndr_print_null(ndr); return; }
2790 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2794 static enum ndr_err_code ndr_push_samr_UserInfo17(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo17 *r)
2796 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2797 if (ndr_flags & NDR_SCALARS) {
2798 NDR_CHECK(ndr_push_align(ndr, 4));
2799 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2800 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2802 if (ndr_flags & NDR_BUFFERS) {
2804 return NDR_ERR_SUCCESS;
2807 static enum ndr_err_code ndr_pull_samr_UserInfo17(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo17 *r)
2809 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2810 if (ndr_flags & NDR_SCALARS) {
2811 NDR_CHECK(ndr_pull_align(ndr, 4));
2812 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2813 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2815 if (ndr_flags & NDR_BUFFERS) {
2817 return NDR_ERR_SUCCESS;
2820 _PUBLIC_ void ndr_print_samr_UserInfo17(struct ndr_print *ndr, const char *name, const struct samr_UserInfo17 *r)
2822 ndr_print_struct(ndr, name, "samr_UserInfo17");
2823 if (r == NULL) { ndr_print_null(ndr); return; }
2825 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2829 _PUBLIC_ enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_flags, const struct samr_Password *r)
2832 uint32_t _flags_save_STRUCT = ndr->flags;
2833 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2834 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2835 if (ndr_flags & NDR_SCALARS) {
2836 NDR_CHECK(ndr_push_align(ndr, 1));
2837 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2838 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2840 if (ndr_flags & NDR_BUFFERS) {
2842 ndr->flags = _flags_save_STRUCT;
2844 return NDR_ERR_SUCCESS;
2847 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r)
2849 uint32_t size_hash_0 = 0;
2851 uint32_t _flags_save_STRUCT = ndr->flags;
2852 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2853 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2854 if (ndr_flags & NDR_SCALARS) {
2855 NDR_CHECK(ndr_pull_align(ndr, 1));
2857 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, size_hash_0));
2858 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2860 if (ndr_flags & NDR_BUFFERS) {
2862 ndr->flags = _flags_save_STRUCT;
2864 return NDR_ERR_SUCCESS;
2867 _PUBLIC_ void ndr_print_samr_Password(struct ndr_print *ndr, const char *name, const struct samr_Password *r)
2869 ndr_print_struct(ndr, name, "samr_Password");
2870 if (r == NULL) { ndr_print_null(ndr); return; }
2872 uint32_t _flags_save_STRUCT = ndr->flags;
2873 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2875 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
2877 ndr->flags = _flags_save_STRUCT;
2881 static enum ndr_err_code ndr_push_samr_UserInfo18(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo18 *r)
2883 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2884 if (ndr_flags & NDR_SCALARS) {
2885 NDR_CHECK(ndr_push_align(ndr, 1));
2886 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2887 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2888 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_pwd_active));
2889 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_pwd_active));
2890 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2891 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
2893 if (ndr_flags & NDR_BUFFERS) {
2895 return NDR_ERR_SUCCESS;
2898 static enum ndr_err_code ndr_pull_samr_UserInfo18(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo18 *r)
2900 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2901 if (ndr_flags & NDR_SCALARS) {
2902 NDR_CHECK(ndr_pull_align(ndr, 1));
2903 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2904 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2905 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_pwd_active));
2906 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_pwd_active));
2907 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2908 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
2910 if (ndr_flags & NDR_BUFFERS) {
2912 return NDR_ERR_SUCCESS;
2915 _PUBLIC_ void ndr_print_samr_UserInfo18(struct ndr_print *ndr, const char *name, const struct samr_UserInfo18 *r)
2917 ndr_print_struct(ndr, name, "samr_UserInfo18");
2918 if (r == NULL) { ndr_print_null(ndr); return; }
2920 ndr_print_samr_Password(ndr, "nt_pwd", &r->nt_pwd);
2921 ndr_print_samr_Password(ndr, "lm_pwd", &r->lm_pwd);
2922 ndr_print_uint8(ndr, "nt_pwd_active", r->nt_pwd_active);
2923 ndr_print_uint8(ndr, "lm_pwd_active", r->lm_pwd_active);
2924 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2928 static enum ndr_err_code ndr_push_samr_UserInfo20(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo20 *r)
2930 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2931 if (ndr_flags & NDR_SCALARS) {
2932 NDR_CHECK(ndr_push_align(ndr, 5));
2933 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2934 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2936 if (ndr_flags & NDR_BUFFERS) {
2937 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2939 return NDR_ERR_SUCCESS;
2942 static enum ndr_err_code ndr_pull_samr_UserInfo20(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo20 *r)
2944 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2945 if (ndr_flags & NDR_SCALARS) {
2946 NDR_CHECK(ndr_pull_align(ndr, 5));
2947 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2948 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2950 if (ndr_flags & NDR_BUFFERS) {
2951 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2953 return NDR_ERR_SUCCESS;
2956 _PUBLIC_ void ndr_print_samr_UserInfo20(struct ndr_print *ndr, const char *name, const struct samr_UserInfo20 *r)
2958 ndr_print_struct(ndr, name, "samr_UserInfo20");
2959 if (r == NULL) { ndr_print_null(ndr); return; }
2961 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2965 static enum ndr_err_code ndr_push_samr_FieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2968 return NDR_ERR_SUCCESS;
2971 static enum ndr_err_code ndr_pull_samr_FieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2974 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2976 return NDR_ERR_SUCCESS;
2979 _PUBLIC_ void ndr_print_samr_FieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
2981 ndr_print_uint32(ndr, name, r);
2983 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME, r);
2984 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME, r);
2985 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID, r);
2986 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID, r);
2987 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION, r);
2988 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT, r);
2989 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY, r);
2990 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE, r);
2991 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT, r);
2992 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH, r);
2993 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS, r);
2994 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON, r);
2995 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF, r);
2996 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS, r);
2997 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT, r);
2998 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS, r);
2999 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE, r);
3000 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE, r);
3001 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE, r);
3002 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY, r);
3003 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS, r);
3004 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS, r);
3005 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE, r);
3006 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE, r);
3007 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT, r);
3008 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT, r);
3009 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA, r);
3010 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG, r);
3011 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC, r);
3012 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD, r);
3016 static enum ndr_err_code ndr_push_samr_UserInfo21(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo21 *r)
3018 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3019 if (ndr_flags & NDR_SCALARS) {
3020 NDR_CHECK(ndr_push_align(ndr, 5));
3021 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
3022 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
3023 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
3024 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
3025 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
3026 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
3027 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3028 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3029 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
3030 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
3031 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
3032 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
3033 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3034 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
3035 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
3036 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
3037 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
3038 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
3039 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->private_data));
3040 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count));
3041 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
3042 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
3044 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
3045 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr, NDR_SCALARS, r->fields_present));
3046 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
3047 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
3048 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
3049 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
3050 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
3051 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_set));
3052 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_set));
3053 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
3054 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->private_data_sensitive));
3055 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3057 if (ndr_flags & NDR_BUFFERS) {
3058 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3059 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3060 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
3061 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
3062 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
3063 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
3064 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3065 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
3066 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
3067 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
3068 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
3069 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
3070 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->private_data));
3072 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_count));
3073 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_count));
3075 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
3077 return NDR_ERR_SUCCESS;
3080 static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo21 *r)
3082 uint32_t _ptr_buffer;
3083 uint32_t size_buffer_1 = 0;
3084 TALLOC_CTX *_mem_save_buffer_0;
3085 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3086 if (ndr_flags & NDR_SCALARS) {
3087 NDR_CHECK(ndr_pull_align(ndr, 5));
3088 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
3089 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
3090 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
3091 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
3092 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
3093 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
3094 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3095 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3096 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
3097 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
3098 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
3099 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
3100 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3101 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
3102 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
3103 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
3104 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
3105 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
3106 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->private_data));
3107 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_count));
3108 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
3110 NDR_PULL_ALLOC(ndr, r->buffer);
3114 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3115 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
3116 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
3117 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
3118 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
3119 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
3120 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
3121 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
3122 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
3123 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_set));
3124 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_set));
3125 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
3126 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->private_data_sensitive));
3127 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3129 if (ndr_flags & NDR_BUFFERS) {
3130 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3131 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3132 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
3133 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
3134 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
3135 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
3136 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3137 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
3138 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
3139 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
3140 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
3141 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
3142 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->private_data));
3144 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
3145 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
3146 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
3147 size_buffer_1 = ndr_get_array_size(ndr, &r->buffer);
3148 NDR_PULL_ALLOC_N(ndr, r->buffer, size_buffer_1);
3149 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, size_buffer_1));
3150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
3152 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
3154 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->buf_count));
3157 return NDR_ERR_SUCCESS;
3160 _PUBLIC_ void ndr_print_samr_UserInfo21(struct ndr_print *ndr, const char *name, const struct samr_UserInfo21 *r)
3162 ndr_print_struct(ndr, name, "samr_UserInfo21");
3163 if (r == NULL) { ndr_print_null(ndr); return; }
3165 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
3166 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
3167 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
3168 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
3169 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
3170 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
3171 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
3172 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
3173 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
3174 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
3175 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
3176 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
3177 ndr_print_lsa_String(ndr, "description", &r->description);
3178 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
3179 ndr_print_lsa_String(ndr, "comment", &r->comment);
3180 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
3181 ndr_print_lsa_BinaryString(ndr, "lm_owf_password", &r->lm_owf_password);
3182 ndr_print_lsa_BinaryString(ndr, "nt_owf_password", &r->nt_owf_password);
3183 ndr_print_lsa_String(ndr, "private_data", &r->private_data);
3184 ndr_print_uint32(ndr, "buf_count", r->buf_count);
3185 ndr_print_ptr(ndr, "buffer", r->buffer);
3188 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_count);
3191 ndr_print_uint32(ndr, "rid", r->rid);
3192 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
3193 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
3194 ndr_print_samr_FieldsPresent(ndr, "fields_present", r->fields_present);
3195 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
3196 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
3197 ndr_print_uint16(ndr, "logon_count", r->logon_count);
3198 ndr_print_uint16(ndr, "country_code", r->country_code);
3199 ndr_print_uint16(ndr, "code_page", r->code_page);
3200 ndr_print_uint8(ndr, "lm_password_set", r->lm_password_set);
3201 ndr_print_uint8(ndr, "nt_password_set", r->nt_password_set);
3202 ndr_print_uint8(ndr, "password_expired", r->password_expired);
3203 ndr_print_uint8(ndr, "private_data_sensitive", r->private_data_sensitive);
3207 _PUBLIC_ enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPassword *r)
3210 uint32_t _flags_save_STRUCT = ndr->flags;
3211 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3212 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3213 if (ndr_flags & NDR_SCALARS) {
3214 NDR_CHECK(ndr_push_align(ndr, 1));
3215 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 516));
3216 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3218 if (ndr_flags & NDR_BUFFERS) {
3220 ndr->flags = _flags_save_STRUCT;
3222 return NDR_ERR_SUCCESS;
3225 _PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r)
3227 uint32_t size_data_0 = 0;
3229 uint32_t _flags_save_STRUCT = ndr->flags;
3230 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3231 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3232 if (ndr_flags & NDR_SCALARS) {
3233 NDR_CHECK(ndr_pull_align(ndr, 1));
3235 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
3236 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3238 if (ndr_flags & NDR_BUFFERS) {
3240 ndr->flags = _flags_save_STRUCT;
3242 return NDR_ERR_SUCCESS;
3245 _PUBLIC_ void ndr_print_samr_CryptPassword(struct ndr_print *ndr, const char *name, const struct samr_CryptPassword *r)
3247 ndr_print_struct(ndr, name, "samr_CryptPassword");
3248 if (r == NULL) { ndr_print_null(ndr); return; }
3250 uint32_t _flags_save_STRUCT = ndr->flags;
3251 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3253 ndr_print_array_uint8(ndr, "data", r->data, 516);
3255 ndr->flags = _flags_save_STRUCT;
3259 static enum ndr_err_code ndr_push_samr_UserInfo23(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo23 *r)
3261 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3262 if (ndr_flags & NDR_SCALARS) {
3263 NDR_CHECK(ndr_push_align(ndr, 5));
3264 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3265 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3266 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3268 if (ndr_flags & NDR_BUFFERS) {
3269 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3271 return NDR_ERR_SUCCESS;
3274 static enum ndr_err_code ndr_pull_samr_UserInfo23(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo23 *r)
3276 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3277 if (ndr_flags & NDR_SCALARS) {
3278 NDR_CHECK(ndr_pull_align(ndr, 5));
3279 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3280 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3281 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3283 if (ndr_flags & NDR_BUFFERS) {
3284 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3286 return NDR_ERR_SUCCESS;
3289 _PUBLIC_ void ndr_print_samr_UserInfo23(struct ndr_print *ndr, const char *name, const struct samr_UserInfo23 *r)
3291 ndr_print_struct(ndr, name, "samr_UserInfo23");
3292 if (r == NULL) { ndr_print_null(ndr); return; }
3294 ndr_print_samr_UserInfo21(ndr, "info", &r->info);
3295 ndr_print_samr_CryptPassword(ndr, "password", &r->password);
3299 static enum ndr_err_code ndr_push_samr_UserInfo24(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo24 *r)
3301 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3302 if (ndr_flags & NDR_SCALARS) {
3303 NDR_CHECK(ndr_push_align(ndr, 1));
3304 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3305 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
3306 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3308 if (ndr_flags & NDR_BUFFERS) {
3310 return NDR_ERR_SUCCESS;
3313 static enum ndr_err_code ndr_pull_samr_UserInfo24(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo24 *r)
3315 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3316 if (ndr_flags & NDR_SCALARS) {
3317 NDR_CHECK(ndr_pull_align(ndr, 1));
3318 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3319 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
3320 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3322 if (ndr_flags & NDR_BUFFERS) {
3324 return NDR_ERR_SUCCESS;
3327 _PUBLIC_ void ndr_print_samr_UserInfo24(struct ndr_print *ndr, const char *name, const struct samr_UserInfo24 *r)
3329 ndr_print_struct(ndr, name, "samr_UserInfo24");
3330 if (r == NULL) { ndr_print_null(ndr); return; }
3332 ndr_print_samr_CryptPassword(ndr, "password", &r->password);
3333 ndr_print_uint8(ndr, "password_expired", r->password_expired);
3337 static enum ndr_err_code ndr_push_samr_CryptPasswordEx(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPasswordEx *r)
3340 uint32_t _flags_save_STRUCT = ndr->flags;
3341 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3342 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3343 if (ndr_flags & NDR_SCALARS) {
3344 NDR_CHECK(ndr_push_align(ndr, 1));
3345 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 532));
3346 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3348 if (ndr_flags & NDR_BUFFERS) {
3350 ndr->flags = _flags_save_STRUCT;
3352 return NDR_ERR_SUCCESS;
3355 static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r)
3357 uint32_t size_data_0 = 0;
3359 uint32_t _flags_save_STRUCT = ndr->flags;
3360 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3361 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3362 if (ndr_flags & NDR_SCALARS) {
3363 NDR_CHECK(ndr_pull_align(ndr, 1));
3365 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
3366 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3368 if (ndr_flags & NDR_BUFFERS) {
3370 ndr->flags = _flags_save_STRUCT;
3372 return NDR_ERR_SUCCESS;
3375 _PUBLIC_ void ndr_print_samr_CryptPasswordEx(struct ndr_print *ndr, const char *name, const struct samr_CryptPasswordEx *r)
3377 ndr_print_struct(ndr, name, "samr_CryptPasswordEx");
3378 if (r == NULL) { ndr_print_null(ndr); return; }
3380 uint32_t _flags_save_STRUCT = ndr->flags;
3381 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3383 ndr_print_array_uint8(ndr, "data", r->data, 532);
3385 ndr->flags = _flags_save_STRUCT;
3389 static enum ndr_err_code ndr_push_samr_UserInfo25(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo25 *r)
3391 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3392 if (ndr_flags & NDR_SCALARS) {
3393 NDR_CHECK(ndr_push_align(ndr, 5));
3394 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3395 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3396 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3398 if (ndr_flags & NDR_BUFFERS) {
3399 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3401 return NDR_ERR_SUCCESS;
3404 static enum ndr_err_code ndr_pull_samr_UserInfo25(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo25 *r)
3406 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3407 if (ndr_flags & NDR_SCALARS) {
3408 NDR_CHECK(ndr_pull_align(ndr, 5));
3409 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3410 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3411 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3413 if (ndr_flags & NDR_BUFFERS) {
3414 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3416 return NDR_ERR_SUCCESS;
3419 _PUBLIC_ void ndr_print_samr_UserInfo25(struct ndr_print *ndr, const char *name, const struct samr_UserInfo25 *r)
3421 ndr_print_struct(ndr, name, "samr_UserInfo25");
3422 if (r == NULL) { ndr_print_null(ndr); return; }
3424 ndr_print_samr_UserInfo21(ndr, "info", &r->info);
3425 ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3429 static enum ndr_err_code ndr_push_samr_UserInfo26(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo26 *r)
3431 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3432 if (ndr_flags & NDR_SCALARS) {
3433 NDR_CHECK(ndr_push_align(ndr, 1));
3434 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3435 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
3436 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
3438 if (ndr_flags & NDR_BUFFERS) {
3440 return NDR_ERR_SUCCESS;
3443 static enum ndr_err_code ndr_pull_samr_UserInfo26(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo26 *r)
3445 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3446 if (ndr_flags & NDR_SCALARS) {
3447 NDR_CHECK(ndr_pull_align(ndr, 1));
3448 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3449 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
3450 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
3452 if (ndr_flags & NDR_BUFFERS) {
3454 return NDR_ERR_SUCCESS;
3457 _PUBLIC_ void ndr_print_samr_UserInfo26(struct ndr_print *ndr, const char *name, const struct samr_UserInfo26 *r)
3459 ndr_print_struct(ndr, name, "samr_UserInfo26");
3460 if (r == NULL) { ndr_print_null(ndr); return; }
3462 ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3463 ndr_print_uint8(ndr, "password_expired", r->password_expired);
3467 static enum ndr_err_code ndr_push_samr_UserInfo(struct ndr_push *ndr, int ndr_flags, const union samr_UserInfo *r)
3469 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3470 if (ndr_flags & NDR_SCALARS) {
3471 uint32_t level = ndr_push_get_switch_value(ndr, r);
3472 NDR_CHECK(ndr_push_union_align(ndr, 5));
3473 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
3474 NDR_CHECK(ndr_push_union_align(ndr, 5));
3477 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3481 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3485 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3489 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3493 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3497 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3501 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3505 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3509 NDR_CHECK(ndr_push_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3513 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3517 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3521 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3525 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3529 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3533 NDR_CHECK(ndr_push_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3537 NDR_CHECK(ndr_push_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3541 NDR_CHECK(ndr_push_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3545 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3549 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3553 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3557 NDR_CHECK(ndr_push_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3561 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3565 NDR_CHECK(ndr_push_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3569 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3572 if (ndr_flags & NDR_BUFFERS) {
3573 uint32_t level = ndr_push_get_switch_value(ndr, r);
3576 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3580 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3584 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3588 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3592 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3596 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3600 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3604 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3611 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3615 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3619 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3623 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3627 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3640 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3644 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3648 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3655 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3662 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3665 return NDR_ERR_SUCCESS;
3668 static enum ndr_err_code ndr_pull_samr_UserInfo(struct ndr_pull *ndr, int ndr_flags, union samr_UserInfo *r)
3672 level = ndr_pull_get_switch_value(ndr, r);
3673 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3674 if (ndr_flags & NDR_SCALARS) {
3675 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3676 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
3677 if (_level != level) {
3678 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3680 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3683 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3687 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3691 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3695 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3699 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3703 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3707 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3711 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3715 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3719 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3723 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3727 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3731 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3735 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3739 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3743 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3747 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3751 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3755 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3759 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3763 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3767 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3771 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3775 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3778 if (ndr_flags & NDR_BUFFERS) {
3781 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3785 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3789 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3793 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3797 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3801 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3805 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3809 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3816 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3820 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3824 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3828 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3832 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3845 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3849 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3853 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3860 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3867 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3870 return NDR_ERR_SUCCESS;
3873 _PUBLIC_ void ndr_print_samr_UserInfo(struct ndr_print *ndr, const char *name, const union samr_UserInfo *r)
3876 level = ndr_print_get_switch_value(ndr, r);
3877 ndr_print_union(ndr, name, level, "samr_UserInfo");
3880 ndr_print_samr_UserInfo1(ndr, "info1", &r->info1);
3884 ndr_print_samr_UserInfo2(ndr, "info2", &r->info2);
3888 ndr_print_samr_UserInfo3(ndr, "info3", &r->info3);
3892 ndr_print_samr_UserInfo4(ndr, "info4", &r->info4);
3896 ndr_print_samr_UserInfo5(ndr, "info5", &r->info5);
3900 ndr_print_samr_UserInfo6(ndr, "info6", &r->info6);
3904 ndr_print_samr_UserInfo7(ndr, "info7", &r->info7);
3908 ndr_print_samr_UserInfo8(ndr, "info8", &r->info8);
3912 ndr_print_samr_UserInfo9(ndr, "info9", &r->info9);
3916 ndr_print_samr_UserInfo10(ndr, "info10", &r->info10);
3920 ndr_print_samr_UserInfo11(ndr, "info11", &r->info11);
3924 ndr_print_samr_UserInfo12(ndr, "info12", &r->info12);
3928 ndr_print_samr_UserInfo13(ndr, "info13", &r->info13);
3932 ndr_print_samr_UserInfo14(ndr, "info14", &r->info14);
3936 ndr_print_samr_UserInfo16(ndr, "info16", &r->info16);
3940 ndr_print_samr_UserInfo17(ndr, "info17", &r->info17);
3944 ndr_print_samr_UserInfo18(ndr, "info18", &r->info18);
3948 ndr_print_samr_UserInfo20(ndr, "info20", &r->info20);
3952 ndr_print_samr_UserInfo21(ndr, "info21", &r->info21);
3956 ndr_print_samr_UserInfo23(ndr, "info23", &r->info23);
3960 ndr_print_samr_UserInfo24(ndr, "info24", &r->info24);
3964 ndr_print_samr_UserInfo25(ndr, "info25", &r->info25);
3968 ndr_print_samr_UserInfo26(ndr, "info26", &r->info26);
3972 ndr_print_bad_level(ndr, name, level);
3976 _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttribute(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttribute *r)
3978 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
3979 if (ndr_flags & NDR_SCALARS) {
3980 NDR_CHECK(ndr_push_align(ndr, 4));
3981 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3982 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
3983 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3985 if (ndr_flags & NDR_BUFFERS) {
3987 return NDR_ERR_SUCCESS;
3990 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttribute(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttribute *r)
3992 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
3993 if (ndr_flags & NDR_SCALARS) {
3994 NDR_CHECK(ndr_pull_align(ndr, 4));
3995 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3996 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
3997 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3999 if (ndr_flags & NDR_BUFFERS) {
4001 return NDR_ERR_SUCCESS;
4004 _PUBLIC_ void ndr_print_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttribute *r)
4006 ndr_print_struct(ndr, name, "samr_RidWithAttribute");
4007 if (r == NULL) { ndr_print_null(ndr); return; }
4009 ndr_print_uint32(ndr, "rid", r->rid);
4010 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
4014 _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttributeArray *r)
4016 uint32_t cntr_rids_1;
4017 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4018 if (ndr_flags & NDR_SCALARS) {
4019 NDR_CHECK(ndr_push_align(ndr, 5));
4020 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4021 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
4022 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4024 if (ndr_flags & NDR_BUFFERS) {
4026 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4027 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
4028 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
4032 return NDR_ERR_SUCCESS;
4035 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r)
4038 uint32_t size_rids_1 = 0;
4039 uint32_t cntr_rids_1;
4040 TALLOC_CTX *_mem_save_rids_0;
4041 TALLOC_CTX *_mem_save_rids_1;
4042 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4043 if (ndr_flags & NDR_SCALARS) {
4044 NDR_CHECK(ndr_pull_align(ndr, 5));
4045 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4046 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
4048 NDR_PULL_ALLOC(ndr, r->rids);
4052 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4054 if (ndr_flags & NDR_BUFFERS) {
4056 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4057 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
4058 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
4059 size_rids_1 = ndr_get_array_size(ndr, &r->rids);
4060 NDR_PULL_ALLOC_N(ndr, r->rids, size_rids_1);
4061 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4062 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
4063 for (cntr_rids_1 = 0; cntr_rids_1 < size_rids_1; cntr_rids_1++) {
4064 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
4066 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
4067 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
4070 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
4073 return NDR_ERR_SUCCESS;
4076 _PUBLIC_ void ndr_print_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttributeArray *r)
4078 uint32_t cntr_rids_1;
4079 ndr_print_struct(ndr, name, "samr_RidWithAttributeArray");
4080 if (r == NULL) { ndr_print_null(ndr); return; }
4082 ndr_print_uint32(ndr, "count", r->count);
4083 ndr_print_ptr(ndr, "rids", r->rids);
4086 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
4088 for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
4089 ndr_print_samr_RidWithAttribute(ndr, "rids", &r->rids[cntr_rids_1]);
4097 static enum ndr_err_code ndr_push_samr_DispEntryGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryGeneral *r)
4099 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4100 if (ndr_flags & NDR_SCALARS) {
4101 NDR_CHECK(ndr_push_align(ndr, 5));
4102 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4104 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
4105 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4106 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4107 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
4108 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4110 if (ndr_flags & NDR_BUFFERS) {
4111 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4112 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4113 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
4115 return NDR_ERR_SUCCESS;
4118 static enum ndr_err_code ndr_pull_samr_DispEntryGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryGeneral *r)
4120 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4121 if (ndr_flags & NDR_SCALARS) {
4122 NDR_CHECK(ndr_pull_align(ndr, 5));
4123 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4124 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4125 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
4126 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4127 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4128 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
4129 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4131 if (ndr_flags & NDR_BUFFERS) {
4132 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4133 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4134 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
4136 return NDR_ERR_SUCCESS;
4139 _PUBLIC_ void ndr_print_samr_DispEntryGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispEntryGeneral *r)
4141 ndr_print_struct(ndr, name, "samr_DispEntryGeneral");
4142 if (r == NULL) { ndr_print_null(ndr); return; }
4144 ndr_print_uint32(ndr, "idx", r->idx);
4145 ndr_print_uint32(ndr, "rid", r->rid);
4146 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
4147 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4148 ndr_print_lsa_String(ndr, "description", &r->description);
4149 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
4153 static enum ndr_err_code ndr_push_samr_DispInfoGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoGeneral *r)
4155 uint32_t cntr_entries_1;
4156 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4157 if (ndr_flags & NDR_SCALARS) {
4158 NDR_CHECK(ndr_push_align(ndr, 5));
4159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4160 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4161 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4163 if (ndr_flags & NDR_BUFFERS) {
4165 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4166 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4167 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4169 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4170 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4174 return NDR_ERR_SUCCESS;
4177 static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoGeneral *r)
4179 uint32_t _ptr_entries;
4180 uint32_t size_entries_1 = 0;
4181 uint32_t cntr_entries_1;
4182 TALLOC_CTX *_mem_save_entries_0;
4183 TALLOC_CTX *_mem_save_entries_1;
4184 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4185 if (ndr_flags & NDR_SCALARS) {
4186 NDR_CHECK(ndr_pull_align(ndr, 5));
4187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4188 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4190 NDR_PULL_ALLOC(ndr, r->entries);
4194 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4196 if (ndr_flags & NDR_BUFFERS) {
4198 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4199 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4200 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4201 size_entries_1 = ndr_get_array_size(ndr, &r->entries);
4202 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
4203 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4204 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4205 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
4206 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4208 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
4209 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4211 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4215 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4218 return NDR_ERR_SUCCESS;
4221 _PUBLIC_ void ndr_print_samr_DispInfoGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispInfoGeneral *r)
4223 uint32_t cntr_entries_1;
4224 ndr_print_struct(ndr, name, "samr_DispInfoGeneral");
4225 if (r == NULL) { ndr_print_null(ndr); return; }
4227 ndr_print_uint32(ndr, "count", r->count);
4228 ndr_print_ptr(ndr, "entries", r->entries);
4231 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4233 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4234 ndr_print_samr_DispEntryGeneral(ndr, "entries", &r->entries[cntr_entries_1]);
4242 static enum ndr_err_code ndr_push_samr_DispEntryFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFull *r)
4244 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4245 if (ndr_flags & NDR_SCALARS) {
4246 NDR_CHECK(ndr_push_align(ndr, 5));
4247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4249 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
4250 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4251 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4252 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4254 if (ndr_flags & NDR_BUFFERS) {
4255 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4256 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4258 return NDR_ERR_SUCCESS;
4261 static enum ndr_err_code ndr_pull_samr_DispEntryFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFull *r)
4263 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4264 if (ndr_flags & NDR_SCALARS) {
4265 NDR_CHECK(ndr_pull_align(ndr, 5));
4266 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4267 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4268 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
4269 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4270 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4271 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4273 if (ndr_flags & NDR_BUFFERS) {
4274 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4275 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4277 return NDR_ERR_SUCCESS;
4280 _PUBLIC_ void ndr_print_samr_DispEntryFull(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFull *r)
4282 ndr_print_struct(ndr, name, "samr_DispEntryFull");
4283 if (r == NULL) { ndr_print_null(ndr); return; }
4285 ndr_print_uint32(ndr, "idx", r->idx);
4286 ndr_print_uint32(ndr, "rid", r->rid);
4287 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
4288 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4289 ndr_print_lsa_String(ndr, "description", &r->description);
4293 static enum ndr_err_code ndr_push_samr_DispInfoFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFull *r)
4295 uint32_t cntr_entries_1;
4296 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4297 if (ndr_flags & NDR_SCALARS) {
4298 NDR_CHECK(ndr_push_align(ndr, 5));
4299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4300 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4301 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4303 if (ndr_flags & NDR_BUFFERS) {
4305 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4306 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4307 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4309 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4310 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4314 return NDR_ERR_SUCCESS;
4317 static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFull *r)
4319 uint32_t _ptr_entries;
4320 uint32_t size_entries_1 = 0;
4321 uint32_t cntr_entries_1;
4322 TALLOC_CTX *_mem_save_entries_0;
4323 TALLOC_CTX *_mem_save_entries_1;
4324 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4325 if (ndr_flags & NDR_SCALARS) {
4326 NDR_CHECK(ndr_pull_align(ndr, 5));
4327 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4328 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4330 NDR_PULL_ALLOC(ndr, r->entries);
4334 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4336 if (ndr_flags & NDR_BUFFERS) {
4338 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4339 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4340 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4341 size_entries_1 = ndr_get_array_size(ndr, &r->entries);
4342 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
4343 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4344 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4345 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
4346 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4348 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
4349 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4352 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4355 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4358 return NDR_ERR_SUCCESS;
4361 _PUBLIC_ void ndr_print_samr_DispInfoFull(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFull *r)
4363 uint32_t cntr_entries_1;
4364 ndr_print_struct(ndr, name, "samr_DispInfoFull");
4365 if (r == NULL) { ndr_print_null(ndr); return; }
4367 ndr_print_uint32(ndr, "count", r->count);
4368 ndr_print_ptr(ndr, "entries", r->entries);
4371 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4373 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4374 ndr_print_samr_DispEntryFull(ndr, "entries", &r->entries[cntr_entries_1]);
4382 static enum ndr_err_code ndr_push_samr_DispEntryFullGroup(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFullGroup *r)
4384 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4385 if (ndr_flags & NDR_SCALARS) {
4386 NDR_CHECK(ndr_push_align(ndr, 5));
4387 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4388 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4389 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->acct_flags));
4390 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4391 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4392 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4394 if (ndr_flags & NDR_BUFFERS) {
4395 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4396 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4398 return NDR_ERR_SUCCESS;
4401 static enum ndr_err_code ndr_pull_samr_DispEntryFullGroup(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFullGroup *r)
4403 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4404 if (ndr_flags & NDR_SCALARS) {
4405 NDR_CHECK(ndr_pull_align(ndr, 5));
4406 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4407 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4408 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->acct_flags));
4409 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4410 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4411 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4413 if (ndr_flags & NDR_BUFFERS) {
4414 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4415 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4417 return NDR_ERR_SUCCESS;
4420 _PUBLIC_ void ndr_print_samr_DispEntryFullGroup(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFullGroup *r)
4422 ndr_print_struct(ndr, name, "samr_DispEntryFullGroup");
4423 if (r == NULL) { ndr_print_null(ndr); return; }
4425 ndr_print_uint32(ndr, "idx", r->idx);
4426 ndr_print_uint32(ndr, "rid", r->rid);
4427 ndr_print_samr_GroupAttrs(ndr, "acct_flags", r->acct_flags);
4428 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4429 ndr_print_lsa_String(ndr, "description", &r->description);
4433 static enum ndr_err_code ndr_push_samr_DispInfoFullGroups(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFullGroups *r)
4435 uint32_t cntr_entries_1;
4436 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4437 if (ndr_flags & NDR_SCALARS) {
4438 NDR_CHECK(ndr_push_align(ndr, 5));
4439 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4440 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4441 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4443 if (ndr_flags & NDR_BUFFERS) {
4445 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4446 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4447 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4449 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4450 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4454 return NDR_ERR_SUCCESS;
4457 static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFullGroups *r)
4459 uint32_t _ptr_entries;
4460 uint32_t size_entries_1 = 0;
4461 uint32_t cntr_entries_1;
4462 TALLOC_CTX *_mem_save_entries_0;
4463 TALLOC_CTX *_mem_save_entries_1;
4464 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4465 if (ndr_flags & NDR_SCALARS) {
4466 NDR_CHECK(ndr_pull_align(ndr, 5));
4467 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4468 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4470 NDR_PULL_ALLOC(ndr, r->entries);
4474 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4476 if (ndr_flags & NDR_BUFFERS) {
4478 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4479 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4480 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4481 size_entries_1 = ndr_get_array_size(ndr, &r->entries);
4482 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
4483 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4484 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4485 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
4486 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4488 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
4489 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4491 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4492 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4495 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4498 return NDR_ERR_SUCCESS;
4501 _PUBLIC_ void ndr_print_samr_DispInfoFullGroups(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFullGroups *r)
4503 uint32_t cntr_entries_1;
4504 ndr_print_struct(ndr, name, "samr_DispInfoFullGroups");
4505 if (r == NULL) { ndr_print_null(ndr); return; }
4507 ndr_print_uint32(ndr, "count", r->count);
4508 ndr_print_ptr(ndr, "entries", r->entries);
4511 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4513 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4514 ndr_print_samr_DispEntryFullGroup(ndr, "entries", &r->entries[cntr_entries_1]);
4522 static enum ndr_err_code ndr_push_samr_DispEntryAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryAscii *r)
4524 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4525 if (ndr_flags & NDR_SCALARS) {
4526 NDR_CHECK(ndr_push_align(ndr, 5));
4527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4528 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4529 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4531 if (ndr_flags & NDR_BUFFERS) {
4532 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4534 return NDR_ERR_SUCCESS;
4537 static enum ndr_err_code ndr_pull_samr_DispEntryAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryAscii *r)
4539 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4540 if (ndr_flags & NDR_SCALARS) {
4541 NDR_CHECK(ndr_pull_align(ndr, 5));
4542 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4543 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4544 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4546 if (ndr_flags & NDR_BUFFERS) {
4547 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4549 return NDR_ERR_SUCCESS;
4552 _PUBLIC_ void ndr_print_samr_DispEntryAscii(struct ndr_print *ndr, const char *name, const struct samr_DispEntryAscii *r)
4554 ndr_print_struct(ndr, name, "samr_DispEntryAscii");
4555 if (r == NULL) { ndr_print_null(ndr); return; }
4557 ndr_print_uint32(ndr, "idx", r->idx);
4558 ndr_print_lsa_AsciiStringLarge(ndr, "account_name", &r->account_name);
4562 static enum ndr_err_code ndr_push_samr_DispInfoAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoAscii *r)
4564 uint32_t cntr_entries_1;
4565 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4566 if (ndr_flags & NDR_SCALARS) {
4567 NDR_CHECK(ndr_push_align(ndr, 5));
4568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4569 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4570 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4572 if (ndr_flags & NDR_BUFFERS) {
4574 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4575 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4576 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4578 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4579 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4583 return NDR_ERR_SUCCESS;
4586 static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoAscii *r)
4588 uint32_t _ptr_entries;
4589 uint32_t size_entries_1 = 0;
4590 uint32_t cntr_entries_1;
4591 TALLOC_CTX *_mem_save_entries_0;
4592 TALLOC_CTX *_mem_save_entries_1;
4593 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4594 if (ndr_flags & NDR_SCALARS) {
4595 NDR_CHECK(ndr_pull_align(ndr, 5));
4596 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4597 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4599 NDR_PULL_ALLOC(ndr, r->entries);
4603 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4605 if (ndr_flags & NDR_BUFFERS) {
4607 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4608 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4609 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4610 size_entries_1 = ndr_get_array_size(ndr, &r->entries);
4611 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
4612 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4613 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4614 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
4615 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4617 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
4618 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4621 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4624 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4627 return NDR_ERR_SUCCESS;
4630 _PUBLIC_ void ndr_print_samr_DispInfoAscii(struct ndr_print *ndr, const char *name, const struct samr_DispInfoAscii *r)
4632 uint32_t cntr_entries_1;
4633 ndr_print_struct(ndr, name, "samr_DispInfoAscii");
4634 if (r == NULL) { ndr_print_null(ndr); return; }
4636 ndr_print_uint32(ndr, "count", r->count);
4637 ndr_print_ptr(ndr, "entries", r->entries);
4640 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4642 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4643 ndr_print_samr_DispEntryAscii(ndr, "entries", &r->entries[cntr_entries_1]);
4651 static enum ndr_err_code ndr_push_samr_DispInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DispInfo *r)
4653 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4654 if (ndr_flags & NDR_SCALARS) {
4655 uint32_t level = ndr_push_get_switch_value(ndr, r);
4656 NDR_CHECK(ndr_push_union_align(ndr, 5));
4657 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
4658 NDR_CHECK(ndr_push_union_align(ndr, 5));
4661 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4665 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4669 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4673 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4677 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4681 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4684 if (ndr_flags & NDR_BUFFERS) {
4685 uint32_t level = ndr_push_get_switch_value(ndr, r);
4688 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4692 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4696 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4700 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4704 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4708 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4711 return NDR_ERR_SUCCESS;
4714 static enum ndr_err_code ndr_pull_samr_DispInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DispInfo *r)
4718 level = ndr_pull_get_switch_value(ndr, r);
4719 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4720 if (ndr_flags & NDR_SCALARS) {
4721 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4722 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4723 if (_level != level) {
4724 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4726 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4729 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4733 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4737 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4741 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4745 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4749 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4752 if (ndr_flags & NDR_BUFFERS) {
4755 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4759 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4763 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4767 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4771 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4775 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4778 return NDR_ERR_SUCCESS;
4781 _PUBLIC_ void ndr_print_samr_DispInfo(struct ndr_print *ndr, const char *name, const union samr_DispInfo *r)
4784 level = ndr_print_get_switch_value(ndr, r);
4785 ndr_print_union(ndr, name, level, "samr_DispInfo");
4788 ndr_print_samr_DispInfoGeneral(ndr, "info1", &r->info1);
4792 ndr_print_samr_DispInfoFull(ndr, "info2", &r->info2);
4796 ndr_print_samr_DispInfoFullGroups(ndr, "info3", &r->info3);
4800 ndr_print_samr_DispInfoAscii(ndr, "info4", &r->info4);
4804 ndr_print_samr_DispInfoAscii(ndr, "info5", &r->info5);
4808 ndr_print_bad_level(ndr, name, level);
4812 static enum ndr_err_code ndr_push_samr_PwInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_PwInfo *r)
4814 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4815 if (ndr_flags & NDR_SCALARS) {
4816 NDR_CHECK(ndr_push_align(ndr, 4));
4817 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
4818 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
4819 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4821 if (ndr_flags & NDR_BUFFERS) {
4823 return NDR_ERR_SUCCESS;
4826 static enum ndr_err_code ndr_pull_samr_PwInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_PwInfo *r)
4828 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4829 if (ndr_flags & NDR_SCALARS) {
4830 NDR_CHECK(ndr_pull_align(ndr, 4));
4831 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
4832 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
4833 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4835 if (ndr_flags & NDR_BUFFERS) {
4837 return NDR_ERR_SUCCESS;
4840 _PUBLIC_ void ndr_print_samr_PwInfo(struct ndr_print *ndr, const char *name, const struct samr_PwInfo *r)
4842 ndr_print_struct(ndr, name, "samr_PwInfo");
4843 if (r == NULL) { ndr_print_null(ndr); return; }
4845 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
4846 ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
4850 static enum ndr_err_code ndr_push_samr_ConnectVersion(struct ndr_push *ndr, int ndr_flags, enum samr_ConnectVersion r)
4852 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4853 return NDR_ERR_SUCCESS;
4856 static enum ndr_err_code ndr_pull_samr_ConnectVersion(struct ndr_pull *ndr, int ndr_flags, enum samr_ConnectVersion *r)
4859 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4861 return NDR_ERR_SUCCESS;
4864 _PUBLIC_ void ndr_print_samr_ConnectVersion(struct ndr_print *ndr, const char *name, enum samr_ConnectVersion r)
4866 const char *val = NULL;
4869 case SAMR_CONNECT_PRE_W2K: val = "SAMR_CONNECT_PRE_W2K"; break;
4870 case SAMR_CONNECT_W2K: val = "SAMR_CONNECT_W2K"; break;
4871 case SAMR_CONNECT_AFTER_W2K: val = "SAMR_CONNECT_AFTER_W2K"; break;
4873 ndr_print_enum(ndr, name, "ENUM", val, r);
4876 _PUBLIC_ enum ndr_err_code ndr_push_samPwdChangeReason(struct ndr_push *ndr, int ndr_flags, enum samPwdChangeReason r)
4878 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4879 return NDR_ERR_SUCCESS;
4882 _PUBLIC_ enum ndr_err_code ndr_pull_samPwdChangeReason(struct ndr_pull *ndr, int ndr_flags, enum samPwdChangeReason *r)
4885 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4887 return NDR_ERR_SUCCESS;
4890 _PUBLIC_ void ndr_print_samPwdChangeReason(struct ndr_print *ndr, const char *name, enum samPwdChangeReason r)
4892 const char *val = NULL;
4895 case SAM_PWD_CHANGE_NO_ERROR: val = "SAM_PWD_CHANGE_NO_ERROR"; break;
4896 case SAM_PWD_CHANGE_PASSWORD_TOO_SHORT: val = "SAM_PWD_CHANGE_PASSWORD_TOO_SHORT"; break;
4897 case SAM_PWD_CHANGE_PWD_IN_HISTORY: val = "SAM_PWD_CHANGE_PWD_IN_HISTORY"; break;
4898 case SAM_PWD_CHANGE_USERNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_USERNAME_IN_PASSWORD"; break;
4899 case SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD: val = "SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD"; break;
4900 case SAM_PWD_CHANGE_NOT_COMPLEX: val = "SAM_PWD_CHANGE_NOT_COMPLEX"; break;
4901 case SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT: val = "SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT"; break;
4902 case SAM_PWD_CHANGE_FAILED_BY_FILTER: val = "SAM_PWD_CHANGE_FAILED_BY_FILTER"; break;
4903 case SAM_PWD_CHANGE_PASSWORD_TOO_LONG: val = "SAM_PWD_CHANGE_PASSWORD_TOO_LONG"; break;
4905 ndr_print_enum(ndr, name, "ENUM", val, r);
4908 static enum ndr_err_code ndr_push_userPwdChangeFailureInformation(struct ndr_push *ndr, int ndr_flags, const struct userPwdChangeFailureInformation *r)
4910 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4911 if (ndr_flags & NDR_SCALARS) {
4912 NDR_CHECK(ndr_push_align(ndr, 5));
4913 NDR_CHECK(ndr_push_samPwdChangeReason(ndr, NDR_SCALARS, r->extendedFailureReason));
4914 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->filterModuleName));
4915 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4917 if (ndr_flags & NDR_BUFFERS) {
4918 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->filterModuleName));
4920 return NDR_ERR_SUCCESS;
4923 static enum ndr_err_code ndr_pull_userPwdChangeFailureInformation(struct ndr_pull *ndr, int ndr_flags, struct userPwdChangeFailureInformation *r)
4925 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4926 if (ndr_flags & NDR_SCALARS) {
4927 NDR_CHECK(ndr_pull_align(ndr, 5));
4928 NDR_CHECK(ndr_pull_samPwdChangeReason(ndr, NDR_SCALARS, &r->extendedFailureReason));
4929 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->filterModuleName));
4930 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4932 if (ndr_flags & NDR_BUFFERS) {
4933 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->filterModuleName));
4935 return NDR_ERR_SUCCESS;
4938 _PUBLIC_ void ndr_print_userPwdChangeFailureInformation(struct ndr_print *ndr, const char *name, const struct userPwdChangeFailureInformation *r)
4940 ndr_print_struct(ndr, name, "userPwdChangeFailureInformation");
4941 if (r == NULL) { ndr_print_null(ndr); return; }
4943 ndr_print_samPwdChangeReason(ndr, "extendedFailureReason", r->extendedFailureReason);
4944 ndr_print_lsa_String(ndr, "filterModuleName", &r->filterModuleName);
4948 static enum ndr_err_code ndr_push_samr_ConnectInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_ConnectInfo1 *r)
4950 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4951 if (ndr_flags & NDR_SCALARS) {
4952 NDR_CHECK(ndr_push_align(ndr, 4));
4953 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->client_version));
4954 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4955 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4957 if (ndr_flags & NDR_BUFFERS) {
4959 return NDR_ERR_SUCCESS;
4962 static enum ndr_err_code ndr_pull_samr_ConnectInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_ConnectInfo1 *r)
4964 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
4965 if (ndr_flags & NDR_SCALARS) {
4966 NDR_CHECK(ndr_pull_align(ndr, 4));
4967 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->client_version));
4968 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4969 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4971 if (ndr_flags & NDR_BUFFERS) {
4973 return NDR_ERR_SUCCESS;
4976 _PUBLIC_ void ndr_print_samr_ConnectInfo1(struct ndr_print *ndr, const char *name, const struct samr_ConnectInfo1 *r)
4978 ndr_print_struct(ndr, name, "samr_ConnectInfo1");
4979 if (r == NULL) { ndr_print_null(ndr); return; }
4981 ndr_print_samr_ConnectVersion(ndr, "client_version", r->client_version);
4982 ndr_print_uint32(ndr, "unknown2", r->unknown2);
4986 static enum ndr_err_code ndr_push_samr_ConnectInfo(struct ndr_push *ndr, int ndr_flags, const union samr_ConnectInfo *r)
4988 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
4989 if (ndr_flags & NDR_SCALARS) {
4990 uint32_t level = ndr_push_get_switch_value(ndr, r);
4991 NDR_CHECK(ndr_push_union_align(ndr, 4));
4992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4993 NDR_CHECK(ndr_push_union_align(ndr, 4));
4996 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
5000 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5003 if (ndr_flags & NDR_BUFFERS) {
5004 uint32_t level = ndr_push_get_switch_value(ndr, r);
5010 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5013 return NDR_ERR_SUCCESS;
5016 static enum ndr_err_code ndr_pull_samr_ConnectInfo(struct ndr_pull *ndr, int ndr_flags, union samr_ConnectInfo *r)
5020 level = ndr_pull_get_switch_value(ndr, r);
5021 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5022 if (ndr_flags & NDR_SCALARS) {
5023 NDR_CHECK(ndr_pull_union_align(ndr, 4));
5024 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5025 if (_level != level) {
5026 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5028 NDR_CHECK(ndr_pull_union_align(ndr, 4));
5031 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
5035 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5038 if (ndr_flags & NDR_BUFFERS) {
5044 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5047 return NDR_ERR_SUCCESS;
5050 _PUBLIC_ void ndr_print_samr_ConnectInfo(struct ndr_print *ndr, const char *name, const union samr_ConnectInfo *r)
5053 level = ndr_print_get_switch_value(ndr, r);
5054 ndr_print_union(ndr, name, level, "samr_ConnectInfo");
5057 ndr_print_samr_ConnectInfo1(ndr, "info1", &r->info1);
5061 ndr_print_bad_level(ndr, name, level);
5065 static enum ndr_err_code ndr_push_samr_ValidateFieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
5067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
5068 return NDR_ERR_SUCCESS;
5071 static enum ndr_err_code ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
5074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
5076 return NDR_ERR_SUCCESS;
5079 _PUBLIC_ void ndr_print_samr_ValidateFieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
5081 ndr_print_uint32(ndr, name, r);
5083 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET, r);
5084 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME, r);
5085 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME, r);
5086 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT, r);
5087 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH, r);
5088 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY, r);
5092 static enum ndr_err_code ndr_push_samr_ValidatePasswordLevel(struct ndr_push *ndr, int ndr_flags, enum samr_ValidatePasswordLevel r)
5094 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
5095 return NDR_ERR_SUCCESS;
5098 static enum ndr_err_code ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidatePasswordLevel *r)
5101 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
5103 return NDR_ERR_SUCCESS;
5106 _PUBLIC_ void ndr_print_samr_ValidatePasswordLevel(struct ndr_print *ndr, const char *name, enum samr_ValidatePasswordLevel r)
5108 const char *val = NULL;
5111 case NetValidateAuthentication: val = "NetValidateAuthentication"; break;
5112 case NetValidatePasswordChange: val = "NetValidatePasswordChange"; break;
5113 case NetValidatePasswordReset: val = "NetValidatePasswordReset"; break;
5115 ndr_print_enum(ndr, name, "ENUM", val, r);
5118 static enum ndr_err_code ndr_push_samr_ValidationStatus(struct ndr_push *ndr, int ndr_flags, enum samr_ValidationStatus r)
5120 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
5121 return NDR_ERR_SUCCESS;
5124 static enum ndr_err_code ndr_pull_samr_ValidationStatus(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidationStatus *r)
5127 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
5129 return NDR_ERR_SUCCESS;
5132 _PUBLIC_ void ndr_print_samr_ValidationStatus(struct ndr_print *ndr, const char *name, enum samr_ValidationStatus r)
5134 const char *val = NULL;
5137 case SAMR_VALIDATION_STATUS_SUCCESS: val = "SAMR_VALIDATION_STATUS_SUCCESS"; break;
5138 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE: val = "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
5139 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT: val = "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
5140 case SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED: val = "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED"; break;
5141 case SAMR_VALIDATION_STATUS_BAD_PASSWORD: val = "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
5142 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT: val = "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
5143 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT: val = "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
5144 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG: val = "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
5145 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH: val = "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
5146 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT: val = "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
5147 case SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR: val = "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR"; break;
5149 ndr_print_enum(ndr, name, "ENUM", val, r);
5152 static enum ndr_err_code ndr_push_samr_ValidationBlob(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidationBlob *r)
5154 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5155 if (ndr_flags & NDR_SCALARS) {
5156 NDR_CHECK(ndr_push_align(ndr, 5));
5157 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
5158 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
5159 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5161 if (ndr_flags & NDR_BUFFERS) {
5163 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
5164 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
5167 return NDR_ERR_SUCCESS;
5170 static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidationBlob *r)
5173 uint32_t size_data_1 = 0;
5174 TALLOC_CTX *_mem_save_data_0;
5175 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5176 if (ndr_flags & NDR_SCALARS) {
5177 NDR_CHECK(ndr_pull_align(ndr, 5));
5178 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5179 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5181 NDR_PULL_ALLOC(ndr, r->data);
5185 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5187 if (ndr_flags & NDR_BUFFERS) {
5189 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5190 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5191 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5192 size_data_1 = ndr_get_array_size(ndr, &r->data);
5193 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
5194 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
5195 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5198 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5201 return NDR_ERR_SUCCESS;
5204 _PUBLIC_ void ndr_print_samr_ValidationBlob(struct ndr_print *ndr, const char *name, const struct samr_ValidationBlob *r)
5206 ndr_print_struct(ndr, name, "samr_ValidationBlob");
5207 if (r == NULL) { ndr_print_null(ndr); return; }
5209 ndr_print_uint32(ndr, "length", r->length);
5210 ndr_print_ptr(ndr, "data", r->data);
5213 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5219 static enum ndr_err_code ndr_push_samr_ValidatePasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordInfo *r)
5221 uint32_t cntr_pwd_history_1;
5222 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5223 if (ndr_flags & NDR_SCALARS) {
5224 NDR_CHECK(ndr_push_align(ndr, 8));
5225 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, r->fields_present));
5226 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_password_change));
5227 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->bad_password_time));
5228 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->lockout_time));
5229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pwd_count));
5230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len));
5231 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pwd_history));
5232 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5234 if (ndr_flags & NDR_BUFFERS) {
5235 if (r->pwd_history) {
5236 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pwd_history_len));
5237 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
5238 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
5240 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
5241 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
5245 return NDR_ERR_SUCCESS;
5248 static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordInfo *r)
5250 uint32_t _ptr_pwd_history;
5251 uint32_t size_pwd_history_1 = 0;
5252 uint32_t cntr_pwd_history_1;
5253 TALLOC_CTX *_mem_save_pwd_history_0;
5254 TALLOC_CTX *_mem_save_pwd_history_1;
5255 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5256 if (ndr_flags & NDR_SCALARS) {
5257 NDR_CHECK(ndr_pull_align(ndr, 8));
5258 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
5259 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_password_change));
5260 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->bad_password_time));
5261 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->lockout_time));
5262 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pwd_count));
5263 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pwd_history_len));
5264 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pwd_history));
5265 if (_ptr_pwd_history) {
5266 NDR_PULL_ALLOC(ndr, r->pwd_history);
5268 r->pwd_history = NULL;
5270 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5272 if (ndr_flags & NDR_BUFFERS) {
5273 if (r->pwd_history) {
5274 _mem_save_pwd_history_0 = NDR_PULL_GET_MEM_CTX(ndr);
5275 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
5276 NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history));
5277 size_pwd_history_1 = ndr_get_array_size(ndr, &r->pwd_history);
5278 NDR_PULL_ALLOC_N(ndr, r->pwd_history, size_pwd_history_1);
5279 _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr);
5280 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
5281 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < size_pwd_history_1; cntr_pwd_history_1++) {
5282 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
5284 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < size_pwd_history_1; cntr_pwd_history_1++) {
5285 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
5287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_1, 0);
5288 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_0, 0);
5290 if (r->pwd_history) {
5291 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pwd_history, r->pwd_history_len));
5294 return NDR_ERR_SUCCESS;
5297 _PUBLIC_ void ndr_print_samr_ValidatePasswordInfo(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordInfo *r)
5299 uint32_t cntr_pwd_history_1;
5300 ndr_print_struct(ndr, name, "samr_ValidatePasswordInfo");
5301 if (r == NULL) { ndr_print_null(ndr); return; }
5303 ndr_print_samr_ValidateFieldsPresent(ndr, "fields_present", r->fields_present);
5304 ndr_print_NTTIME_hyper(ndr, "last_password_change", r->last_password_change);
5305 ndr_print_NTTIME_hyper(ndr, "bad_password_time", r->bad_password_time);
5306 ndr_print_NTTIME_hyper(ndr, "lockout_time", r->lockout_time);
5307 ndr_print_uint32(ndr, "bad_pwd_count", r->bad_pwd_count);
5308 ndr_print_uint32(ndr, "pwd_history_len", r->pwd_history_len);
5309 ndr_print_ptr(ndr, "pwd_history", r->pwd_history);
5311 if (r->pwd_history) {
5312 ndr->print(ndr, "%s: ARRAY(%d)", "pwd_history", (int)r->pwd_history_len);
5314 for (cntr_pwd_history_1=0;cntr_pwd_history_1<r->pwd_history_len;cntr_pwd_history_1++) {
5315 ndr_print_samr_ValidationBlob(ndr, "pwd_history", &r->pwd_history[cntr_pwd_history_1]);
5323 static enum ndr_err_code ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordRepCtr *r)
5325 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5326 if (ndr_flags & NDR_SCALARS) {
5327 NDR_CHECK(ndr_push_align(ndr, 8));
5328 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5329 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr, NDR_SCALARS, r->status));
5330 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5332 if (ndr_flags & NDR_BUFFERS) {
5333 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5335 return NDR_ERR_SUCCESS;
5338 static enum ndr_err_code ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordRepCtr *r)
5340 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5341 if (ndr_flags & NDR_SCALARS) {
5342 NDR_CHECK(ndr_pull_align(ndr, 8));
5343 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5344 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr, NDR_SCALARS, &r->status));
5345 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5347 if (ndr_flags & NDR_BUFFERS) {
5348 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5350 return NDR_ERR_SUCCESS;
5353 _PUBLIC_ void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordRepCtr *r)
5355 ndr_print_struct(ndr, name, "samr_ValidatePasswordRepCtr");
5356 if (r == NULL) { ndr_print_null(ndr); return; }
5358 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5359 ndr_print_samr_ValidationStatus(ndr, "status", r->status);
5363 static enum ndr_err_code ndr_push_samr_ValidatePasswordRep(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordRep *r)
5365 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5366 if (ndr_flags & NDR_SCALARS) {
5367 uint32_t level = ndr_push_get_switch_value(ndr, r);
5368 NDR_CHECK(ndr_push_union_align(ndr, 8));
5369 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
5370 NDR_CHECK(ndr_push_union_align(ndr, 8));
5373 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
5377 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
5381 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
5385 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5388 if (ndr_flags & NDR_BUFFERS) {
5389 uint32_t level = ndr_push_get_switch_value(ndr, r);
5392 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
5396 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
5400 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
5404 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5407 return NDR_ERR_SUCCESS;
5410 static enum ndr_err_code ndr_pull_samr_ValidatePasswordRep(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordRep *r)
5414 level = ndr_pull_get_switch_value(ndr, r);
5415 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5416 if (ndr_flags & NDR_SCALARS) {
5417 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5418 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
5419 if (_level != level) {
5420 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5422 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5425 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
5429 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
5433 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
5437 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5440 if (ndr_flags & NDR_BUFFERS) {
5443 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
5447 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
5451 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
5455 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5458 return NDR_ERR_SUCCESS;
5461 _PUBLIC_ void ndr_print_samr_ValidatePasswordRep(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordRep *r)
5464 level = ndr_print_get_switch_value(ndr, r);
5465 ndr_print_union(ndr, name, level, "samr_ValidatePasswordRep");
5468 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr1", &r->ctr1);
5472 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr2", &r->ctr2);
5476 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr3", &r->ctr3);
5480 ndr_print_bad_level(ndr, name, level);
5484 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq3(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq3 *r)
5486 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5487 if (ndr_flags & NDR_SCALARS) {
5488 NDR_CHECK(ndr_push_align(ndr, 8));
5489 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5490 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5491 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5492 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5493 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pwd_must_change_at_next_logon));
5494 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->clear_lockout));
5495 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5497 if (ndr_flags & NDR_BUFFERS) {
5498 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5499 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5500 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5501 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5503 return NDR_ERR_SUCCESS;
5506 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq3 *r)
5508 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5509 if (ndr_flags & NDR_SCALARS) {
5510 NDR_CHECK(ndr_pull_align(ndr, 8));
5511 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5512 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5513 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5514 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5515 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pwd_must_change_at_next_logon));
5516 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->clear_lockout));
5517 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5519 if (ndr_flags & NDR_BUFFERS) {
5520 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5521 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5522 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5523 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5525 return NDR_ERR_SUCCESS;
5528 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq3(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq3 *r)
5530 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq3");
5531 if (r == NULL) { ndr_print_null(ndr); return; }
5533 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5534 ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5535 ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5536 ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5537 ndr_print_uint8(ndr, "pwd_must_change_at_next_logon", r->pwd_must_change_at_next_logon);
5538 ndr_print_uint8(ndr, "clear_lockout", r->clear_lockout);
5542 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq2(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq2 *r)
5544 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5545 if (ndr_flags & NDR_SCALARS) {
5546 NDR_CHECK(ndr_push_align(ndr, 8));
5547 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5548 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5549 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5550 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5551 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5552 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5554 if (ndr_flags & NDR_BUFFERS) {
5555 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5556 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5557 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5558 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5560 return NDR_ERR_SUCCESS;
5563 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq2 *r)
5565 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5566 if (ndr_flags & NDR_SCALARS) {
5567 NDR_CHECK(ndr_pull_align(ndr, 8));
5568 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5569 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5570 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5571 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5572 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5573 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5575 if (ndr_flags & NDR_BUFFERS) {
5576 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5577 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5578 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5579 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5581 return NDR_ERR_SUCCESS;
5584 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq2(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq2 *r)
5586 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq2");
5587 if (r == NULL) { ndr_print_null(ndr); return; }
5589 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5590 ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5591 ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5592 ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5593 ndr_print_uint8(ndr, "password_matched", r->password_matched);
5597 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq1(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq1 *r)
5599 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5600 if (ndr_flags & NDR_SCALARS) {
5601 NDR_CHECK(ndr_push_align(ndr, 8));
5602 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5603 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5604 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5606 if (ndr_flags & NDR_BUFFERS) {
5607 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5609 return NDR_ERR_SUCCESS;
5612 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq1 *r)
5614 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5615 if (ndr_flags & NDR_SCALARS) {
5616 NDR_CHECK(ndr_pull_align(ndr, 8));
5617 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5618 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5619 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5621 if (ndr_flags & NDR_BUFFERS) {
5622 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5624 return NDR_ERR_SUCCESS;
5627 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq1(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq1 *r)
5629 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq1");
5630 if (r == NULL) { ndr_print_null(ndr); return; }
5632 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5633 ndr_print_uint8(ndr, "password_matched", r->password_matched);
5637 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordReq *r)
5639 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
5640 if (ndr_flags & NDR_SCALARS) {
5641 uint32_t level = ndr_push_get_switch_value(ndr, r);
5642 NDR_CHECK(ndr_push_union_align(ndr, 8));
5643 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
5644 NDR_CHECK(ndr_push_union_align(ndr, 8));
5647 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5651 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5655 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5659 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5662 if (ndr_flags & NDR_BUFFERS) {
5663 uint32_t level = ndr_push_get_switch_value(ndr, r);
5666 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5670 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5674 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5678 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5681 return NDR_ERR_SUCCESS;
5684 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordReq *r)
5688 level = ndr_pull_get_switch_value(ndr, r);
5689 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
5690 if (ndr_flags & NDR_SCALARS) {
5691 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5692 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
5693 if (_level != level) {
5694 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5696 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5699 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5703 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5707 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5711 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5714 if (ndr_flags & NDR_BUFFERS) {
5717 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5721 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5725 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5729 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5732 return NDR_ERR_SUCCESS;
5735 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordReq *r)
5738 level = ndr_print_get_switch_value(ndr, r);
5739 ndr_print_union(ndr, name, level, "samr_ValidatePasswordReq");
5742 ndr_print_samr_ValidatePasswordReq1(ndr, "req1", &r->req1);
5746 ndr_print_samr_ValidatePasswordReq2(ndr, "req2", &r->req2);
5750 ndr_print_samr_ValidatePasswordReq3(ndr, "req3", &r->req3);
5754 ndr_print_bad_level(ndr, name, level);
5758 static enum ndr_err_code ndr_push_samr_Connect(struct ndr_push *ndr, int flags, const struct samr_Connect *r)
5760 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
5761 if (flags & NDR_IN) {
5762 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
5763 if (r->in.system_name) {
5764 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
5766 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
5768 if (flags & NDR_OUT) {
5769 if (r->out.connect_handle == NULL) {
5770 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5772 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5773 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5775 return NDR_ERR_SUCCESS;
5778 static enum ndr_err_code ndr_pull_samr_Connect(struct ndr_pull *ndr, int flags, struct samr_Connect *r)
5780 uint32_t _ptr_system_name;
5781 TALLOC_CTX *_mem_save_system_name_0;
5782 TALLOC_CTX *_mem_save_connect_handle_0;
5783 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
5784 if (flags & NDR_IN) {
5785 ZERO_STRUCT(r->out);
5787 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
5788 if (_ptr_system_name) {
5789 NDR_PULL_ALLOC(ndr, r->in.system_name);
5791 r->in.system_name = NULL;
5793 if (r->in.system_name) {
5794 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5795 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
5796 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
5797 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
5799 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
5800 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5801 ZERO_STRUCTP(r->out.connect_handle);
5803 if (flags & NDR_OUT) {
5804 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5805 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5807 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5808 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5809 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5811 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5813 return NDR_ERR_SUCCESS;
5816 _PUBLIC_ void ndr_print_samr_Connect(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect *r)
5818 ndr_print_struct(ndr, name, "samr_Connect");
5819 if (r == NULL) { ndr_print_null(ndr); return; }
5821 if (flags & NDR_SET_VALUES) {
5822 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5824 if (flags & NDR_IN) {
5825 ndr_print_struct(ndr, "in", "samr_Connect");
5827 ndr_print_ptr(ndr, "system_name", r->in.system_name);
5829 if (r->in.system_name) {
5830 ndr_print_uint16(ndr, "system_name", *r->in.system_name);
5833 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
5836 if (flags & NDR_OUT) {
5837 ndr_print_struct(ndr, "out", "samr_Connect");
5839 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
5841 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
5843 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5849 _PUBLIC_ enum ndr_err_code ndr_push_samr_Close(struct ndr_push *ndr, int flags, const struct samr_Close *r)
5851 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
5852 if (flags & NDR_IN) {
5853 if (r->in.handle == NULL) {
5854 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5856 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5858 if (flags & NDR_OUT) {
5859 if (r->out.handle == NULL) {
5860 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5862 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5863 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5865 return NDR_ERR_SUCCESS;
5868 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Close(struct ndr_pull *ndr, int flags, struct samr_Close *r)
5870 TALLOC_CTX *_mem_save_handle_0;
5871 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
5872 if (flags & NDR_IN) {
5873 ZERO_STRUCT(r->out);
5875 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5876 NDR_PULL_ALLOC(ndr, r->in.handle);
5878 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5879 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5880 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5882 NDR_PULL_ALLOC(ndr, r->out.handle);
5883 *r->out.handle = *r->in.handle;
5885 if (flags & NDR_OUT) {
5886 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5887 NDR_PULL_ALLOC(ndr, r->out.handle);
5889 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5890 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
5891 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5893 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5895 return NDR_ERR_SUCCESS;
5898 _PUBLIC_ void ndr_print_samr_Close(struct ndr_print *ndr, const char *name, int flags, const struct samr_Close *r)
5900 ndr_print_struct(ndr, name, "samr_Close");
5901 if (r == NULL) { ndr_print_null(ndr); return; }
5903 if (flags & NDR_SET_VALUES) {
5904 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5906 if (flags & NDR_IN) {
5907 ndr_print_struct(ndr, "in", "samr_Close");
5909 ndr_print_ptr(ndr, "handle", r->in.handle);
5911 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5915 if (flags & NDR_OUT) {
5916 ndr_print_struct(ndr, "out", "samr_Close");
5918 ndr_print_ptr(ndr, "handle", r->out.handle);
5920 ndr_print_policy_handle(ndr, "handle", r->out.handle);
5922 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5928 static enum ndr_err_code ndr_push_samr_SetSecurity(struct ndr_push *ndr, int flags, const struct samr_SetSecurity *r)
5930 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
5931 if (flags & NDR_IN) {
5932 if (r->in.handle == NULL) {
5933 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5935 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5936 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
5937 if (r->in.sdbuf == NULL) {
5938 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5940 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5942 if (flags & NDR_OUT) {
5943 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5945 return NDR_ERR_SUCCESS;
5948 static enum ndr_err_code ndr_pull_samr_SetSecurity(struct ndr_pull *ndr, int flags, struct samr_SetSecurity *r)
5950 TALLOC_CTX *_mem_save_handle_0;
5951 TALLOC_CTX *_mem_save_sdbuf_0;
5952 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
5953 if (flags & NDR_IN) {
5954 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5955 NDR_PULL_ALLOC(ndr, r->in.handle);
5957 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5958 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5959 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5960 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5961 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
5962 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5963 NDR_PULL_ALLOC(ndr, r->in.sdbuf);
5965 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
5966 NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC);
5967 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
5970 if (flags & NDR_OUT) {
5971 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5973 return NDR_ERR_SUCCESS;
5976 _PUBLIC_ void ndr_print_samr_SetSecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetSecurity *r)
5978 ndr_print_struct(ndr, name, "samr_SetSecurity");
5979 if (r == NULL) { ndr_print_null(ndr); return; }
5981 if (flags & NDR_SET_VALUES) {
5982 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5984 if (flags & NDR_IN) {
5985 ndr_print_struct(ndr, "in", "samr_SetSecurity");
5987 ndr_print_ptr(ndr, "handle", r->in.handle);
5989 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5991 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
5992 ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf);
5994 ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf);
5998 if (flags & NDR_OUT) {
5999 ndr_print_struct(ndr, "out", "samr_SetSecurity");
6001 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6007 static enum ndr_err_code ndr_push_samr_QuerySecurity(struct ndr_push *ndr, int flags, const struct samr_QuerySecurity *r)
6009 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6010 if (flags & NDR_IN) {
6011 if (r->in.handle == NULL) {
6012 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6014 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6015 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
6017 if (flags & NDR_OUT) {
6018 if (r->out.sdbuf == NULL) {
6019 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6021 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf));
6022 if (*r->out.sdbuf) {
6023 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
6025 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6027 return NDR_ERR_SUCCESS;
6030 static enum ndr_err_code ndr_pull_samr_QuerySecurity(struct ndr_pull *ndr, int flags, struct samr_QuerySecurity *r)
6032 uint32_t _ptr_sdbuf;
6033 TALLOC_CTX *_mem_save_handle_0;
6034 TALLOC_CTX *_mem_save_sdbuf_0;
6035 TALLOC_CTX *_mem_save_sdbuf_1;
6036 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6037 if (flags & NDR_IN) {
6038 ZERO_STRUCT(r->out);
6040 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6041 NDR_PULL_ALLOC(ndr, r->in.handle);
6043 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6044 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6045 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6047 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
6048 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
6049 ZERO_STRUCTP(r->out.sdbuf);
6051 if (flags & NDR_OUT) {
6052 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6053 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
6055 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
6056 NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC);
6057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf));
6059 NDR_PULL_ALLOC(ndr, *r->out.sdbuf);
6061 *r->out.sdbuf = NULL;
6063 if (*r->out.sdbuf) {
6064 _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr);
6065 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0);
6066 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
6067 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0);
6069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
6070 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6072 return NDR_ERR_SUCCESS;
6075 _PUBLIC_ void ndr_print_samr_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_QuerySecurity *r)
6077 ndr_print_struct(ndr, name, "samr_QuerySecurity");
6078 if (r == NULL) { ndr_print_null(ndr); return; }
6080 if (flags & NDR_SET_VALUES) {
6081 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6083 if (flags & NDR_IN) {
6084 ndr_print_struct(ndr, "in", "samr_QuerySecurity");
6086 ndr_print_ptr(ndr, "handle", r->in.handle);
6088 ndr_print_policy_handle(ndr, "handle", r->in.handle);
6090 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
6093 if (flags & NDR_OUT) {
6094 ndr_print_struct(ndr, "out", "samr_QuerySecurity");
6096 ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf);
6098 ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf);
6100 if (*r->out.sdbuf) {
6101 ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf);
6105 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6111 static enum ndr_err_code ndr_push_samr_Shutdown(struct ndr_push *ndr, int flags, const struct samr_Shutdown *r)
6113 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6114 if (flags & NDR_IN) {
6115 if (r->in.connect_handle == NULL) {
6116 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6118 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6120 if (flags & NDR_OUT) {
6121 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6123 return NDR_ERR_SUCCESS;
6126 static enum ndr_err_code ndr_pull_samr_Shutdown(struct ndr_pull *ndr, int flags, struct samr_Shutdown *r)
6128 TALLOC_CTX *_mem_save_connect_handle_0;
6129 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6130 if (flags & NDR_IN) {
6131 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6132 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6134 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6135 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6136 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6137 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6139 if (flags & NDR_OUT) {
6140 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6142 return NDR_ERR_SUCCESS;
6145 _PUBLIC_ void ndr_print_samr_Shutdown(struct ndr_print *ndr, const char *name, int flags, const struct samr_Shutdown *r)
6147 ndr_print_struct(ndr, name, "samr_Shutdown");
6148 if (r == NULL) { ndr_print_null(ndr); return; }
6150 if (flags & NDR_SET_VALUES) {
6151 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6153 if (flags & NDR_IN) {
6154 ndr_print_struct(ndr, "in", "samr_Shutdown");
6156 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6158 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6162 if (flags & NDR_OUT) {
6163 ndr_print_struct(ndr, "out", "samr_Shutdown");
6165 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6171 static enum ndr_err_code ndr_push_samr_LookupDomain(struct ndr_push *ndr, int flags, const struct samr_LookupDomain *r)
6173 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6174 if (flags & NDR_IN) {
6175 if (r->in.connect_handle == NULL) {
6176 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6178 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6179 if (r->in.domain_name == NULL) {
6180 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6182 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
6184 if (flags & NDR_OUT) {
6185 if (r->out.sid == NULL) {
6186 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6188 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
6190 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
6192 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6194 return NDR_ERR_SUCCESS;
6197 static enum ndr_err_code ndr_pull_samr_LookupDomain(struct ndr_pull *ndr, int flags, struct samr_LookupDomain *r)
6200 TALLOC_CTX *_mem_save_connect_handle_0;
6201 TALLOC_CTX *_mem_save_domain_name_0;
6202 TALLOC_CTX *_mem_save_sid_0;
6203 TALLOC_CTX *_mem_save_sid_1;
6204 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6205 if (flags & NDR_IN) {
6206 ZERO_STRUCT(r->out);
6208 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6209 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6211 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6212 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6213 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6215 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6216 NDR_PULL_ALLOC(ndr, r->in.domain_name);
6218 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6219 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, LIBNDR_FLAG_REF_ALLOC);
6220 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
6221 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
6222 NDR_PULL_ALLOC(ndr, r->out.sid);
6223 ZERO_STRUCTP(r->out.sid);
6225 if (flags & NDR_OUT) {
6226 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6227 NDR_PULL_ALLOC(ndr, r->out.sid);
6229 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6230 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
6231 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
6233 NDR_PULL_ALLOC(ndr, *r->out.sid);
6238 _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
6239 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
6240 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
6241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
6243 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
6244 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6246 return NDR_ERR_SUCCESS;
6249 _PUBLIC_ void ndr_print_samr_LookupDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupDomain *r)
6251 ndr_print_struct(ndr, name, "samr_LookupDomain");
6252 if (r == NULL) { ndr_print_null(ndr); return; }
6254 if (flags & NDR_SET_VALUES) {
6255 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6257 if (flags & NDR_IN) {
6258 ndr_print_struct(ndr, "in", "samr_LookupDomain");
6260 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6262 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6264 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
6266 ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
6270 if (flags & NDR_OUT) {
6271 ndr_print_struct(ndr, "out", "samr_LookupDomain");
6273 ndr_print_ptr(ndr, "sid", r->out.sid);
6275 ndr_print_ptr(ndr, "sid", *r->out.sid);
6278 ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
6282 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6288 static enum ndr_err_code ndr_push_samr_EnumDomains(struct ndr_push *ndr, int flags, const struct samr_EnumDomains *r)
6290 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6291 if (flags & NDR_IN) {
6292 if (r->in.connect_handle == NULL) {
6293 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6295 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6296 if (r->in.resume_handle == NULL) {
6297 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6300 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
6302 if (flags & NDR_OUT) {
6303 if (r->out.resume_handle == NULL) {
6304 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6307 if (r->out.sam == NULL) {
6308 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6310 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6312 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6314 if (r->out.num_entries == NULL) {
6315 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6318 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6320 return NDR_ERR_SUCCESS;
6323 static enum ndr_err_code ndr_pull_samr_EnumDomains(struct ndr_pull *ndr, int flags, struct samr_EnumDomains *r)
6326 TALLOC_CTX *_mem_save_connect_handle_0;
6327 TALLOC_CTX *_mem_save_resume_handle_0;
6328 TALLOC_CTX *_mem_save_sam_0;
6329 TALLOC_CTX *_mem_save_sam_1;
6330 TALLOC_CTX *_mem_save_num_entries_0;
6331 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6332 if (flags & NDR_IN) {
6333 ZERO_STRUCT(r->out);
6335 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6336 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6338 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6339 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6340 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6341 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6342 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6343 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6345 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6346 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6347 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
6350 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6351 *r->out.resume_handle = *r->in.resume_handle;
6352 NDR_PULL_ALLOC(ndr, r->out.sam);
6353 ZERO_STRUCTP(r->out.sam);
6354 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6355 ZERO_STRUCTP(r->out.num_entries);
6357 if (flags & NDR_OUT) {
6358 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6359 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6361 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6362 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6363 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6365 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6366 NDR_PULL_ALLOC(ndr, r->out.sam);
6368 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6369 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6370 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6372 NDR_PULL_ALLOC(ndr, *r->out.sam);
6377 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6378 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6379 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6380 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6383 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6384 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6386 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6387 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6388 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6390 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6392 return NDR_ERR_SUCCESS;
6395 _PUBLIC_ void ndr_print_samr_EnumDomains(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomains *r)
6397 ndr_print_struct(ndr, name, "samr_EnumDomains");
6398 if (r == NULL) { ndr_print_null(ndr); return; }
6400 if (flags & NDR_SET_VALUES) {
6401 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6403 if (flags & NDR_IN) {
6404 ndr_print_struct(ndr, "in", "samr_EnumDomains");
6406 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6408 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6410 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6412 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6414 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
6417 if (flags & NDR_OUT) {
6418 ndr_print_struct(ndr, "out", "samr_EnumDomains");
6420 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6422 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6424 ndr_print_ptr(ndr, "sam", r->out.sam);
6426 ndr_print_ptr(ndr, "sam", *r->out.sam);
6429 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6433 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6435 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6437 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6443 _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenDomain(struct ndr_push *ndr, int flags, const struct samr_OpenDomain *r)
6445 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6446 if (flags & NDR_IN) {
6447 if (r->in.connect_handle == NULL) {
6448 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6450 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6451 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6452 if (r->in.sid == NULL) {
6453 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6455 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
6457 if (flags & NDR_OUT) {
6458 if (r->out.domain_handle == NULL) {
6459 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6461 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
6462 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6464 return NDR_ERR_SUCCESS;
6467 _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenDomain(struct ndr_pull *ndr, int flags, struct samr_OpenDomain *r)
6469 TALLOC_CTX *_mem_save_connect_handle_0;
6470 TALLOC_CTX *_mem_save_sid_0;
6471 TALLOC_CTX *_mem_save_domain_handle_0;
6472 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6473 if (flags & NDR_IN) {
6474 ZERO_STRUCT(r->out);
6476 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6477 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6479 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6480 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6481 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6482 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6483 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6484 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6485 NDR_PULL_ALLOC(ndr, r->in.sid);
6487 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6488 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
6489 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
6490 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
6491 NDR_PULL_ALLOC(ndr, r->out.domain_handle);
6492 ZERO_STRUCTP(r->out.domain_handle);
6494 if (flags & NDR_OUT) {
6495 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6496 NDR_PULL_ALLOC(ndr, r->out.domain_handle);
6498 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6499 NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6500 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
6501 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6502 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6504 return NDR_ERR_SUCCESS;
6507 _PUBLIC_ void ndr_print_samr_OpenDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenDomain *r)
6509 ndr_print_struct(ndr, name, "samr_OpenDomain");
6510 if (r == NULL) { ndr_print_null(ndr); return; }
6512 if (flags & NDR_SET_VALUES) {
6513 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6515 if (flags & NDR_IN) {
6516 ndr_print_struct(ndr, "in", "samr_OpenDomain");
6518 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6520 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6522 ndr_print_samr_DomainAccessMask(ndr, "access_mask", r->in.access_mask);
6523 ndr_print_ptr(ndr, "sid", r->in.sid);
6525 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
6529 if (flags & NDR_OUT) {
6530 ndr_print_struct(ndr, "out", "samr_OpenDomain");
6532 ndr_print_ptr(ndr, "domain_handle", r->out.domain_handle);
6534 ndr_print_policy_handle(ndr, "domain_handle", r->out.domain_handle);
6536 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6542 static enum ndr_err_code ndr_push_samr_QueryDomainInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo *r)
6544 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6545 if (flags & NDR_IN) {
6546 if (r->in.domain_handle == NULL) {
6547 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6549 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6550 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
6552 if (flags & NDR_OUT) {
6553 if (r->out.info == NULL) {
6554 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6556 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
6558 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
6559 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6561 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6563 return NDR_ERR_SUCCESS;
6566 static enum ndr_err_code ndr_pull_samr_QueryDomainInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo *r)
6569 TALLOC_CTX *_mem_save_domain_handle_0;
6570 TALLOC_CTX *_mem_save_info_0;
6571 TALLOC_CTX *_mem_save_info_1;
6572 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6573 if (flags & NDR_IN) {
6574 ZERO_STRUCT(r->out);
6576 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6577 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6579 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6580 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6581 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6582 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6583 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
6584 NDR_PULL_ALLOC(ndr, r->out.info);
6585 ZERO_STRUCTP(r->out.info);
6587 if (flags & NDR_OUT) {
6588 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6589 NDR_PULL_ALLOC(ndr, r->out.info);
6591 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6592 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
6593 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
6595 NDR_PULL_ALLOC(ndr, *r->out.info);
6597 *r->out.info = NULL;
6600 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
6601 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
6602 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
6603 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
6606 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6607 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6609 return NDR_ERR_SUCCESS;
6612 _PUBLIC_ void ndr_print_samr_QueryDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo *r)
6614 ndr_print_struct(ndr, name, "samr_QueryDomainInfo");
6615 if (r == NULL) { ndr_print_null(ndr); return; }
6617 if (flags & NDR_SET_VALUES) {
6618 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6620 if (flags & NDR_IN) {
6621 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo");
6623 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6625 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6627 ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
6630 if (flags & NDR_OUT) {
6631 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo");
6633 ndr_print_ptr(ndr, "info", r->out.info);
6635 ndr_print_ptr(ndr, "info", *r->out.info);
6638 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
6639 ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
6643 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6649 static enum ndr_err_code ndr_push_samr_SetDomainInfo(struct ndr_push *ndr, int flags, const struct samr_SetDomainInfo *r)
6651 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6652 if (flags & NDR_IN) {
6653 if (r->in.domain_handle == NULL) {
6654 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6656 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6657 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
6658 if (r->in.info == NULL) {
6659 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6661 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
6662 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6664 if (flags & NDR_OUT) {
6665 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6667 return NDR_ERR_SUCCESS;
6670 static enum ndr_err_code ndr_pull_samr_SetDomainInfo(struct ndr_pull *ndr, int flags, struct samr_SetDomainInfo *r)
6672 TALLOC_CTX *_mem_save_domain_handle_0;
6673 TALLOC_CTX *_mem_save_info_0;
6674 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6675 if (flags & NDR_IN) {
6676 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6677 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6679 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6680 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6681 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6683 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
6684 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6685 NDR_PULL_ALLOC(ndr, r->in.info);
6687 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6688 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
6689 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
6690 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6691 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6693 if (flags & NDR_OUT) {
6694 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6696 return NDR_ERR_SUCCESS;
6699 _PUBLIC_ void ndr_print_samr_SetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDomainInfo *r)
6701 ndr_print_struct(ndr, name, "samr_SetDomainInfo");
6702 if (r == NULL) { ndr_print_null(ndr); return; }
6704 if (flags & NDR_SET_VALUES) {
6705 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6707 if (flags & NDR_IN) {
6708 ndr_print_struct(ndr, "in", "samr_SetDomainInfo");
6710 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6712 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6714 ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
6715 ndr_print_ptr(ndr, "info", r->in.info);
6717 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
6718 ndr_print_samr_DomainInfo(ndr, "info", r->in.info);
6722 if (flags & NDR_OUT) {
6723 ndr_print_struct(ndr, "out", "samr_SetDomainInfo");
6725 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6731 static enum ndr_err_code ndr_push_samr_CreateDomainGroup(struct ndr_push *ndr, int flags, const struct samr_CreateDomainGroup *r)
6733 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6734 if (flags & NDR_IN) {
6735 if (r->in.domain_handle == NULL) {
6736 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6738 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6739 if (r->in.name == NULL) {
6740 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6742 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6743 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6745 if (flags & NDR_OUT) {
6746 if (r->out.group_handle == NULL) {
6747 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6749 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6750 if (r->out.rid == NULL) {
6751 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6754 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6756 return NDR_ERR_SUCCESS;
6759 static enum ndr_err_code ndr_pull_samr_CreateDomainGroup(struct ndr_pull *ndr, int flags, struct samr_CreateDomainGroup *r)
6761 TALLOC_CTX *_mem_save_domain_handle_0;
6762 TALLOC_CTX *_mem_save_name_0;
6763 TALLOC_CTX *_mem_save_group_handle_0;
6764 TALLOC_CTX *_mem_save_rid_0;
6765 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6766 if (flags & NDR_IN) {
6767 ZERO_STRUCT(r->out);
6769 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6770 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6772 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6773 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6774 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6776 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6777 NDR_PULL_ALLOC(ndr, r->in.name);
6779 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6780 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
6781 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
6783 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6784 NDR_PULL_ALLOC(ndr, r->out.group_handle);
6785 ZERO_STRUCTP(r->out.group_handle);
6786 NDR_PULL_ALLOC(ndr, r->out.rid);
6787 ZERO_STRUCTP(r->out.rid);
6789 if (flags & NDR_OUT) {
6790 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6791 NDR_PULL_ALLOC(ndr, r->out.group_handle);
6793 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6794 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
6795 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
6797 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6798 NDR_PULL_ALLOC(ndr, r->out.rid);
6800 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6801 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6803 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6804 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6806 return NDR_ERR_SUCCESS;
6809 _PUBLIC_ void ndr_print_samr_CreateDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomainGroup *r)
6811 ndr_print_struct(ndr, name, "samr_CreateDomainGroup");
6812 if (r == NULL) { ndr_print_null(ndr); return; }
6814 if (flags & NDR_SET_VALUES) {
6815 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6817 if (flags & NDR_IN) {
6818 ndr_print_struct(ndr, "in", "samr_CreateDomainGroup");
6820 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6822 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6824 ndr_print_ptr(ndr, "name", r->in.name);
6826 ndr_print_lsa_String(ndr, "name", r->in.name);
6828 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
6831 if (flags & NDR_OUT) {
6832 ndr_print_struct(ndr, "out", "samr_CreateDomainGroup");
6834 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
6836 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
6838 ndr_print_ptr(ndr, "rid", r->out.rid);
6840 ndr_print_uint32(ndr, "rid", *r->out.rid);
6842 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6848 static enum ndr_err_code ndr_push_samr_EnumDomainGroups(struct ndr_push *ndr, int flags, const struct samr_EnumDomainGroups *r)
6850 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
6851 if (flags & NDR_IN) {
6852 if (r->in.domain_handle == NULL) {
6853 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6855 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6856 if (r->in.resume_handle == NULL) {
6857 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6862 if (flags & NDR_OUT) {
6863 if (r->out.resume_handle == NULL) {
6864 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6867 if (r->out.sam == NULL) {
6868 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6870 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6872 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6874 if (r->out.num_entries == NULL) {
6875 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6877 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6878 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6880 return NDR_ERR_SUCCESS;
6883 static enum ndr_err_code ndr_pull_samr_EnumDomainGroups(struct ndr_pull *ndr, int flags, struct samr_EnumDomainGroups *r)
6886 TALLOC_CTX *_mem_save_domain_handle_0;
6887 TALLOC_CTX *_mem_save_resume_handle_0;
6888 TALLOC_CTX *_mem_save_sam_0;
6889 TALLOC_CTX *_mem_save_sam_1;
6890 TALLOC_CTX *_mem_save_num_entries_0;
6891 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
6892 if (flags & NDR_IN) {
6893 ZERO_STRUCT(r->out);
6895 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6896 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6898 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6899 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6900 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6901 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6902 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6903 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6905 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6906 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6907 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6909 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6910 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6911 *r->out.resume_handle = *r->in.resume_handle;
6912 NDR_PULL_ALLOC(ndr, r->out.sam);
6913 ZERO_STRUCTP(r->out.sam);
6914 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6915 ZERO_STRUCTP(r->out.num_entries);
6917 if (flags & NDR_OUT) {
6918 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6919 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6921 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6922 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6923 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6924 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6925 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6926 NDR_PULL_ALLOC(ndr, r->out.sam);
6928 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6929 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6930 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6932 NDR_PULL_ALLOC(ndr, *r->out.sam);
6937 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6938 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6939 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6943 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6944 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6946 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6947 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6948 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6950 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6952 return NDR_ERR_SUCCESS;
6955 _PUBLIC_ void ndr_print_samr_EnumDomainGroups(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainGroups *r)
6957 ndr_print_struct(ndr, name, "samr_EnumDomainGroups");
6958 if (r == NULL) { ndr_print_null(ndr); return; }
6960 if (flags & NDR_SET_VALUES) {
6961 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6963 if (flags & NDR_IN) {
6964 ndr_print_struct(ndr, "in", "samr_EnumDomainGroups");
6966 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6968 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6970 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6972 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6974 ndr_print_uint32(ndr, "max_size", r->in.max_size);
6977 if (flags & NDR_OUT) {
6978 ndr_print_struct(ndr, "out", "samr_EnumDomainGroups");
6980 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6982 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6984 ndr_print_ptr(ndr, "sam", r->out.sam);
6986 ndr_print_ptr(ndr, "sam", *r->out.sam);
6989 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6993 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6995 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6997 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7003 static enum ndr_err_code ndr_push_samr_CreateUser(struct ndr_push *ndr, int flags, const struct samr_CreateUser *r)
7005 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7006 if (flags & NDR_IN) {
7007 if (r->in.domain_handle == NULL) {
7008 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7010 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7011 if (r->in.account_name == NULL) {
7012 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7014 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
7015 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7017 if (flags & NDR_OUT) {
7018 if (r->out.user_handle == NULL) {
7019 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7021 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
7022 if (r->out.rid == NULL) {
7023 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7025 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
7026 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7028 return NDR_ERR_SUCCESS;
7031 static enum ndr_err_code ndr_pull_samr_CreateUser(struct ndr_pull *ndr, int flags, struct samr_CreateUser *r)
7033 TALLOC_CTX *_mem_save_domain_handle_0;
7034 TALLOC_CTX *_mem_save_account_name_0;
7035 TALLOC_CTX *_mem_save_user_handle_0;
7036 TALLOC_CTX *_mem_save_rid_0;
7037 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7038 if (flags & NDR_IN) {
7039 ZERO_STRUCT(r->out);
7041 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7042 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7044 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7045 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7046 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7047 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7048 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7049 NDR_PULL_ALLOC(ndr, r->in.account_name);
7051 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7052 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
7053 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
7054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
7055 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7056 NDR_PULL_ALLOC(ndr, r->out.user_handle);
7057 ZERO_STRUCTP(r->out.user_handle);
7058 NDR_PULL_ALLOC(ndr, r->out.rid);
7059 ZERO_STRUCTP(r->out.rid);
7061 if (flags & NDR_OUT) {
7062 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7063 NDR_PULL_ALLOC(ndr, r->out.user_handle);
7065 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7066 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
7067 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
7068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
7069 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7070 NDR_PULL_ALLOC(ndr, r->out.rid);
7072 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7073 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
7074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
7075 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
7076 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7078 return NDR_ERR_SUCCESS;
7081 _PUBLIC_ void ndr_print_samr_CreateUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser *r)
7083 ndr_print_struct(ndr, name, "samr_CreateUser");
7084 if (r == NULL) { ndr_print_null(ndr); return; }
7086 if (flags & NDR_SET_VALUES) {
7087 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7089 if (flags & NDR_IN) {
7090 ndr_print_struct(ndr, "in", "samr_CreateUser");
7092 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7094 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7096 ndr_print_ptr(ndr, "account_name", r->in.account_name);
7098 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
7100 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
7103 if (flags & NDR_OUT) {
7104 ndr_print_struct(ndr, "out", "samr_CreateUser");
7106 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
7108 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
7110 ndr_print_ptr(ndr, "rid", r->out.rid);
7112 ndr_print_uint32(ndr, "rid", *r->out.rid);
7114 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7120 static enum ndr_err_code ndr_push_samr_EnumDomainUsers(struct ndr_push *ndr, int flags, const struct samr_EnumDomainUsers *r)
7122 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7123 if (flags & NDR_IN) {
7124 if (r->in.domain_handle == NULL) {
7125 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7127 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7128 if (r->in.resume_handle == NULL) {
7129 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
7132 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
7133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
7135 if (flags & NDR_OUT) {
7136 if (r->out.resume_handle == NULL) {
7137 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7139 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
7140 if (r->out.sam == NULL) {
7141 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7143 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
7145 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7147 if (r->out.num_entries == NULL) {
7148 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7150 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
7151 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7153 return NDR_ERR_SUCCESS;
7156 static enum ndr_err_code ndr_pull_samr_EnumDomainUsers(struct ndr_pull *ndr, int flags, struct samr_EnumDomainUsers *r)
7159 TALLOC_CTX *_mem_save_domain_handle_0;
7160 TALLOC_CTX *_mem_save_resume_handle_0;
7161 TALLOC_CTX *_mem_save_sam_0;
7162 TALLOC_CTX *_mem_save_sam_1;
7163 TALLOC_CTX *_mem_save_num_entries_0;
7164 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7165 if (flags & NDR_IN) {
7166 ZERO_STRUCT(r->out);
7168 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7169 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7171 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7172 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7173 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7174 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7175 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7176 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
7178 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7179 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
7181 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7182 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
7183 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
7184 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7185 *r->out.resume_handle = *r->in.resume_handle;
7186 NDR_PULL_ALLOC(ndr, r->out.sam);
7187 ZERO_STRUCTP(r->out.sam);
7188 NDR_PULL_ALLOC(ndr, r->out.num_entries);
7189 ZERO_STRUCTP(r->out.num_entries);
7191 if (flags & NDR_OUT) {
7192 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7193 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7195 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7196 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7197 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
7198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7199 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7200 NDR_PULL_ALLOC(ndr, r->out.sam);
7202 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
7203 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
7204 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
7206 NDR_PULL_ALLOC(ndr, *r->out.sam);
7211 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
7212 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
7213 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
7216 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
7217 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7218 NDR_PULL_ALLOC(ndr, r->out.num_entries);
7220 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
7221 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
7222 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
7223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
7224 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7226 return NDR_ERR_SUCCESS;
7229 _PUBLIC_ void ndr_print_samr_EnumDomainUsers(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainUsers *r)
7231 ndr_print_struct(ndr, name, "samr_EnumDomainUsers");
7232 if (r == NULL) { ndr_print_null(ndr); return; }
7234 if (flags & NDR_SET_VALUES) {
7235 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7237 if (flags & NDR_IN) {
7238 ndr_print_struct(ndr, "in", "samr_EnumDomainUsers");
7240 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7242 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7244 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
7246 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
7248 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
7249 ndr_print_uint32(ndr, "max_size", r->in.max_size);
7252 if (flags & NDR_OUT) {
7253 ndr_print_struct(ndr, "out", "samr_EnumDomainUsers");
7255 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
7257 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
7259 ndr_print_ptr(ndr, "sam", r->out.sam);
7261 ndr_print_ptr(ndr, "sam", *r->out.sam);
7264 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
7268 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
7270 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
7272 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7278 static enum ndr_err_code ndr_push_samr_CreateDomAlias(struct ndr_push *ndr, int flags, const struct samr_CreateDomAlias *r)
7280 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7281 if (flags & NDR_IN) {
7282 if (r->in.domain_handle == NULL) {
7283 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7285 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7286 if (r->in.alias_name == NULL) {
7287 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7289 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
7290 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7292 if (flags & NDR_OUT) {
7293 if (r->out.alias_handle == NULL) {
7294 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7296 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
7297 if (r->out.rid == NULL) {
7298 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7300 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
7301 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7303 return NDR_ERR_SUCCESS;
7306 static enum ndr_err_code ndr_pull_samr_CreateDomAlias(struct ndr_pull *ndr, int flags, struct samr_CreateDomAlias *r)
7308 TALLOC_CTX *_mem_save_domain_handle_0;
7309 TALLOC_CTX *_mem_save_alias_name_0;
7310 TALLOC_CTX *_mem_save_alias_handle_0;
7311 TALLOC_CTX *_mem_save_rid_0;
7312 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7313 if (flags & NDR_IN) {
7314 ZERO_STRUCT(r->out);
7316 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7317 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7319 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7320 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7321 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7322 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7323 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7324 NDR_PULL_ALLOC(ndr, r->in.alias_name);
7326 _mem_save_alias_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
7327 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_name, LIBNDR_FLAG_REF_ALLOC);
7328 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
7329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_name_0, LIBNDR_FLAG_REF_ALLOC);
7330 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7331 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
7332 ZERO_STRUCTP(r->out.alias_handle);
7333 NDR_PULL_ALLOC(ndr, r->out.rid);
7334 ZERO_STRUCTP(r->out.rid);
7336 if (flags & NDR_OUT) {
7337 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7338 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
7340 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7341 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
7342 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
7343 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
7344 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7345 NDR_PULL_ALLOC(ndr, r->out.rid);
7347 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7348 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
7349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
7350 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
7351 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7353 return NDR_ERR_SUCCESS;
7356 _PUBLIC_ void ndr_print_samr_CreateDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomAlias *r)
7358 ndr_print_struct(ndr, name, "samr_CreateDomAlias");
7359 if (r == NULL) { ndr_print_null(ndr); return; }
7361 if (flags & NDR_SET_VALUES) {
7362 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7364 if (flags & NDR_IN) {
7365 ndr_print_struct(ndr, "in", "samr_CreateDomAlias");
7367 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7369 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7371 ndr_print_ptr(ndr, "alias_name", r->in.alias_name);
7373 ndr_print_lsa_String(ndr, "alias_name", r->in.alias_name);
7375 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
7378 if (flags & NDR_OUT) {
7379 ndr_print_struct(ndr, "out", "samr_CreateDomAlias");
7381 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
7383 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
7385 ndr_print_ptr(ndr, "rid", r->out.rid);
7387 ndr_print_uint32(ndr, "rid", *r->out.rid);
7389 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7395 static enum ndr_err_code ndr_push_samr_EnumDomainAliases(struct ndr_push *ndr, int flags, const struct samr_EnumDomainAliases *r)
7397 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7398 if (flags & NDR_IN) {
7399 if (r->in.domain_handle == NULL) {
7400 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7402 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7403 if (r->in.resume_handle == NULL) {
7404 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
7407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
7409 if (flags & NDR_OUT) {
7410 if (r->out.resume_handle == NULL) {
7411 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
7414 if (r->out.sam == NULL) {
7415 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7417 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
7419 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7421 if (r->out.num_entries == NULL) {
7422 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7424 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
7425 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7427 return NDR_ERR_SUCCESS;
7430 static enum ndr_err_code ndr_pull_samr_EnumDomainAliases(struct ndr_pull *ndr, int flags, struct samr_EnumDomainAliases *r)
7433 TALLOC_CTX *_mem_save_domain_handle_0;
7434 TALLOC_CTX *_mem_save_resume_handle_0;
7435 TALLOC_CTX *_mem_save_sam_0;
7436 TALLOC_CTX *_mem_save_sam_1;
7437 TALLOC_CTX *_mem_save_num_entries_0;
7438 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7439 if (flags & NDR_IN) {
7440 ZERO_STRUCT(r->out);
7442 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7443 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7445 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7446 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7447 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7448 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7449 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7450 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
7452 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7453 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7454 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
7455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7456 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
7457 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7458 *r->out.resume_handle = *r->in.resume_handle;
7459 NDR_PULL_ALLOC(ndr, r->out.sam);
7460 ZERO_STRUCTP(r->out.sam);
7461 NDR_PULL_ALLOC(ndr, r->out.num_entries);
7462 ZERO_STRUCTP(r->out.num_entries);
7464 if (flags & NDR_OUT) {
7465 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7466 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7468 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7469 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7470 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
7471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7472 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7473 NDR_PULL_ALLOC(ndr, r->out.sam);
7475 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
7476 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
7477 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
7479 NDR_PULL_ALLOC(ndr, *r->out.sam);
7484 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
7485 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
7486 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7487 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
7489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
7490 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7491 NDR_PULL_ALLOC(ndr, r->out.num_entries);
7493 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
7494 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
7495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
7496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
7497 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7499 return NDR_ERR_SUCCESS;
7502 _PUBLIC_ void ndr_print_samr_EnumDomainAliases(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainAliases *r)
7504 ndr_print_struct(ndr, name, "samr_EnumDomainAliases");
7505 if (r == NULL) { ndr_print_null(ndr); return; }
7507 if (flags & NDR_SET_VALUES) {
7508 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7510 if (flags & NDR_IN) {
7511 ndr_print_struct(ndr, "in", "samr_EnumDomainAliases");
7513 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7515 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7517 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
7519 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
7521 ndr_print_uint32(ndr, "max_size", r->in.max_size);
7524 if (flags & NDR_OUT) {
7525 ndr_print_struct(ndr, "out", "samr_EnumDomainAliases");
7527 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
7529 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
7531 ndr_print_ptr(ndr, "sam", r->out.sam);
7533 ndr_print_ptr(ndr, "sam", *r->out.sam);
7536 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
7540 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
7542 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
7544 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7550 static enum ndr_err_code ndr_push_samr_GetAliasMembership(struct ndr_push *ndr, int flags, const struct samr_GetAliasMembership *r)
7552 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7553 if (flags & NDR_IN) {
7554 if (r->in.domain_handle == NULL) {
7555 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7557 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7558 if (r->in.sids == NULL) {
7559 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7561 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7563 if (flags & NDR_OUT) {
7564 if (r->out.rids == NULL) {
7565 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7567 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7568 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7570 return NDR_ERR_SUCCESS;
7573 static enum ndr_err_code ndr_pull_samr_GetAliasMembership(struct ndr_pull *ndr, int flags, struct samr_GetAliasMembership *r)
7575 TALLOC_CTX *_mem_save_domain_handle_0;
7576 TALLOC_CTX *_mem_save_sids_0;
7577 TALLOC_CTX *_mem_save_rids_0;
7578 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7579 if (flags & NDR_IN) {
7580 ZERO_STRUCT(r->out);
7582 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7583 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7585 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7586 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7587 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7589 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7590 NDR_PULL_ALLOC(ndr, r->in.sids);
7592 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7593 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
7594 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7595 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
7596 NDR_PULL_ALLOC(ndr, r->out.rids);
7597 ZERO_STRUCTP(r->out.rids);
7599 if (flags & NDR_OUT) {
7600 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7601 NDR_PULL_ALLOC(ndr, r->out.rids);
7603 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7604 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7605 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7606 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7607 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7609 return NDR_ERR_SUCCESS;
7612 _PUBLIC_ void ndr_print_samr_GetAliasMembership(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetAliasMembership *r)
7614 ndr_print_struct(ndr, name, "samr_GetAliasMembership");
7615 if (r == NULL) { ndr_print_null(ndr); return; }
7617 if (flags & NDR_SET_VALUES) {
7618 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7620 if (flags & NDR_IN) {
7621 ndr_print_struct(ndr, "in", "samr_GetAliasMembership");
7623 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7625 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7627 ndr_print_ptr(ndr, "sids", r->in.sids);
7629 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
7633 if (flags & NDR_OUT) {
7634 ndr_print_struct(ndr, "out", "samr_GetAliasMembership");
7636 ndr_print_ptr(ndr, "rids", r->out.rids);
7638 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
7640 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7646 _PUBLIC_ enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int flags, const struct samr_LookupNames *r)
7648 uint32_t cntr_names_0;
7649 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7650 if (flags & NDR_IN) {
7651 if (r->in.domain_handle == NULL) {
7652 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7654 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7655 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
7656 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
7657 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7658 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
7659 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7660 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7662 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7663 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7666 if (flags & NDR_OUT) {
7667 if (r->out.rids == NULL) {
7668 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7670 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7671 if (r->out.types == NULL) {
7672 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7674 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7675 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7677 return NDR_ERR_SUCCESS;
7680 _PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r)
7682 uint32_t size_names_0 = 0;
7683 uint32_t length_names_0 = 0;
7684 uint32_t cntr_names_0;
7685 TALLOC_CTX *_mem_save_domain_handle_0;
7686 TALLOC_CTX *_mem_save_names_0;
7687 TALLOC_CTX *_mem_save_rids_0;
7688 TALLOC_CTX *_mem_save_types_0;
7689 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7690 if (flags & NDR_IN) {
7691 ZERO_STRUCT(r->out);
7693 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7694 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7696 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7697 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7698 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7699 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7700 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
7701 if (r->in.num_names > 1000) {
7702 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7704 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
7705 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names));
7706 size_names_0 = ndr_get_array_size(ndr, &r->in.names);
7707 length_names_0 = ndr_get_array_length(ndr, &r->in.names);
7708 if (length_names_0 > size_names_0) {
7709 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_names_0, length_names_0);
7711 NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
7712 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
7713 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
7714 for (cntr_names_0 = 0; cntr_names_0 < length_names_0; cntr_names_0++) {
7715 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7717 for (cntr_names_0 = 0; cntr_names_0 < length_names_0; cntr_names_0++) {
7718 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
7721 NDR_PULL_ALLOC(ndr, r->out.rids);
7722 ZERO_STRUCTP(r->out.rids);
7723 NDR_PULL_ALLOC(ndr, r->out.types);
7724 ZERO_STRUCTP(r->out.types);
7726 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, 1000));
7729 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.names, r->in.num_names));
7732 if (flags & NDR_OUT) {
7733 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7734 NDR_PULL_ALLOC(ndr, r->out.rids);
7736 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7737 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7738 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7740 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7741 NDR_PULL_ALLOC(ndr, r->out.types);
7743 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
7744 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
7745 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7746 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
7747 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7749 return NDR_ERR_SUCCESS;
7752 _PUBLIC_ void ndr_print_samr_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupNames *r)
7754 uint32_t cntr_names_0;
7755 ndr_print_struct(ndr, name, "samr_LookupNames");
7756 if (r == NULL) { ndr_print_null(ndr); return; }
7758 if (flags & NDR_SET_VALUES) {
7759 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7761 if (flags & NDR_IN) {
7762 ndr_print_struct(ndr, "in", "samr_LookupNames");
7764 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7766 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7768 ndr_print_uint32(ndr, "num_names", r->in.num_names);
7769 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
7771 for (cntr_names_0=0;cntr_names_0<r->in.num_names;cntr_names_0++) {
7772 ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
7777 if (flags & NDR_OUT) {
7778 ndr_print_struct(ndr, "out", "samr_LookupNames");
7780 ndr_print_ptr(ndr, "rids", r->out.rids);
7782 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
7784 ndr_print_ptr(ndr, "types", r->out.types);
7786 ndr_print_samr_Ids(ndr, "types", r->out.types);
7788 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7794 static enum ndr_err_code ndr_push_samr_LookupRids(struct ndr_push *ndr, int flags, const struct samr_LookupRids *r)
7796 uint32_t cntr_rids_0;
7797 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7798 if (flags & NDR_IN) {
7799 if (r->in.domain_handle == NULL) {
7800 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7802 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids));
7804 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
7805 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7806 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_rids));
7807 for (cntr_rids_0 = 0; cntr_rids_0 < r->in.num_rids; cntr_rids_0++) {
7808 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rids[cntr_rids_0]));
7811 if (flags & NDR_OUT) {
7812 if (r->out.names == NULL) {
7813 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7815 NDR_CHECK(ndr_push_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
7816 if (r->out.types == NULL) {
7817 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7819 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7820 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7822 return NDR_ERR_SUCCESS;
7825 static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r)
7827 uint32_t size_rids_0 = 0;
7828 uint32_t length_rids_0 = 0;
7829 uint32_t cntr_rids_0;
7830 TALLOC_CTX *_mem_save_domain_handle_0;
7831 TALLOC_CTX *_mem_save_rids_0;
7832 TALLOC_CTX *_mem_save_names_0;
7833 TALLOC_CTX *_mem_save_types_0;
7834 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7835 if (flags & NDR_IN) {
7836 ZERO_STRUCT(r->out);
7838 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7839 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7841 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7842 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7843 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7844 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_rids));
7846 if (r->in.num_rids > 1000) {
7847 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7849 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids));
7850 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids));
7851 size_rids_0 = ndr_get_array_size(ndr, &r->in.rids);
7852 length_rids_0 = ndr_get_array_length(ndr, &r->in.rids);
7853 if (length_rids_0 > size_rids_0) {
7854 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_rids_0, length_rids_0);
7856 NDR_PULL_ALLOC_N(ndr, r->in.rids, size_rids_0);
7857 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7858 NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0);
7859 for (cntr_rids_0 = 0; cntr_rids_0 < length_rids_0; cntr_rids_0++) {
7860 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0]));
7862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
7863 NDR_PULL_ALLOC(ndr, r->out.names);
7864 ZERO_STRUCTP(r->out.names);
7865 NDR_PULL_ALLOC(ndr, r->out.types);
7866 ZERO_STRUCTP(r->out.types);
7868 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.rids, 1000));
7871 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.rids, r->in.num_rids));
7874 if (flags & NDR_OUT) {
7875 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7876 NDR_PULL_ALLOC(ndr, r->out.names);
7878 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
7879 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
7880 NDR_CHECK(ndr_pull_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
7881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
7882 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7883 NDR_PULL_ALLOC(ndr, r->out.types);
7885 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
7886 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
7887 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7888 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
7889 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7891 return NDR_ERR_SUCCESS;
7894 _PUBLIC_ void ndr_print_samr_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupRids *r)
7896 uint32_t cntr_rids_0;
7897 ndr_print_struct(ndr, name, "samr_LookupRids");
7898 if (r == NULL) { ndr_print_null(ndr); return; }
7900 if (flags & NDR_SET_VALUES) {
7901 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7903 if (flags & NDR_IN) {
7904 ndr_print_struct(ndr, "in", "samr_LookupRids");
7906 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7908 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7910 ndr_print_uint32(ndr, "num_rids", r->in.num_rids);
7911 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->in.num_rids);
7913 for (cntr_rids_0=0;cntr_rids_0<r->in.num_rids;cntr_rids_0++) {
7914 ndr_print_uint32(ndr, "rids", r->in.rids[cntr_rids_0]);
7919 if (flags & NDR_OUT) {
7920 ndr_print_struct(ndr, "out", "samr_LookupRids");
7922 ndr_print_ptr(ndr, "names", r->out.names);
7924 ndr_print_lsa_Strings(ndr, "names", r->out.names);
7926 ndr_print_ptr(ndr, "types", r->out.types);
7928 ndr_print_samr_Ids(ndr, "types", r->out.types);
7930 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7936 static enum ndr_err_code ndr_push_samr_OpenGroup(struct ndr_push *ndr, int flags, const struct samr_OpenGroup *r)
7938 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
7939 if (flags & NDR_IN) {
7940 if (r->in.domain_handle == NULL) {
7941 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7943 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7944 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7947 if (flags & NDR_OUT) {
7948 if (r->out.group_handle == NULL) {
7949 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7951 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7952 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7954 return NDR_ERR_SUCCESS;
7957 static enum ndr_err_code ndr_pull_samr_OpenGroup(struct ndr_pull *ndr, int flags, struct samr_OpenGroup *r)
7959 TALLOC_CTX *_mem_save_domain_handle_0;
7960 TALLOC_CTX *_mem_save_group_handle_0;
7961 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
7962 if (flags & NDR_IN) {
7963 ZERO_STRUCT(r->out);
7965 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7966 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7968 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7969 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7970 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7972 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7973 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7974 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7975 ZERO_STRUCTP(r->out.group_handle);
7977 if (flags & NDR_OUT) {
7978 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7979 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7981 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7982 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
7983 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7984 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7985 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7987 return NDR_ERR_SUCCESS;
7990 _PUBLIC_ void ndr_print_samr_OpenGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenGroup *r)
7992 ndr_print_struct(ndr, name, "samr_OpenGroup");
7993 if (r == NULL) { ndr_print_null(ndr); return; }
7995 if (flags & NDR_SET_VALUES) {
7996 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7998 if (flags & NDR_IN) {
7999 ndr_print_struct(ndr, "in", "samr_OpenGroup");
8001 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8003 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8005 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
8006 ndr_print_uint32(ndr, "rid", r->in.rid);
8009 if (flags & NDR_OUT) {
8010 ndr_print_struct(ndr, "out", "samr_OpenGroup");
8012 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
8014 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
8016 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8022 static enum ndr_err_code ndr_push_samr_QueryGroupInfo(struct ndr_push *ndr, int flags, const struct samr_QueryGroupInfo *r)
8024 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8025 if (flags & NDR_IN) {
8026 if (r->in.group_handle == NULL) {
8027 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8029 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8030 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
8032 if (flags & NDR_OUT) {
8033 if (r->out.info == NULL) {
8034 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8036 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8038 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8039 NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8041 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8043 return NDR_ERR_SUCCESS;
8046 static enum ndr_err_code ndr_pull_samr_QueryGroupInfo(struct ndr_pull *ndr, int flags, struct samr_QueryGroupInfo *r)
8049 TALLOC_CTX *_mem_save_group_handle_0;
8050 TALLOC_CTX *_mem_save_info_0;
8051 TALLOC_CTX *_mem_save_info_1;
8052 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8053 if (flags & NDR_IN) {
8054 ZERO_STRUCT(r->out);
8056 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8057 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8059 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8060 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8061 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8063 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8064 NDR_PULL_ALLOC(ndr, r->out.info);
8065 ZERO_STRUCTP(r->out.info);
8067 if (flags & NDR_OUT) {
8068 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8069 NDR_PULL_ALLOC(ndr, r->out.info);
8071 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8072 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8073 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8075 NDR_PULL_ALLOC(ndr, *r->out.info);
8077 *r->out.info = NULL;
8080 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8081 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8082 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
8083 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8086 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8087 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8089 return NDR_ERR_SUCCESS;
8092 _PUBLIC_ void ndr_print_samr_QueryGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupInfo *r)
8094 ndr_print_struct(ndr, name, "samr_QueryGroupInfo");
8095 if (r == NULL) { ndr_print_null(ndr); return; }
8097 if (flags & NDR_SET_VALUES) {
8098 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8100 if (flags & NDR_IN) {
8101 ndr_print_struct(ndr, "in", "samr_QueryGroupInfo");
8103 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8105 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8107 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
8110 if (flags & NDR_OUT) {
8111 ndr_print_struct(ndr, "out", "samr_QueryGroupInfo");
8113 ndr_print_ptr(ndr, "info", r->out.info);
8115 ndr_print_ptr(ndr, "info", *r->out.info);
8118 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
8119 ndr_print_samr_GroupInfo(ndr, "info", *r->out.info);
8123 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8129 static enum ndr_err_code ndr_push_samr_SetGroupInfo(struct ndr_push *ndr, int flags, const struct samr_SetGroupInfo *r)
8131 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8132 if (flags & NDR_IN) {
8133 if (r->in.group_handle == NULL) {
8134 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8136 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8137 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
8138 if (r->in.info == NULL) {
8139 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8141 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
8142 NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8144 if (flags & NDR_OUT) {
8145 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8147 return NDR_ERR_SUCCESS;
8150 static enum ndr_err_code ndr_pull_samr_SetGroupInfo(struct ndr_pull *ndr, int flags, struct samr_SetGroupInfo *r)
8152 TALLOC_CTX *_mem_save_group_handle_0;
8153 TALLOC_CTX *_mem_save_info_0;
8154 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8155 if (flags & NDR_IN) {
8156 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8157 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8159 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8160 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8161 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8162 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8163 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8164 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8165 NDR_PULL_ALLOC(ndr, r->in.info);
8167 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8168 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
8169 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
8170 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8173 if (flags & NDR_OUT) {
8174 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8176 return NDR_ERR_SUCCESS;
8179 _PUBLIC_ void ndr_print_samr_SetGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetGroupInfo *r)
8181 ndr_print_struct(ndr, name, "samr_SetGroupInfo");
8182 if (r == NULL) { ndr_print_null(ndr); return; }
8184 if (flags & NDR_SET_VALUES) {
8185 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8187 if (flags & NDR_IN) {
8188 ndr_print_struct(ndr, "in", "samr_SetGroupInfo");
8190 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8192 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8194 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
8195 ndr_print_ptr(ndr, "info", r->in.info);
8197 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
8198 ndr_print_samr_GroupInfo(ndr, "info", r->in.info);
8202 if (flags & NDR_OUT) {
8203 ndr_print_struct(ndr, "out", "samr_SetGroupInfo");
8205 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8211 static enum ndr_err_code ndr_push_samr_AddGroupMember(struct ndr_push *ndr, int flags, const struct samr_AddGroupMember *r)
8213 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8214 if (flags & NDR_IN) {
8215 if (r->in.group_handle == NULL) {
8216 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8218 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8219 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
8222 if (flags & NDR_OUT) {
8223 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8225 return NDR_ERR_SUCCESS;
8228 static enum ndr_err_code ndr_pull_samr_AddGroupMember(struct ndr_pull *ndr, int flags, struct samr_AddGroupMember *r)
8230 TALLOC_CTX *_mem_save_group_handle_0;
8231 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8232 if (flags & NDR_IN) {
8233 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8234 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8236 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8237 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8238 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8239 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8240 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8241 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
8243 if (flags & NDR_OUT) {
8244 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8246 return NDR_ERR_SUCCESS;
8249 _PUBLIC_ void ndr_print_samr_AddGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddGroupMember *r)
8251 ndr_print_struct(ndr, name, "samr_AddGroupMember");
8252 if (r == NULL) { ndr_print_null(ndr); return; }
8254 if (flags & NDR_SET_VALUES) {
8255 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8257 if (flags & NDR_IN) {
8258 ndr_print_struct(ndr, "in", "samr_AddGroupMember");
8260 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8262 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8264 ndr_print_uint32(ndr, "rid", r->in.rid);
8265 ndr_print_uint32(ndr, "flags", r->in.flags);
8268 if (flags & NDR_OUT) {
8269 ndr_print_struct(ndr, "out", "samr_AddGroupMember");
8271 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8277 static enum ndr_err_code ndr_push_samr_DeleteDomainGroup(struct ndr_push *ndr, int flags, const struct samr_DeleteDomainGroup *r)
8279 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8280 if (flags & NDR_IN) {
8281 if (r->in.group_handle == NULL) {
8282 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8284 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8286 if (flags & NDR_OUT) {
8287 if (r->out.group_handle == NULL) {
8288 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8290 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
8291 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8293 return NDR_ERR_SUCCESS;
8296 static enum ndr_err_code ndr_pull_samr_DeleteDomainGroup(struct ndr_pull *ndr, int flags, struct samr_DeleteDomainGroup *r)
8298 TALLOC_CTX *_mem_save_group_handle_0;
8299 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8300 if (flags & NDR_IN) {
8301 ZERO_STRUCT(r->out);
8303 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8304 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8306 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8307 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8308 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8310 NDR_PULL_ALLOC(ndr, r->out.group_handle);
8311 *r->out.group_handle = *r->in.group_handle;
8313 if (flags & NDR_OUT) {
8314 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8315 NDR_PULL_ALLOC(ndr, r->out.group_handle);
8317 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8318 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
8319 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
8320 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8321 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8323 return NDR_ERR_SUCCESS;
8326 _PUBLIC_ void ndr_print_samr_DeleteDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomainGroup *r)
8328 ndr_print_struct(ndr, name, "samr_DeleteDomainGroup");
8329 if (r == NULL) { ndr_print_null(ndr); return; }
8331 if (flags & NDR_SET_VALUES) {
8332 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8334 if (flags & NDR_IN) {
8335 ndr_print_struct(ndr, "in", "samr_DeleteDomainGroup");
8337 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8339 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8343 if (flags & NDR_OUT) {
8344 ndr_print_struct(ndr, "out", "samr_DeleteDomainGroup");
8346 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
8348 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
8350 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8356 static enum ndr_err_code ndr_push_samr_DeleteGroupMember(struct ndr_push *ndr, int flags, const struct samr_DeleteGroupMember *r)
8358 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8359 if (flags & NDR_IN) {
8360 if (r->in.group_handle == NULL) {
8361 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8363 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8364 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8366 if (flags & NDR_OUT) {
8367 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8369 return NDR_ERR_SUCCESS;
8372 static enum ndr_err_code ndr_pull_samr_DeleteGroupMember(struct ndr_pull *ndr, int flags, struct samr_DeleteGroupMember *r)
8374 TALLOC_CTX *_mem_save_group_handle_0;
8375 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8376 if (flags & NDR_IN) {
8377 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8378 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8380 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8381 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8382 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8384 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8386 if (flags & NDR_OUT) {
8387 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8389 return NDR_ERR_SUCCESS;
8392 _PUBLIC_ void ndr_print_samr_DeleteGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteGroupMember *r)
8394 ndr_print_struct(ndr, name, "samr_DeleteGroupMember");
8395 if (r == NULL) { ndr_print_null(ndr); return; }
8397 if (flags & NDR_SET_VALUES) {
8398 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8400 if (flags & NDR_IN) {
8401 ndr_print_struct(ndr, "in", "samr_DeleteGroupMember");
8403 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8405 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8407 ndr_print_uint32(ndr, "rid", r->in.rid);
8410 if (flags & NDR_OUT) {
8411 ndr_print_struct(ndr, "out", "samr_DeleteGroupMember");
8413 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8419 static enum ndr_err_code ndr_push_samr_QueryGroupMember(struct ndr_push *ndr, int flags, const struct samr_QueryGroupMember *r)
8421 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8422 if (flags & NDR_IN) {
8423 if (r->in.group_handle == NULL) {
8424 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8426 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8428 if (flags & NDR_OUT) {
8429 if (r->out.rids == NULL) {
8430 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8432 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
8434 NDR_CHECK(ndr_push_samr_RidAttrArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
8436 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8438 return NDR_ERR_SUCCESS;
8441 static enum ndr_err_code ndr_pull_samr_QueryGroupMember(struct ndr_pull *ndr, int flags, struct samr_QueryGroupMember *r)
8444 TALLOC_CTX *_mem_save_group_handle_0;
8445 TALLOC_CTX *_mem_save_rids_0;
8446 TALLOC_CTX *_mem_save_rids_1;
8447 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8448 if (flags & NDR_IN) {
8449 ZERO_STRUCT(r->out);
8451 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8452 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8454 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8455 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8456 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8458 NDR_PULL_ALLOC(ndr, r->out.rids);
8459 ZERO_STRUCTP(r->out.rids);
8461 if (flags & NDR_OUT) {
8462 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8463 NDR_PULL_ALLOC(ndr, r->out.rids);
8465 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
8466 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
8467 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
8469 NDR_PULL_ALLOC(ndr, *r->out.rids);
8471 *r->out.rids = NULL;
8474 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
8475 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
8476 NDR_CHECK(ndr_pull_samr_RidAttrArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
8477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
8479 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
8480 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8482 return NDR_ERR_SUCCESS;
8485 _PUBLIC_ void ndr_print_samr_QueryGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupMember *r)
8487 ndr_print_struct(ndr, name, "samr_QueryGroupMember");
8488 if (r == NULL) { ndr_print_null(ndr); return; }
8490 if (flags & NDR_SET_VALUES) {
8491 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8493 if (flags & NDR_IN) {
8494 ndr_print_struct(ndr, "in", "samr_QueryGroupMember");
8496 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8498 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8502 if (flags & NDR_OUT) {
8503 ndr_print_struct(ndr, "out", "samr_QueryGroupMember");
8505 ndr_print_ptr(ndr, "rids", r->out.rids);
8507 ndr_print_ptr(ndr, "rids", *r->out.rids);
8510 ndr_print_samr_RidAttrArray(ndr, "rids", *r->out.rids);
8514 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8520 static enum ndr_err_code ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push *ndr, int flags, const struct samr_SetMemberAttributesOfGroup *r)
8522 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8523 if (flags & NDR_IN) {
8524 if (r->in.group_handle == NULL) {
8525 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8527 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
8529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
8531 if (flags & NDR_OUT) {
8532 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8534 return NDR_ERR_SUCCESS;
8537 static enum ndr_err_code ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull *ndr, int flags, struct samr_SetMemberAttributesOfGroup *r)
8539 TALLOC_CTX *_mem_save_group_handle_0;
8540 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8541 if (flags & NDR_IN) {
8542 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8543 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8545 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8546 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8547 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8548 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8549 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
8550 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
8552 if (flags & NDR_OUT) {
8553 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8555 return NDR_ERR_SUCCESS;
8558 _PUBLIC_ void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetMemberAttributesOfGroup *r)
8560 ndr_print_struct(ndr, name, "samr_SetMemberAttributesOfGroup");
8561 if (r == NULL) { ndr_print_null(ndr); return; }
8563 if (flags & NDR_SET_VALUES) {
8564 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8566 if (flags & NDR_IN) {
8567 ndr_print_struct(ndr, "in", "samr_SetMemberAttributesOfGroup");
8569 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8571 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8573 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
8574 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
8577 if (flags & NDR_OUT) {
8578 ndr_print_struct(ndr, "out", "samr_SetMemberAttributesOfGroup");
8580 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8586 static enum ndr_err_code ndr_push_samr_OpenAlias(struct ndr_push *ndr, int flags, const struct samr_OpenAlias *r)
8588 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8589 if (flags & NDR_IN) {
8590 if (r->in.domain_handle == NULL) {
8591 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8593 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8594 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
8595 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8597 if (flags & NDR_OUT) {
8598 if (r->out.alias_handle == NULL) {
8599 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8601 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8602 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8604 return NDR_ERR_SUCCESS;
8607 static enum ndr_err_code ndr_pull_samr_OpenAlias(struct ndr_pull *ndr, int flags, struct samr_OpenAlias *r)
8609 TALLOC_CTX *_mem_save_domain_handle_0;
8610 TALLOC_CTX *_mem_save_alias_handle_0;
8611 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8612 if (flags & NDR_IN) {
8613 ZERO_STRUCT(r->out);
8615 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8616 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8618 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8619 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8620 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8621 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8622 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8623 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8624 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8625 ZERO_STRUCTP(r->out.alias_handle);
8627 if (flags & NDR_OUT) {
8628 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8629 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8631 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8632 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8633 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8634 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8635 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8637 return NDR_ERR_SUCCESS;
8640 _PUBLIC_ void ndr_print_samr_OpenAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenAlias *r)
8642 ndr_print_struct(ndr, name, "samr_OpenAlias");
8643 if (r == NULL) { ndr_print_null(ndr); return; }
8645 if (flags & NDR_SET_VALUES) {
8646 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8648 if (flags & NDR_IN) {
8649 ndr_print_struct(ndr, "in", "samr_OpenAlias");
8651 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8653 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8655 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
8656 ndr_print_uint32(ndr, "rid", r->in.rid);
8659 if (flags & NDR_OUT) {
8660 ndr_print_struct(ndr, "out", "samr_OpenAlias");
8662 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
8664 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
8666 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8672 static enum ndr_err_code ndr_push_samr_QueryAliasInfo(struct ndr_push *ndr, int flags, const struct samr_QueryAliasInfo *r)
8674 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8675 if (flags & NDR_IN) {
8676 if (r->in.alias_handle == NULL) {
8677 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8679 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8680 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
8682 if (flags & NDR_OUT) {
8683 if (r->out.info == NULL) {
8684 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8686 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8688 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8689 NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8691 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8693 return NDR_ERR_SUCCESS;
8696 static enum ndr_err_code ndr_pull_samr_QueryAliasInfo(struct ndr_pull *ndr, int flags, struct samr_QueryAliasInfo *r)
8699 TALLOC_CTX *_mem_save_alias_handle_0;
8700 TALLOC_CTX *_mem_save_info_0;
8701 TALLOC_CTX *_mem_save_info_1;
8702 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8703 if (flags & NDR_IN) {
8704 ZERO_STRUCT(r->out);
8706 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8707 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8709 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8710 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8711 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8712 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8713 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8714 NDR_PULL_ALLOC(ndr, r->out.info);
8715 ZERO_STRUCTP(r->out.info);
8717 if (flags & NDR_OUT) {
8718 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8719 NDR_PULL_ALLOC(ndr, r->out.info);
8721 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8722 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8723 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8725 NDR_PULL_ALLOC(ndr, *r->out.info);
8727 *r->out.info = NULL;
8730 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8731 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8732 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
8733 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8734 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8736 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8737 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8739 return NDR_ERR_SUCCESS;
8742 _PUBLIC_ void ndr_print_samr_QueryAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryAliasInfo *r)
8744 ndr_print_struct(ndr, name, "samr_QueryAliasInfo");
8745 if (r == NULL) { ndr_print_null(ndr); return; }
8747 if (flags & NDR_SET_VALUES) {
8748 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8750 if (flags & NDR_IN) {
8751 ndr_print_struct(ndr, "in", "samr_QueryAliasInfo");
8753 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8755 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8757 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
8760 if (flags & NDR_OUT) {
8761 ndr_print_struct(ndr, "out", "samr_QueryAliasInfo");
8763 ndr_print_ptr(ndr, "info", r->out.info);
8765 ndr_print_ptr(ndr, "info", *r->out.info);
8768 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
8769 ndr_print_samr_AliasInfo(ndr, "info", *r->out.info);
8773 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8779 static enum ndr_err_code ndr_push_samr_SetAliasInfo(struct ndr_push *ndr, int flags, const struct samr_SetAliasInfo *r)
8781 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8782 if (flags & NDR_IN) {
8783 if (r->in.alias_handle == NULL) {
8784 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8786 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8787 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
8788 if (r->in.info == NULL) {
8789 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8791 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
8792 NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8794 if (flags & NDR_OUT) {
8795 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8797 return NDR_ERR_SUCCESS;
8800 static enum ndr_err_code ndr_pull_samr_SetAliasInfo(struct ndr_pull *ndr, int flags, struct samr_SetAliasInfo *r)
8802 TALLOC_CTX *_mem_save_alias_handle_0;
8803 TALLOC_CTX *_mem_save_info_0;
8804 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8805 if (flags & NDR_IN) {
8806 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8807 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8809 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8810 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8811 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8812 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8813 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8814 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8815 NDR_PULL_ALLOC(ndr, r->in.info);
8817 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8818 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
8819 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
8820 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8821 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8823 if (flags & NDR_OUT) {
8824 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8826 return NDR_ERR_SUCCESS;
8829 _PUBLIC_ void ndr_print_samr_SetAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetAliasInfo *r)
8831 ndr_print_struct(ndr, name, "samr_SetAliasInfo");
8832 if (r == NULL) { ndr_print_null(ndr); return; }
8834 if (flags & NDR_SET_VALUES) {
8835 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8837 if (flags & NDR_IN) {
8838 ndr_print_struct(ndr, "in", "samr_SetAliasInfo");
8840 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8842 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8844 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
8845 ndr_print_ptr(ndr, "info", r->in.info);
8847 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
8848 ndr_print_samr_AliasInfo(ndr, "info", r->in.info);
8852 if (flags & NDR_OUT) {
8853 ndr_print_struct(ndr, "out", "samr_SetAliasInfo");
8855 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8861 static enum ndr_err_code ndr_push_samr_DeleteDomAlias(struct ndr_push *ndr, int flags, const struct samr_DeleteDomAlias *r)
8863 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8864 if (flags & NDR_IN) {
8865 if (r->in.alias_handle == NULL) {
8866 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8868 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8870 if (flags & NDR_OUT) {
8871 if (r->out.alias_handle == NULL) {
8872 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8874 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8875 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8877 return NDR_ERR_SUCCESS;
8880 static enum ndr_err_code ndr_pull_samr_DeleteDomAlias(struct ndr_pull *ndr, int flags, struct samr_DeleteDomAlias *r)
8882 TALLOC_CTX *_mem_save_alias_handle_0;
8883 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8884 if (flags & NDR_IN) {
8885 ZERO_STRUCT(r->out);
8887 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8888 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8890 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8891 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8892 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8893 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8894 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8895 *r->out.alias_handle = *r->in.alias_handle;
8897 if (flags & NDR_OUT) {
8898 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8899 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8901 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8902 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8903 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8904 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8905 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8907 return NDR_ERR_SUCCESS;
8910 _PUBLIC_ void ndr_print_samr_DeleteDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomAlias *r)
8912 ndr_print_struct(ndr, name, "samr_DeleteDomAlias");
8913 if (r == NULL) { ndr_print_null(ndr); return; }
8915 if (flags & NDR_SET_VALUES) {
8916 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8918 if (flags & NDR_IN) {
8919 ndr_print_struct(ndr, "in", "samr_DeleteDomAlias");
8921 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8923 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8927 if (flags & NDR_OUT) {
8928 ndr_print_struct(ndr, "out", "samr_DeleteDomAlias");
8930 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
8932 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
8934 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8940 static enum ndr_err_code ndr_push_samr_AddAliasMember(struct ndr_push *ndr, int flags, const struct samr_AddAliasMember *r)
8942 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
8943 if (flags & NDR_IN) {
8944 if (r->in.alias_handle == NULL) {
8945 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8947 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8948 if (r->in.sid == NULL) {
8949 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8951 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8953 if (flags & NDR_OUT) {
8954 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8956 return NDR_ERR_SUCCESS;
8959 static enum ndr_err_code ndr_pull_samr_AddAliasMember(struct ndr_pull *ndr, int flags, struct samr_AddAliasMember *r)
8961 TALLOC_CTX *_mem_save_alias_handle_0;
8962 TALLOC_CTX *_mem_save_sid_0;
8963 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
8964 if (flags & NDR_IN) {
8965 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8966 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8968 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8969 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8970 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8972 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8973 NDR_PULL_ALLOC(ndr, r->in.sid);
8975 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8976 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
8977 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
8980 if (flags & NDR_OUT) {
8981 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8983 return NDR_ERR_SUCCESS;
8986 _PUBLIC_ void ndr_print_samr_AddAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddAliasMember *r)
8988 ndr_print_struct(ndr, name, "samr_AddAliasMember");
8989 if (r == NULL) { ndr_print_null(ndr); return; }
8991 if (flags & NDR_SET_VALUES) {
8992 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8994 if (flags & NDR_IN) {
8995 ndr_print_struct(ndr, "in", "samr_AddAliasMember");
8997 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8999 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
9001 ndr_print_ptr(ndr, "sid", r->in.sid);
9003 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
9007 if (flags & NDR_OUT) {
9008 ndr_print_struct(ndr, "out", "samr_AddAliasMember");
9010 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9016 static enum ndr_err_code ndr_push_samr_DeleteAliasMember(struct ndr_push *ndr, int flags, const struct samr_DeleteAliasMember *r)
9018 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9019 if (flags & NDR_IN) {
9020 if (r->in.alias_handle == NULL) {
9021 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9023 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9024 if (r->in.sid == NULL) {
9025 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9027 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9029 if (flags & NDR_OUT) {
9030 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9032 return NDR_ERR_SUCCESS;
9035 static enum ndr_err_code ndr_pull_samr_DeleteAliasMember(struct ndr_pull *ndr, int flags, struct samr_DeleteAliasMember *r)
9037 TALLOC_CTX *_mem_save_alias_handle_0;
9038 TALLOC_CTX *_mem_save_sid_0;
9039 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9040 if (flags & NDR_IN) {
9041 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9042 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9044 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9045 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
9046 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9047 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
9048 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9049 NDR_PULL_ALLOC(ndr, r->in.sid);
9051 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9052 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
9053 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
9056 if (flags & NDR_OUT) {
9057 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9059 return NDR_ERR_SUCCESS;
9062 _PUBLIC_ void ndr_print_samr_DeleteAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteAliasMember *r)
9064 ndr_print_struct(ndr, name, "samr_DeleteAliasMember");
9065 if (r == NULL) { ndr_print_null(ndr); return; }
9067 if (flags & NDR_SET_VALUES) {
9068 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9070 if (flags & NDR_IN) {
9071 ndr_print_struct(ndr, "in", "samr_DeleteAliasMember");
9073 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
9075 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
9077 ndr_print_ptr(ndr, "sid", r->in.sid);
9079 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
9083 if (flags & NDR_OUT) {
9084 ndr_print_struct(ndr, "out", "samr_DeleteAliasMember");
9086 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9092 static enum ndr_err_code ndr_push_samr_GetMembersInAlias(struct ndr_push *ndr, int flags, const struct samr_GetMembersInAlias *r)
9094 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9095 if (flags & NDR_IN) {
9096 if (r->in.alias_handle == NULL) {
9097 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9099 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9101 if (flags & NDR_OUT) {
9102 if (r->out.sids == NULL) {
9103 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9105 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
9106 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9108 return NDR_ERR_SUCCESS;
9111 static enum ndr_err_code ndr_pull_samr_GetMembersInAlias(struct ndr_pull *ndr, int flags, struct samr_GetMembersInAlias *r)
9113 TALLOC_CTX *_mem_save_alias_handle_0;
9114 TALLOC_CTX *_mem_save_sids_0;
9115 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9116 if (flags & NDR_IN) {
9117 ZERO_STRUCT(r->out);
9119 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9120 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
9122 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9123 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
9124 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
9125 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
9126 NDR_PULL_ALLOC(ndr, r->out.sids);
9127 ZERO_STRUCTP(r->out.sids);
9129 if (flags & NDR_OUT) {
9130 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9131 NDR_PULL_ALLOC(ndr, r->out.sids);
9133 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
9134 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
9135 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
9136 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
9137 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9139 return NDR_ERR_SUCCESS;
9142 _PUBLIC_ void ndr_print_samr_GetMembersInAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetMembersInAlias *r)
9144 ndr_print_struct(ndr, name, "samr_GetMembersInAlias");
9145 if (r == NULL) { ndr_print_null(ndr); return; }
9147 if (flags & NDR_SET_VALUES) {
9148 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9150 if (flags & NDR_IN) {
9151 ndr_print_struct(ndr, "in", "samr_GetMembersInAlias");
9153 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
9155 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
9159 if (flags & NDR_OUT) {
9160 ndr_print_struct(ndr, "out", "samr_GetMembersInAlias");
9162 ndr_print_ptr(ndr, "sids", r->out.sids);
9164 ndr_print_lsa_SidArray(ndr, "sids", r->out.sids);
9166 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9172 _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenUser(struct ndr_push *ndr, int flags, const struct samr_OpenUser *r)
9174 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9175 if (flags & NDR_IN) {
9176 if (r->in.domain_handle == NULL) {
9177 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9179 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9180 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
9181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
9183 if (flags & NDR_OUT) {
9184 if (r->out.user_handle == NULL) {
9185 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9187 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
9188 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9190 return NDR_ERR_SUCCESS;
9193 _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenUser(struct ndr_pull *ndr, int flags, struct samr_OpenUser *r)
9195 TALLOC_CTX *_mem_save_domain_handle_0;
9196 TALLOC_CTX *_mem_save_user_handle_0;
9197 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9198 if (flags & NDR_IN) {
9199 ZERO_STRUCT(r->out);
9201 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9202 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9204 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9205 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9206 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9208 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
9209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
9210 NDR_PULL_ALLOC(ndr, r->out.user_handle);
9211 ZERO_STRUCTP(r->out.user_handle);
9213 if (flags & NDR_OUT) {
9214 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9215 NDR_PULL_ALLOC(ndr, r->out.user_handle);
9217 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9218 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
9219 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
9220 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9221 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9223 return NDR_ERR_SUCCESS;
9226 _PUBLIC_ void ndr_print_samr_OpenUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenUser *r)
9228 ndr_print_struct(ndr, name, "samr_OpenUser");
9229 if (r == NULL) { ndr_print_null(ndr); return; }
9231 if (flags & NDR_SET_VALUES) {
9232 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9234 if (flags & NDR_IN) {
9235 ndr_print_struct(ndr, "in", "samr_OpenUser");
9237 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9239 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9241 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
9242 ndr_print_uint32(ndr, "rid", r->in.rid);
9245 if (flags & NDR_OUT) {
9246 ndr_print_struct(ndr, "out", "samr_OpenUser");
9248 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
9250 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
9252 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9258 static enum ndr_err_code ndr_push_samr_DeleteUser(struct ndr_push *ndr, int flags, const struct samr_DeleteUser *r)
9260 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9261 if (flags & NDR_IN) {
9262 if (r->in.user_handle == NULL) {
9263 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9265 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9267 if (flags & NDR_OUT) {
9268 if (r->out.user_handle == NULL) {
9269 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9271 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
9272 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9274 return NDR_ERR_SUCCESS;
9277 static enum ndr_err_code ndr_pull_samr_DeleteUser(struct ndr_pull *ndr, int flags, struct samr_DeleteUser *r)
9279 TALLOC_CTX *_mem_save_user_handle_0;
9280 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9281 if (flags & NDR_IN) {
9282 ZERO_STRUCT(r->out);
9284 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9285 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9287 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9288 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9289 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9290 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9291 NDR_PULL_ALLOC(ndr, r->out.user_handle);
9292 *r->out.user_handle = *r->in.user_handle;
9294 if (flags & NDR_OUT) {
9295 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9296 NDR_PULL_ALLOC(ndr, r->out.user_handle);
9298 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9299 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
9300 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
9301 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9302 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9304 return NDR_ERR_SUCCESS;
9307 _PUBLIC_ void ndr_print_samr_DeleteUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteUser *r)
9309 ndr_print_struct(ndr, name, "samr_DeleteUser");
9310 if (r == NULL) { ndr_print_null(ndr); return; }
9312 if (flags & NDR_SET_VALUES) {
9313 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9315 if (flags & NDR_IN) {
9316 ndr_print_struct(ndr, "in", "samr_DeleteUser");
9318 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9320 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9324 if (flags & NDR_OUT) {
9325 ndr_print_struct(ndr, "out", "samr_DeleteUser");
9327 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
9329 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
9331 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9337 _PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo *r)
9339 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9340 if (flags & NDR_IN) {
9341 if (r->in.user_handle == NULL) {
9342 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9344 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9345 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
9347 if (flags & NDR_OUT) {
9348 if (r->out.info == NULL) {
9349 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9351 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9353 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
9354 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9356 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9358 return NDR_ERR_SUCCESS;
9361 _PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r)
9364 TALLOC_CTX *_mem_save_user_handle_0;
9365 TALLOC_CTX *_mem_save_info_0;
9366 TALLOC_CTX *_mem_save_info_1;
9367 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9368 if (flags & NDR_IN) {
9369 ZERO_STRUCT(r->out);
9371 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9372 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9374 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9375 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9376 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9378 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
9379 NDR_PULL_ALLOC(ndr, r->out.info);
9380 ZERO_STRUCTP(r->out.info);
9382 if (flags & NDR_OUT) {
9383 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9384 NDR_PULL_ALLOC(ndr, r->out.info);
9386 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9387 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9388 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9390 NDR_PULL_ALLOC(ndr, *r->out.info);
9392 *r->out.info = NULL;
9395 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9396 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9397 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
9398 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9399 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9402 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9404 return NDR_ERR_SUCCESS;
9407 _PUBLIC_ void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo *r)
9409 ndr_print_struct(ndr, name, "samr_QueryUserInfo");
9410 if (r == NULL) { ndr_print_null(ndr); return; }
9412 if (flags & NDR_SET_VALUES) {
9413 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9415 if (flags & NDR_IN) {
9416 ndr_print_struct(ndr, "in", "samr_QueryUserInfo");
9418 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9420 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9422 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
9425 if (flags & NDR_OUT) {
9426 ndr_print_struct(ndr, "out", "samr_QueryUserInfo");
9428 ndr_print_ptr(ndr, "info", r->out.info);
9430 ndr_print_ptr(ndr, "info", *r->out.info);
9433 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
9434 ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
9438 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9444 _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo *r)
9446 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9447 if (flags & NDR_IN) {
9448 if (r->in.user_handle == NULL) {
9449 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9451 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9452 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
9453 if (r->in.info == NULL) {
9454 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9456 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
9457 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9459 if (flags & NDR_OUT) {
9460 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9462 return NDR_ERR_SUCCESS;
9465 _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo *r)
9467 TALLOC_CTX *_mem_save_user_handle_0;
9468 TALLOC_CTX *_mem_save_info_0;
9469 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9470 if (flags & NDR_IN) {
9471 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9472 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9474 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9475 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9476 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9478 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
9479 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9480 NDR_PULL_ALLOC(ndr, r->in.info);
9482 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9483 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
9484 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
9485 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9488 if (flags & NDR_OUT) {
9489 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9491 return NDR_ERR_SUCCESS;
9494 _PUBLIC_ void ndr_print_samr_SetUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo *r)
9496 ndr_print_struct(ndr, name, "samr_SetUserInfo");
9497 if (r == NULL) { ndr_print_null(ndr); return; }
9499 if (flags & NDR_SET_VALUES) {
9500 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9502 if (flags & NDR_IN) {
9503 ndr_print_struct(ndr, "in", "samr_SetUserInfo");
9505 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9507 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9509 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
9510 ndr_print_ptr(ndr, "info", r->in.info);
9512 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
9513 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
9517 if (flags & NDR_OUT) {
9518 ndr_print_struct(ndr, "out", "samr_SetUserInfo");
9520 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9526 static enum ndr_err_code ndr_push_samr_ChangePasswordUser(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser *r)
9528 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9529 if (flags & NDR_IN) {
9530 if (r->in.user_handle == NULL) {
9531 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9533 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9534 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_present));
9535 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_lm_crypted));
9536 if (r->in.old_lm_crypted) {
9537 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
9539 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_lm_crypted));
9540 if (r->in.new_lm_crypted) {
9541 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
9543 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.nt_present));
9544 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_nt_crypted));
9545 if (r->in.old_nt_crypted) {
9546 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
9548 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_nt_crypted));
9549 if (r->in.new_nt_crypted) {
9550 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
9552 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross1_present));
9553 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_cross));
9554 if (r->in.nt_cross) {
9555 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
9557 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross2_present));
9558 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_cross));
9559 if (r->in.lm_cross) {
9560 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
9563 if (flags & NDR_OUT) {
9564 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9566 return NDR_ERR_SUCCESS;
9569 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser *r)
9571 uint32_t _ptr_old_lm_crypted;
9572 uint32_t _ptr_new_lm_crypted;
9573 uint32_t _ptr_old_nt_crypted;
9574 uint32_t _ptr_new_nt_crypted;
9575 uint32_t _ptr_nt_cross;
9576 uint32_t _ptr_lm_cross;
9577 TALLOC_CTX *_mem_save_user_handle_0;
9578 TALLOC_CTX *_mem_save_old_lm_crypted_0;
9579 TALLOC_CTX *_mem_save_new_lm_crypted_0;
9580 TALLOC_CTX *_mem_save_old_nt_crypted_0;
9581 TALLOC_CTX *_mem_save_new_nt_crypted_0;
9582 TALLOC_CTX *_mem_save_nt_cross_0;
9583 TALLOC_CTX *_mem_save_lm_cross_0;
9584 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9585 if (flags & NDR_IN) {
9586 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9587 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9589 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9590 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9591 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9592 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9593 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_present));
9594 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_lm_crypted));
9595 if (_ptr_old_lm_crypted) {
9596 NDR_PULL_ALLOC(ndr, r->in.old_lm_crypted);
9598 r->in.old_lm_crypted = NULL;
9600 if (r->in.old_lm_crypted) {
9601 _mem_save_old_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9602 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_lm_crypted, 0);
9603 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
9604 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_lm_crypted_0, 0);
9606 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_lm_crypted));
9607 if (_ptr_new_lm_crypted) {
9608 NDR_PULL_ALLOC(ndr, r->in.new_lm_crypted);
9610 r->in.new_lm_crypted = NULL;
9612 if (r->in.new_lm_crypted) {
9613 _mem_save_new_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9614 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_lm_crypted, 0);
9615 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
9616 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_lm_crypted_0, 0);
9618 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.nt_present));
9619 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_nt_crypted));
9620 if (_ptr_old_nt_crypted) {
9621 NDR_PULL_ALLOC(ndr, r->in.old_nt_crypted);
9623 r->in.old_nt_crypted = NULL;
9625 if (r->in.old_nt_crypted) {
9626 _mem_save_old_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9627 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_nt_crypted, 0);
9628 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
9629 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_nt_crypted_0, 0);
9631 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_nt_crypted));
9632 if (_ptr_new_nt_crypted) {
9633 NDR_PULL_ALLOC(ndr, r->in.new_nt_crypted);
9635 r->in.new_nt_crypted = NULL;
9637 if (r->in.new_nt_crypted) {
9638 _mem_save_new_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9639 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_nt_crypted, 0);
9640 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
9641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_nt_crypted_0, 0);
9643 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross1_present));
9644 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_cross));
9645 if (_ptr_nt_cross) {
9646 NDR_PULL_ALLOC(ndr, r->in.nt_cross);
9648 r->in.nt_cross = NULL;
9650 if (r->in.nt_cross) {
9651 _mem_save_nt_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
9652 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_cross, 0);
9653 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
9654 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_cross_0, 0);
9656 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross2_present));
9657 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_cross));
9658 if (_ptr_lm_cross) {
9659 NDR_PULL_ALLOC(ndr, r->in.lm_cross);
9661 r->in.lm_cross = NULL;
9663 if (r->in.lm_cross) {
9664 _mem_save_lm_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
9665 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_cross, 0);
9666 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
9667 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_cross_0, 0);
9670 if (flags & NDR_OUT) {
9671 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9673 return NDR_ERR_SUCCESS;
9676 _PUBLIC_ void ndr_print_samr_ChangePasswordUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser *r)
9678 ndr_print_struct(ndr, name, "samr_ChangePasswordUser");
9679 if (r == NULL) { ndr_print_null(ndr); return; }
9681 if (flags & NDR_SET_VALUES) {
9682 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9684 if (flags & NDR_IN) {
9685 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser");
9687 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9689 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9691 ndr_print_uint8(ndr, "lm_present", r->in.lm_present);
9692 ndr_print_ptr(ndr, "old_lm_crypted", r->in.old_lm_crypted);
9694 if (r->in.old_lm_crypted) {
9695 ndr_print_samr_Password(ndr, "old_lm_crypted", r->in.old_lm_crypted);
9698 ndr_print_ptr(ndr, "new_lm_crypted", r->in.new_lm_crypted);
9700 if (r->in.new_lm_crypted) {
9701 ndr_print_samr_Password(ndr, "new_lm_crypted", r->in.new_lm_crypted);
9704 ndr_print_uint8(ndr, "nt_present", r->in.nt_present);
9705 ndr_print_ptr(ndr, "old_nt_crypted", r->in.old_nt_crypted);
9707 if (r->in.old_nt_crypted) {
9708 ndr_print_samr_Password(ndr, "old_nt_crypted", r->in.old_nt_crypted);
9711 ndr_print_ptr(ndr, "new_nt_crypted", r->in.new_nt_crypted);
9713 if (r->in.new_nt_crypted) {
9714 ndr_print_samr_Password(ndr, "new_nt_crypted", r->in.new_nt_crypted);
9717 ndr_print_uint8(ndr, "cross1_present", r->in.cross1_present);
9718 ndr_print_ptr(ndr, "nt_cross", r->in.nt_cross);
9720 if (r->in.nt_cross) {
9721 ndr_print_samr_Password(ndr, "nt_cross", r->in.nt_cross);
9724 ndr_print_uint8(ndr, "cross2_present", r->in.cross2_present);
9725 ndr_print_ptr(ndr, "lm_cross", r->in.lm_cross);
9727 if (r->in.lm_cross) {
9728 ndr_print_samr_Password(ndr, "lm_cross", r->in.lm_cross);
9733 if (flags & NDR_OUT) {
9734 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser");
9736 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9742 static enum ndr_err_code ndr_push_samr_GetGroupsForUser(struct ndr_push *ndr, int flags, const struct samr_GetGroupsForUser *r)
9744 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9745 if (flags & NDR_IN) {
9746 if (r->in.user_handle == NULL) {
9747 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9749 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9751 if (flags & NDR_OUT) {
9752 if (r->out.rids == NULL) {
9753 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9755 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
9757 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
9759 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9761 return NDR_ERR_SUCCESS;
9764 static enum ndr_err_code ndr_pull_samr_GetGroupsForUser(struct ndr_pull *ndr, int flags, struct samr_GetGroupsForUser *r)
9767 TALLOC_CTX *_mem_save_user_handle_0;
9768 TALLOC_CTX *_mem_save_rids_0;
9769 TALLOC_CTX *_mem_save_rids_1;
9770 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9771 if (flags & NDR_IN) {
9772 ZERO_STRUCT(r->out);
9774 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9775 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9777 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9778 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9779 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9781 NDR_PULL_ALLOC(ndr, r->out.rids);
9782 ZERO_STRUCTP(r->out.rids);
9784 if (flags & NDR_OUT) {
9785 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9786 NDR_PULL_ALLOC(ndr, r->out.rids);
9788 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
9789 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
9790 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
9792 NDR_PULL_ALLOC(ndr, *r->out.rids);
9794 *r->out.rids = NULL;
9797 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
9798 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
9799 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
9800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
9802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
9803 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9805 return NDR_ERR_SUCCESS;
9808 _PUBLIC_ void ndr_print_samr_GetGroupsForUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetGroupsForUser *r)
9810 ndr_print_struct(ndr, name, "samr_GetGroupsForUser");
9811 if (r == NULL) { ndr_print_null(ndr); return; }
9813 if (flags & NDR_SET_VALUES) {
9814 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9816 if (flags & NDR_IN) {
9817 ndr_print_struct(ndr, "in", "samr_GetGroupsForUser");
9819 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9821 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9825 if (flags & NDR_OUT) {
9826 ndr_print_struct(ndr, "out", "samr_GetGroupsForUser");
9828 ndr_print_ptr(ndr, "rids", r->out.rids);
9830 ndr_print_ptr(ndr, "rids", *r->out.rids);
9833 ndr_print_samr_RidWithAttributeArray(ndr, "rids", *r->out.rids);
9837 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9843 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo *r)
9845 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9846 if (flags & NDR_IN) {
9847 if (r->in.domain_handle == NULL) {
9848 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9850 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9851 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9852 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
9853 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
9854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
9856 if (flags & NDR_OUT) {
9857 if (r->out.total_size == NULL) {
9858 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9860 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
9861 if (r->out.returned_size == NULL) {
9862 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9864 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
9865 if (r->out.info == NULL) {
9866 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9868 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
9869 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9870 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9872 return NDR_ERR_SUCCESS;
9875 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo *r)
9877 TALLOC_CTX *_mem_save_domain_handle_0;
9878 TALLOC_CTX *_mem_save_total_size_0;
9879 TALLOC_CTX *_mem_save_returned_size_0;
9880 TALLOC_CTX *_mem_save_info_0;
9881 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
9882 if (flags & NDR_IN) {
9883 ZERO_STRUCT(r->out);
9885 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9886 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9888 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9889 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9890 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9892 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9893 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
9894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
9895 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
9896 NDR_PULL_ALLOC(ndr, r->out.total_size);
9897 ZERO_STRUCTP(r->out.total_size);
9898 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9899 ZERO_STRUCTP(r->out.returned_size);
9900 NDR_PULL_ALLOC(ndr, r->out.info);
9901 ZERO_STRUCTP(r->out.info);
9903 if (flags & NDR_OUT) {
9904 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9905 NDR_PULL_ALLOC(ndr, r->out.total_size);
9907 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9908 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
9909 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
9910 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
9911 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9912 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9914 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9915 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
9916 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
9917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
9918 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9919 NDR_PULL_ALLOC(ndr, r->out.info);
9921 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9922 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9923 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
9924 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9925 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9926 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9928 return NDR_ERR_SUCCESS;
9931 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo *r)
9933 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo");
9934 if (r == NULL) { ndr_print_null(ndr); return; }
9936 if (flags & NDR_SET_VALUES) {
9937 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9939 if (flags & NDR_IN) {
9940 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo");
9942 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9944 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9946 ndr_print_uint16(ndr, "level", r->in.level);
9947 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
9948 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
9949 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
9952 if (flags & NDR_OUT) {
9953 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo");
9955 ndr_print_ptr(ndr, "total_size", r->out.total_size);
9957 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
9959 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
9961 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
9963 ndr_print_ptr(ndr, "info", r->out.info);
9965 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
9966 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
9968 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9974 static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex *r)
9976 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
9977 if (flags & NDR_IN) {
9978 if (r->in.domain_handle == NULL) {
9979 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9981 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9982 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9983 if (r->in.name == NULL) {
9984 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9986 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9988 if (flags & NDR_OUT) {
9989 if (r->out.idx == NULL) {
9990 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
9993 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9995 return NDR_ERR_SUCCESS;
9998 static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex *r)
10000 TALLOC_CTX *_mem_save_domain_handle_0;
10001 TALLOC_CTX *_mem_save_name_0;
10002 TALLOC_CTX *_mem_save_idx_0;
10003 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10004 if (flags & NDR_IN) {
10005 ZERO_STRUCT(r->out);
10007 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10008 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10010 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10011 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10012 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10014 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10015 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10016 NDR_PULL_ALLOC(ndr, r->in.name);
10018 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10019 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
10020 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
10022 NDR_PULL_ALLOC(ndr, r->out.idx);
10023 ZERO_STRUCTP(r->out.idx);
10025 if (flags & NDR_OUT) {
10026 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10027 NDR_PULL_ALLOC(ndr, r->out.idx);
10029 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
10030 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
10031 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
10032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
10033 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10035 return NDR_ERR_SUCCESS;
10038 _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex *r)
10040 ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex");
10041 if (r == NULL) { ndr_print_null(ndr); return; }
10043 if (flags & NDR_SET_VALUES) {
10044 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10046 if (flags & NDR_IN) {
10047 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex");
10049 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10051 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10053 ndr_print_uint16(ndr, "level", r->in.level);
10054 ndr_print_ptr(ndr, "name", r->in.name);
10056 ndr_print_lsa_String(ndr, "name", r->in.name);
10060 if (flags & NDR_OUT) {
10061 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex");
10063 ndr_print_ptr(ndr, "idx", r->out.idx);
10065 ndr_print_uint32(ndr, "idx", *r->out.idx);
10067 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10073 static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsDomain *r)
10075 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10076 if (flags & NDR_IN) {
10077 if (r->in.domain_handle == NULL) {
10078 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10080 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10082 if (flags & NDR_OUT) {
10083 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10085 return NDR_ERR_SUCCESS;
10088 static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsDomain *r)
10090 TALLOC_CTX *_mem_save_domain_handle_0;
10091 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10092 if (flags & NDR_IN) {
10093 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10094 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10096 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10097 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10098 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10099 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10101 if (flags & NDR_OUT) {
10102 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10104 return NDR_ERR_SUCCESS;
10107 _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsDomain *r)
10109 ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsDomain");
10110 if (r == NULL) { ndr_print_null(ndr); return; }
10112 if (flags & NDR_SET_VALUES) {
10113 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10115 if (flags & NDR_IN) {
10116 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsDomain");
10118 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10120 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10124 if (flags & NDR_OUT) {
10125 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsDomain");
10127 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10133 static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsUser *r)
10135 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10136 if (flags & NDR_IN) {
10137 if (r->in.user_handle == NULL) {
10138 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10140 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10142 if (flags & NDR_OUT) {
10143 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10145 return NDR_ERR_SUCCESS;
10148 static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsUser *r)
10150 TALLOC_CTX *_mem_save_user_handle_0;
10151 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10152 if (flags & NDR_IN) {
10153 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10154 NDR_PULL_ALLOC(ndr, r->in.user_handle);
10156 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10157 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
10158 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10161 if (flags & NDR_OUT) {
10162 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10164 return NDR_ERR_SUCCESS;
10167 _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsUser *r)
10169 ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsUser");
10170 if (r == NULL) { ndr_print_null(ndr); return; }
10172 if (flags & NDR_SET_VALUES) {
10173 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10175 if (flags & NDR_IN) {
10176 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsUser");
10178 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
10180 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
10184 if (flags & NDR_OUT) {
10185 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsUser");
10187 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10193 _PUBLIC_ enum ndr_err_code ndr_push_samr_GetUserPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetUserPwInfo *r)
10195 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10196 if (flags & NDR_IN) {
10197 if (r->in.user_handle == NULL) {
10198 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10200 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10202 if (flags & NDR_OUT) {
10203 if (r->out.info == NULL) {
10204 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10206 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
10207 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10209 return NDR_ERR_SUCCESS;
10212 _PUBLIC_ enum ndr_err_code ndr_pull_samr_GetUserPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetUserPwInfo *r)
10214 TALLOC_CTX *_mem_save_user_handle_0;
10215 TALLOC_CTX *_mem_save_info_0;
10216 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10217 if (flags & NDR_IN) {
10218 ZERO_STRUCT(r->out);
10220 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10221 NDR_PULL_ALLOC(ndr, r->in.user_handle);
10223 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10224 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
10225 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10226 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10227 NDR_PULL_ALLOC(ndr, r->out.info);
10228 ZERO_STRUCTP(r->out.info);
10230 if (flags & NDR_OUT) {
10231 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10232 NDR_PULL_ALLOC(ndr, r->out.info);
10234 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10235 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10236 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
10237 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10238 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10240 return NDR_ERR_SUCCESS;
10243 _PUBLIC_ void ndr_print_samr_GetUserPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetUserPwInfo *r)
10245 ndr_print_struct(ndr, name, "samr_GetUserPwInfo");
10246 if (r == NULL) { ndr_print_null(ndr); return; }
10248 if (flags & NDR_SET_VALUES) {
10249 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10251 if (flags & NDR_IN) {
10252 ndr_print_struct(ndr, "in", "samr_GetUserPwInfo");
10254 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
10256 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
10260 if (flags & NDR_OUT) {
10261 ndr_print_struct(ndr, "out", "samr_GetUserPwInfo");
10263 ndr_print_ptr(ndr, "info", r->out.info);
10265 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
10267 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10273 static enum ndr_err_code ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push *ndr, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
10275 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10276 if (flags & NDR_IN) {
10277 if (r->in.domain_handle == NULL) {
10278 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10280 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10281 if (r->in.sid == NULL) {
10282 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10284 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
10286 if (flags & NDR_OUT) {
10287 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10289 return NDR_ERR_SUCCESS;
10292 static enum ndr_err_code ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull *ndr, int flags, struct samr_RemoveMemberFromForeignDomain *r)
10294 TALLOC_CTX *_mem_save_domain_handle_0;
10295 TALLOC_CTX *_mem_save_sid_0;
10296 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10297 if (flags & NDR_IN) {
10298 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10299 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10301 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10302 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10303 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10304 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10305 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10306 NDR_PULL_ALLOC(ndr, r->in.sid);
10308 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10309 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
10310 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
10311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
10313 if (flags & NDR_OUT) {
10314 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10316 return NDR_ERR_SUCCESS;
10319 _PUBLIC_ void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
10321 ndr_print_struct(ndr, name, "samr_RemoveMemberFromForeignDomain");
10322 if (r == NULL) { ndr_print_null(ndr); return; }
10324 if (flags & NDR_SET_VALUES) {
10325 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10327 if (flags & NDR_IN) {
10328 ndr_print_struct(ndr, "in", "samr_RemoveMemberFromForeignDomain");
10330 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10332 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10334 ndr_print_ptr(ndr, "sid", r->in.sid);
10336 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
10340 if (flags & NDR_OUT) {
10341 ndr_print_struct(ndr, "out", "samr_RemoveMemberFromForeignDomain");
10343 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10349 static enum ndr_err_code ndr_push_samr_QueryDomainInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo2 *r)
10351 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10352 if (flags & NDR_IN) {
10353 if (r->in.domain_handle == NULL) {
10354 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10356 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10357 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
10359 if (flags & NDR_OUT) {
10360 if (r->out.info == NULL) {
10361 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10363 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
10364 if (*r->out.info) {
10365 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
10366 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10368 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10370 return NDR_ERR_SUCCESS;
10373 static enum ndr_err_code ndr_pull_samr_QueryDomainInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo2 *r)
10375 uint32_t _ptr_info;
10376 TALLOC_CTX *_mem_save_domain_handle_0;
10377 TALLOC_CTX *_mem_save_info_0;
10378 TALLOC_CTX *_mem_save_info_1;
10379 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10380 if (flags & NDR_IN) {
10381 ZERO_STRUCT(r->out);
10383 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10384 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10386 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10387 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10388 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10390 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
10391 NDR_PULL_ALLOC(ndr, r->out.info);
10392 ZERO_STRUCTP(r->out.info);
10394 if (flags & NDR_OUT) {
10395 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10396 NDR_PULL_ALLOC(ndr, r->out.info);
10398 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10399 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10400 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10402 NDR_PULL_ALLOC(ndr, *r->out.info);
10404 *r->out.info = NULL;
10406 if (*r->out.info) {
10407 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
10408 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
10409 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
10410 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10411 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
10413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10414 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10416 return NDR_ERR_SUCCESS;
10419 _PUBLIC_ void ndr_print_samr_QueryDomainInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo2 *r)
10421 ndr_print_struct(ndr, name, "samr_QueryDomainInfo2");
10422 if (r == NULL) { ndr_print_null(ndr); return; }
10424 if (flags & NDR_SET_VALUES) {
10425 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10427 if (flags & NDR_IN) {
10428 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo2");
10430 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10432 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10434 ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
10437 if (flags & NDR_OUT) {
10438 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo2");
10440 ndr_print_ptr(ndr, "info", r->out.info);
10442 ndr_print_ptr(ndr, "info", *r->out.info);
10444 if (*r->out.info) {
10445 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
10446 ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
10450 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10456 static enum ndr_err_code ndr_push_samr_QueryUserInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo2 *r)
10458 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10459 if (flags & NDR_IN) {
10460 if (r->in.user_handle == NULL) {
10461 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10463 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10464 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
10466 if (flags & NDR_OUT) {
10467 if (r->out.info == NULL) {
10468 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10470 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
10471 if (*r->out.info) {
10472 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
10473 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10475 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10477 return NDR_ERR_SUCCESS;
10480 static enum ndr_err_code ndr_pull_samr_QueryUserInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo2 *r)
10482 uint32_t _ptr_info;
10483 TALLOC_CTX *_mem_save_user_handle_0;
10484 TALLOC_CTX *_mem_save_info_0;
10485 TALLOC_CTX *_mem_save_info_1;
10486 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10487 if (flags & NDR_IN) {
10488 ZERO_STRUCT(r->out);
10490 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10491 NDR_PULL_ALLOC(ndr, r->in.user_handle);
10493 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10494 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
10495 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10497 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
10498 NDR_PULL_ALLOC(ndr, r->out.info);
10499 ZERO_STRUCTP(r->out.info);
10501 if (flags & NDR_OUT) {
10502 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10503 NDR_PULL_ALLOC(ndr, r->out.info);
10505 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10506 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10507 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10509 NDR_PULL_ALLOC(ndr, *r->out.info);
10511 *r->out.info = NULL;
10513 if (*r->out.info) {
10514 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
10515 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
10516 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
10517 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
10520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10521 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10523 return NDR_ERR_SUCCESS;
10526 _PUBLIC_ void ndr_print_samr_QueryUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo2 *r)
10528 ndr_print_struct(ndr, name, "samr_QueryUserInfo2");
10529 if (r == NULL) { ndr_print_null(ndr); return; }
10531 if (flags & NDR_SET_VALUES) {
10532 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10534 if (flags & NDR_IN) {
10535 ndr_print_struct(ndr, "in", "samr_QueryUserInfo2");
10537 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
10539 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
10541 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
10544 if (flags & NDR_OUT) {
10545 ndr_print_struct(ndr, "out", "samr_QueryUserInfo2");
10547 ndr_print_ptr(ndr, "info", r->out.info);
10549 ndr_print_ptr(ndr, "info", *r->out.info);
10551 if (*r->out.info) {
10552 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
10553 ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
10557 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10563 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo2 *r)
10565 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10566 if (flags & NDR_IN) {
10567 if (r->in.domain_handle == NULL) {
10568 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10570 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10571 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10572 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
10573 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
10574 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
10576 if (flags & NDR_OUT) {
10577 if (r->out.total_size == NULL) {
10578 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10580 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
10581 if (r->out.returned_size == NULL) {
10582 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10584 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
10585 if (r->out.info == NULL) {
10586 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10588 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10589 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10590 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10592 return NDR_ERR_SUCCESS;
10595 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo2 *r)
10597 TALLOC_CTX *_mem_save_domain_handle_0;
10598 TALLOC_CTX *_mem_save_total_size_0;
10599 TALLOC_CTX *_mem_save_returned_size_0;
10600 TALLOC_CTX *_mem_save_info_0;
10601 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10602 if (flags & NDR_IN) {
10603 ZERO_STRUCT(r->out);
10605 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10606 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10608 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10609 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10610 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10611 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10612 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10613 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
10614 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
10615 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
10616 NDR_PULL_ALLOC(ndr, r->out.total_size);
10617 ZERO_STRUCTP(r->out.total_size);
10618 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10619 ZERO_STRUCTP(r->out.returned_size);
10620 NDR_PULL_ALLOC(ndr, r->out.info);
10621 ZERO_STRUCTP(r->out.info);
10623 if (flags & NDR_OUT) {
10624 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10625 NDR_PULL_ALLOC(ndr, r->out.total_size);
10627 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10628 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
10629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
10630 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
10631 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10632 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10634 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10635 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
10636 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
10637 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
10638 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10639 NDR_PULL_ALLOC(ndr, r->out.info);
10641 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10642 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10643 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10644 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10645 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10646 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10648 return NDR_ERR_SUCCESS;
10651 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo2 *r)
10653 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo2");
10654 if (r == NULL) { ndr_print_null(ndr); return; }
10656 if (flags & NDR_SET_VALUES) {
10657 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10659 if (flags & NDR_IN) {
10660 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo2");
10662 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10664 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10666 ndr_print_uint16(ndr, "level", r->in.level);
10667 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
10668 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
10669 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
10672 if (flags & NDR_OUT) {
10673 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo2");
10675 ndr_print_ptr(ndr, "total_size", r->out.total_size);
10677 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
10679 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
10681 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
10683 ndr_print_ptr(ndr, "info", r->out.info);
10685 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10686 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
10688 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10694 static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
10696 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10697 if (flags & NDR_IN) {
10698 if (r->in.domain_handle == NULL) {
10699 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10701 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10702 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10703 if (r->in.name == NULL) {
10704 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10706 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10708 if (flags & NDR_OUT) {
10709 if (r->out.idx == NULL) {
10710 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10712 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
10713 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10715 return NDR_ERR_SUCCESS;
10718 static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex2 *r)
10720 TALLOC_CTX *_mem_save_domain_handle_0;
10721 TALLOC_CTX *_mem_save_name_0;
10722 TALLOC_CTX *_mem_save_idx_0;
10723 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10724 if (flags & NDR_IN) {
10725 ZERO_STRUCT(r->out);
10727 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10728 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10730 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10731 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10732 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10733 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10734 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10735 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10736 NDR_PULL_ALLOC(ndr, r->in.name);
10738 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10739 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
10740 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
10742 NDR_PULL_ALLOC(ndr, r->out.idx);
10743 ZERO_STRUCTP(r->out.idx);
10745 if (flags & NDR_OUT) {
10746 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10747 NDR_PULL_ALLOC(ndr, r->out.idx);
10749 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
10750 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
10751 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
10752 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
10753 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10755 return NDR_ERR_SUCCESS;
10758 _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
10760 ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex2");
10761 if (r == NULL) { ndr_print_null(ndr); return; }
10763 if (flags & NDR_SET_VALUES) {
10764 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10766 if (flags & NDR_IN) {
10767 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex2");
10769 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10771 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10773 ndr_print_uint16(ndr, "level", r->in.level);
10774 ndr_print_ptr(ndr, "name", r->in.name);
10776 ndr_print_lsa_String(ndr, "name", r->in.name);
10780 if (flags & NDR_OUT) {
10781 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex2");
10783 ndr_print_ptr(ndr, "idx", r->out.idx);
10785 ndr_print_uint32(ndr, "idx", *r->out.idx);
10787 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10793 static enum ndr_err_code ndr_push_samr_CreateUser2(struct ndr_push *ndr, int flags, const struct samr_CreateUser2 *r)
10795 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10796 if (flags & NDR_IN) {
10797 if (r->in.domain_handle == NULL) {
10798 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10800 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10801 if (r->in.account_name == NULL) {
10802 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10804 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
10805 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
10806 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
10808 if (flags & NDR_OUT) {
10809 if (r->out.user_handle == NULL) {
10810 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10812 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
10813 if (r->out.access_granted == NULL) {
10814 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10816 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.access_granted));
10817 if (r->out.rid == NULL) {
10818 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10820 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
10821 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10823 return NDR_ERR_SUCCESS;
10826 static enum ndr_err_code ndr_pull_samr_CreateUser2(struct ndr_pull *ndr, int flags, struct samr_CreateUser2 *r)
10828 TALLOC_CTX *_mem_save_domain_handle_0;
10829 TALLOC_CTX *_mem_save_account_name_0;
10830 TALLOC_CTX *_mem_save_user_handle_0;
10831 TALLOC_CTX *_mem_save_access_granted_0;
10832 TALLOC_CTX *_mem_save_rid_0;
10833 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10834 if (flags & NDR_IN) {
10835 ZERO_STRUCT(r->out);
10837 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10838 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10840 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10841 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10842 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10844 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10845 NDR_PULL_ALLOC(ndr, r->in.account_name);
10847 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10848 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
10849 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
10850 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
10851 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
10852 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
10853 NDR_PULL_ALLOC(ndr, r->out.user_handle);
10854 ZERO_STRUCTP(r->out.user_handle);
10855 NDR_PULL_ALLOC(ndr, r->out.access_granted);
10856 ZERO_STRUCTP(r->out.access_granted);
10857 NDR_PULL_ALLOC(ndr, r->out.rid);
10858 ZERO_STRUCTP(r->out.rid);
10860 if (flags & NDR_OUT) {
10861 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10862 NDR_PULL_ALLOC(ndr, r->out.user_handle);
10864 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10865 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
10866 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
10867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10868 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10869 NDR_PULL_ALLOC(ndr, r->out.access_granted);
10871 _mem_save_access_granted_0 = NDR_PULL_GET_MEM_CTX(ndr);
10872 NDR_PULL_SET_MEM_CTX(ndr, r->out.access_granted, LIBNDR_FLAG_REF_ALLOC);
10873 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.access_granted));
10874 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_granted_0, LIBNDR_FLAG_REF_ALLOC);
10875 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10876 NDR_PULL_ALLOC(ndr, r->out.rid);
10878 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10879 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
10880 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
10881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
10882 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10884 return NDR_ERR_SUCCESS;
10887 _PUBLIC_ void ndr_print_samr_CreateUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser2 *r)
10889 ndr_print_struct(ndr, name, "samr_CreateUser2");
10890 if (r == NULL) { ndr_print_null(ndr); return; }
10892 if (flags & NDR_SET_VALUES) {
10893 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10895 if (flags & NDR_IN) {
10896 ndr_print_struct(ndr, "in", "samr_CreateUser2");
10898 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10900 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10902 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10904 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
10906 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
10907 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
10910 if (flags & NDR_OUT) {
10911 ndr_print_struct(ndr, "out", "samr_CreateUser2");
10913 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
10915 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
10917 ndr_print_ptr(ndr, "access_granted", r->out.access_granted);
10919 ndr_print_uint32(ndr, "access_granted", *r->out.access_granted);
10921 ndr_print_ptr(ndr, "rid", r->out.rid);
10923 ndr_print_uint32(ndr, "rid", *r->out.rid);
10925 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10931 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo3(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo3 *r)
10933 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
10934 if (flags & NDR_IN) {
10935 if (r->in.domain_handle == NULL) {
10936 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10938 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10939 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10940 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
10941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
10942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
10944 if (flags & NDR_OUT) {
10945 if (r->out.total_size == NULL) {
10946 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
10949 if (r->out.returned_size == NULL) {
10950 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10952 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
10953 if (r->out.info == NULL) {
10954 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10956 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10957 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10958 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10960 return NDR_ERR_SUCCESS;
10963 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo3 *r)
10965 TALLOC_CTX *_mem_save_domain_handle_0;
10966 TALLOC_CTX *_mem_save_total_size_0;
10967 TALLOC_CTX *_mem_save_returned_size_0;
10968 TALLOC_CTX *_mem_save_info_0;
10969 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
10970 if (flags & NDR_IN) {
10971 ZERO_STRUCT(r->out);
10973 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10974 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10976 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10977 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10978 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10979 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10980 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10981 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
10982 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
10983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
10984 NDR_PULL_ALLOC(ndr, r->out.total_size);
10985 ZERO_STRUCTP(r->out.total_size);
10986 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10987 ZERO_STRUCTP(r->out.returned_size);
10988 NDR_PULL_ALLOC(ndr, r->out.info);
10989 ZERO_STRUCTP(r->out.info);
10991 if (flags & NDR_OUT) {
10992 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10993 NDR_PULL_ALLOC(ndr, r->out.total_size);
10995 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10996 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
10997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
10998 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
10999 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11000 NDR_PULL_ALLOC(ndr, r->out.returned_size);
11002 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
11003 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
11004 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
11005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
11006 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11007 NDR_PULL_ALLOC(ndr, r->out.info);
11009 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11010 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11011 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
11012 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
11013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11014 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11016 return NDR_ERR_SUCCESS;
11019 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo3(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo3 *r)
11021 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo3");
11022 if (r == NULL) { ndr_print_null(ndr); return; }
11024 if (flags & NDR_SET_VALUES) {
11025 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11027 if (flags & NDR_IN) {
11028 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo3");
11030 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11032 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11034 ndr_print_uint16(ndr, "level", r->in.level);
11035 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
11036 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
11037 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
11040 if (flags & NDR_OUT) {
11041 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo3");
11043 ndr_print_ptr(ndr, "total_size", r->out.total_size);
11045 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
11047 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
11049 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
11051 ndr_print_ptr(ndr, "info", r->out.info);
11053 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
11054 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
11056 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11062 static enum ndr_err_code ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push *ndr, int flags, const struct samr_AddMultipleMembersToAlias *r)
11064 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11065 if (flags & NDR_IN) {
11066 if (r->in.alias_handle == NULL) {
11067 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11069 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
11070 if (r->in.sids == NULL) {
11071 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11073 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11075 if (flags & NDR_OUT) {
11076 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11078 return NDR_ERR_SUCCESS;
11081 static enum ndr_err_code ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull *ndr, int flags, struct samr_AddMultipleMembersToAlias *r)
11083 TALLOC_CTX *_mem_save_alias_handle_0;
11084 TALLOC_CTX *_mem_save_sids_0;
11085 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11086 if (flags & NDR_IN) {
11087 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11088 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
11090 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11091 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
11092 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
11093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
11094 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11095 NDR_PULL_ALLOC(ndr, r->in.sids);
11097 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
11098 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
11099 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11100 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
11102 if (flags & NDR_OUT) {
11103 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11105 return NDR_ERR_SUCCESS;
11108 _PUBLIC_ void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddMultipleMembersToAlias *r)
11110 ndr_print_struct(ndr, name, "samr_AddMultipleMembersToAlias");
11111 if (r == NULL) { ndr_print_null(ndr); return; }
11113 if (flags & NDR_SET_VALUES) {
11114 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11116 if (flags & NDR_IN) {
11117 ndr_print_struct(ndr, "in", "samr_AddMultipleMembersToAlias");
11119 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
11121 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
11123 ndr_print_ptr(ndr, "sids", r->in.sids);
11125 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
11129 if (flags & NDR_OUT) {
11130 ndr_print_struct(ndr, "out", "samr_AddMultipleMembersToAlias");
11132 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11138 static enum ndr_err_code ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push *ndr, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
11140 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11141 if (flags & NDR_IN) {
11142 if (r->in.alias_handle == NULL) {
11143 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11145 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
11146 if (r->in.sids == NULL) {
11147 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11149 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11151 if (flags & NDR_OUT) {
11152 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11154 return NDR_ERR_SUCCESS;
11157 static enum ndr_err_code ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull *ndr, int flags, struct samr_RemoveMultipleMembersFromAlias *r)
11159 TALLOC_CTX *_mem_save_alias_handle_0;
11160 TALLOC_CTX *_mem_save_sids_0;
11161 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11162 if (flags & NDR_IN) {
11163 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11164 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
11166 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11167 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
11168 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
11169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
11170 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11171 NDR_PULL_ALLOC(ndr, r->in.sids);
11173 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
11174 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
11175 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
11178 if (flags & NDR_OUT) {
11179 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11181 return NDR_ERR_SUCCESS;
11184 _PUBLIC_ void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
11186 ndr_print_struct(ndr, name, "samr_RemoveMultipleMembersFromAlias");
11187 if (r == NULL) { ndr_print_null(ndr); return; }
11189 if (flags & NDR_SET_VALUES) {
11190 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11192 if (flags & NDR_IN) {
11193 ndr_print_struct(ndr, "in", "samr_RemoveMultipleMembersFromAlias");
11195 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
11197 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
11199 ndr_print_ptr(ndr, "sids", r->in.sids);
11201 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
11205 if (flags & NDR_OUT) {
11206 ndr_print_struct(ndr, "out", "samr_RemoveMultipleMembersFromAlias");
11208 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11214 static enum ndr_err_code ndr_push_samr_OemChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_OemChangePasswordUser2 *r)
11216 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11217 if (flags & NDR_IN) {
11218 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
11219 if (r->in.server) {
11220 NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11222 if (r->in.account == NULL) {
11223 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11225 NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11226 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
11227 if (r->in.password) {
11228 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
11230 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
11232 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
11235 if (flags & NDR_OUT) {
11236 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11238 return NDR_ERR_SUCCESS;
11241 static enum ndr_err_code ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_OemChangePasswordUser2 *r)
11243 uint32_t _ptr_server;
11244 uint32_t _ptr_password;
11245 uint32_t _ptr_hash;
11246 TALLOC_CTX *_mem_save_server_0;
11247 TALLOC_CTX *_mem_save_account_0;
11248 TALLOC_CTX *_mem_save_password_0;
11249 TALLOC_CTX *_mem_save_hash_0;
11250 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11251 if (flags & NDR_IN) {
11252 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
11254 NDR_PULL_ALLOC(ndr, r->in.server);
11256 r->in.server = NULL;
11258 if (r->in.server) {
11259 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11260 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
11261 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
11264 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11265 NDR_PULL_ALLOC(ndr, r->in.account);
11267 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
11268 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
11269 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11270 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
11271 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
11272 if (_ptr_password) {
11273 NDR_PULL_ALLOC(ndr, r->in.password);
11275 r->in.password = NULL;
11277 if (r->in.password) {
11278 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11279 NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
11280 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
11281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
11283 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
11285 NDR_PULL_ALLOC(ndr, r->in.hash);
11290 _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
11291 NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
11292 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
11293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
11296 if (flags & NDR_OUT) {
11297 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11299 return NDR_ERR_SUCCESS;
11302 _PUBLIC_ void ndr_print_samr_OemChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_OemChangePasswordUser2 *r)
11304 ndr_print_struct(ndr, name, "samr_OemChangePasswordUser2");
11305 if (r == NULL) { ndr_print_null(ndr); return; }
11307 if (flags & NDR_SET_VALUES) {
11308 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11310 if (flags & NDR_IN) {
11311 ndr_print_struct(ndr, "in", "samr_OemChangePasswordUser2");
11313 ndr_print_ptr(ndr, "server", r->in.server);
11315 if (r->in.server) {
11316 ndr_print_lsa_AsciiString(ndr, "server", r->in.server);
11319 ndr_print_ptr(ndr, "account", r->in.account);
11321 ndr_print_lsa_AsciiString(ndr, "account", r->in.account);
11323 ndr_print_ptr(ndr, "password", r->in.password);
11325 if (r->in.password) {
11326 ndr_print_samr_CryptPassword(ndr, "password", r->in.password);
11329 ndr_print_ptr(ndr, "hash", r->in.hash);
11332 ndr_print_samr_Password(ndr, "hash", r->in.hash);
11337 if (flags & NDR_OUT) {
11338 ndr_print_struct(ndr, "out", "samr_OemChangePasswordUser2");
11340 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11346 static enum ndr_err_code ndr_push_samr_ChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser2 *r)
11348 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11349 if (flags & NDR_IN) {
11350 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
11351 if (r->in.server) {
11352 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11354 if (r->in.account == NULL) {
11355 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11357 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11358 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
11359 if (r->in.nt_password) {
11360 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11362 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
11363 if (r->in.nt_verifier) {
11364 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11366 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
11367 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
11368 if (r->in.lm_password) {
11369 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11371 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
11372 if (r->in.lm_verifier) {
11373 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11376 if (flags & NDR_OUT) {
11377 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11379 return NDR_ERR_SUCCESS;
11382 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser2 *r)
11384 uint32_t _ptr_server;
11385 uint32_t _ptr_nt_password;
11386 uint32_t _ptr_nt_verifier;
11387 uint32_t _ptr_lm_password;
11388 uint32_t _ptr_lm_verifier;
11389 TALLOC_CTX *_mem_save_server_0;
11390 TALLOC_CTX *_mem_save_account_0;
11391 TALLOC_CTX *_mem_save_nt_password_0;
11392 TALLOC_CTX *_mem_save_nt_verifier_0;
11393 TALLOC_CTX *_mem_save_lm_password_0;
11394 TALLOC_CTX *_mem_save_lm_verifier_0;
11395 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11396 if (flags & NDR_IN) {
11397 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
11399 NDR_PULL_ALLOC(ndr, r->in.server);
11401 r->in.server = NULL;
11403 if (r->in.server) {
11404 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11405 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
11406 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11407 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
11409 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11410 NDR_PULL_ALLOC(ndr, r->in.account);
11412 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
11413 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
11414 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
11416 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
11417 if (_ptr_nt_password) {
11418 NDR_PULL_ALLOC(ndr, r->in.nt_password);
11420 r->in.nt_password = NULL;
11422 if (r->in.nt_password) {
11423 _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11424 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
11425 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11426 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
11428 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
11429 if (_ptr_nt_verifier) {
11430 NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
11432 r->in.nt_verifier = NULL;
11434 if (r->in.nt_verifier) {
11435 _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11436 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
11437 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11438 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
11440 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
11441 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
11442 if (_ptr_lm_password) {
11443 NDR_PULL_ALLOC(ndr, r->in.lm_password);
11445 r->in.lm_password = NULL;
11447 if (r->in.lm_password) {
11448 _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11449 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
11450 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11451 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
11453 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
11454 if (_ptr_lm_verifier) {
11455 NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
11457 r->in.lm_verifier = NULL;
11459 if (r->in.lm_verifier) {
11460 _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11461 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
11462 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
11466 if (flags & NDR_OUT) {
11467 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11469 return NDR_ERR_SUCCESS;
11472 _PUBLIC_ void ndr_print_samr_ChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser2 *r)
11474 ndr_print_struct(ndr, name, "samr_ChangePasswordUser2");
11475 if (r == NULL) { ndr_print_null(ndr); return; }
11477 if (flags & NDR_SET_VALUES) {
11478 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11480 if (flags & NDR_IN) {
11481 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser2");
11483 ndr_print_ptr(ndr, "server", r->in.server);
11485 if (r->in.server) {
11486 ndr_print_lsa_String(ndr, "server", r->in.server);
11489 ndr_print_ptr(ndr, "account", r->in.account);
11491 ndr_print_lsa_String(ndr, "account", r->in.account);
11493 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
11495 if (r->in.nt_password) {
11496 ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
11499 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
11501 if (r->in.nt_verifier) {
11502 ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
11505 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
11506 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
11508 if (r->in.lm_password) {
11509 ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
11512 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
11514 if (r->in.lm_verifier) {
11515 ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
11520 if (flags & NDR_OUT) {
11521 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser2");
11523 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11529 static enum ndr_err_code ndr_push_samr_GetDomPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetDomPwInfo *r)
11531 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11532 if (flags & NDR_IN) {
11533 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11534 if (r->in.domain_name) {
11535 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
11538 if (flags & NDR_OUT) {
11539 if (r->out.info == NULL) {
11540 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11542 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
11543 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11545 return NDR_ERR_SUCCESS;
11548 static enum ndr_err_code ndr_pull_samr_GetDomPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetDomPwInfo *r)
11550 uint32_t _ptr_domain_name;
11551 TALLOC_CTX *_mem_save_domain_name_0;
11552 TALLOC_CTX *_mem_save_info_0;
11553 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11554 if (flags & NDR_IN) {
11555 ZERO_STRUCT(r->out);
11557 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11558 if (_ptr_domain_name) {
11559 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11561 r->in.domain_name = NULL;
11563 if (r->in.domain_name) {
11564 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11565 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11566 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
11567 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11569 NDR_PULL_ALLOC(ndr, r->out.info);
11570 ZERO_STRUCTP(r->out.info);
11572 if (flags & NDR_OUT) {
11573 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11574 NDR_PULL_ALLOC(ndr, r->out.info);
11576 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11577 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11578 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
11579 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11580 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11582 return NDR_ERR_SUCCESS;
11585 _PUBLIC_ void ndr_print_samr_GetDomPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDomPwInfo *r)
11587 ndr_print_struct(ndr, name, "samr_GetDomPwInfo");
11588 if (r == NULL) { ndr_print_null(ndr); return; }
11590 if (flags & NDR_SET_VALUES) {
11591 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11593 if (flags & NDR_IN) {
11594 ndr_print_struct(ndr, "in", "samr_GetDomPwInfo");
11596 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11598 if (r->in.domain_name) {
11599 ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
11604 if (flags & NDR_OUT) {
11605 ndr_print_struct(ndr, "out", "samr_GetDomPwInfo");
11607 ndr_print_ptr(ndr, "info", r->out.info);
11609 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
11611 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11617 static enum ndr_err_code ndr_push_samr_Connect2(struct ndr_push *ndr, int flags, const struct samr_Connect2 *r)
11619 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11620 if (flags & NDR_IN) {
11621 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11622 if (r->in.system_name) {
11623 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11624 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11625 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11626 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11628 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11630 if (flags & NDR_OUT) {
11631 if (r->out.connect_handle == NULL) {
11632 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11634 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11635 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11637 return NDR_ERR_SUCCESS;
11640 static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags, struct samr_Connect2 *r)
11642 uint32_t _ptr_system_name;
11643 uint32_t size_system_name_1 = 0;
11644 uint32_t length_system_name_1 = 0;
11645 TALLOC_CTX *_mem_save_system_name_0;
11646 TALLOC_CTX *_mem_save_connect_handle_0;
11647 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11648 if (flags & NDR_IN) {
11649 ZERO_STRUCT(r->out);
11651 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11652 if (_ptr_system_name) {
11653 NDR_PULL_ALLOC(ndr, r->in.system_name);
11655 r->in.system_name = NULL;
11657 if (r->in.system_name) {
11658 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11659 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11660 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11661 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11662 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
11663 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
11664 if (length_system_name_1 > size_system_name_1) {
11665 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
11667 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
11668 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
11669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11671 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11672 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11673 ZERO_STRUCTP(r->out.connect_handle);
11675 if (flags & NDR_OUT) {
11676 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11677 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11679 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11680 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11681 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11682 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11683 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11685 return NDR_ERR_SUCCESS;
11688 _PUBLIC_ void ndr_print_samr_Connect2(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect2 *r)
11690 ndr_print_struct(ndr, name, "samr_Connect2");
11691 if (r == NULL) { ndr_print_null(ndr); return; }
11693 if (flags & NDR_SET_VALUES) {
11694 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11696 if (flags & NDR_IN) {
11697 ndr_print_struct(ndr, "in", "samr_Connect2");
11699 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11701 if (r->in.system_name) {
11702 ndr_print_string(ndr, "system_name", r->in.system_name);
11705 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11708 if (flags & NDR_OUT) {
11709 ndr_print_struct(ndr, "out", "samr_Connect2");
11711 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11713 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11715 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11721 _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo2(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo2 *r)
11723 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11724 if (flags & NDR_IN) {
11725 if (r->in.user_handle == NULL) {
11726 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11728 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
11729 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
11730 if (r->in.info == NULL) {
11731 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11733 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
11734 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11736 if (flags & NDR_OUT) {
11737 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11739 return NDR_ERR_SUCCESS;
11742 _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo2(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo2 *r)
11744 TALLOC_CTX *_mem_save_user_handle_0;
11745 TALLOC_CTX *_mem_save_info_0;
11746 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11747 if (flags & NDR_IN) {
11748 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11749 NDR_PULL_ALLOC(ndr, r->in.user_handle);
11751 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11752 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
11753 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
11754 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
11755 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
11756 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11757 NDR_PULL_ALLOC(ndr, r->in.info);
11759 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11760 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
11761 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
11762 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11763 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11765 if (flags & NDR_OUT) {
11766 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11768 return NDR_ERR_SUCCESS;
11771 _PUBLIC_ void ndr_print_samr_SetUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo2 *r)
11773 ndr_print_struct(ndr, name, "samr_SetUserInfo2");
11774 if (r == NULL) { ndr_print_null(ndr); return; }
11776 if (flags & NDR_SET_VALUES) {
11777 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11779 if (flags & NDR_IN) {
11780 ndr_print_struct(ndr, "in", "samr_SetUserInfo2");
11782 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
11784 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
11786 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
11787 ndr_print_ptr(ndr, "info", r->in.info);
11789 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
11790 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
11794 if (flags & NDR_OUT) {
11795 ndr_print_struct(ndr, "out", "samr_SetUserInfo2");
11797 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11803 static enum ndr_err_code ndr_push_samr_SetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_SetBootKeyInformation *r)
11805 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11806 if (flags & NDR_IN) {
11807 if (r->in.connect_handle == NULL) {
11808 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11810 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
11811 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
11812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
11813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3));
11815 if (flags & NDR_OUT) {
11816 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11818 return NDR_ERR_SUCCESS;
11821 static enum ndr_err_code ndr_pull_samr_SetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_SetBootKeyInformation *r)
11823 TALLOC_CTX *_mem_save_connect_handle_0;
11824 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11825 if (flags & NDR_IN) {
11826 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11827 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
11829 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11830 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11831 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
11832 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11833 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
11834 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
11835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
11837 if (flags & NDR_OUT) {
11838 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11840 return NDR_ERR_SUCCESS;
11843 _PUBLIC_ void ndr_print_samr_SetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetBootKeyInformation *r)
11845 ndr_print_struct(ndr, name, "samr_SetBootKeyInformation");
11846 if (r == NULL) { ndr_print_null(ndr); return; }
11848 if (flags & NDR_SET_VALUES) {
11849 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11851 if (flags & NDR_IN) {
11852 ndr_print_struct(ndr, "in", "samr_SetBootKeyInformation");
11854 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
11856 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
11858 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
11859 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
11860 ndr_print_uint32(ndr, "unknown3", r->in.unknown3);
11863 if (flags & NDR_OUT) {
11864 ndr_print_struct(ndr, "out", "samr_SetBootKeyInformation");
11866 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11872 static enum ndr_err_code ndr_push_samr_GetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_GetBootKeyInformation *r)
11874 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11875 if (flags & NDR_IN) {
11876 if (r->in.domain_handle == NULL) {
11877 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11879 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11881 if (flags & NDR_OUT) {
11882 if (r->out.unknown == NULL) {
11883 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown));
11886 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11888 return NDR_ERR_SUCCESS;
11891 static enum ndr_err_code ndr_pull_samr_GetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_GetBootKeyInformation *r)
11893 TALLOC_CTX *_mem_save_domain_handle_0;
11894 TALLOC_CTX *_mem_save_unknown_0;
11895 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11896 if (flags & NDR_IN) {
11897 ZERO_STRUCT(r->out);
11899 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11900 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11902 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11903 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11904 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11905 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11906 NDR_PULL_ALLOC(ndr, r->out.unknown);
11907 ZERO_STRUCTP(r->out.unknown);
11909 if (flags & NDR_OUT) {
11910 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11911 NDR_PULL_ALLOC(ndr, r->out.unknown);
11913 _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
11914 NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown, LIBNDR_FLAG_REF_ALLOC);
11915 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown));
11916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, LIBNDR_FLAG_REF_ALLOC);
11917 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11919 return NDR_ERR_SUCCESS;
11922 _PUBLIC_ void ndr_print_samr_GetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetBootKeyInformation *r)
11924 ndr_print_struct(ndr, name, "samr_GetBootKeyInformation");
11925 if (r == NULL) { ndr_print_null(ndr); return; }
11927 if (flags & NDR_SET_VALUES) {
11928 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11930 if (flags & NDR_IN) {
11931 ndr_print_struct(ndr, "in", "samr_GetBootKeyInformation");
11933 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11935 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11939 if (flags & NDR_OUT) {
11940 ndr_print_struct(ndr, "out", "samr_GetBootKeyInformation");
11942 ndr_print_ptr(ndr, "unknown", r->out.unknown);
11944 ndr_print_uint32(ndr, "unknown", *r->out.unknown);
11946 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11952 static enum ndr_err_code ndr_push_samr_Connect3(struct ndr_push *ndr, int flags, const struct samr_Connect3 *r)
11954 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
11955 if (flags & NDR_IN) {
11956 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11957 if (r->in.system_name) {
11958 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11959 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11960 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11961 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
11963 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
11964 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11966 if (flags & NDR_OUT) {
11967 if (r->out.connect_handle == NULL) {
11968 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11970 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11971 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11973 return NDR_ERR_SUCCESS;
11976 static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags, struct samr_Connect3 *r)
11978 uint32_t _ptr_system_name;
11979 uint32_t size_system_name_1 = 0;
11980 uint32_t length_system_name_1 = 0;
11981 TALLOC_CTX *_mem_save_system_name_0;
11982 TALLOC_CTX *_mem_save_connect_handle_0;
11983 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
11984 if (flags & NDR_IN) {
11985 ZERO_STRUCT(r->out);
11987 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11988 if (_ptr_system_name) {
11989 NDR_PULL_ALLOC(ndr, r->in.system_name);
11991 r->in.system_name = NULL;
11993 if (r->in.system_name) {
11994 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11995 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11996 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11997 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11998 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
11999 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
12000 if (length_system_name_1 > size_system_name_1) {
12001 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
12003 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
12004 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
12005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
12007 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
12008 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
12009 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12010 ZERO_STRUCTP(r->out.connect_handle);
12012 if (flags & NDR_OUT) {
12013 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12014 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12016 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12017 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
12018 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
12020 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12022 return NDR_ERR_SUCCESS;
12025 _PUBLIC_ void ndr_print_samr_Connect3(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect3 *r)
12027 ndr_print_struct(ndr, name, "samr_Connect3");
12028 if (r == NULL) { ndr_print_null(ndr); return; }
12030 if (flags & NDR_SET_VALUES) {
12031 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12033 if (flags & NDR_IN) {
12034 ndr_print_struct(ndr, "in", "samr_Connect3");
12036 ndr_print_ptr(ndr, "system_name", r->in.system_name);
12038 if (r->in.system_name) {
12039 ndr_print_string(ndr, "system_name", r->in.system_name);
12042 ndr_print_uint32(ndr, "unknown", r->in.unknown);
12043 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
12046 if (flags & NDR_OUT) {
12047 ndr_print_struct(ndr, "out", "samr_Connect3");
12049 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
12051 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
12053 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12059 static enum ndr_err_code ndr_push_samr_Connect4(struct ndr_push *ndr, int flags, const struct samr_Connect4 *r)
12061 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12062 if (flags & NDR_IN) {
12063 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
12064 if (r->in.system_name) {
12065 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12066 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12067 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12068 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12070 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->in.client_version));
12071 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
12073 if (flags & NDR_OUT) {
12074 if (r->out.connect_handle == NULL) {
12075 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12077 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12078 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12080 return NDR_ERR_SUCCESS;
12083 static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags, struct samr_Connect4 *r)
12085 uint32_t _ptr_system_name;
12086 uint32_t size_system_name_1 = 0;
12087 uint32_t length_system_name_1 = 0;
12088 TALLOC_CTX *_mem_save_system_name_0;
12089 TALLOC_CTX *_mem_save_connect_handle_0;
12090 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12091 if (flags & NDR_IN) {
12092 ZERO_STRUCT(r->out);
12094 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
12095 if (_ptr_system_name) {
12096 NDR_PULL_ALLOC(ndr, r->in.system_name);
12098 r->in.system_name = NULL;
12100 if (r->in.system_name) {
12101 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12102 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
12103 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
12104 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
12105 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
12106 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
12107 if (length_system_name_1 > size_system_name_1) {
12108 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
12110 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
12111 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
12112 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
12114 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->in.client_version));
12115 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
12116 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12117 ZERO_STRUCTP(r->out.connect_handle);
12119 if (flags & NDR_OUT) {
12120 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12121 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12123 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12124 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
12125 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
12127 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12129 return NDR_ERR_SUCCESS;
12132 _PUBLIC_ void ndr_print_samr_Connect4(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect4 *r)
12134 ndr_print_struct(ndr, name, "samr_Connect4");
12135 if (r == NULL) { ndr_print_null(ndr); return; }
12137 if (flags & NDR_SET_VALUES) {
12138 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12140 if (flags & NDR_IN) {
12141 ndr_print_struct(ndr, "in", "samr_Connect4");
12143 ndr_print_ptr(ndr, "system_name", r->in.system_name);
12145 if (r->in.system_name) {
12146 ndr_print_string(ndr, "system_name", r->in.system_name);
12149 ndr_print_samr_ConnectVersion(ndr, "client_version", r->in.client_version);
12150 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
12153 if (flags & NDR_OUT) {
12154 ndr_print_struct(ndr, "out", "samr_Connect4");
12156 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
12158 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
12160 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12166 _PUBLIC_ enum ndr_err_code ndr_push_samr_ChangePasswordUser3(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser3 *r)
12168 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12169 if (flags & NDR_IN) {
12170 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
12171 if (r->in.server) {
12172 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
12174 if (r->in.account == NULL) {
12175 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12177 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
12178 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
12179 if (r->in.nt_password) {
12180 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
12182 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
12183 if (r->in.nt_verifier) {
12184 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
12186 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
12187 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
12188 if (r->in.lm_password) {
12189 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
12191 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
12192 if (r->in.lm_verifier) {
12193 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
12195 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password3));
12196 if (r->in.password3) {
12197 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
12200 if (flags & NDR_OUT) {
12201 if (r->out.dominfo == NULL) {
12202 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12204 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo));
12205 if (*r->out.dominfo) {
12206 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
12208 if (r->out.reject == NULL) {
12209 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12211 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.reject));
12212 if (*r->out.reject) {
12213 NDR_CHECK(ndr_push_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject));
12215 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12217 return NDR_ERR_SUCCESS;
12220 _PUBLIC_ enum ndr_err_code ndr_pull_samr_ChangePasswordUser3(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser3 *r)
12222 uint32_t _ptr_server;
12223 uint32_t _ptr_nt_password;
12224 uint32_t _ptr_nt_verifier;
12225 uint32_t _ptr_lm_password;
12226 uint32_t _ptr_lm_verifier;
12227 uint32_t _ptr_password3;
12228 uint32_t _ptr_dominfo;
12229 uint32_t _ptr_reject;
12230 TALLOC_CTX *_mem_save_server_0;
12231 TALLOC_CTX *_mem_save_account_0;
12232 TALLOC_CTX *_mem_save_nt_password_0;
12233 TALLOC_CTX *_mem_save_nt_verifier_0;
12234 TALLOC_CTX *_mem_save_lm_password_0;
12235 TALLOC_CTX *_mem_save_lm_verifier_0;
12236 TALLOC_CTX *_mem_save_password3_0;
12237 TALLOC_CTX *_mem_save_dominfo_0;
12238 TALLOC_CTX *_mem_save_dominfo_1;
12239 TALLOC_CTX *_mem_save_reject_0;
12240 TALLOC_CTX *_mem_save_reject_1;
12241 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12242 if (flags & NDR_IN) {
12243 ZERO_STRUCT(r->out);
12245 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
12247 NDR_PULL_ALLOC(ndr, r->in.server);
12249 r->in.server = NULL;
12251 if (r->in.server) {
12252 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
12253 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
12254 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
12255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
12257 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12258 NDR_PULL_ALLOC(ndr, r->in.account);
12260 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
12261 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
12262 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
12263 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
12264 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
12265 if (_ptr_nt_password) {
12266 NDR_PULL_ALLOC(ndr, r->in.nt_password);
12268 r->in.nt_password = NULL;
12270 if (r->in.nt_password) {
12271 _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12272 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
12273 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
12274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
12276 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
12277 if (_ptr_nt_verifier) {
12278 NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
12280 r->in.nt_verifier = NULL;
12282 if (r->in.nt_verifier) {
12283 _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
12284 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
12285 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
12286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
12288 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
12289 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
12290 if (_ptr_lm_password) {
12291 NDR_PULL_ALLOC(ndr, r->in.lm_password);
12293 r->in.lm_password = NULL;
12295 if (r->in.lm_password) {
12296 _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
12297 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
12298 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
12299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
12301 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
12302 if (_ptr_lm_verifier) {
12303 NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
12305 r->in.lm_verifier = NULL;
12307 if (r->in.lm_verifier) {
12308 _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
12309 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
12310 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
12311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
12313 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password3));
12314 if (_ptr_password3) {
12315 NDR_PULL_ALLOC(ndr, r->in.password3);
12317 r->in.password3 = NULL;
12319 if (r->in.password3) {
12320 _mem_save_password3_0 = NDR_PULL_GET_MEM_CTX(ndr);
12321 NDR_PULL_SET_MEM_CTX(ndr, r->in.password3, 0);
12322 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
12323 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password3_0, 0);
12325 NDR_PULL_ALLOC(ndr, r->out.dominfo);
12326 ZERO_STRUCTP(r->out.dominfo);
12327 NDR_PULL_ALLOC(ndr, r->out.reject);
12328 ZERO_STRUCTP(r->out.reject);
12330 if (flags & NDR_OUT) {
12331 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12332 NDR_PULL_ALLOC(ndr, r->out.dominfo);
12334 _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
12335 NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC);
12336 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo));
12337 if (_ptr_dominfo) {
12338 NDR_PULL_ALLOC(ndr, *r->out.dominfo);
12340 *r->out.dominfo = NULL;
12342 if (*r->out.dominfo) {
12343 _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr);
12344 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0);
12345 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
12346 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0);
12348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC);
12349 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12350 NDR_PULL_ALLOC(ndr, r->out.reject);
12352 _mem_save_reject_0 = NDR_PULL_GET_MEM_CTX(ndr);
12353 NDR_PULL_SET_MEM_CTX(ndr, r->out.reject, LIBNDR_FLAG_REF_ALLOC);
12354 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_reject));
12356 NDR_PULL_ALLOC(ndr, *r->out.reject);
12358 *r->out.reject = NULL;
12360 if (*r->out.reject) {
12361 _mem_save_reject_1 = NDR_PULL_GET_MEM_CTX(ndr);
12362 NDR_PULL_SET_MEM_CTX(ndr, *r->out.reject, 0);
12363 NDR_CHECK(ndr_pull_userPwdChangeFailureInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.reject));
12364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_1, 0);
12366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_0, LIBNDR_FLAG_REF_ALLOC);
12367 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12369 return NDR_ERR_SUCCESS;
12372 _PUBLIC_ void ndr_print_samr_ChangePasswordUser3(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser3 *r)
12374 ndr_print_struct(ndr, name, "samr_ChangePasswordUser3");
12375 if (r == NULL) { ndr_print_null(ndr); return; }
12377 if (flags & NDR_SET_VALUES) {
12378 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12380 if (flags & NDR_IN) {
12381 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser3");
12383 ndr_print_ptr(ndr, "server", r->in.server);
12385 if (r->in.server) {
12386 ndr_print_lsa_String(ndr, "server", r->in.server);
12389 ndr_print_ptr(ndr, "account", r->in.account);
12391 ndr_print_lsa_String(ndr, "account", r->in.account);
12393 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
12395 if (r->in.nt_password) {
12396 ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
12399 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
12401 if (r->in.nt_verifier) {
12402 ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
12405 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
12406 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
12408 if (r->in.lm_password) {
12409 ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
12412 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
12414 if (r->in.lm_verifier) {
12415 ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
12418 ndr_print_ptr(ndr, "password3", r->in.password3);
12420 if (r->in.password3) {
12421 ndr_print_samr_CryptPassword(ndr, "password3", r->in.password3);
12426 if (flags & NDR_OUT) {
12427 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser3");
12429 ndr_print_ptr(ndr, "dominfo", r->out.dominfo);
12431 ndr_print_ptr(ndr, "dominfo", *r->out.dominfo);
12433 if (*r->out.dominfo) {
12434 ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo);
12438 ndr_print_ptr(ndr, "reject", r->out.reject);
12440 ndr_print_ptr(ndr, "reject", *r->out.reject);
12442 if (*r->out.reject) {
12443 ndr_print_userPwdChangeFailureInformation(ndr, "reject", *r->out.reject);
12447 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12453 _PUBLIC_ enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flags, const struct samr_Connect5 *r)
12455 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12456 if (flags & NDR_IN) {
12457 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
12458 if (r->in.system_name) {
12459 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12460 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
12461 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
12462 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
12464 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
12465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level_in));
12466 if (r->in.info_in == NULL) {
12467 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12469 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info_in, r->in.level_in));
12470 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
12472 if (flags & NDR_OUT) {
12473 if (r->out.level_out == NULL) {
12474 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
12477 if (r->out.info_out == NULL) {
12478 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12480 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
12481 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
12482 if (r->out.connect_handle == NULL) {
12483 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12485 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12486 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12488 return NDR_ERR_SUCCESS;
12491 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r)
12493 uint32_t _ptr_system_name;
12494 uint32_t size_system_name_1 = 0;
12495 uint32_t length_system_name_1 = 0;
12496 TALLOC_CTX *_mem_save_system_name_0;
12497 TALLOC_CTX *_mem_save_info_in_0;
12498 TALLOC_CTX *_mem_save_level_out_0;
12499 TALLOC_CTX *_mem_save_info_out_0;
12500 TALLOC_CTX *_mem_save_connect_handle_0;
12501 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12502 if (flags & NDR_IN) {
12503 ZERO_STRUCT(r->out);
12505 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
12506 if (_ptr_system_name) {
12507 NDR_PULL_ALLOC(ndr, r->in.system_name);
12509 r->in.system_name = NULL;
12511 if (r->in.system_name) {
12512 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12513 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
12514 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
12515 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
12516 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
12517 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
12518 if (length_system_name_1 > size_system_name_1) {
12519 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
12521 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
12522 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
12523 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
12525 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
12526 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level_in));
12527 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12528 NDR_PULL_ALLOC(ndr, r->in.info_in);
12530 _mem_save_info_in_0 = NDR_PULL_GET_MEM_CTX(ndr);
12531 NDR_PULL_SET_MEM_CTX(ndr, r->in.info_in, LIBNDR_FLAG_REF_ALLOC);
12532 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info_in, r->in.level_in));
12533 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
12534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_in_0, LIBNDR_FLAG_REF_ALLOC);
12535 NDR_PULL_ALLOC(ndr, r->out.level_out);
12536 ZERO_STRUCTP(r->out.level_out);
12537 NDR_PULL_ALLOC(ndr, r->out.info_out);
12538 ZERO_STRUCTP(r->out.info_out);
12539 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12540 ZERO_STRUCTP(r->out.connect_handle);
12542 if (flags & NDR_OUT) {
12543 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12544 NDR_PULL_ALLOC(ndr, r->out.level_out);
12546 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
12547 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
12548 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
12549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
12550 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12551 NDR_PULL_ALLOC(ndr, r->out.info_out);
12553 _mem_save_info_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
12554 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_out, LIBNDR_FLAG_REF_ALLOC);
12555 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
12556 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
12557 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_out_0, LIBNDR_FLAG_REF_ALLOC);
12558 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12559 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12561 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12562 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
12563 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12564 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
12565 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12567 return NDR_ERR_SUCCESS;
12570 _PUBLIC_ void ndr_print_samr_Connect5(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect5 *r)
12572 ndr_print_struct(ndr, name, "samr_Connect5");
12573 if (r == NULL) { ndr_print_null(ndr); return; }
12575 if (flags & NDR_SET_VALUES) {
12576 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12578 if (flags & NDR_IN) {
12579 ndr_print_struct(ndr, "in", "samr_Connect5");
12581 ndr_print_ptr(ndr, "system_name", r->in.system_name);
12583 if (r->in.system_name) {
12584 ndr_print_string(ndr, "system_name", r->in.system_name);
12587 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
12588 ndr_print_uint32(ndr, "level_in", r->in.level_in);
12589 ndr_print_ptr(ndr, "info_in", r->in.info_in);
12591 ndr_print_set_switch_value(ndr, r->in.info_in, r->in.level_in);
12592 ndr_print_samr_ConnectInfo(ndr, "info_in", r->in.info_in);
12596 if (flags & NDR_OUT) {
12597 ndr_print_struct(ndr, "out", "samr_Connect5");
12599 ndr_print_ptr(ndr, "level_out", r->out.level_out);
12601 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
12603 ndr_print_ptr(ndr, "info_out", r->out.info_out);
12605 ndr_print_set_switch_value(ndr, r->out.info_out, *r->out.level_out);
12606 ndr_print_samr_ConnectInfo(ndr, "info_out", r->out.info_out);
12608 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
12610 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
12612 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12618 static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags, const struct samr_RidToSid *r)
12620 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12621 if (flags & NDR_IN) {
12622 if (r->in.domain_handle == NULL) {
12623 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12625 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
12626 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
12628 if (flags & NDR_OUT) {
12629 if (r->out.sid == NULL) {
12630 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12632 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
12634 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
12636 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12638 return NDR_ERR_SUCCESS;
12641 static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags, struct samr_RidToSid *r)
12644 TALLOC_CTX *_mem_save_domain_handle_0;
12645 TALLOC_CTX *_mem_save_sid_0;
12646 TALLOC_CTX *_mem_save_sid_1;
12647 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12648 if (flags & NDR_IN) {
12649 ZERO_STRUCT(r->out);
12651 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12652 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
12654 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12655 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
12656 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
12657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
12658 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
12659 NDR_PULL_ALLOC(ndr, r->out.sid);
12660 ZERO_STRUCTP(r->out.sid);
12662 if (flags & NDR_OUT) {
12663 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12664 NDR_PULL_ALLOC(ndr, r->out.sid);
12666 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12667 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
12668 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
12670 NDR_PULL_ALLOC(ndr, *r->out.sid);
12672 *r->out.sid = NULL;
12675 _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
12676 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
12677 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
12678 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
12680 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
12681 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12683 return NDR_ERR_SUCCESS;
12686 _PUBLIC_ void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, int flags, const struct samr_RidToSid *r)
12688 ndr_print_struct(ndr, name, "samr_RidToSid");
12689 if (r == NULL) { ndr_print_null(ndr); return; }
12691 if (flags & NDR_SET_VALUES) {
12692 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12694 if (flags & NDR_IN) {
12695 ndr_print_struct(ndr, "in", "samr_RidToSid");
12697 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
12699 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
12701 ndr_print_uint32(ndr, "rid", r->in.rid);
12704 if (flags & NDR_OUT) {
12705 ndr_print_struct(ndr, "out", "samr_RidToSid");
12707 ndr_print_ptr(ndr, "sid", r->out.sid);
12709 ndr_print_ptr(ndr, "sid", *r->out.sid);
12712 ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
12716 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12722 static enum ndr_err_code ndr_push_samr_SetDsrmPassword(struct ndr_push *ndr, int flags, const struct samr_SetDsrmPassword *r)
12724 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12725 if (flags & NDR_IN) {
12726 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name));
12728 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
12730 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
12731 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
12733 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
12736 if (flags & NDR_OUT) {
12737 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12739 return NDR_ERR_SUCCESS;
12742 static enum ndr_err_code ndr_pull_samr_SetDsrmPassword(struct ndr_pull *ndr, int flags, struct samr_SetDsrmPassword *r)
12744 uint32_t _ptr_name;
12745 uint32_t _ptr_hash;
12746 TALLOC_CTX *_mem_save_name_0;
12747 TALLOC_CTX *_mem_save_hash_0;
12748 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12749 if (flags & NDR_IN) {
12750 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
12752 NDR_PULL_ALLOC(ndr, r->in.name);
12757 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12758 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0);
12759 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
12760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
12762 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
12763 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
12765 NDR_PULL_ALLOC(ndr, r->in.hash);
12770 _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
12771 NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
12772 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
12773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
12776 if (flags & NDR_OUT) {
12777 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12779 return NDR_ERR_SUCCESS;
12782 _PUBLIC_ void ndr_print_samr_SetDsrmPassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDsrmPassword *r)
12784 ndr_print_struct(ndr, name, "samr_SetDsrmPassword");
12785 if (r == NULL) { ndr_print_null(ndr); return; }
12787 if (flags & NDR_SET_VALUES) {
12788 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12790 if (flags & NDR_IN) {
12791 ndr_print_struct(ndr, "in", "samr_SetDsrmPassword");
12793 ndr_print_ptr(ndr, "name", r->in.name);
12796 ndr_print_lsa_String(ndr, "name", r->in.name);
12799 ndr_print_uint32(ndr, "unknown", r->in.unknown);
12800 ndr_print_ptr(ndr, "hash", r->in.hash);
12803 ndr_print_samr_Password(ndr, "hash", r->in.hash);
12808 if (flags & NDR_OUT) {
12809 ndr_print_struct(ndr, "out", "samr_SetDsrmPassword");
12811 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12817 static enum ndr_err_code ndr_push_samr_ValidatePassword(struct ndr_push *ndr, int flags, const struct samr_ValidatePassword *r)
12819 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
12820 if (flags & NDR_IN) {
12821 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, r->in.level));
12822 if (r->in.req == NULL) {
12823 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12825 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
12826 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12828 if (flags & NDR_OUT) {
12829 if (r->out.rep == NULL) {
12830 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12832 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rep));
12834 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.rep, r->in.level));
12835 NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
12837 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12839 return NDR_ERR_SUCCESS;
12842 static enum ndr_err_code ndr_pull_samr_ValidatePassword(struct ndr_pull *ndr, int flags, struct samr_ValidatePassword *r)
12845 TALLOC_CTX *_mem_save_req_0;
12846 TALLOC_CTX *_mem_save_rep_0;
12847 TALLOC_CTX *_mem_save_rep_1;
12848 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
12849 if (flags & NDR_IN) {
12850 ZERO_STRUCT(r->out);
12852 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, &r->in.level));
12853 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12854 NDR_PULL_ALLOC(ndr, r->in.req);
12856 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
12857 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
12858 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
12859 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12860 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
12861 NDR_PULL_ALLOC(ndr, r->out.rep);
12862 ZERO_STRUCTP(r->out.rep);
12864 if (flags & NDR_OUT) {
12865 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12866 NDR_PULL_ALLOC(ndr, r->out.rep);
12868 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
12869 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
12870 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rep));
12872 NDR_PULL_ALLOC(ndr, *r->out.rep);
12874 *r->out.rep = NULL;
12877 _mem_save_rep_1 = NDR_PULL_GET_MEM_CTX(ndr);
12878 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rep, 0);
12879 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.rep, r->in.level));
12880 NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
12881 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_1, 0);
12883 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
12884 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12886 return NDR_ERR_SUCCESS;
12889 _PUBLIC_ void ndr_print_samr_ValidatePassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_ValidatePassword *r)
12891 ndr_print_struct(ndr, name, "samr_ValidatePassword");
12892 if (r == NULL) { ndr_print_null(ndr); return; }
12894 if (flags & NDR_SET_VALUES) {
12895 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12897 if (flags & NDR_IN) {
12898 ndr_print_struct(ndr, "in", "samr_ValidatePassword");
12900 ndr_print_samr_ValidatePasswordLevel(ndr, "level", r->in.level);
12901 ndr_print_ptr(ndr, "req", r->in.req);
12903 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
12904 ndr_print_samr_ValidatePasswordReq(ndr, "req", r->in.req);
12908 if (flags & NDR_OUT) {
12909 ndr_print_struct(ndr, "out", "samr_ValidatePassword");
12911 ndr_print_ptr(ndr, "rep", r->out.rep);
12913 ndr_print_ptr(ndr, "rep", *r->out.rep);
12916 ndr_print_set_switch_value(ndr, *r->out.rep, r->in.level);
12917 ndr_print_samr_ValidatePasswordRep(ndr, "rep", *r->out.rep);
12921 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12927 static const struct ndr_interface_call samr_calls[] = {
12930 sizeof(struct samr_Connect),
12931 (ndr_push_flags_fn_t) ndr_push_samr_Connect,
12932 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect,
12933 (ndr_print_function_t) ndr_print_samr_Connect,
12939 sizeof(struct samr_Close),
12940 (ndr_push_flags_fn_t) ndr_push_samr_Close,
12941 (ndr_pull_flags_fn_t) ndr_pull_samr_Close,
12942 (ndr_print_function_t) ndr_print_samr_Close,
12947 "samr_SetSecurity",
12948 sizeof(struct samr_SetSecurity),
12949 (ndr_push_flags_fn_t) ndr_push_samr_SetSecurity,
12950 (ndr_pull_flags_fn_t) ndr_pull_samr_SetSecurity,
12951 (ndr_print_function_t) ndr_print_samr_SetSecurity,
12956 "samr_QuerySecurity",
12957 sizeof(struct samr_QuerySecurity),
12958 (ndr_push_flags_fn_t) ndr_push_samr_QuerySecurity,
12959 (ndr_pull_flags_fn_t) ndr_pull_samr_QuerySecurity,
12960 (ndr_print_function_t) ndr_print_samr_QuerySecurity,
12966 sizeof(struct samr_Shutdown),
12967 (ndr_push_flags_fn_t) ndr_push_samr_Shutdown,
12968 (ndr_pull_flags_fn_t) ndr_pull_samr_Shutdown,
12969 (ndr_print_function_t) ndr_print_samr_Shutdown,
12974 "samr_LookupDomain",
12975 sizeof(struct samr_LookupDomain),
12976 (ndr_push_flags_fn_t) ndr_push_samr_LookupDomain,
12977 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupDomain,
12978 (ndr_print_function_t) ndr_print_samr_LookupDomain,
12983 "samr_EnumDomains",
12984 sizeof(struct samr_EnumDomains),
12985 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomains,
12986 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomains,
12987 (ndr_print_function_t) ndr_print_samr_EnumDomains,
12993 sizeof(struct samr_OpenDomain),
12994 (ndr_push_flags_fn_t) ndr_push_samr_OpenDomain,
12995 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenDomain,
12996 (ndr_print_function_t) ndr_print_samr_OpenDomain,
13001 "samr_QueryDomainInfo",
13002 sizeof(struct samr_QueryDomainInfo),
13003 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo,
13004 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo,
13005 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo,
13010 "samr_SetDomainInfo",
13011 sizeof(struct samr_SetDomainInfo),
13012 (ndr_push_flags_fn_t) ndr_push_samr_SetDomainInfo,
13013 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDomainInfo,
13014 (ndr_print_function_t) ndr_print_samr_SetDomainInfo,
13019 "samr_CreateDomainGroup",
13020 sizeof(struct samr_CreateDomainGroup),
13021 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomainGroup,
13022 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomainGroup,
13023 (ndr_print_function_t) ndr_print_samr_CreateDomainGroup,
13028 "samr_EnumDomainGroups",
13029 sizeof(struct samr_EnumDomainGroups),
13030 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainGroups,
13031 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainGroups,
13032 (ndr_print_function_t) ndr_print_samr_EnumDomainGroups,
13038 sizeof(struct samr_CreateUser),
13039 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser,
13040 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser,
13041 (ndr_print_function_t) ndr_print_samr_CreateUser,
13046 "samr_EnumDomainUsers",
13047 sizeof(struct samr_EnumDomainUsers),
13048 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainUsers,
13049 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainUsers,
13050 (ndr_print_function_t) ndr_print_samr_EnumDomainUsers,
13055 "samr_CreateDomAlias",
13056 sizeof(struct samr_CreateDomAlias),
13057 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomAlias,
13058 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomAlias,
13059 (ndr_print_function_t) ndr_print_samr_CreateDomAlias,
13064 "samr_EnumDomainAliases",
13065 sizeof(struct samr_EnumDomainAliases),
13066 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainAliases,
13067 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainAliases,
13068 (ndr_print_function_t) ndr_print_samr_EnumDomainAliases,
13073 "samr_GetAliasMembership",
13074 sizeof(struct samr_GetAliasMembership),
13075 (ndr_push_flags_fn_t) ndr_push_samr_GetAliasMembership,
13076 (ndr_pull_flags_fn_t) ndr_pull_samr_GetAliasMembership,
13077 (ndr_print_function_t) ndr_print_samr_GetAliasMembership,
13082 "samr_LookupNames",
13083 sizeof(struct samr_LookupNames),
13084 (ndr_push_flags_fn_t) ndr_push_samr_LookupNames,
13085 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupNames,
13086 (ndr_print_function_t) ndr_print_samr_LookupNames,
13092 sizeof(struct samr_LookupRids),
13093 (ndr_push_flags_fn_t) ndr_push_samr_LookupRids,
13094 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupRids,
13095 (ndr_print_function_t) ndr_print_samr_LookupRids,
13101 sizeof(struct samr_OpenGroup),
13102 (ndr_push_flags_fn_t) ndr_push_samr_OpenGroup,
13103 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenGroup,
13104 (ndr_print_function_t) ndr_print_samr_OpenGroup,
13109 "samr_QueryGroupInfo",
13110 sizeof(struct samr_QueryGroupInfo),
13111 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupInfo,
13112 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupInfo,
13113 (ndr_print_function_t) ndr_print_samr_QueryGroupInfo,
13118 "samr_SetGroupInfo",
13119 sizeof(struct samr_SetGroupInfo),
13120 (ndr_push_flags_fn_t) ndr_push_samr_SetGroupInfo,
13121 (ndr_pull_flags_fn_t) ndr_pull_samr_SetGroupInfo,
13122 (ndr_print_function_t) ndr_print_samr_SetGroupInfo,
13127 "samr_AddGroupMember",
13128 sizeof(struct samr_AddGroupMember),
13129 (ndr_push_flags_fn_t) ndr_push_samr_AddGroupMember,
13130 (ndr_pull_flags_fn_t) ndr_pull_samr_AddGroupMember,
13131 (ndr_print_function_t) ndr_print_samr_AddGroupMember,
13136 "samr_DeleteDomainGroup",
13137 sizeof(struct samr_DeleteDomainGroup),
13138 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomainGroup,
13139 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomainGroup,
13140 (ndr_print_function_t) ndr_print_samr_DeleteDomainGroup,
13145 "samr_DeleteGroupMember",
13146 sizeof(struct samr_DeleteGroupMember),
13147 (ndr_push_flags_fn_t) ndr_push_samr_DeleteGroupMember,
13148 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteGroupMember,
13149 (ndr_print_function_t) ndr_print_samr_DeleteGroupMember,
13154 "samr_QueryGroupMember",
13155 sizeof(struct samr_QueryGroupMember),
13156 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupMember,
13157 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupMember,
13158 (ndr_print_function_t) ndr_print_samr_QueryGroupMember,
13163 "samr_SetMemberAttributesOfGroup",
13164 sizeof(struct samr_SetMemberAttributesOfGroup),
13165 (ndr_push_flags_fn_t) ndr_push_samr_SetMemberAttributesOfGroup,
13166 (ndr_pull_flags_fn_t) ndr_pull_samr_SetMemberAttributesOfGroup,
13167 (ndr_print_function_t) ndr_print_samr_SetMemberAttributesOfGroup,
13173 sizeof(struct samr_OpenAlias),
13174 (ndr_push_flags_fn_t) ndr_push_samr_OpenAlias,
13175 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenAlias,
13176 (ndr_print_function_t) ndr_print_samr_OpenAlias,
13181 "samr_QueryAliasInfo",
13182 sizeof(struct samr_QueryAliasInfo),
13183 (ndr_push_flags_fn_t) ndr_push_samr_QueryAliasInfo,
13184 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryAliasInfo,
13185 (ndr_print_function_t) ndr_print_samr_QueryAliasInfo,
13190 "samr_SetAliasInfo",
13191 sizeof(struct samr_SetAliasInfo),
13192 (ndr_push_flags_fn_t) ndr_push_samr_SetAliasInfo,
13193 (ndr_pull_flags_fn_t) ndr_pull_samr_SetAliasInfo,
13194 (ndr_print_function_t) ndr_print_samr_SetAliasInfo,
13199 "samr_DeleteDomAlias",
13200 sizeof(struct samr_DeleteDomAlias),
13201 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomAlias,
13202 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomAlias,
13203 (ndr_print_function_t) ndr_print_samr_DeleteDomAlias,
13208 "samr_AddAliasMember",
13209 sizeof(struct samr_AddAliasMember),
13210 (ndr_push_flags_fn_t) ndr_push_samr_AddAliasMember,
13211 (ndr_pull_flags_fn_t) ndr_pull_samr_AddAliasMember,
13212 (ndr_print_function_t) ndr_print_samr_AddAliasMember,
13217 "samr_DeleteAliasMember",
13218 sizeof(struct samr_DeleteAliasMember),
13219 (ndr_push_flags_fn_t) ndr_push_samr_DeleteAliasMember,
13220 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteAliasMember,
13221 (ndr_print_function_t) ndr_print_samr_DeleteAliasMember,
13226 "samr_GetMembersInAlias",
13227 sizeof(struct samr_GetMembersInAlias),
13228 (ndr_push_flags_fn_t) ndr_push_samr_GetMembersInAlias,
13229 (ndr_pull_flags_fn_t) ndr_pull_samr_GetMembersInAlias,
13230 (ndr_print_function_t) ndr_print_samr_GetMembersInAlias,
13236 sizeof(struct samr_OpenUser),
13237 (ndr_push_flags_fn_t) ndr_push_samr_OpenUser,
13238 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenUser,
13239 (ndr_print_function_t) ndr_print_samr_OpenUser,
13245 sizeof(struct samr_DeleteUser),
13246 (ndr_push_flags_fn_t) ndr_push_samr_DeleteUser,
13247 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteUser,
13248 (ndr_print_function_t) ndr_print_samr_DeleteUser,
13253 "samr_QueryUserInfo",
13254 sizeof(struct samr_QueryUserInfo),
13255 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo,
13256 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo,
13257 (ndr_print_function_t) ndr_print_samr_QueryUserInfo,
13262 "samr_SetUserInfo",
13263 sizeof(struct samr_SetUserInfo),
13264 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo,
13265 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo,
13266 (ndr_print_function_t) ndr_print_samr_SetUserInfo,
13271 "samr_ChangePasswordUser",
13272 sizeof(struct samr_ChangePasswordUser),
13273 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser,
13274 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser,
13275 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser,
13280 "samr_GetGroupsForUser",
13281 sizeof(struct samr_GetGroupsForUser),
13282 (ndr_push_flags_fn_t) ndr_push_samr_GetGroupsForUser,
13283 (ndr_pull_flags_fn_t) ndr_pull_samr_GetGroupsForUser,
13284 (ndr_print_function_t) ndr_print_samr_GetGroupsForUser,
13289 "samr_QueryDisplayInfo",
13290 sizeof(struct samr_QueryDisplayInfo),
13291 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo,
13292 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo,
13293 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo,
13298 "samr_GetDisplayEnumerationIndex",
13299 sizeof(struct samr_GetDisplayEnumerationIndex),
13300 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex,
13301 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex,
13302 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex,
13307 "samr_TestPrivateFunctionsDomain",
13308 sizeof(struct samr_TestPrivateFunctionsDomain),
13309 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsDomain,
13310 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsDomain,
13311 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsDomain,
13316 "samr_TestPrivateFunctionsUser",
13317 sizeof(struct samr_TestPrivateFunctionsUser),
13318 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsUser,
13319 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsUser,
13320 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsUser,
13325 "samr_GetUserPwInfo",
13326 sizeof(struct samr_GetUserPwInfo),
13327 (ndr_push_flags_fn_t) ndr_push_samr_GetUserPwInfo,
13328 (ndr_pull_flags_fn_t) ndr_pull_samr_GetUserPwInfo,
13329 (ndr_print_function_t) ndr_print_samr_GetUserPwInfo,
13334 "samr_RemoveMemberFromForeignDomain",
13335 sizeof(struct samr_RemoveMemberFromForeignDomain),
13336 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMemberFromForeignDomain,
13337 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMemberFromForeignDomain,
13338 (ndr_print_function_t) ndr_print_samr_RemoveMemberFromForeignDomain,
13343 "samr_QueryDomainInfo2",
13344 sizeof(struct samr_QueryDomainInfo2),
13345 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo2,
13346 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo2,
13347 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo2,
13352 "samr_QueryUserInfo2",
13353 sizeof(struct samr_QueryUserInfo2),
13354 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo2,
13355 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo2,
13356 (ndr_print_function_t) ndr_print_samr_QueryUserInfo2,
13361 "samr_QueryDisplayInfo2",
13362 sizeof(struct samr_QueryDisplayInfo2),
13363 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo2,
13364 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo2,
13365 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo2,
13370 "samr_GetDisplayEnumerationIndex2",
13371 sizeof(struct samr_GetDisplayEnumerationIndex2),
13372 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex2,
13373 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex2,
13374 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex2,
13379 "samr_CreateUser2",
13380 sizeof(struct samr_CreateUser2),
13381 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser2,
13382 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser2,
13383 (ndr_print_function_t) ndr_print_samr_CreateUser2,
13388 "samr_QueryDisplayInfo3",
13389 sizeof(struct samr_QueryDisplayInfo3),
13390 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo3,
13391 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo3,
13392 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo3,
13397 "samr_AddMultipleMembersToAlias",
13398 sizeof(struct samr_AddMultipleMembersToAlias),
13399 (ndr_push_flags_fn_t) ndr_push_samr_AddMultipleMembersToAlias,
13400 (ndr_pull_flags_fn_t) ndr_pull_samr_AddMultipleMembersToAlias,
13401 (ndr_print_function_t) ndr_print_samr_AddMultipleMembersToAlias,
13406 "samr_RemoveMultipleMembersFromAlias",
13407 sizeof(struct samr_RemoveMultipleMembersFromAlias),
13408 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMultipleMembersFromAlias,
13409 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMultipleMembersFromAlias,
13410 (ndr_print_function_t) ndr_print_samr_RemoveMultipleMembersFromAlias,
13415 "samr_OemChangePasswordUser2",
13416 sizeof(struct samr_OemChangePasswordUser2),
13417 (ndr_push_flags_fn_t) ndr_push_samr_OemChangePasswordUser2,
13418 (ndr_pull_flags_fn_t) ndr_pull_samr_OemChangePasswordUser2,
13419 (ndr_print_function_t) ndr_print_samr_OemChangePasswordUser2,
13424 "samr_ChangePasswordUser2",
13425 sizeof(struct samr_ChangePasswordUser2),
13426 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser2,
13427 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser2,
13428 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser2,
13433 "samr_GetDomPwInfo",
13434 sizeof(struct samr_GetDomPwInfo),
13435 (ndr_push_flags_fn_t) ndr_push_samr_GetDomPwInfo,
13436 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDomPwInfo,
13437 (ndr_print_function_t) ndr_print_samr_GetDomPwInfo,
13443 sizeof(struct samr_Connect2),
13444 (ndr_push_flags_fn_t) ndr_push_samr_Connect2,
13445 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect2,
13446 (ndr_print_function_t) ndr_print_samr_Connect2,
13451 "samr_SetUserInfo2",
13452 sizeof(struct samr_SetUserInfo2),
13453 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo2,
13454 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo2,
13455 (ndr_print_function_t) ndr_print_samr_SetUserInfo2,
13460 "samr_SetBootKeyInformation",
13461 sizeof(struct samr_SetBootKeyInformation),
13462 (ndr_push_flags_fn_t) ndr_push_samr_SetBootKeyInformation,
13463 (ndr_pull_flags_fn_t) ndr_pull_samr_SetBootKeyInformation,
13464 (ndr_print_function_t) ndr_print_samr_SetBootKeyInformation,
13469 "samr_GetBootKeyInformation",
13470 sizeof(struct samr_GetBootKeyInformation),
13471 (ndr_push_flags_fn_t) ndr_push_samr_GetBootKeyInformation,
13472 (ndr_pull_flags_fn_t) ndr_pull_samr_GetBootKeyInformation,
13473 (ndr_print_function_t) ndr_print_samr_GetBootKeyInformation,
13479 sizeof(struct samr_Connect3),
13480 (ndr_push_flags_fn_t) ndr_push_samr_Connect3,
13481 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect3,
13482 (ndr_print_function_t) ndr_print_samr_Connect3,
13488 sizeof(struct samr_Connect4),
13489 (ndr_push_flags_fn_t) ndr_push_samr_Connect4,
13490 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect4,
13491 (ndr_print_function_t) ndr_print_samr_Connect4,
13496 "samr_ChangePasswordUser3",
13497 sizeof(struct samr_ChangePasswordUser3),
13498 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser3,
13499 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser3,
13500 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser3,
13506 sizeof(struct samr_Connect5),
13507 (ndr_push_flags_fn_t) ndr_push_samr_Connect5,
13508 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect5,
13509 (ndr_print_function_t) ndr_print_samr_Connect5,
13515 sizeof(struct samr_RidToSid),
13516 (ndr_push_flags_fn_t) ndr_push_samr_RidToSid,
13517 (ndr_pull_flags_fn_t) ndr_pull_samr_RidToSid,
13518 (ndr_print_function_t) ndr_print_samr_RidToSid,
13523 "samr_SetDsrmPassword",
13524 sizeof(struct samr_SetDsrmPassword),
13525 (ndr_push_flags_fn_t) ndr_push_samr_SetDsrmPassword,
13526 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDsrmPassword,
13527 (ndr_print_function_t) ndr_print_samr_SetDsrmPassword,
13532 "samr_ValidatePassword",
13533 sizeof(struct samr_ValidatePassword),
13534 (ndr_push_flags_fn_t) ndr_push_samr_ValidatePassword,
13535 (ndr_pull_flags_fn_t) ndr_pull_samr_ValidatePassword,
13536 (ndr_print_function_t) ndr_print_samr_ValidatePassword,
13540 { NULL, 0, NULL, NULL, NULL }
13543 static const char * const samr_endpoint_strings[] = {
13544 "ncacn_np:[\\pipe\\samr]",
13549 static const struct ndr_interface_string_array samr_endpoints = {
13551 .names = samr_endpoint_strings
13554 static const char * const samr_authservice_strings[] = {
13558 static const struct ndr_interface_string_array samr_authservices = {
13560 .names = samr_authservice_strings
13564 const struct ndr_interface_table ndr_table_samr = {
13567 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
13570 .helpstring = NDR_SAMR_HELPSTRING,
13572 .calls = samr_calls,
13573 .endpoints = &samr_endpoints,
13574 .authservices = &samr_authservices