1 /* parser auto-generated by pidl */
4 #include "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_netr_SamDatabaseID(struct ndr_push *ndr, int ndr_flags, enum netr_SamDatabaseID r)
11 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
12 return NDR_ERR_SUCCESS;
15 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SamDatabaseID(struct ndr_pull *ndr, int ndr_flags, enum netr_SamDatabaseID *r)
18 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20 return NDR_ERR_SUCCESS;
23 _PUBLIC_ void ndr_print_netr_SamDatabaseID(struct ndr_print *ndr, const char *name, enum netr_SamDatabaseID r)
25 const char *val = NULL;
28 case SAM_DATABASE_DOMAIN: val = "SAM_DATABASE_DOMAIN"; break;
29 case SAM_DATABASE_BUILTIN: val = "SAM_DATABASE_BUILTIN"; break;
30 case SAM_DATABASE_PRIVS: val = "SAM_DATABASE_PRIVS"; break;
32 ndr_print_enum(ndr, name, "ENUM", val, r);
35 _PUBLIC_ enum ndr_err_code ndr_push_samr_RejectReason(struct ndr_push *ndr, int ndr_flags, enum samr_RejectReason r)
37 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
38 return NDR_ERR_SUCCESS;
41 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RejectReason(struct ndr_pull *ndr, int ndr_flags, enum samr_RejectReason *r)
44 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
46 return NDR_ERR_SUCCESS;
49 _PUBLIC_ void ndr_print_samr_RejectReason(struct ndr_print *ndr, const char *name, enum samr_RejectReason r)
51 const char *val = NULL;
54 case SAMR_REJECT_OTHER: val = "SAMR_REJECT_OTHER"; break;
55 case SAMR_REJECT_TOO_SHORT: val = "SAMR_REJECT_TOO_SHORT"; break;
56 case SAMR_REJECT_IN_HISTORY: val = "SAMR_REJECT_IN_HISTORY"; break;
57 case SAMR_REJECT_COMPLEXITY: val = "SAMR_REJECT_COMPLEXITY"; break;
59 ndr_print_enum(ndr, name, "ENUM", val, r);
62 _PUBLIC_ enum ndr_err_code ndr_push_samr_AcctFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
64 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
65 return NDR_ERR_SUCCESS;
68 _PUBLIC_ enum ndr_err_code ndr_pull_samr_AcctFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
71 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
73 return NDR_ERR_SUCCESS;
76 _PUBLIC_ void ndr_print_samr_AcctFlags(struct ndr_print *ndr, const char *name, uint32_t r)
78 ndr_print_uint32(ndr, name, r);
80 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED, r);
81 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ, r);
82 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ, r);
83 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP, r);
84 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL, r);
85 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_MNS", ACB_MNS, r);
86 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST, r);
87 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST, r);
88 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST, r);
89 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP, r);
90 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK, r);
91 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED, r);
92 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED, r);
93 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION, r);
94 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED, r);
95 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY, r);
96 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH, r);
97 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED, r);
98 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD, r);
102 static enum ndr_err_code ndr_push_samr_ConnectAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
104 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
105 return NDR_ERR_SUCCESS;
108 static enum ndr_err_code ndr_pull_samr_ConnectAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
111 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
113 return NDR_ERR_SUCCESS;
116 _PUBLIC_ void ndr_print_samr_ConnectAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
118 ndr_print_uint32(ndr, name, r);
120 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER, r);
121 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER, r);
122 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER, r);
123 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN, r);
124 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS, r);
125 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_OPEN_DOMAIN", SAMR_ACCESS_OPEN_DOMAIN, r);
129 static enum ndr_err_code ndr_push_samr_UserAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
132 return NDR_ERR_SUCCESS;
135 static enum ndr_err_code ndr_pull_samr_UserAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
138 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
140 return NDR_ERR_SUCCESS;
143 _PUBLIC_ void ndr_print_samr_UserAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
145 ndr_print_uint32(ndr, name, r);
147 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC, r);
148 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE, r);
149 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM, r);
150 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO, r);
151 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES, r);
152 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES, r);
153 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD, r);
154 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD, r);
155 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS, r);
156 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP, r);
157 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP, r);
161 static enum ndr_err_code ndr_push_samr_DomainAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
164 return NDR_ERR_SUCCESS;
167 static enum ndr_err_code ndr_pull_samr_DomainAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
172 return NDR_ERR_SUCCESS;
175 _PUBLIC_ void ndr_print_samr_DomainAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
177 ndr_print_uint32(ndr, name, r);
179 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1, r);
180 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1, r);
181 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2, r);
182 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2, r);
183 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER, r);
184 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP, r);
185 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS, r);
186 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS, r);
187 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS, r);
188 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT, r);
189 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3, r);
193 static enum ndr_err_code ndr_push_samr_GroupAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
196 return NDR_ERR_SUCCESS;
199 static enum ndr_err_code ndr_pull_samr_GroupAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
202 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
204 return NDR_ERR_SUCCESS;
207 _PUBLIC_ void ndr_print_samr_GroupAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
209 ndr_print_uint32(ndr, name, r);
211 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO, r);
212 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO, r);
213 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER, r);
214 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER, r);
215 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS, r);
219 static enum ndr_err_code ndr_push_samr_AliasAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
221 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
222 return NDR_ERR_SUCCESS;
225 static enum ndr_err_code ndr_pull_samr_AliasAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
230 return NDR_ERR_SUCCESS;
233 _PUBLIC_ void ndr_print_samr_AliasAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
235 ndr_print_uint32(ndr, name, r);
237 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER, r);
238 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER, r);
239 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS, r);
240 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO, r);
241 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO, r);
245 static enum ndr_err_code ndr_push_samr_SamEntry(struct ndr_push *ndr, int ndr_flags, const struct samr_SamEntry *r)
247 if (ndr_flags & NDR_SCALARS) {
248 NDR_CHECK(ndr_push_align(ndr, 4));
249 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
250 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
252 if (ndr_flags & NDR_BUFFERS) {
253 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
255 return NDR_ERR_SUCCESS;
258 static enum ndr_err_code ndr_pull_samr_SamEntry(struct ndr_pull *ndr, int ndr_flags, struct samr_SamEntry *r)
260 if (ndr_flags & NDR_SCALARS) {
261 NDR_CHECK(ndr_pull_align(ndr, 4));
262 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
263 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
265 if (ndr_flags & NDR_BUFFERS) {
266 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
268 return NDR_ERR_SUCCESS;
271 _PUBLIC_ void ndr_print_samr_SamEntry(struct ndr_print *ndr, const char *name, const struct samr_SamEntry *r)
273 ndr_print_struct(ndr, name, "samr_SamEntry");
275 ndr_print_uint32(ndr, "idx", r->idx);
276 ndr_print_lsa_String(ndr, "name", &r->name);
280 static enum ndr_err_code ndr_push_samr_SamArray(struct ndr_push *ndr, int ndr_flags, const struct samr_SamArray *r)
282 uint32_t cntr_entries_1;
283 if (ndr_flags & NDR_SCALARS) {
284 NDR_CHECK(ndr_push_align(ndr, 4));
285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
286 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
288 if (ndr_flags & NDR_BUFFERS) {
290 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
291 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
292 NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
294 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
295 NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
299 return NDR_ERR_SUCCESS;
302 static enum ndr_err_code ndr_pull_samr_SamArray(struct ndr_pull *ndr, int ndr_flags, struct samr_SamArray *r)
304 uint32_t _ptr_entries;
305 uint32_t cntr_entries_1;
306 TALLOC_CTX *_mem_save_entries_0;
307 TALLOC_CTX *_mem_save_entries_1;
308 if (ndr_flags & NDR_SCALARS) {
309 NDR_CHECK(ndr_pull_align(ndr, 4));
310 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
313 NDR_PULL_ALLOC(ndr, r->entries);
318 if (ndr_flags & NDR_BUFFERS) {
320 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
321 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
322 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
323 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
324 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
325 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
326 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
327 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
329 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
330 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
332 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
336 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
339 return NDR_ERR_SUCCESS;
342 _PUBLIC_ void ndr_print_samr_SamArray(struct ndr_print *ndr, const char *name, const struct samr_SamArray *r)
344 uint32_t cntr_entries_1;
345 ndr_print_struct(ndr, name, "samr_SamArray");
347 ndr_print_uint32(ndr, "count", r->count);
348 ndr_print_ptr(ndr, "entries", r->entries);
351 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
353 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
355 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
356 ndr_print_samr_SamEntry(ndr, "entries", &r->entries[cntr_entries_1]);
366 static enum ndr_err_code ndr_push_samr_Role(struct ndr_push *ndr, int ndr_flags, enum samr_Role r)
368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
369 return NDR_ERR_SUCCESS;
372 static enum ndr_err_code ndr_pull_samr_Role(struct ndr_pull *ndr, int ndr_flags, enum samr_Role *r)
375 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
377 return NDR_ERR_SUCCESS;
380 _PUBLIC_ void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role r)
382 const char *val = NULL;
385 case SAMR_ROLE_STANDALONE: val = "SAMR_ROLE_STANDALONE"; break;
386 case SAMR_ROLE_DOMAIN_MEMBER: val = "SAMR_ROLE_DOMAIN_MEMBER"; break;
387 case SAMR_ROLE_DOMAIN_BDC: val = "SAMR_ROLE_DOMAIN_BDC"; break;
388 case SAMR_ROLE_DOMAIN_PDC: val = "SAMR_ROLE_DOMAIN_PDC"; break;
390 ndr_print_enum(ndr, name, "ENUM", val, r);
393 _PUBLIC_ enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r)
395 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
396 return NDR_ERR_SUCCESS;
399 _PUBLIC_ enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
402 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
404 return NDR_ERR_SUCCESS;
407 _PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r)
409 ndr_print_uint32(ndr, name, r);
411 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX, r);
412 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE, r);
413 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE, r);
414 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS, r);
415 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT, r);
416 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE, r);
420 static enum ndr_err_code ndr_push_samr_DomInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo1 *r)
422 if (ndr_flags & NDR_SCALARS) {
423 NDR_CHECK(ndr_push_align(ndr, 4));
424 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
425 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
426 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
427 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
428 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
430 if (ndr_flags & NDR_BUFFERS) {
432 return NDR_ERR_SUCCESS;
435 static enum ndr_err_code ndr_pull_samr_DomInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo1 *r)
437 if (ndr_flags & NDR_SCALARS) {
438 NDR_CHECK(ndr_pull_align(ndr, 4));
439 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
440 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
441 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
442 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
443 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
445 if (ndr_flags & NDR_BUFFERS) {
447 return NDR_ERR_SUCCESS;
450 _PUBLIC_ void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r)
452 ndr_print_struct(ndr, name, "samr_DomInfo1");
454 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
455 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
456 ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
457 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
458 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
462 static enum ndr_err_code ndr_push_samr_DomGeneralInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation *r)
464 if (ndr_flags & NDR_SCALARS) {
465 NDR_CHECK(ndr_push_align(ndr, 4));
466 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
467 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
468 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
469 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
470 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
472 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users));
475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_groups));
476 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aliases));
478 if (ndr_flags & NDR_BUFFERS) {
479 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
480 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
481 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
483 return NDR_ERR_SUCCESS;
486 static enum ndr_err_code ndr_pull_samr_DomGeneralInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation *r)
488 if (ndr_flags & NDR_SCALARS) {
489 NDR_CHECK(ndr_pull_align(ndr, 4));
490 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
491 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
492 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
493 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
494 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
496 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
497 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
498 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users));
499 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_groups));
500 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aliases));
502 if (ndr_flags & NDR_BUFFERS) {
503 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
504 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
505 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
507 return NDR_ERR_SUCCESS;
510 _PUBLIC_ void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r)
512 ndr_print_struct(ndr, name, "samr_DomGeneralInformation");
514 ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
515 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
516 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
517 ndr_print_lsa_String(ndr, "primary", &r->primary);
518 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
519 ndr_print_uint32(ndr, "unknown2", r->unknown2);
520 ndr_print_samr_Role(ndr, "role", r->role);
521 ndr_print_uint32(ndr, "unknown3", r->unknown3);
522 ndr_print_uint32(ndr, "num_users", r->num_users);
523 ndr_print_uint32(ndr, "num_groups", r->num_groups);
524 ndr_print_uint32(ndr, "num_aliases", r->num_aliases);
528 static enum ndr_err_code ndr_push_samr_DomInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo3 *r)
530 if (ndr_flags & NDR_SCALARS) {
531 NDR_CHECK(ndr_push_align(ndr, 4));
532 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
534 if (ndr_flags & NDR_BUFFERS) {
536 return NDR_ERR_SUCCESS;
539 static enum ndr_err_code ndr_pull_samr_DomInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo3 *r)
541 if (ndr_flags & NDR_SCALARS) {
542 NDR_CHECK(ndr_pull_align(ndr, 4));
543 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
545 if (ndr_flags & NDR_BUFFERS) {
547 return NDR_ERR_SUCCESS;
550 _PUBLIC_ void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r)
552 ndr_print_struct(ndr, name, "samr_DomInfo3");
554 ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
558 static enum ndr_err_code ndr_push_samr_DomOEMInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomOEMInformation *r)
560 if (ndr_flags & NDR_SCALARS) {
561 NDR_CHECK(ndr_push_align(ndr, 4));
562 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
564 if (ndr_flags & NDR_BUFFERS) {
565 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
567 return NDR_ERR_SUCCESS;
570 static enum ndr_err_code ndr_pull_samr_DomOEMInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomOEMInformation *r)
572 if (ndr_flags & NDR_SCALARS) {
573 NDR_CHECK(ndr_pull_align(ndr, 4));
574 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
576 if (ndr_flags & NDR_BUFFERS) {
577 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
579 return NDR_ERR_SUCCESS;
582 _PUBLIC_ void ndr_print_samr_DomOEMInformation(struct ndr_print *ndr, const char *name, const struct samr_DomOEMInformation *r)
584 ndr_print_struct(ndr, name, "samr_DomOEMInformation");
586 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
590 static enum ndr_err_code ndr_push_samr_DomInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo5 *r)
592 if (ndr_flags & NDR_SCALARS) {
593 NDR_CHECK(ndr_push_align(ndr, 4));
594 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
596 if (ndr_flags & NDR_BUFFERS) {
597 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
599 return NDR_ERR_SUCCESS;
602 static enum ndr_err_code ndr_pull_samr_DomInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo5 *r)
604 if (ndr_flags & NDR_SCALARS) {
605 NDR_CHECK(ndr_pull_align(ndr, 4));
606 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
608 if (ndr_flags & NDR_BUFFERS) {
609 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
611 return NDR_ERR_SUCCESS;
614 _PUBLIC_ void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r)
616 ndr_print_struct(ndr, name, "samr_DomInfo5");
618 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
622 static enum ndr_err_code ndr_push_samr_DomInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo6 *r)
624 if (ndr_flags & NDR_SCALARS) {
625 NDR_CHECK(ndr_push_align(ndr, 4));
626 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
628 if (ndr_flags & NDR_BUFFERS) {
629 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
631 return NDR_ERR_SUCCESS;
634 static enum ndr_err_code ndr_pull_samr_DomInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo6 *r)
636 if (ndr_flags & NDR_SCALARS) {
637 NDR_CHECK(ndr_pull_align(ndr, 4));
638 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
640 if (ndr_flags & NDR_BUFFERS) {
641 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
643 return NDR_ERR_SUCCESS;
646 _PUBLIC_ void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r)
648 ndr_print_struct(ndr, name, "samr_DomInfo6");
650 ndr_print_lsa_String(ndr, "primary", &r->primary);
654 static enum ndr_err_code ndr_push_samr_DomInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo7 *r)
656 if (ndr_flags & NDR_SCALARS) {
657 NDR_CHECK(ndr_push_align(ndr, 4));
658 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
660 if (ndr_flags & NDR_BUFFERS) {
662 return NDR_ERR_SUCCESS;
665 static enum ndr_err_code ndr_pull_samr_DomInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo7 *r)
667 if (ndr_flags & NDR_SCALARS) {
668 NDR_CHECK(ndr_pull_align(ndr, 4));
669 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
671 if (ndr_flags & NDR_BUFFERS) {
673 return NDR_ERR_SUCCESS;
676 _PUBLIC_ void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r)
678 ndr_print_struct(ndr, name, "samr_DomInfo7");
680 ndr_print_samr_Role(ndr, "role", r->role);
684 static enum ndr_err_code ndr_push_samr_DomInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo8 *r)
686 if (ndr_flags & NDR_SCALARS) {
687 NDR_CHECK(ndr_push_align(ndr, 8));
688 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
689 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
691 if (ndr_flags & NDR_BUFFERS) {
693 return NDR_ERR_SUCCESS;
696 static enum ndr_err_code ndr_pull_samr_DomInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo8 *r)
698 if (ndr_flags & NDR_SCALARS) {
699 NDR_CHECK(ndr_pull_align(ndr, 8));
700 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
701 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
703 if (ndr_flags & NDR_BUFFERS) {
705 return NDR_ERR_SUCCESS;
708 _PUBLIC_ void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r)
710 ndr_print_struct(ndr, name, "samr_DomInfo8");
712 ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
713 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
717 static enum ndr_err_code ndr_push_samr_DomInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo9 *r)
719 if (ndr_flags & NDR_SCALARS) {
720 NDR_CHECK(ndr_push_align(ndr, 4));
721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
723 if (ndr_flags & NDR_BUFFERS) {
725 return NDR_ERR_SUCCESS;
728 static enum ndr_err_code ndr_pull_samr_DomInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo9 *r)
730 if (ndr_flags & NDR_SCALARS) {
731 NDR_CHECK(ndr_pull_align(ndr, 4));
732 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
734 if (ndr_flags & NDR_BUFFERS) {
736 return NDR_ERR_SUCCESS;
739 _PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r)
741 ndr_print_struct(ndr, name, "samr_DomInfo9");
743 ndr_print_uint32(ndr, "unknown", r->unknown);
747 static enum ndr_err_code ndr_push_samr_DomGeneralInformation2(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation2 *r)
749 if (ndr_flags & NDR_SCALARS) {
750 NDR_CHECK(ndr_push_align(ndr, 8));
751 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
752 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
753 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
754 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
756 if (ndr_flags & NDR_BUFFERS) {
757 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
759 return NDR_ERR_SUCCESS;
762 static enum ndr_err_code ndr_pull_samr_DomGeneralInformation2(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation2 *r)
764 if (ndr_flags & NDR_SCALARS) {
765 NDR_CHECK(ndr_pull_align(ndr, 8));
766 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
767 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
768 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
769 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
771 if (ndr_flags & NDR_BUFFERS) {
772 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
774 return NDR_ERR_SUCCESS;
777 _PUBLIC_ void ndr_print_samr_DomGeneralInformation2(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation2 *r)
779 ndr_print_struct(ndr, name, "samr_DomGeneralInformation2");
781 ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
782 ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
783 ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
784 ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
788 static enum ndr_err_code ndr_push_samr_DomInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo12 *r)
790 if (ndr_flags & NDR_SCALARS) {
791 NDR_CHECK(ndr_push_align(ndr, 8));
792 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
793 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
794 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
796 if (ndr_flags & NDR_BUFFERS) {
798 return NDR_ERR_SUCCESS;
801 static enum ndr_err_code ndr_pull_samr_DomInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo12 *r)
803 if (ndr_flags & NDR_SCALARS) {
804 NDR_CHECK(ndr_pull_align(ndr, 8));
805 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
806 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
807 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
809 if (ndr_flags & NDR_BUFFERS) {
811 return NDR_ERR_SUCCESS;
814 _PUBLIC_ void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r)
816 ndr_print_struct(ndr, name, "samr_DomInfo12");
818 ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
819 ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
820 ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
824 static enum ndr_err_code ndr_push_samr_DomInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo13 *r)
826 if (ndr_flags & NDR_SCALARS) {
827 NDR_CHECK(ndr_push_align(ndr, 8));
828 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
829 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
831 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
833 if (ndr_flags & NDR_BUFFERS) {
835 return NDR_ERR_SUCCESS;
838 static enum ndr_err_code ndr_pull_samr_DomInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo13 *r)
840 if (ndr_flags & NDR_SCALARS) {
841 NDR_CHECK(ndr_pull_align(ndr, 8));
842 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
843 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
844 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
847 if (ndr_flags & NDR_BUFFERS) {
849 return NDR_ERR_SUCCESS;
852 _PUBLIC_ void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r)
854 ndr_print_struct(ndr, name, "samr_DomInfo13");
856 ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
857 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
858 ndr_print_uint32(ndr, "unknown1", r->unknown1);
859 ndr_print_uint32(ndr, "unknown2", r->unknown2);
863 static enum ndr_err_code ndr_push_samr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DomainInfo *r)
865 if (ndr_flags & NDR_SCALARS) {
866 int level = ndr_push_get_switch_value(ndr, r);
867 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
870 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
874 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
878 NDR_CHECK(ndr_push_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
882 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
886 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
890 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
894 NDR_CHECK(ndr_push_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
898 NDR_CHECK(ndr_push_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
902 NDR_CHECK(ndr_push_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
906 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
910 NDR_CHECK(ndr_push_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
914 NDR_CHECK(ndr_push_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
918 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
921 if (ndr_flags & NDR_BUFFERS) {
922 int level = ndr_push_get_switch_value(ndr, r);
928 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
935 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
939 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
943 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
956 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
966 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
969 return NDR_ERR_SUCCESS;
972 static enum ndr_err_code ndr_pull_samr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DomainInfo *r)
976 level = ndr_pull_get_switch_value(ndr, r);
977 if (ndr_flags & NDR_SCALARS) {
978 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
979 if (_level != level) {
980 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
984 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
988 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
992 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
996 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
1000 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
1004 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
1008 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
1012 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
1016 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
1020 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
1024 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
1028 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
1032 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1035 if (ndr_flags & NDR_BUFFERS) {
1041 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
1048 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
1052 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
1056 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
1069 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
1079 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1082 return NDR_ERR_SUCCESS;
1085 _PUBLIC_ void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r)
1088 level = ndr_print_get_switch_value(ndr, r);
1089 ndr_print_union(ndr, name, level, "samr_DomainInfo");
1092 ndr_print_samr_DomInfo1(ndr, "info1", &r->info1);
1096 ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
1100 ndr_print_samr_DomInfo3(ndr, "info3", &r->info3);
1104 ndr_print_samr_DomOEMInformation(ndr, "oem", &r->oem);
1108 ndr_print_samr_DomInfo5(ndr, "info5", &r->info5);
1112 ndr_print_samr_DomInfo6(ndr, "info6", &r->info6);
1116 ndr_print_samr_DomInfo7(ndr, "info7", &r->info7);
1120 ndr_print_samr_DomInfo8(ndr, "info8", &r->info8);
1124 ndr_print_samr_DomInfo9(ndr, "info9", &r->info9);
1128 ndr_print_samr_DomGeneralInformation2(ndr, "general2", &r->general2);
1132 ndr_print_samr_DomInfo12(ndr, "info12", &r->info12);
1136 ndr_print_samr_DomInfo13(ndr, "info13", &r->info13);
1140 ndr_print_bad_level(ndr, name, level);
1144 static enum ndr_err_code ndr_push_samr_Ids(struct ndr_push *ndr, int ndr_flags, const struct samr_Ids *r)
1146 uint32_t cntr_ids_1;
1147 if (ndr_flags & NDR_SCALARS) {
1148 NDR_CHECK(ndr_push_align(ndr, 4));
1149 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1150 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ids));
1152 if (ndr_flags & NDR_BUFFERS) {
1154 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1155 for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
1156 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ids[cntr_ids_1]));
1160 return NDR_ERR_SUCCESS;
1163 static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags, struct samr_Ids *r)
1166 uint32_t cntr_ids_1;
1167 TALLOC_CTX *_mem_save_ids_0;
1168 TALLOC_CTX *_mem_save_ids_1;
1169 if (ndr_flags & NDR_SCALARS) {
1170 NDR_CHECK(ndr_pull_align(ndr, 4));
1171 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1172 if (r->count < 0 || r->count > 1024) {
1173 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1175 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ids));
1177 NDR_PULL_ALLOC(ndr, r->ids);
1182 if (ndr_flags & NDR_BUFFERS) {
1184 _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1185 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1186 NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
1187 NDR_PULL_ALLOC_N(ndr, r->ids, ndr_get_array_size(ndr, &r->ids));
1188 _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1189 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1190 for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
1191 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1]));
1193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_1, 0);
1194 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
1197 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->ids, r->count));
1200 return NDR_ERR_SUCCESS;
1203 _PUBLIC_ void ndr_print_samr_Ids(struct ndr_print *ndr, const char *name, const struct samr_Ids *r)
1205 uint32_t cntr_ids_1;
1206 ndr_print_struct(ndr, name, "samr_Ids");
1208 ndr_print_uint32(ndr, "count", r->count);
1209 ndr_print_ptr(ndr, "ids", r->ids);
1212 ndr->print(ndr, "%s: ARRAY(%d)", "ids", (int)r->count);
1214 for (cntr_ids_1=0;cntr_ids_1<r->count;cntr_ids_1++) {
1216 if (asprintf(&idx_1, "[%d]", cntr_ids_1) != -1) {
1217 ndr_print_uint32(ndr, "ids", r->ids[cntr_ids_1]);
1227 _PUBLIC_ enum ndr_err_code ndr_push_samr_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1230 return NDR_ERR_SUCCESS;
1233 _PUBLIC_ enum ndr_err_code ndr_pull_samr_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1236 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1238 return NDR_ERR_SUCCESS;
1241 _PUBLIC_ void ndr_print_samr_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
1243 ndr_print_uint32(ndr, name, r);
1245 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
1246 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
1247 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
1248 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
1249 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
1250 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
1251 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
1255 static enum ndr_err_code ndr_push_samr_GroupInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAll *r)
1257 if (ndr_flags & NDR_SCALARS) {
1258 NDR_CHECK(ndr_push_align(ndr, 4));
1259 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1260 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1262 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1264 if (ndr_flags & NDR_BUFFERS) {
1265 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1266 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1268 return NDR_ERR_SUCCESS;
1271 static enum ndr_err_code ndr_pull_samr_GroupInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAll *r)
1273 if (ndr_flags & NDR_SCALARS) {
1274 NDR_CHECK(ndr_pull_align(ndr, 4));
1275 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1276 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1278 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1280 if (ndr_flags & NDR_BUFFERS) {
1281 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1282 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1284 return NDR_ERR_SUCCESS;
1287 _PUBLIC_ void ndr_print_samr_GroupInfoAll(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAll *r)
1289 ndr_print_struct(ndr, name, "samr_GroupInfoAll");
1291 ndr_print_lsa_String(ndr, "name", &r->name);
1292 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1293 ndr_print_uint32(ndr, "num_members", r->num_members);
1294 ndr_print_lsa_String(ndr, "description", &r->description);
1298 static enum ndr_err_code ndr_push_samr_GroupInfoAttributes(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAttributes *r)
1300 if (ndr_flags & NDR_SCALARS) {
1301 NDR_CHECK(ndr_push_align(ndr, 4));
1302 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1304 if (ndr_flags & NDR_BUFFERS) {
1306 return NDR_ERR_SUCCESS;
1309 static enum ndr_err_code ndr_pull_samr_GroupInfoAttributes(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAttributes *r)
1311 if (ndr_flags & NDR_SCALARS) {
1312 NDR_CHECK(ndr_pull_align(ndr, 4));
1313 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1315 if (ndr_flags & NDR_BUFFERS) {
1317 return NDR_ERR_SUCCESS;
1320 _PUBLIC_ void ndr_print_samr_GroupInfoAttributes(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAttributes *r)
1322 ndr_print_struct(ndr, name, "samr_GroupInfoAttributes");
1324 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1328 static enum ndr_err_code ndr_push_samr_GroupInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_GroupInfoEnum r)
1330 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1331 return NDR_ERR_SUCCESS;
1334 static enum ndr_err_code ndr_pull_samr_GroupInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_GroupInfoEnum *r)
1337 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1339 return NDR_ERR_SUCCESS;
1342 _PUBLIC_ void ndr_print_samr_GroupInfoEnum(struct ndr_print *ndr, const char *name, enum samr_GroupInfoEnum r)
1344 const char *val = NULL;
1347 case GROUPINFOALL: val = "GROUPINFOALL"; break;
1348 case GROUPINFONAME: val = "GROUPINFONAME"; break;
1349 case GROUPINFOATTRIBUTES: val = "GROUPINFOATTRIBUTES"; break;
1350 case GROUPINFODESCRIPTION: val = "GROUPINFODESCRIPTION"; break;
1351 case GROUPINFOALL2: val = "GROUPINFOALL2"; break;
1353 ndr_print_enum(ndr, name, "ENUM", val, r);
1356 static enum ndr_err_code ndr_push_samr_GroupInfo(struct ndr_push *ndr, int ndr_flags, const union samr_GroupInfo *r)
1358 if (ndr_flags & NDR_SCALARS) {
1359 int level = ndr_push_get_switch_value(ndr, r);
1360 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, level));
1362 case GROUPINFOALL: {
1363 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1366 case GROUPINFONAME: {
1367 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1370 case GROUPINFOATTRIBUTES: {
1371 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1374 case GROUPINFODESCRIPTION: {
1375 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1378 case GROUPINFOALL2: {
1379 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1383 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1386 if (ndr_flags & NDR_BUFFERS) {
1387 int level = ndr_push_get_switch_value(ndr, r);
1390 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1394 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1397 case GROUPINFOATTRIBUTES:
1400 case GROUPINFODESCRIPTION:
1401 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1405 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1409 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1412 return NDR_ERR_SUCCESS;
1415 static enum ndr_err_code ndr_pull_samr_GroupInfo(struct ndr_pull *ndr, int ndr_flags, union samr_GroupInfo *r)
1419 level = ndr_pull_get_switch_value(ndr, r);
1420 if (ndr_flags & NDR_SCALARS) {
1421 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1422 if (_level != level) {
1423 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1426 case GROUPINFOALL: {
1427 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1430 case GROUPINFONAME: {
1431 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1434 case GROUPINFOATTRIBUTES: {
1435 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1438 case GROUPINFODESCRIPTION: {
1439 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1442 case GROUPINFOALL2: {
1443 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1447 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1450 if (ndr_flags & NDR_BUFFERS) {
1453 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1457 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1460 case GROUPINFOATTRIBUTES:
1463 case GROUPINFODESCRIPTION:
1464 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1468 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1472 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1475 return NDR_ERR_SUCCESS;
1478 _PUBLIC_ void ndr_print_samr_GroupInfo(struct ndr_print *ndr, const char *name, const union samr_GroupInfo *r)
1481 level = ndr_print_get_switch_value(ndr, r);
1482 ndr_print_union(ndr, name, level, "samr_GroupInfo");
1485 ndr_print_samr_GroupInfoAll(ndr, "all", &r->all);
1489 ndr_print_lsa_String(ndr, "name", &r->name);
1492 case GROUPINFOATTRIBUTES:
1493 ndr_print_samr_GroupInfoAttributes(ndr, "attributes", &r->attributes);
1496 case GROUPINFODESCRIPTION:
1497 ndr_print_lsa_String(ndr, "description", &r->description);
1501 ndr_print_samr_GroupInfoAll(ndr, "all2", &r->all2);
1505 ndr_print_bad_level(ndr, name, level);
1509 static enum ndr_err_code ndr_push_samr_RidTypeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidTypeArray *r)
1511 uint32_t cntr_rids_1;
1512 uint32_t cntr_types_1;
1513 if (ndr_flags & NDR_SCALARS) {
1514 NDR_CHECK(ndr_push_align(ndr, 4));
1515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1516 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
1517 NDR_CHECK(ndr_push_unique_ptr(ndr, r->types));
1519 if (ndr_flags & NDR_BUFFERS) {
1521 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1522 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
1523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
1527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1528 for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
1529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->types[cntr_types_1]));
1533 return NDR_ERR_SUCCESS;
1536 static enum ndr_err_code ndr_pull_samr_RidTypeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidTypeArray *r)
1539 uint32_t cntr_rids_1;
1540 TALLOC_CTX *_mem_save_rids_0;
1541 TALLOC_CTX *_mem_save_rids_1;
1542 uint32_t _ptr_types;
1543 uint32_t cntr_types_1;
1544 TALLOC_CTX *_mem_save_types_0;
1545 TALLOC_CTX *_mem_save_types_1;
1546 if (ndr_flags & NDR_SCALARS) {
1547 NDR_CHECK(ndr_pull_align(ndr, 4));
1548 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1549 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
1551 NDR_PULL_ALLOC(ndr, r->rids);
1555 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_types));
1557 NDR_PULL_ALLOC(ndr, r->types);
1562 if (ndr_flags & NDR_BUFFERS) {
1564 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1565 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1566 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
1567 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
1568 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1569 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1570 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
1571 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
1573 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
1574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
1577 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
1578 NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
1579 NDR_CHECK(ndr_pull_array_size(ndr, &r->types));
1580 NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types));
1581 _mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr);
1582 NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
1583 for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
1584 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
1586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0);
1587 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, 0);
1590 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
1593 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->types, r->count));
1596 return NDR_ERR_SUCCESS;
1599 _PUBLIC_ void ndr_print_samr_RidTypeArray(struct ndr_print *ndr, const char *name, const struct samr_RidTypeArray *r)
1601 uint32_t cntr_rids_1;
1602 uint32_t cntr_types_1;
1603 ndr_print_struct(ndr, name, "samr_RidTypeArray");
1605 ndr_print_uint32(ndr, "count", r->count);
1606 ndr_print_ptr(ndr, "rids", r->rids);
1609 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
1611 for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
1613 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
1614 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
1621 ndr_print_ptr(ndr, "types", r->types);
1624 ndr->print(ndr, "%s: ARRAY(%d)", "types", (int)r->count);
1626 for (cntr_types_1=0;cntr_types_1<r->count;cntr_types_1++) {
1628 if (asprintf(&idx_1, "[%d]", cntr_types_1) != -1) {
1629 ndr_print_uint32(ndr, "types", r->types[cntr_types_1]);
1639 static enum ndr_err_code ndr_push_samr_AliasInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_AliasInfoAll *r)
1641 if (ndr_flags & NDR_SCALARS) {
1642 NDR_CHECK(ndr_push_align(ndr, 4));
1643 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1644 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1645 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1647 if (ndr_flags & NDR_BUFFERS) {
1648 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1649 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1651 return NDR_ERR_SUCCESS;
1654 static enum ndr_err_code ndr_pull_samr_AliasInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_AliasInfoAll *r)
1656 if (ndr_flags & NDR_SCALARS) {
1657 NDR_CHECK(ndr_pull_align(ndr, 4));
1658 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1659 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1660 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1662 if (ndr_flags & NDR_BUFFERS) {
1663 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1664 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1666 return NDR_ERR_SUCCESS;
1669 _PUBLIC_ void ndr_print_samr_AliasInfoAll(struct ndr_print *ndr, const char *name, const struct samr_AliasInfoAll *r)
1671 ndr_print_struct(ndr, name, "samr_AliasInfoAll");
1673 ndr_print_lsa_String(ndr, "name", &r->name);
1674 ndr_print_uint32(ndr, "num_members", r->num_members);
1675 ndr_print_lsa_String(ndr, "description", &r->description);
1679 static enum ndr_err_code ndr_push_samr_AliasInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_AliasInfoEnum r)
1681 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1682 return NDR_ERR_SUCCESS;
1685 static enum ndr_err_code ndr_pull_samr_AliasInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_AliasInfoEnum *r)
1688 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1690 return NDR_ERR_SUCCESS;
1693 _PUBLIC_ void ndr_print_samr_AliasInfoEnum(struct ndr_print *ndr, const char *name, enum samr_AliasInfoEnum r)
1695 const char *val = NULL;
1698 case ALIASINFOALL: val = "ALIASINFOALL"; break;
1699 case ALIASINFONAME: val = "ALIASINFONAME"; break;
1700 case ALIASINFODESCRIPTION: val = "ALIASINFODESCRIPTION"; break;
1702 ndr_print_enum(ndr, name, "ENUM", val, r);
1705 static enum ndr_err_code ndr_push_samr_AliasInfo(struct ndr_push *ndr, int ndr_flags, const union samr_AliasInfo *r)
1707 if (ndr_flags & NDR_SCALARS) {
1708 int level = ndr_push_get_switch_value(ndr, r);
1709 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, level));
1711 case ALIASINFOALL: {
1712 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1715 case ALIASINFONAME: {
1716 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1719 case ALIASINFODESCRIPTION: {
1720 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1724 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1727 if (ndr_flags & NDR_BUFFERS) {
1728 int level = ndr_push_get_switch_value(ndr, r);
1731 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1735 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1738 case ALIASINFODESCRIPTION:
1739 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1743 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1746 return NDR_ERR_SUCCESS;
1749 static enum ndr_err_code ndr_pull_samr_AliasInfo(struct ndr_pull *ndr, int ndr_flags, union samr_AliasInfo *r)
1753 level = ndr_pull_get_switch_value(ndr, r);
1754 if (ndr_flags & NDR_SCALARS) {
1755 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1756 if (_level != level) {
1757 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1760 case ALIASINFOALL: {
1761 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1764 case ALIASINFONAME: {
1765 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1768 case ALIASINFODESCRIPTION: {
1769 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1773 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1776 if (ndr_flags & NDR_BUFFERS) {
1779 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1783 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1786 case ALIASINFODESCRIPTION:
1787 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1791 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1794 return NDR_ERR_SUCCESS;
1797 _PUBLIC_ void ndr_print_samr_AliasInfo(struct ndr_print *ndr, const char *name, const union samr_AliasInfo *r)
1800 level = ndr_print_get_switch_value(ndr, r);
1801 ndr_print_union(ndr, name, level, "samr_AliasInfo");
1804 ndr_print_samr_AliasInfoAll(ndr, "all", &r->all);
1808 ndr_print_lsa_String(ndr, "name", &r->name);
1811 case ALIASINFODESCRIPTION:
1812 ndr_print_lsa_String(ndr, "description", &r->description);
1816 ndr_print_bad_level(ndr, name, level);
1820 static enum ndr_err_code ndr_push_samr_UserInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo1 *r)
1822 if (ndr_flags & NDR_SCALARS) {
1823 NDR_CHECK(ndr_push_align(ndr, 4));
1824 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1825 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1826 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1827 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1828 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
1830 if (ndr_flags & NDR_BUFFERS) {
1831 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1832 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1833 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1834 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1836 return NDR_ERR_SUCCESS;
1839 static enum ndr_err_code ndr_pull_samr_UserInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo1 *r)
1841 if (ndr_flags & NDR_SCALARS) {
1842 NDR_CHECK(ndr_pull_align(ndr, 4));
1843 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1844 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1845 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1846 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1847 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
1849 if (ndr_flags & NDR_BUFFERS) {
1850 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1851 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1852 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1853 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1855 return NDR_ERR_SUCCESS;
1858 _PUBLIC_ void ndr_print_samr_UserInfo1(struct ndr_print *ndr, const char *name, const struct samr_UserInfo1 *r)
1860 ndr_print_struct(ndr, name, "samr_UserInfo1");
1862 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1863 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1864 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1865 ndr_print_lsa_String(ndr, "description", &r->description);
1866 ndr_print_lsa_String(ndr, "comment", &r->comment);
1870 static enum ndr_err_code ndr_push_samr_UserInfo2(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo2 *r)
1872 if (ndr_flags & NDR_SCALARS) {
1873 NDR_CHECK(ndr_push_align(ndr, 4));
1874 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
1875 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown));
1876 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
1877 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
1879 if (ndr_flags & NDR_BUFFERS) {
1880 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1881 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown));
1883 return NDR_ERR_SUCCESS;
1886 static enum ndr_err_code ndr_pull_samr_UserInfo2(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo2 *r)
1888 if (ndr_flags & NDR_SCALARS) {
1889 NDR_CHECK(ndr_pull_align(ndr, 4));
1890 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
1891 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown));
1892 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
1893 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
1895 if (ndr_flags & NDR_BUFFERS) {
1896 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1897 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown));
1899 return NDR_ERR_SUCCESS;
1902 _PUBLIC_ void ndr_print_samr_UserInfo2(struct ndr_print *ndr, const char *name, const struct samr_UserInfo2 *r)
1904 ndr_print_struct(ndr, name, "samr_UserInfo2");
1906 ndr_print_lsa_String(ndr, "comment", &r->comment);
1907 ndr_print_lsa_String(ndr, "unknown", &r->unknown);
1908 ndr_print_uint16(ndr, "country_code", r->country_code);
1909 ndr_print_uint16(ndr, "code_page", r->code_page);
1913 _PUBLIC_ enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct samr_LogonHours *r)
1916 uint32_t _flags_save_STRUCT = ndr->flags;
1917 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1918 if (ndr_flags & NDR_SCALARS) {
1919 NDR_CHECK(ndr_push_align(ndr, 4));
1920 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->units_per_week));
1921 NDR_CHECK(ndr_push_unique_ptr(ndr, r->bits));
1923 if (ndr_flags & NDR_BUFFERS) {
1925 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1260));
1926 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->units_per_week / 8));
1928 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->bits, r->units_per_week / 8));
1931 ndr->flags = _flags_save_STRUCT;
1933 return NDR_ERR_SUCCESS;
1936 _PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r)
1939 TALLOC_CTX *_mem_save_bits_0;
1941 uint32_t _flags_save_STRUCT = ndr->flags;
1942 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1943 if (ndr_flags & NDR_SCALARS) {
1944 NDR_CHECK(ndr_pull_align(ndr, 4));
1945 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->units_per_week));
1946 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bits));
1948 NDR_PULL_ALLOC(ndr, r->bits);
1953 if (ndr_flags & NDR_BUFFERS) {
1955 _mem_save_bits_0 = NDR_PULL_GET_MEM_CTX(ndr);
1956 NDR_PULL_SET_MEM_CTX(ndr, r->bits, 0);
1957 NDR_CHECK(ndr_pull_array_size(ndr, &r->bits));
1958 NDR_CHECK(ndr_pull_array_length(ndr, &r->bits));
1959 if (ndr_get_array_length(ndr, &r->bits) > ndr_get_array_size(ndr, &r->bits)) {
1960 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->bits), ndr_get_array_length(ndr, &r->bits));
1962 NDR_PULL_ALLOC_N(ndr, r->bits, ndr_get_array_size(ndr, &r->bits));
1963 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, ndr_get_array_length(ndr, &r->bits)));
1964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0);
1967 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->bits, 1260));
1970 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->bits, r->units_per_week / 8));
1973 ndr->flags = _flags_save_STRUCT;
1975 return NDR_ERR_SUCCESS;
1978 _PUBLIC_ void ndr_print_samr_LogonHours(struct ndr_print *ndr, const char *name, const struct samr_LogonHours *r)
1980 ndr_print_struct(ndr, name, "samr_LogonHours");
1982 uint32_t _flags_save_STRUCT = ndr->flags;
1983 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1985 ndr_print_uint16(ndr, "units_per_week", r->units_per_week);
1986 ndr_print_ptr(ndr, "bits", r->bits);
1989 ndr_print_array_uint8(ndr, "bits", r->bits, r->units_per_week / 8);
1993 ndr->flags = _flags_save_STRUCT;
1997 static enum ndr_err_code ndr_push_samr_UserInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo3 *r)
1999 if (ndr_flags & NDR_SCALARS) {
2000 NDR_CHECK(ndr_push_align(ndr, 4));
2001 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2002 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2005 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2006 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2007 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2008 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2009 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2010 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2011 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2012 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2013 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
2014 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
2015 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2016 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2017 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2018 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2020 if (ndr_flags & NDR_BUFFERS) {
2021 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2022 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2023 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2024 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2025 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2026 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2027 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2028 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2030 return NDR_ERR_SUCCESS;
2033 static enum ndr_err_code ndr_pull_samr_UserInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo3 *r)
2035 if (ndr_flags & NDR_SCALARS) {
2036 NDR_CHECK(ndr_pull_align(ndr, 4));
2037 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2038 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2039 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2040 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2041 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2042 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2043 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2044 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2045 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2046 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2047 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2048 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2049 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
2050 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
2051 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2052 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2053 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2054 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2056 if (ndr_flags & NDR_BUFFERS) {
2057 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2058 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2059 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2060 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2061 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2062 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2063 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2064 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2066 return NDR_ERR_SUCCESS;
2069 _PUBLIC_ void ndr_print_samr_UserInfo3(struct ndr_print *ndr, const char *name, const struct samr_UserInfo3 *r)
2071 ndr_print_struct(ndr, name, "samr_UserInfo3");
2073 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2074 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2075 ndr_print_uint32(ndr, "rid", r->rid);
2076 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2077 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2078 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2079 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2080 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2081 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2082 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2083 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2084 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2085 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
2086 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
2087 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2088 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2089 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2090 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2094 static enum ndr_err_code ndr_push_samr_UserInfo4(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo4 *r)
2096 if (ndr_flags & NDR_SCALARS) {
2097 NDR_CHECK(ndr_push_align(ndr, 4));
2098 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2100 if (ndr_flags & NDR_BUFFERS) {
2101 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2103 return NDR_ERR_SUCCESS;
2106 static enum ndr_err_code ndr_pull_samr_UserInfo4(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo4 *r)
2108 if (ndr_flags & NDR_SCALARS) {
2109 NDR_CHECK(ndr_pull_align(ndr, 4));
2110 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2112 if (ndr_flags & NDR_BUFFERS) {
2113 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2115 return NDR_ERR_SUCCESS;
2118 _PUBLIC_ void ndr_print_samr_UserInfo4(struct ndr_print *ndr, const char *name, const struct samr_UserInfo4 *r)
2120 ndr_print_struct(ndr, name, "samr_UserInfo4");
2122 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2126 static enum ndr_err_code ndr_push_samr_UserInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo5 *r)
2128 if (ndr_flags & NDR_SCALARS) {
2129 NDR_CHECK(ndr_push_align(ndr, 4));
2130 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2131 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2133 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2134 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2135 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2136 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2137 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2138 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2139 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2140 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2141 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2142 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2143 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2144 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2145 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2146 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2147 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2149 if (ndr_flags & NDR_BUFFERS) {
2150 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2151 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2152 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2153 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2154 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2155 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2156 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2157 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2158 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2160 return NDR_ERR_SUCCESS;
2163 static enum ndr_err_code ndr_pull_samr_UserInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo5 *r)
2165 if (ndr_flags & NDR_SCALARS) {
2166 NDR_CHECK(ndr_pull_align(ndr, 4));
2167 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2168 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2169 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2171 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2172 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2173 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2174 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2175 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2176 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2177 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2178 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2179 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2180 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2181 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2182 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2183 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2184 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2186 if (ndr_flags & NDR_BUFFERS) {
2187 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2188 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2189 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2190 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2191 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2192 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2193 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2194 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2195 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2197 return NDR_ERR_SUCCESS;
2200 _PUBLIC_ void ndr_print_samr_UserInfo5(struct ndr_print *ndr, const char *name, const struct samr_UserInfo5 *r)
2202 ndr_print_struct(ndr, name, "samr_UserInfo5");
2204 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2205 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2206 ndr_print_uint32(ndr, "rid", r->rid);
2207 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2208 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2209 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2210 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2211 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2212 ndr_print_lsa_String(ndr, "description", &r->description);
2213 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2214 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2215 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2216 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2217 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2218 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2219 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2220 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2221 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2225 static enum ndr_err_code ndr_push_samr_UserInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo6 *r)
2227 if (ndr_flags & NDR_SCALARS) {
2228 NDR_CHECK(ndr_push_align(ndr, 4));
2229 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2230 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2232 if (ndr_flags & NDR_BUFFERS) {
2233 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2234 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2236 return NDR_ERR_SUCCESS;
2239 static enum ndr_err_code ndr_pull_samr_UserInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo6 *r)
2241 if (ndr_flags & NDR_SCALARS) {
2242 NDR_CHECK(ndr_pull_align(ndr, 4));
2243 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2244 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2246 if (ndr_flags & NDR_BUFFERS) {
2247 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2248 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2250 return NDR_ERR_SUCCESS;
2253 _PUBLIC_ void ndr_print_samr_UserInfo6(struct ndr_print *ndr, const char *name, const struct samr_UserInfo6 *r)
2255 ndr_print_struct(ndr, name, "samr_UserInfo6");
2257 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2258 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2262 static enum ndr_err_code ndr_push_samr_UserInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo7 *r)
2264 if (ndr_flags & NDR_SCALARS) {
2265 NDR_CHECK(ndr_push_align(ndr, 4));
2266 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2268 if (ndr_flags & NDR_BUFFERS) {
2269 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2271 return NDR_ERR_SUCCESS;
2274 static enum ndr_err_code ndr_pull_samr_UserInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo7 *r)
2276 if (ndr_flags & NDR_SCALARS) {
2277 NDR_CHECK(ndr_pull_align(ndr, 4));
2278 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2280 if (ndr_flags & NDR_BUFFERS) {
2281 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2283 return NDR_ERR_SUCCESS;
2286 _PUBLIC_ void ndr_print_samr_UserInfo7(struct ndr_print *ndr, const char *name, const struct samr_UserInfo7 *r)
2288 ndr_print_struct(ndr, name, "samr_UserInfo7");
2290 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2294 static enum ndr_err_code ndr_push_samr_UserInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo8 *r)
2296 if (ndr_flags & NDR_SCALARS) {
2297 NDR_CHECK(ndr_push_align(ndr, 4));
2298 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2300 if (ndr_flags & NDR_BUFFERS) {
2301 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2303 return NDR_ERR_SUCCESS;
2306 static enum ndr_err_code ndr_pull_samr_UserInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo8 *r)
2308 if (ndr_flags & NDR_SCALARS) {
2309 NDR_CHECK(ndr_pull_align(ndr, 4));
2310 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2312 if (ndr_flags & NDR_BUFFERS) {
2313 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2315 return NDR_ERR_SUCCESS;
2318 _PUBLIC_ void ndr_print_samr_UserInfo8(struct ndr_print *ndr, const char *name, const struct samr_UserInfo8 *r)
2320 ndr_print_struct(ndr, name, "samr_UserInfo8");
2322 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2326 static enum ndr_err_code ndr_push_samr_UserInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo9 *r)
2328 if (ndr_flags & NDR_SCALARS) {
2329 NDR_CHECK(ndr_push_align(ndr, 4));
2330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2332 if (ndr_flags & NDR_BUFFERS) {
2334 return NDR_ERR_SUCCESS;
2337 static enum ndr_err_code ndr_pull_samr_UserInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo9 *r)
2339 if (ndr_flags & NDR_SCALARS) {
2340 NDR_CHECK(ndr_pull_align(ndr, 4));
2341 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2343 if (ndr_flags & NDR_BUFFERS) {
2345 return NDR_ERR_SUCCESS;
2348 _PUBLIC_ void ndr_print_samr_UserInfo9(struct ndr_print *ndr, const char *name, const struct samr_UserInfo9 *r)
2350 ndr_print_struct(ndr, name, "samr_UserInfo9");
2352 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2356 static enum ndr_err_code ndr_push_samr_UserInfo10(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo10 *r)
2358 if (ndr_flags & NDR_SCALARS) {
2359 NDR_CHECK(ndr_push_align(ndr, 4));
2360 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2361 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2363 if (ndr_flags & NDR_BUFFERS) {
2364 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2365 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2367 return NDR_ERR_SUCCESS;
2370 static enum ndr_err_code ndr_pull_samr_UserInfo10(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo10 *r)
2372 if (ndr_flags & NDR_SCALARS) {
2373 NDR_CHECK(ndr_pull_align(ndr, 4));
2374 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2375 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2377 if (ndr_flags & NDR_BUFFERS) {
2378 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2379 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2381 return NDR_ERR_SUCCESS;
2384 _PUBLIC_ void ndr_print_samr_UserInfo10(struct ndr_print *ndr, const char *name, const struct samr_UserInfo10 *r)
2386 ndr_print_struct(ndr, name, "samr_UserInfo10");
2388 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2389 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2393 static enum ndr_err_code ndr_push_samr_UserInfo11(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo11 *r)
2395 if (ndr_flags & NDR_SCALARS) {
2396 NDR_CHECK(ndr_push_align(ndr, 4));
2397 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2399 if (ndr_flags & NDR_BUFFERS) {
2400 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2402 return NDR_ERR_SUCCESS;
2405 static enum ndr_err_code ndr_pull_samr_UserInfo11(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo11 *r)
2407 if (ndr_flags & NDR_SCALARS) {
2408 NDR_CHECK(ndr_pull_align(ndr, 4));
2409 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2411 if (ndr_flags & NDR_BUFFERS) {
2412 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2414 return NDR_ERR_SUCCESS;
2417 _PUBLIC_ void ndr_print_samr_UserInfo11(struct ndr_print *ndr, const char *name, const struct samr_UserInfo11 *r)
2419 ndr_print_struct(ndr, name, "samr_UserInfo11");
2421 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2425 static enum ndr_err_code ndr_push_samr_UserInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo12 *r)
2427 if (ndr_flags & NDR_SCALARS) {
2428 NDR_CHECK(ndr_push_align(ndr, 4));
2429 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2431 if (ndr_flags & NDR_BUFFERS) {
2432 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2434 return NDR_ERR_SUCCESS;
2437 static enum ndr_err_code ndr_pull_samr_UserInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo12 *r)
2439 if (ndr_flags & NDR_SCALARS) {
2440 NDR_CHECK(ndr_pull_align(ndr, 4));
2441 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2443 if (ndr_flags & NDR_BUFFERS) {
2444 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2446 return NDR_ERR_SUCCESS;
2449 _PUBLIC_ void ndr_print_samr_UserInfo12(struct ndr_print *ndr, const char *name, const struct samr_UserInfo12 *r)
2451 ndr_print_struct(ndr, name, "samr_UserInfo12");
2453 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2457 static enum ndr_err_code ndr_push_samr_UserInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo13 *r)
2459 if (ndr_flags & NDR_SCALARS) {
2460 NDR_CHECK(ndr_push_align(ndr, 4));
2461 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2463 if (ndr_flags & NDR_BUFFERS) {
2464 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2466 return NDR_ERR_SUCCESS;
2469 static enum ndr_err_code ndr_pull_samr_UserInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo13 *r)
2471 if (ndr_flags & NDR_SCALARS) {
2472 NDR_CHECK(ndr_pull_align(ndr, 4));
2473 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2475 if (ndr_flags & NDR_BUFFERS) {
2476 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2478 return NDR_ERR_SUCCESS;
2481 _PUBLIC_ void ndr_print_samr_UserInfo13(struct ndr_print *ndr, const char *name, const struct samr_UserInfo13 *r)
2483 ndr_print_struct(ndr, name, "samr_UserInfo13");
2485 ndr_print_lsa_String(ndr, "description", &r->description);
2489 static enum ndr_err_code ndr_push_samr_UserInfo14(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo14 *r)
2491 if (ndr_flags & NDR_SCALARS) {
2492 NDR_CHECK(ndr_push_align(ndr, 4));
2493 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2495 if (ndr_flags & NDR_BUFFERS) {
2496 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2498 return NDR_ERR_SUCCESS;
2501 static enum ndr_err_code ndr_pull_samr_UserInfo14(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo14 *r)
2503 if (ndr_flags & NDR_SCALARS) {
2504 NDR_CHECK(ndr_pull_align(ndr, 4));
2505 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2507 if (ndr_flags & NDR_BUFFERS) {
2508 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2510 return NDR_ERR_SUCCESS;
2513 _PUBLIC_ void ndr_print_samr_UserInfo14(struct ndr_print *ndr, const char *name, const struct samr_UserInfo14 *r)
2515 ndr_print_struct(ndr, name, "samr_UserInfo14");
2517 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2521 static enum ndr_err_code ndr_push_samr_UserInfo16(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo16 *r)
2523 if (ndr_flags & NDR_SCALARS) {
2524 NDR_CHECK(ndr_push_align(ndr, 4));
2525 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2527 if (ndr_flags & NDR_BUFFERS) {
2529 return NDR_ERR_SUCCESS;
2532 static enum ndr_err_code ndr_pull_samr_UserInfo16(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo16 *r)
2534 if (ndr_flags & NDR_SCALARS) {
2535 NDR_CHECK(ndr_pull_align(ndr, 4));
2536 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2538 if (ndr_flags & NDR_BUFFERS) {
2540 return NDR_ERR_SUCCESS;
2543 _PUBLIC_ void ndr_print_samr_UserInfo16(struct ndr_print *ndr, const char *name, const struct samr_UserInfo16 *r)
2545 ndr_print_struct(ndr, name, "samr_UserInfo16");
2547 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2551 static enum ndr_err_code ndr_push_samr_UserInfo17(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo17 *r)
2553 if (ndr_flags & NDR_SCALARS) {
2554 NDR_CHECK(ndr_push_align(ndr, 4));
2555 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2557 if (ndr_flags & NDR_BUFFERS) {
2559 return NDR_ERR_SUCCESS;
2562 static enum ndr_err_code ndr_pull_samr_UserInfo17(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo17 *r)
2564 if (ndr_flags & NDR_SCALARS) {
2565 NDR_CHECK(ndr_pull_align(ndr, 4));
2566 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2568 if (ndr_flags & NDR_BUFFERS) {
2570 return NDR_ERR_SUCCESS;
2573 _PUBLIC_ void ndr_print_samr_UserInfo17(struct ndr_print *ndr, const char *name, const struct samr_UserInfo17 *r)
2575 ndr_print_struct(ndr, name, "samr_UserInfo17");
2577 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2581 _PUBLIC_ enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_flags, const struct samr_Password *r)
2584 uint32_t _flags_save_STRUCT = ndr->flags;
2585 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2586 if (ndr_flags & NDR_SCALARS) {
2587 NDR_CHECK(ndr_push_align(ndr, 1));
2588 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2590 if (ndr_flags & NDR_BUFFERS) {
2592 ndr->flags = _flags_save_STRUCT;
2594 return NDR_ERR_SUCCESS;
2597 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r)
2600 uint32_t _flags_save_STRUCT = ndr->flags;
2601 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2602 if (ndr_flags & NDR_SCALARS) {
2603 NDR_CHECK(ndr_pull_align(ndr, 1));
2604 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2606 if (ndr_flags & NDR_BUFFERS) {
2608 ndr->flags = _flags_save_STRUCT;
2610 return NDR_ERR_SUCCESS;
2613 _PUBLIC_ void ndr_print_samr_Password(struct ndr_print *ndr, const char *name, const struct samr_Password *r)
2615 ndr_print_struct(ndr, name, "samr_Password");
2617 uint32_t _flags_save_STRUCT = ndr->flags;
2618 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2620 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
2622 ndr->flags = _flags_save_STRUCT;
2626 static enum ndr_err_code ndr_push_samr_UserInfo18(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo18 *r)
2628 if (ndr_flags & NDR_SCALARS) {
2629 NDR_CHECK(ndr_push_align(ndr, 1));
2630 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2631 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2632 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_pwd_active));
2633 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_pwd_active));
2635 if (ndr_flags & NDR_BUFFERS) {
2637 return NDR_ERR_SUCCESS;
2640 static enum ndr_err_code ndr_pull_samr_UserInfo18(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo18 *r)
2642 if (ndr_flags & NDR_SCALARS) {
2643 NDR_CHECK(ndr_pull_align(ndr, 1));
2644 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2645 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2646 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_pwd_active));
2647 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_pwd_active));
2649 if (ndr_flags & NDR_BUFFERS) {
2651 return NDR_ERR_SUCCESS;
2654 _PUBLIC_ void ndr_print_samr_UserInfo18(struct ndr_print *ndr, const char *name, const struct samr_UserInfo18 *r)
2656 ndr_print_struct(ndr, name, "samr_UserInfo18");
2658 ndr_print_samr_Password(ndr, "lm_pwd", &r->lm_pwd);
2659 ndr_print_samr_Password(ndr, "nt_pwd", &r->nt_pwd);
2660 ndr_print_uint8(ndr, "lm_pwd_active", r->lm_pwd_active);
2661 ndr_print_uint8(ndr, "nt_pwd_active", r->nt_pwd_active);
2665 static enum ndr_err_code ndr_push_samr_UserInfo20(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo20 *r)
2667 if (ndr_flags & NDR_SCALARS) {
2668 NDR_CHECK(ndr_push_align(ndr, 4));
2669 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2671 if (ndr_flags & NDR_BUFFERS) {
2672 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2674 return NDR_ERR_SUCCESS;
2677 static enum ndr_err_code ndr_pull_samr_UserInfo20(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo20 *r)
2679 if (ndr_flags & NDR_SCALARS) {
2680 NDR_CHECK(ndr_pull_align(ndr, 4));
2681 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2683 if (ndr_flags & NDR_BUFFERS) {
2684 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2686 return NDR_ERR_SUCCESS;
2689 _PUBLIC_ void ndr_print_samr_UserInfo20(struct ndr_print *ndr, const char *name, const struct samr_UserInfo20 *r)
2691 ndr_print_struct(ndr, name, "samr_UserInfo20");
2693 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2697 static enum ndr_err_code ndr_push_samr_FieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2699 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2700 return NDR_ERR_SUCCESS;
2703 static enum ndr_err_code ndr_pull_samr_FieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2708 return NDR_ERR_SUCCESS;
2711 _PUBLIC_ void ndr_print_samr_FieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
2713 ndr_print_uint32(ndr, name, r);
2715 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME, r);
2716 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME, r);
2717 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID, r);
2718 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID, r);
2719 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION, r);
2720 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT, r);
2721 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY, r);
2722 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE, r);
2723 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT, r);
2724 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH, r);
2725 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS, r);
2726 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON, r);
2727 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF, r);
2728 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS, r);
2729 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT, r);
2730 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS, r);
2731 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE, r);
2732 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE, r);
2733 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE, r);
2734 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY, r);
2735 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS, r);
2736 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS, r);
2737 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE, r);
2738 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE, r);
2739 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PASSWORD", SAMR_FIELD_PASSWORD, r);
2740 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PASSWORD2", SAMR_FIELD_PASSWORD2, r);
2741 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA, r);
2742 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG, r);
2743 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC, r);
2744 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD, r);
2748 static enum ndr_err_code ndr_push_samr_UserInfo21(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo21 *r)
2750 if (ndr_flags & NDR_SCALARS) {
2751 NDR_CHECK(ndr_push_align(ndr, 4));
2752 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2753 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2754 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2755 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2756 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
2757 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
2758 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2759 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2760 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2761 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2762 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2763 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2764 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2765 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2766 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2767 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2768 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2769 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2770 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count));
2772 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
2773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2774 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2775 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2776 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr, NDR_SCALARS, r->fields_present));
2777 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2778 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2779 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2780 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2781 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2782 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_set));
2783 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_set));
2784 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2785 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->unknown4));
2787 if (ndr_flags & NDR_BUFFERS) {
2788 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2789 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2790 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2791 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2792 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2793 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2794 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2795 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2796 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2797 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2798 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2799 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2800 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2802 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count));
2803 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_count));
2805 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2807 return NDR_ERR_SUCCESS;
2810 static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo21 *r)
2812 uint32_t _ptr_buffer;
2813 TALLOC_CTX *_mem_save_buffer_0;
2814 if (ndr_flags & NDR_SCALARS) {
2815 NDR_CHECK(ndr_pull_align(ndr, 4));
2816 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2817 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2818 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2819 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2820 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
2821 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
2822 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2823 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2824 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2825 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2826 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2827 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2828 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2829 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2830 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2831 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2832 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown1));
2833 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown2));
2834 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2835 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_count));
2836 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
2838 NDR_PULL_ALLOC(ndr, r->buffer);
2842 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2843 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2844 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2845 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
2846 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2847 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2848 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2849 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2850 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2851 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_set));
2852 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_set));
2853 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2854 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown4));
2856 if (ndr_flags & NDR_BUFFERS) {
2857 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2858 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2859 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2860 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2861 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2862 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2863 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2864 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2865 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2866 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2867 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown1));
2868 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown2));
2869 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2871 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
2872 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
2873 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
2874 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
2875 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
2876 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
2878 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2880 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->buf_count));
2883 return NDR_ERR_SUCCESS;
2886 _PUBLIC_ void ndr_print_samr_UserInfo21(struct ndr_print *ndr, const char *name, const struct samr_UserInfo21 *r)
2888 ndr_print_struct(ndr, name, "samr_UserInfo21");
2890 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2891 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2892 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2893 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2894 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
2895 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
2896 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2897 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2898 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2899 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2900 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2901 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2902 ndr_print_lsa_String(ndr, "description", &r->description);
2903 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2904 ndr_print_lsa_String(ndr, "comment", &r->comment);
2905 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2906 ndr_print_lsa_String(ndr, "unknown1", &r->unknown1);
2907 ndr_print_lsa_String(ndr, "unknown2", &r->unknown2);
2908 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2909 ndr_print_uint32(ndr, "buf_count", r->buf_count);
2910 ndr_print_ptr(ndr, "buffer", r->buffer);
2913 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_count);
2916 ndr_print_uint32(ndr, "rid", r->rid);
2917 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2918 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2919 ndr_print_samr_FieldsPresent(ndr, "fields_present", r->fields_present);
2920 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2921 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2922 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2923 ndr_print_uint16(ndr, "country_code", r->country_code);
2924 ndr_print_uint16(ndr, "code_page", r->code_page);
2925 ndr_print_uint8(ndr, "nt_password_set", r->nt_password_set);
2926 ndr_print_uint8(ndr, "lm_password_set", r->lm_password_set);
2927 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2928 ndr_print_uint8(ndr, "unknown4", r->unknown4);
2932 _PUBLIC_ enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPassword *r)
2935 uint32_t _flags_save_STRUCT = ndr->flags;
2936 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2937 if (ndr_flags & NDR_SCALARS) {
2938 NDR_CHECK(ndr_push_align(ndr, 1));
2939 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 516));
2941 if (ndr_flags & NDR_BUFFERS) {
2943 ndr->flags = _flags_save_STRUCT;
2945 return NDR_ERR_SUCCESS;
2948 _PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r)
2951 uint32_t _flags_save_STRUCT = ndr->flags;
2952 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2953 if (ndr_flags & NDR_SCALARS) {
2954 NDR_CHECK(ndr_pull_align(ndr, 1));
2955 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 516));
2957 if (ndr_flags & NDR_BUFFERS) {
2959 ndr->flags = _flags_save_STRUCT;
2961 return NDR_ERR_SUCCESS;
2964 _PUBLIC_ void ndr_print_samr_CryptPassword(struct ndr_print *ndr, const char *name, const struct samr_CryptPassword *r)
2966 ndr_print_struct(ndr, name, "samr_CryptPassword");
2968 uint32_t _flags_save_STRUCT = ndr->flags;
2969 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2971 ndr_print_array_uint8(ndr, "data", r->data, 516);
2973 ndr->flags = _flags_save_STRUCT;
2977 static enum ndr_err_code ndr_push_samr_UserInfo23(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo23 *r)
2979 if (ndr_flags & NDR_SCALARS) {
2980 NDR_CHECK(ndr_push_align(ndr, 4));
2981 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
2982 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
2984 if (ndr_flags & NDR_BUFFERS) {
2985 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
2987 return NDR_ERR_SUCCESS;
2990 static enum ndr_err_code ndr_pull_samr_UserInfo23(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo23 *r)
2992 if (ndr_flags & NDR_SCALARS) {
2993 NDR_CHECK(ndr_pull_align(ndr, 4));
2994 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
2995 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
2997 if (ndr_flags & NDR_BUFFERS) {
2998 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3000 return NDR_ERR_SUCCESS;
3003 _PUBLIC_ void ndr_print_samr_UserInfo23(struct ndr_print *ndr, const char *name, const struct samr_UserInfo23 *r)
3005 ndr_print_struct(ndr, name, "samr_UserInfo23");
3007 ndr_print_samr_UserInfo21(ndr, "info", &r->info);
3008 ndr_print_samr_CryptPassword(ndr, "password", &r->password);
3012 static enum ndr_err_code ndr_push_samr_UserInfo24(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo24 *r)
3014 if (ndr_flags & NDR_SCALARS) {
3015 NDR_CHECK(ndr_push_align(ndr, 1));
3016 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3017 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pw_len));
3019 if (ndr_flags & NDR_BUFFERS) {
3021 return NDR_ERR_SUCCESS;
3024 static enum ndr_err_code ndr_pull_samr_UserInfo24(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo24 *r)
3026 if (ndr_flags & NDR_SCALARS) {
3027 NDR_CHECK(ndr_pull_align(ndr, 1));
3028 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3029 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pw_len));
3031 if (ndr_flags & NDR_BUFFERS) {
3033 return NDR_ERR_SUCCESS;
3036 _PUBLIC_ void ndr_print_samr_UserInfo24(struct ndr_print *ndr, const char *name, const struct samr_UserInfo24 *r)
3038 ndr_print_struct(ndr, name, "samr_UserInfo24");
3040 ndr_print_samr_CryptPassword(ndr, "password", &r->password);
3041 ndr_print_uint8(ndr, "pw_len", r->pw_len);
3045 static enum ndr_err_code ndr_push_samr_CryptPasswordEx(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPasswordEx *r)
3048 uint32_t _flags_save_STRUCT = ndr->flags;
3049 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3050 if (ndr_flags & NDR_SCALARS) {
3051 NDR_CHECK(ndr_push_align(ndr, 1));
3052 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 532));
3054 if (ndr_flags & NDR_BUFFERS) {
3056 ndr->flags = _flags_save_STRUCT;
3058 return NDR_ERR_SUCCESS;
3061 static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r)
3064 uint32_t _flags_save_STRUCT = ndr->flags;
3065 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3066 if (ndr_flags & NDR_SCALARS) {
3067 NDR_CHECK(ndr_pull_align(ndr, 1));
3068 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 532));
3070 if (ndr_flags & NDR_BUFFERS) {
3072 ndr->flags = _flags_save_STRUCT;
3074 return NDR_ERR_SUCCESS;
3077 _PUBLIC_ void ndr_print_samr_CryptPasswordEx(struct ndr_print *ndr, const char *name, const struct samr_CryptPasswordEx *r)
3079 ndr_print_struct(ndr, name, "samr_CryptPasswordEx");
3081 uint32_t _flags_save_STRUCT = ndr->flags;
3082 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3084 ndr_print_array_uint8(ndr, "data", r->data, 532);
3086 ndr->flags = _flags_save_STRUCT;
3090 static enum ndr_err_code ndr_push_samr_UserInfo25(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo25 *r)
3092 if (ndr_flags & NDR_SCALARS) {
3093 NDR_CHECK(ndr_push_align(ndr, 4));
3094 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3095 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3097 if (ndr_flags & NDR_BUFFERS) {
3098 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3100 return NDR_ERR_SUCCESS;
3103 static enum ndr_err_code ndr_pull_samr_UserInfo25(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo25 *r)
3105 if (ndr_flags & NDR_SCALARS) {
3106 NDR_CHECK(ndr_pull_align(ndr, 4));
3107 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3108 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3110 if (ndr_flags & NDR_BUFFERS) {
3111 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3113 return NDR_ERR_SUCCESS;
3116 _PUBLIC_ void ndr_print_samr_UserInfo25(struct ndr_print *ndr, const char *name, const struct samr_UserInfo25 *r)
3118 ndr_print_struct(ndr, name, "samr_UserInfo25");
3120 ndr_print_samr_UserInfo21(ndr, "info", &r->info);
3121 ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3125 static enum ndr_err_code ndr_push_samr_UserInfo26(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo26 *r)
3127 if (ndr_flags & NDR_SCALARS) {
3128 NDR_CHECK(ndr_push_align(ndr, 1));
3129 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3130 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pw_len));
3132 if (ndr_flags & NDR_BUFFERS) {
3134 return NDR_ERR_SUCCESS;
3137 static enum ndr_err_code ndr_pull_samr_UserInfo26(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo26 *r)
3139 if (ndr_flags & NDR_SCALARS) {
3140 NDR_CHECK(ndr_pull_align(ndr, 1));
3141 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3142 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pw_len));
3144 if (ndr_flags & NDR_BUFFERS) {
3146 return NDR_ERR_SUCCESS;
3149 _PUBLIC_ void ndr_print_samr_UserInfo26(struct ndr_print *ndr, const char *name, const struct samr_UserInfo26 *r)
3151 ndr_print_struct(ndr, name, "samr_UserInfo26");
3153 ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3154 ndr_print_uint8(ndr, "pw_len", r->pw_len);
3158 static enum ndr_err_code ndr_push_samr_UserInfo(struct ndr_push *ndr, int ndr_flags, const union samr_UserInfo *r)
3160 if (ndr_flags & NDR_SCALARS) {
3161 int level = ndr_push_get_switch_value(ndr, r);
3162 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
3165 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3169 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3173 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3177 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3181 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3185 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3189 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3193 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3197 NDR_CHECK(ndr_push_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3201 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3205 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3209 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3213 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3217 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3221 NDR_CHECK(ndr_push_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3225 NDR_CHECK(ndr_push_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3229 NDR_CHECK(ndr_push_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3233 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3237 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3241 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3245 NDR_CHECK(ndr_push_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3249 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3253 NDR_CHECK(ndr_push_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3257 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3260 if (ndr_flags & NDR_BUFFERS) {
3261 int level = ndr_push_get_switch_value(ndr, r);
3264 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3268 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3272 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3276 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3280 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3284 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3288 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3292 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3299 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3303 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3307 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3311 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3315 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3328 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3332 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3336 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3343 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3350 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3353 return NDR_ERR_SUCCESS;
3356 static enum ndr_err_code ndr_pull_samr_UserInfo(struct ndr_pull *ndr, int ndr_flags, union samr_UserInfo *r)
3360 level = ndr_pull_get_switch_value(ndr, r);
3361 if (ndr_flags & NDR_SCALARS) {
3362 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
3363 if (_level != level) {
3364 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3368 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3372 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3376 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3380 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3384 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3388 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3392 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3396 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3400 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3404 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3408 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3412 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3416 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3420 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3424 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3428 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3432 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3436 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3440 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3444 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3448 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3452 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3456 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3460 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3463 if (ndr_flags & NDR_BUFFERS) {
3466 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3470 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3474 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3478 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3482 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3486 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3490 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3494 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3501 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3505 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3509 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3513 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3517 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3530 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3534 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3538 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3545 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3552 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3555 return NDR_ERR_SUCCESS;
3558 _PUBLIC_ void ndr_print_samr_UserInfo(struct ndr_print *ndr, const char *name, const union samr_UserInfo *r)
3561 level = ndr_print_get_switch_value(ndr, r);
3562 ndr_print_union(ndr, name, level, "samr_UserInfo");
3565 ndr_print_samr_UserInfo1(ndr, "info1", &r->info1);
3569 ndr_print_samr_UserInfo2(ndr, "info2", &r->info2);
3573 ndr_print_samr_UserInfo3(ndr, "info3", &r->info3);
3577 ndr_print_samr_UserInfo4(ndr, "info4", &r->info4);
3581 ndr_print_samr_UserInfo5(ndr, "info5", &r->info5);
3585 ndr_print_samr_UserInfo6(ndr, "info6", &r->info6);
3589 ndr_print_samr_UserInfo7(ndr, "info7", &r->info7);
3593 ndr_print_samr_UserInfo8(ndr, "info8", &r->info8);
3597 ndr_print_samr_UserInfo9(ndr, "info9", &r->info9);
3601 ndr_print_samr_UserInfo10(ndr, "info10", &r->info10);
3605 ndr_print_samr_UserInfo11(ndr, "info11", &r->info11);
3609 ndr_print_samr_UserInfo12(ndr, "info12", &r->info12);
3613 ndr_print_samr_UserInfo13(ndr, "info13", &r->info13);
3617 ndr_print_samr_UserInfo14(ndr, "info14", &r->info14);
3621 ndr_print_samr_UserInfo16(ndr, "info16", &r->info16);
3625 ndr_print_samr_UserInfo17(ndr, "info17", &r->info17);
3629 ndr_print_samr_UserInfo18(ndr, "info18", &r->info18);
3633 ndr_print_samr_UserInfo20(ndr, "info20", &r->info20);
3637 ndr_print_samr_UserInfo21(ndr, "info21", &r->info21);
3641 ndr_print_samr_UserInfo23(ndr, "info23", &r->info23);
3645 ndr_print_samr_UserInfo24(ndr, "info24", &r->info24);
3649 ndr_print_samr_UserInfo25(ndr, "info25", &r->info25);
3653 ndr_print_samr_UserInfo26(ndr, "info26", &r->info26);
3657 ndr_print_bad_level(ndr, name, level);
3661 _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttribute(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttribute *r)
3663 if (ndr_flags & NDR_SCALARS) {
3664 NDR_CHECK(ndr_push_align(ndr, 4));
3665 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3666 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
3668 if (ndr_flags & NDR_BUFFERS) {
3670 return NDR_ERR_SUCCESS;
3673 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttribute(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttribute *r)
3675 if (ndr_flags & NDR_SCALARS) {
3676 NDR_CHECK(ndr_pull_align(ndr, 4));
3677 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3678 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
3680 if (ndr_flags & NDR_BUFFERS) {
3682 return NDR_ERR_SUCCESS;
3685 _PUBLIC_ void ndr_print_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttribute *r)
3687 ndr_print_struct(ndr, name, "samr_RidWithAttribute");
3689 ndr_print_uint32(ndr, "rid", r->rid);
3690 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
3694 _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttributeArray *r)
3696 uint32_t cntr_rids_1;
3697 if (ndr_flags & NDR_SCALARS) {
3698 NDR_CHECK(ndr_push_align(ndr, 4));
3699 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3700 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
3702 if (ndr_flags & NDR_BUFFERS) {
3704 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3705 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
3706 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
3710 return NDR_ERR_SUCCESS;
3713 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r)
3716 uint32_t cntr_rids_1;
3717 TALLOC_CTX *_mem_save_rids_0;
3718 TALLOC_CTX *_mem_save_rids_1;
3719 if (ndr_flags & NDR_SCALARS) {
3720 NDR_CHECK(ndr_pull_align(ndr, 4));
3721 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3722 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
3724 NDR_PULL_ALLOC(ndr, r->rids);
3729 if (ndr_flags & NDR_BUFFERS) {
3731 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
3732 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3733 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
3734 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
3735 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
3736 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3737 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
3738 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
3740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
3741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
3744 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
3747 return NDR_ERR_SUCCESS;
3750 _PUBLIC_ void ndr_print_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttributeArray *r)
3752 uint32_t cntr_rids_1;
3753 ndr_print_struct(ndr, name, "samr_RidWithAttributeArray");
3755 ndr_print_uint32(ndr, "count", r->count);
3756 ndr_print_ptr(ndr, "rids", r->rids);
3759 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
3761 for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
3763 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
3764 ndr_print_samr_RidWithAttribute(ndr, "rids", &r->rids[cntr_rids_1]);
3774 static enum ndr_err_code ndr_push_samr_DispEntryGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryGeneral *r)
3776 if (ndr_flags & NDR_SCALARS) {
3777 NDR_CHECK(ndr_push_align(ndr, 4));
3778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
3779 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3780 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
3781 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3782 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3783 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3785 if (ndr_flags & NDR_BUFFERS) {
3786 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3787 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3788 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3790 return NDR_ERR_SUCCESS;
3793 static enum ndr_err_code ndr_pull_samr_DispEntryGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryGeneral *r)
3795 if (ndr_flags & NDR_SCALARS) {
3796 NDR_CHECK(ndr_pull_align(ndr, 4));
3797 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
3798 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3799 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
3800 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3801 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3802 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3804 if (ndr_flags & NDR_BUFFERS) {
3805 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3806 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3807 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3809 return NDR_ERR_SUCCESS;
3812 _PUBLIC_ void ndr_print_samr_DispEntryGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispEntryGeneral *r)
3814 ndr_print_struct(ndr, name, "samr_DispEntryGeneral");
3816 ndr_print_uint32(ndr, "idx", r->idx);
3817 ndr_print_uint32(ndr, "rid", r->rid);
3818 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
3819 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
3820 ndr_print_lsa_String(ndr, "description", &r->description);
3821 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
3825 static enum ndr_err_code ndr_push_samr_DispInfoGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoGeneral *r)
3827 uint32_t cntr_entries_1;
3828 if (ndr_flags & NDR_SCALARS) {
3829 NDR_CHECK(ndr_push_align(ndr, 4));
3830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3831 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
3833 if (ndr_flags & NDR_BUFFERS) {
3835 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3836 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3837 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
3839 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3840 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
3844 return NDR_ERR_SUCCESS;
3847 static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoGeneral *r)
3849 uint32_t _ptr_entries;
3850 uint32_t cntr_entries_1;
3851 TALLOC_CTX *_mem_save_entries_0;
3852 TALLOC_CTX *_mem_save_entries_1;
3853 if (ndr_flags & NDR_SCALARS) {
3854 NDR_CHECK(ndr_pull_align(ndr, 4));
3855 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3856 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
3858 NDR_PULL_ALLOC(ndr, r->entries);
3863 if (ndr_flags & NDR_BUFFERS) {
3865 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
3866 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
3867 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
3868 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
3869 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
3870 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
3871 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3872 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
3874 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3875 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
3877 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
3878 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
3881 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
3884 return NDR_ERR_SUCCESS;
3887 _PUBLIC_ void ndr_print_samr_DispInfoGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispInfoGeneral *r)
3889 uint32_t cntr_entries_1;
3890 ndr_print_struct(ndr, name, "samr_DispInfoGeneral");
3892 ndr_print_uint32(ndr, "count", r->count);
3893 ndr_print_ptr(ndr, "entries", r->entries);
3896 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
3898 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
3900 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
3901 ndr_print_samr_DispEntryGeneral(ndr, "entries", &r->entries[cntr_entries_1]);
3911 static enum ndr_err_code ndr_push_samr_DispEntryFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFull *r)
3913 if (ndr_flags & NDR_SCALARS) {
3914 NDR_CHECK(ndr_push_align(ndr, 4));
3915 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
3916 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3917 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
3918 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3919 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3921 if (ndr_flags & NDR_BUFFERS) {
3922 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3923 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3925 return NDR_ERR_SUCCESS;
3928 static enum ndr_err_code ndr_pull_samr_DispEntryFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFull *r)
3930 if (ndr_flags & NDR_SCALARS) {
3931 NDR_CHECK(ndr_pull_align(ndr, 4));
3932 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
3933 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3934 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
3935 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3936 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3938 if (ndr_flags & NDR_BUFFERS) {
3939 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3940 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3942 return NDR_ERR_SUCCESS;
3945 _PUBLIC_ void ndr_print_samr_DispEntryFull(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFull *r)
3947 ndr_print_struct(ndr, name, "samr_DispEntryFull");
3949 ndr_print_uint32(ndr, "idx", r->idx);
3950 ndr_print_uint32(ndr, "rid", r->rid);
3951 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
3952 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
3953 ndr_print_lsa_String(ndr, "description", &r->description);
3957 static enum ndr_err_code ndr_push_samr_DispInfoFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFull *r)
3959 uint32_t cntr_entries_1;
3960 if (ndr_flags & NDR_SCALARS) {
3961 NDR_CHECK(ndr_push_align(ndr, 4));
3962 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3963 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
3965 if (ndr_flags & NDR_BUFFERS) {
3967 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3968 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3969 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
3971 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3972 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
3976 return NDR_ERR_SUCCESS;
3979 static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFull *r)
3981 uint32_t _ptr_entries;
3982 uint32_t cntr_entries_1;
3983 TALLOC_CTX *_mem_save_entries_0;
3984 TALLOC_CTX *_mem_save_entries_1;
3985 if (ndr_flags & NDR_SCALARS) {
3986 NDR_CHECK(ndr_pull_align(ndr, 4));
3987 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3988 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
3990 NDR_PULL_ALLOC(ndr, r->entries);
3995 if (ndr_flags & NDR_BUFFERS) {
3997 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
3998 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
3999 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4000 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
4001 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4002 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4003 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4004 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4006 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4007 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4009 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4013 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4016 return NDR_ERR_SUCCESS;
4019 _PUBLIC_ void ndr_print_samr_DispInfoFull(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFull *r)
4021 uint32_t cntr_entries_1;
4022 ndr_print_struct(ndr, name, "samr_DispInfoFull");
4024 ndr_print_uint32(ndr, "count", r->count);
4025 ndr_print_ptr(ndr, "entries", r->entries);
4028 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4030 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4032 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
4033 ndr_print_samr_DispEntryFull(ndr, "entries", &r->entries[cntr_entries_1]);
4043 static enum ndr_err_code ndr_push_samr_DispEntryFullGroup(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFullGroup *r)
4045 if (ndr_flags & NDR_SCALARS) {
4046 NDR_CHECK(ndr_push_align(ndr, 4));
4047 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4048 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4049 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->acct_flags));
4050 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4051 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4053 if (ndr_flags & NDR_BUFFERS) {
4054 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4055 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4057 return NDR_ERR_SUCCESS;
4060 static enum ndr_err_code ndr_pull_samr_DispEntryFullGroup(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFullGroup *r)
4062 if (ndr_flags & NDR_SCALARS) {
4063 NDR_CHECK(ndr_pull_align(ndr, 4));
4064 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4065 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4066 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->acct_flags));
4067 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4068 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4070 if (ndr_flags & NDR_BUFFERS) {
4071 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4072 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4074 return NDR_ERR_SUCCESS;
4077 _PUBLIC_ void ndr_print_samr_DispEntryFullGroup(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFullGroup *r)
4079 ndr_print_struct(ndr, name, "samr_DispEntryFullGroup");
4081 ndr_print_uint32(ndr, "idx", r->idx);
4082 ndr_print_uint32(ndr, "rid", r->rid);
4083 ndr_print_samr_GroupAttrs(ndr, "acct_flags", r->acct_flags);
4084 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4085 ndr_print_lsa_String(ndr, "description", &r->description);
4089 static enum ndr_err_code ndr_push_samr_DispInfoFullGroups(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFullGroups *r)
4091 uint32_t cntr_entries_1;
4092 if (ndr_flags & NDR_SCALARS) {
4093 NDR_CHECK(ndr_push_align(ndr, 4));
4094 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4095 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4097 if (ndr_flags & NDR_BUFFERS) {
4099 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4100 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4101 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4103 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4104 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4108 return NDR_ERR_SUCCESS;
4111 static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFullGroups *r)
4113 uint32_t _ptr_entries;
4114 uint32_t cntr_entries_1;
4115 TALLOC_CTX *_mem_save_entries_0;
4116 TALLOC_CTX *_mem_save_entries_1;
4117 if (ndr_flags & NDR_SCALARS) {
4118 NDR_CHECK(ndr_pull_align(ndr, 4));
4119 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4122 NDR_PULL_ALLOC(ndr, r->entries);
4127 if (ndr_flags & NDR_BUFFERS) {
4129 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4130 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4131 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4132 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
4133 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4134 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4135 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4136 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4138 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4139 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4141 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4142 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4145 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4148 return NDR_ERR_SUCCESS;
4151 _PUBLIC_ void ndr_print_samr_DispInfoFullGroups(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFullGroups *r)
4153 uint32_t cntr_entries_1;
4154 ndr_print_struct(ndr, name, "samr_DispInfoFullGroups");
4156 ndr_print_uint32(ndr, "count", r->count);
4157 ndr_print_ptr(ndr, "entries", r->entries);
4160 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4162 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4164 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
4165 ndr_print_samr_DispEntryFullGroup(ndr, "entries", &r->entries[cntr_entries_1]);
4175 static enum ndr_err_code ndr_push_samr_DispEntryAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryAscii *r)
4177 if (ndr_flags & NDR_SCALARS) {
4178 NDR_CHECK(ndr_push_align(ndr, 4));
4179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4180 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4182 if (ndr_flags & NDR_BUFFERS) {
4183 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4185 return NDR_ERR_SUCCESS;
4188 static enum ndr_err_code ndr_pull_samr_DispEntryAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryAscii *r)
4190 if (ndr_flags & NDR_SCALARS) {
4191 NDR_CHECK(ndr_pull_align(ndr, 4));
4192 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4193 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4195 if (ndr_flags & NDR_BUFFERS) {
4196 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4198 return NDR_ERR_SUCCESS;
4201 _PUBLIC_ void ndr_print_samr_DispEntryAscii(struct ndr_print *ndr, const char *name, const struct samr_DispEntryAscii *r)
4203 ndr_print_struct(ndr, name, "samr_DispEntryAscii");
4205 ndr_print_uint32(ndr, "idx", r->idx);
4206 ndr_print_lsa_AsciiStringLarge(ndr, "account_name", &r->account_name);
4210 static enum ndr_err_code ndr_push_samr_DispInfoAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoAscii *r)
4212 uint32_t cntr_entries_1;
4213 if (ndr_flags & NDR_SCALARS) {
4214 NDR_CHECK(ndr_push_align(ndr, 4));
4215 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4216 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4218 if (ndr_flags & NDR_BUFFERS) {
4220 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4221 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4222 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4224 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4225 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4229 return NDR_ERR_SUCCESS;
4232 static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoAscii *r)
4234 uint32_t _ptr_entries;
4235 uint32_t cntr_entries_1;
4236 TALLOC_CTX *_mem_save_entries_0;
4237 TALLOC_CTX *_mem_save_entries_1;
4238 if (ndr_flags & NDR_SCALARS) {
4239 NDR_CHECK(ndr_pull_align(ndr, 4));
4240 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4241 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4243 NDR_PULL_ALLOC(ndr, r->entries);
4248 if (ndr_flags & NDR_BUFFERS) {
4250 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4251 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4252 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4253 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
4254 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4255 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4256 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4257 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4259 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4260 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4263 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4266 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4269 return NDR_ERR_SUCCESS;
4272 _PUBLIC_ void ndr_print_samr_DispInfoAscii(struct ndr_print *ndr, const char *name, const struct samr_DispInfoAscii *r)
4274 uint32_t cntr_entries_1;
4275 ndr_print_struct(ndr, name, "samr_DispInfoAscii");
4277 ndr_print_uint32(ndr, "count", r->count);
4278 ndr_print_ptr(ndr, "entries", r->entries);
4281 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4283 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4285 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
4286 ndr_print_samr_DispEntryAscii(ndr, "entries", &r->entries[cntr_entries_1]);
4296 static enum ndr_err_code ndr_push_samr_DispInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DispInfo *r)
4298 if (ndr_flags & NDR_SCALARS) {
4299 int level = ndr_push_get_switch_value(ndr, r);
4300 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
4303 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4307 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4311 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4315 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4319 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4323 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4326 if (ndr_flags & NDR_BUFFERS) {
4327 int level = ndr_push_get_switch_value(ndr, r);
4330 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4334 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4338 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4342 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4346 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4350 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4353 return NDR_ERR_SUCCESS;
4356 static enum ndr_err_code ndr_pull_samr_DispInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DispInfo *r)
4360 level = ndr_pull_get_switch_value(ndr, r);
4361 if (ndr_flags & NDR_SCALARS) {
4362 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4363 if (_level != level) {
4364 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4368 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4372 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4376 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4380 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4384 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4388 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4391 if (ndr_flags & NDR_BUFFERS) {
4394 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4398 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4402 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4406 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4410 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4414 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4417 return NDR_ERR_SUCCESS;
4420 _PUBLIC_ void ndr_print_samr_DispInfo(struct ndr_print *ndr, const char *name, const union samr_DispInfo *r)
4423 level = ndr_print_get_switch_value(ndr, r);
4424 ndr_print_union(ndr, name, level, "samr_DispInfo");
4427 ndr_print_samr_DispInfoGeneral(ndr, "info1", &r->info1);
4431 ndr_print_samr_DispInfoFull(ndr, "info2", &r->info2);
4435 ndr_print_samr_DispInfoFullGroups(ndr, "info3", &r->info3);
4439 ndr_print_samr_DispInfoAscii(ndr, "info4", &r->info4);
4443 ndr_print_samr_DispInfoAscii(ndr, "info5", &r->info5);
4447 ndr_print_bad_level(ndr, name, level);
4451 static enum ndr_err_code ndr_push_samr_PwInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_PwInfo *r)
4453 if (ndr_flags & NDR_SCALARS) {
4454 NDR_CHECK(ndr_push_align(ndr, 4));
4455 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
4456 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
4458 if (ndr_flags & NDR_BUFFERS) {
4460 return NDR_ERR_SUCCESS;
4463 static enum ndr_err_code ndr_pull_samr_PwInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_PwInfo *r)
4465 if (ndr_flags & NDR_SCALARS) {
4466 NDR_CHECK(ndr_pull_align(ndr, 4));
4467 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
4468 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
4470 if (ndr_flags & NDR_BUFFERS) {
4472 return NDR_ERR_SUCCESS;
4475 _PUBLIC_ void ndr_print_samr_PwInfo(struct ndr_print *ndr, const char *name, const struct samr_PwInfo *r)
4477 ndr_print_struct(ndr, name, "samr_PwInfo");
4479 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
4480 ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
4484 static enum ndr_err_code ndr_push_samr_ConnectVersion(struct ndr_push *ndr, int ndr_flags, enum samr_ConnectVersion r)
4486 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
4487 return NDR_ERR_SUCCESS;
4490 static enum ndr_err_code ndr_pull_samr_ConnectVersion(struct ndr_pull *ndr, int ndr_flags, enum samr_ConnectVersion *r)
4493 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
4495 return NDR_ERR_SUCCESS;
4498 _PUBLIC_ void ndr_print_samr_ConnectVersion(struct ndr_print *ndr, const char *name, enum samr_ConnectVersion r)
4500 const char *val = NULL;
4503 case SAMR_CONNECT_PRE_W2K: val = "SAMR_CONNECT_PRE_W2K"; break;
4504 case SAMR_CONNECT_W2K: val = "SAMR_CONNECT_W2K"; break;
4505 case SAMR_CONNECT_AFTER_W2K: val = "SAMR_CONNECT_AFTER_W2K"; break;
4507 ndr_print_enum(ndr, name, "ENUM", val, r);
4510 static enum ndr_err_code ndr_push_samr_ChangeReject(struct ndr_push *ndr, int ndr_flags, const struct samr_ChangeReject *r)
4512 if (ndr_flags & NDR_SCALARS) {
4513 NDR_CHECK(ndr_push_align(ndr, 4));
4514 NDR_CHECK(ndr_push_samr_RejectReason(ndr, NDR_SCALARS, r->reason));
4515 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
4516 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4518 if (ndr_flags & NDR_BUFFERS) {
4520 return NDR_ERR_SUCCESS;
4523 static enum ndr_err_code ndr_pull_samr_ChangeReject(struct ndr_pull *ndr, int ndr_flags, struct samr_ChangeReject *r)
4525 if (ndr_flags & NDR_SCALARS) {
4526 NDR_CHECK(ndr_pull_align(ndr, 4));
4527 NDR_CHECK(ndr_pull_samr_RejectReason(ndr, NDR_SCALARS, &r->reason));
4528 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
4529 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4531 if (ndr_flags & NDR_BUFFERS) {
4533 return NDR_ERR_SUCCESS;
4536 _PUBLIC_ void ndr_print_samr_ChangeReject(struct ndr_print *ndr, const char *name, const struct samr_ChangeReject *r)
4538 ndr_print_struct(ndr, name, "samr_ChangeReject");
4540 ndr_print_samr_RejectReason(ndr, "reason", r->reason);
4541 ndr_print_uint32(ndr, "unknown1", r->unknown1);
4542 ndr_print_uint32(ndr, "unknown2", r->unknown2);
4546 static enum ndr_err_code ndr_push_samr_ConnectInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_ConnectInfo1 *r)
4548 if (ndr_flags & NDR_SCALARS) {
4549 NDR_CHECK(ndr_push_align(ndr, 4));
4550 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->client_version));
4551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4553 if (ndr_flags & NDR_BUFFERS) {
4555 return NDR_ERR_SUCCESS;
4558 static enum ndr_err_code ndr_pull_samr_ConnectInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_ConnectInfo1 *r)
4560 if (ndr_flags & NDR_SCALARS) {
4561 NDR_CHECK(ndr_pull_align(ndr, 4));
4562 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->client_version));
4563 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4565 if (ndr_flags & NDR_BUFFERS) {
4567 return NDR_ERR_SUCCESS;
4570 _PUBLIC_ void ndr_print_samr_ConnectInfo1(struct ndr_print *ndr, const char *name, const struct samr_ConnectInfo1 *r)
4572 ndr_print_struct(ndr, name, "samr_ConnectInfo1");
4574 ndr_print_samr_ConnectVersion(ndr, "client_version", r->client_version);
4575 ndr_print_uint32(ndr, "unknown2", r->unknown2);
4579 static enum ndr_err_code ndr_push_samr_ConnectInfo(struct ndr_push *ndr, int ndr_flags, const union samr_ConnectInfo *r)
4581 if (ndr_flags & NDR_SCALARS) {
4582 int level = ndr_push_get_switch_value(ndr, r);
4583 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4586 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
4590 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4593 if (ndr_flags & NDR_BUFFERS) {
4594 int level = ndr_push_get_switch_value(ndr, r);
4600 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4603 return NDR_ERR_SUCCESS;
4606 static enum ndr_err_code ndr_pull_samr_ConnectInfo(struct ndr_pull *ndr, int ndr_flags, union samr_ConnectInfo *r)
4610 level = ndr_pull_get_switch_value(ndr, r);
4611 if (ndr_flags & NDR_SCALARS) {
4612 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4613 if (_level != level) {
4614 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4618 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
4622 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4625 if (ndr_flags & NDR_BUFFERS) {
4631 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4634 return NDR_ERR_SUCCESS;
4637 _PUBLIC_ void ndr_print_samr_ConnectInfo(struct ndr_print *ndr, const char *name, const union samr_ConnectInfo *r)
4640 level = ndr_print_get_switch_value(ndr, r);
4641 ndr_print_union(ndr, name, level, "samr_ConnectInfo");
4644 ndr_print_samr_ConnectInfo1(ndr, "info1", &r->info1);
4648 ndr_print_bad_level(ndr, name, level);
4652 static enum ndr_err_code ndr_push_samr_ValidateFieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4654 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4655 return NDR_ERR_SUCCESS;
4658 static enum ndr_err_code ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4661 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4663 return NDR_ERR_SUCCESS;
4666 _PUBLIC_ void ndr_print_samr_ValidateFieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
4668 ndr_print_uint32(ndr, name, r);
4670 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET, r);
4671 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME, r);
4672 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME, r);
4673 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT, r);
4674 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH, r);
4675 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY, r);
4679 static enum ndr_err_code ndr_push_samr_ValidatePasswordLevel(struct ndr_push *ndr, int ndr_flags, enum samr_ValidatePasswordLevel r)
4681 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
4682 return NDR_ERR_SUCCESS;
4685 static enum ndr_err_code ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidatePasswordLevel *r)
4688 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
4690 return NDR_ERR_SUCCESS;
4693 _PUBLIC_ void ndr_print_samr_ValidatePasswordLevel(struct ndr_print *ndr, const char *name, enum samr_ValidatePasswordLevel r)
4695 const char *val = NULL;
4698 case NetValidateAuthentication: val = "NetValidateAuthentication"; break;
4699 case NetValidatePasswordChange: val = "NetValidatePasswordChange"; break;
4700 case NetValidatePasswordReset: val = "NetValidatePasswordReset"; break;
4702 ndr_print_enum(ndr, name, "ENUM", val, r);
4705 static enum ndr_err_code ndr_push_samr_ValidationStatus(struct ndr_push *ndr, int ndr_flags, enum samr_ValidationStatus r)
4707 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
4708 return NDR_ERR_SUCCESS;
4711 static enum ndr_err_code ndr_pull_samr_ValidationStatus(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidationStatus *r)
4714 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
4716 return NDR_ERR_SUCCESS;
4719 _PUBLIC_ void ndr_print_samr_ValidationStatus(struct ndr_print *ndr, const char *name, enum samr_ValidationStatus r)
4721 const char *val = NULL;
4724 case SAMR_VALIDATION_STATUS_SUCCESS: val = "SAMR_VALIDATION_STATUS_SUCCESS"; break;
4725 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE: val = "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
4726 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT: val = "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
4727 case SAMR_VALIDATION_STATUS_BAD_PASSWORD: val = "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
4728 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT: val = "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
4729 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT: val = "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
4730 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG: val = "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
4731 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH: val = "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
4732 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT: val = "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
4734 ndr_print_enum(ndr, name, "ENUM", val, r);
4737 static enum ndr_err_code ndr_push_samr_ValidationBlob(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidationBlob *r)
4739 if (ndr_flags & NDR_SCALARS) {
4740 NDR_CHECK(ndr_push_align(ndr, 4));
4741 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
4744 if (ndr_flags & NDR_BUFFERS) {
4746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4747 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
4750 return NDR_ERR_SUCCESS;
4753 static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidationBlob *r)
4756 TALLOC_CTX *_mem_save_data_0;
4757 if (ndr_flags & NDR_SCALARS) {
4758 NDR_CHECK(ndr_pull_align(ndr, 4));
4759 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
4760 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
4762 NDR_PULL_ALLOC(ndr, r->data);
4767 if (ndr_flags & NDR_BUFFERS) {
4769 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
4770 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
4771 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
4772 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
4773 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
4774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
4777 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
4780 return NDR_ERR_SUCCESS;
4783 _PUBLIC_ void ndr_print_samr_ValidationBlob(struct ndr_print *ndr, const char *name, const struct samr_ValidationBlob *r)
4785 ndr_print_struct(ndr, name, "samr_ValidationBlob");
4787 ndr_print_uint32(ndr, "length", r->length);
4788 ndr_print_ptr(ndr, "data", r->data);
4791 ndr_print_array_uint8(ndr, "data", r->data, r->length);
4797 static enum ndr_err_code ndr_push_samr_ValidatePasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordInfo *r)
4799 uint32_t cntr_pwd_history_1;
4800 if (ndr_flags & NDR_SCALARS) {
4801 NDR_CHECK(ndr_push_align(ndr, 8));
4802 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, r->fields_present));
4803 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_password_change));
4804 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->bad_password_time));
4805 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->lockout_time));
4806 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pwd_count));
4807 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len));
4808 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pwd_history));
4810 if (ndr_flags & NDR_BUFFERS) {
4811 if (r->pwd_history) {
4812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len));
4813 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4814 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
4816 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4817 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
4821 return NDR_ERR_SUCCESS;
4824 static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordInfo *r)
4826 uint32_t _ptr_pwd_history;
4827 uint32_t cntr_pwd_history_1;
4828 TALLOC_CTX *_mem_save_pwd_history_0;
4829 TALLOC_CTX *_mem_save_pwd_history_1;
4830 if (ndr_flags & NDR_SCALARS) {
4831 NDR_CHECK(ndr_pull_align(ndr, 8));
4832 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
4833 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_password_change));
4834 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->bad_password_time));
4835 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->lockout_time));
4836 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pwd_count));
4837 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pwd_history_len));
4838 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pwd_history));
4839 if (_ptr_pwd_history) {
4840 NDR_PULL_ALLOC(ndr, r->pwd_history);
4842 r->pwd_history = NULL;
4845 if (ndr_flags & NDR_BUFFERS) {
4846 if (r->pwd_history) {
4847 _mem_save_pwd_history_0 = NDR_PULL_GET_MEM_CTX(ndr);
4848 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
4849 NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history));
4850 NDR_PULL_ALLOC_N(ndr, r->pwd_history, ndr_get_array_size(ndr, &r->pwd_history));
4851 _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr);
4852 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
4853 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4854 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
4856 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4857 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
4859 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_1, 0);
4860 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_0, 0);
4862 if (r->pwd_history) {
4863 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pwd_history, r->pwd_history_len));
4866 return NDR_ERR_SUCCESS;
4869 _PUBLIC_ void ndr_print_samr_ValidatePasswordInfo(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordInfo *r)
4871 uint32_t cntr_pwd_history_1;
4872 ndr_print_struct(ndr, name, "samr_ValidatePasswordInfo");
4874 ndr_print_samr_ValidateFieldsPresent(ndr, "fields_present", r->fields_present);
4875 ndr_print_NTTIME_hyper(ndr, "last_password_change", r->last_password_change);
4876 ndr_print_NTTIME_hyper(ndr, "bad_password_time", r->bad_password_time);
4877 ndr_print_NTTIME_hyper(ndr, "lockout_time", r->lockout_time);
4878 ndr_print_uint32(ndr, "bad_pwd_count", r->bad_pwd_count);
4879 ndr_print_uint32(ndr, "pwd_history_len", r->pwd_history_len);
4880 ndr_print_ptr(ndr, "pwd_history", r->pwd_history);
4882 if (r->pwd_history) {
4883 ndr->print(ndr, "%s: ARRAY(%d)", "pwd_history", (int)r->pwd_history_len);
4885 for (cntr_pwd_history_1=0;cntr_pwd_history_1<r->pwd_history_len;cntr_pwd_history_1++) {
4887 if (asprintf(&idx_1, "[%d]", cntr_pwd_history_1) != -1) {
4888 ndr_print_samr_ValidationBlob(ndr, "pwd_history", &r->pwd_history[cntr_pwd_history_1]);
4898 static enum ndr_err_code ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordRepCtr *r)
4900 if (ndr_flags & NDR_SCALARS) {
4901 NDR_CHECK(ndr_push_align(ndr, 8));
4902 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
4903 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr, NDR_SCALARS, r->status));
4905 if (ndr_flags & NDR_BUFFERS) {
4906 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
4908 return NDR_ERR_SUCCESS;
4911 static enum ndr_err_code ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordRepCtr *r)
4913 if (ndr_flags & NDR_SCALARS) {
4914 NDR_CHECK(ndr_pull_align(ndr, 8));
4915 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
4916 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr, NDR_SCALARS, &r->status));
4918 if (ndr_flags & NDR_BUFFERS) {
4919 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
4921 return NDR_ERR_SUCCESS;
4924 _PUBLIC_ void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordRepCtr *r)
4926 ndr_print_struct(ndr, name, "samr_ValidatePasswordRepCtr");
4928 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
4929 ndr_print_samr_ValidationStatus(ndr, "status", r->status);
4933 static enum ndr_err_code ndr_push_samr_ValidatePasswordRep(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordRep *r)
4935 if (ndr_flags & NDR_SCALARS) {
4936 int level = ndr_push_get_switch_value(ndr, r);
4937 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
4940 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
4944 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
4948 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
4952 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4955 if (ndr_flags & NDR_BUFFERS) {
4956 int level = ndr_push_get_switch_value(ndr, r);
4959 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
4963 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
4967 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
4971 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4974 return NDR_ERR_SUCCESS;
4977 static enum ndr_err_code ndr_pull_samr_ValidatePasswordRep(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordRep *r)
4981 level = ndr_pull_get_switch_value(ndr, r);
4982 if (ndr_flags & NDR_SCALARS) {
4983 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4984 if (_level != level) {
4985 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4989 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
4993 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
4997 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
5001 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5004 if (ndr_flags & NDR_BUFFERS) {
5007 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
5011 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
5015 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
5019 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5022 return NDR_ERR_SUCCESS;
5025 _PUBLIC_ void ndr_print_samr_ValidatePasswordRep(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordRep *r)
5028 level = ndr_print_get_switch_value(ndr, r);
5029 ndr_print_union(ndr, name, level, "samr_ValidatePasswordRep");
5032 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr1", &r->ctr1);
5036 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr2", &r->ctr2);
5040 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr3", &r->ctr3);
5044 ndr_print_bad_level(ndr, name, level);
5048 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq3(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq3 *r)
5050 if (ndr_flags & NDR_SCALARS) {
5051 NDR_CHECK(ndr_push_align(ndr, 8));
5052 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5053 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5054 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5055 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5056 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pwd_must_change_at_next_logon));
5057 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->clear_lockout));
5059 if (ndr_flags & NDR_BUFFERS) {
5060 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5061 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5062 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5063 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5065 return NDR_ERR_SUCCESS;
5068 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq3 *r)
5070 if (ndr_flags & NDR_SCALARS) {
5071 NDR_CHECK(ndr_pull_align(ndr, 8));
5072 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5073 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5074 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5075 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5076 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pwd_must_change_at_next_logon));
5077 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->clear_lockout));
5079 if (ndr_flags & NDR_BUFFERS) {
5080 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5081 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5082 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5083 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5085 return NDR_ERR_SUCCESS;
5088 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq3(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq3 *r)
5090 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq3");
5092 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5093 ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5094 ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5095 ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5096 ndr_print_uint8(ndr, "pwd_must_change_at_next_logon", r->pwd_must_change_at_next_logon);
5097 ndr_print_uint8(ndr, "clear_lockout", r->clear_lockout);
5101 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq2(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq2 *r)
5103 if (ndr_flags & NDR_SCALARS) {
5104 NDR_CHECK(ndr_push_align(ndr, 8));
5105 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5106 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5107 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5108 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5109 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5111 if (ndr_flags & NDR_BUFFERS) {
5112 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5113 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5114 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5115 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5117 return NDR_ERR_SUCCESS;
5120 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq2 *r)
5122 if (ndr_flags & NDR_SCALARS) {
5123 NDR_CHECK(ndr_pull_align(ndr, 8));
5124 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5125 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5126 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5127 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5128 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5130 if (ndr_flags & NDR_BUFFERS) {
5131 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5132 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5133 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5134 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5136 return NDR_ERR_SUCCESS;
5139 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq2(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq2 *r)
5141 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq2");
5143 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5144 ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5145 ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5146 ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5147 ndr_print_uint8(ndr, "password_matched", r->password_matched);
5151 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq1(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq1 *r)
5153 if (ndr_flags & NDR_SCALARS) {
5154 NDR_CHECK(ndr_push_align(ndr, 8));
5155 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5156 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5158 if (ndr_flags & NDR_BUFFERS) {
5159 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5161 return NDR_ERR_SUCCESS;
5164 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq1 *r)
5166 if (ndr_flags & NDR_SCALARS) {
5167 NDR_CHECK(ndr_pull_align(ndr, 8));
5168 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5169 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5171 if (ndr_flags & NDR_BUFFERS) {
5172 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5174 return NDR_ERR_SUCCESS;
5177 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq1(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq1 *r)
5179 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq1");
5181 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5182 ndr_print_uint8(ndr, "password_matched", r->password_matched);
5186 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordReq *r)
5188 if (ndr_flags & NDR_SCALARS) {
5189 int level = ndr_push_get_switch_value(ndr, r);
5190 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
5193 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5197 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5201 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5205 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5208 if (ndr_flags & NDR_BUFFERS) {
5209 int level = ndr_push_get_switch_value(ndr, r);
5212 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5216 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5220 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5224 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5227 return NDR_ERR_SUCCESS;
5230 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordReq *r)
5234 level = ndr_pull_get_switch_value(ndr, r);
5235 if (ndr_flags & NDR_SCALARS) {
5236 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
5237 if (_level != level) {
5238 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5242 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5246 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5250 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5254 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5257 if (ndr_flags & NDR_BUFFERS) {
5260 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5264 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5268 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5272 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5275 return NDR_ERR_SUCCESS;
5278 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordReq *r)
5281 level = ndr_print_get_switch_value(ndr, r);
5282 ndr_print_union(ndr, name, level, "samr_ValidatePasswordReq");
5285 ndr_print_samr_ValidatePasswordReq1(ndr, "req1", &r->req1);
5289 ndr_print_samr_ValidatePasswordReq2(ndr, "req2", &r->req2);
5293 ndr_print_samr_ValidatePasswordReq3(ndr, "req3", &r->req3);
5297 ndr_print_bad_level(ndr, name, level);
5301 static enum ndr_err_code ndr_push_samr_Connect(struct ndr_push *ndr, int flags, const struct samr_Connect *r)
5303 if (flags & NDR_IN) {
5304 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
5305 if (r->in.system_name) {
5306 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
5308 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
5310 if (flags & NDR_OUT) {
5311 if (r->out.connect_handle == NULL) {
5312 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5314 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5315 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5317 return NDR_ERR_SUCCESS;
5320 static enum ndr_err_code ndr_pull_samr_Connect(struct ndr_pull *ndr, int flags, struct samr_Connect *r)
5322 uint32_t _ptr_system_name;
5323 TALLOC_CTX *_mem_save_system_name_0;
5324 TALLOC_CTX *_mem_save_connect_handle_0;
5325 if (flags & NDR_IN) {
5326 ZERO_STRUCT(r->out);
5328 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
5329 if (_ptr_system_name) {
5330 NDR_PULL_ALLOC(ndr, r->in.system_name);
5332 r->in.system_name = NULL;
5334 if (r->in.system_name) {
5335 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5336 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
5337 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
5338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
5340 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
5341 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5342 ZERO_STRUCTP(r->out.connect_handle);
5344 if (flags & NDR_OUT) {
5345 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5346 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5348 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5349 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5350 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5352 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5354 return NDR_ERR_SUCCESS;
5357 _PUBLIC_ void ndr_print_samr_Connect(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect *r)
5359 ndr_print_struct(ndr, name, "samr_Connect");
5361 if (flags & NDR_SET_VALUES) {
5362 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5364 if (flags & NDR_IN) {
5365 ndr_print_struct(ndr, "in", "samr_Connect");
5367 ndr_print_ptr(ndr, "system_name", r->in.system_name);
5369 if (r->in.system_name) {
5370 ndr_print_uint16(ndr, "system_name", *r->in.system_name);
5373 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
5376 if (flags & NDR_OUT) {
5377 ndr_print_struct(ndr, "out", "samr_Connect");
5379 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
5381 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
5383 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5389 _PUBLIC_ enum ndr_err_code ndr_push_samr_Close(struct ndr_push *ndr, int flags, const struct samr_Close *r)
5391 if (flags & NDR_IN) {
5392 if (r->in.handle == NULL) {
5393 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5395 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5397 if (flags & NDR_OUT) {
5398 if (r->out.handle == NULL) {
5399 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5401 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5402 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5404 return NDR_ERR_SUCCESS;
5407 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Close(struct ndr_pull *ndr, int flags, struct samr_Close *r)
5409 TALLOC_CTX *_mem_save_handle_0;
5410 if (flags & NDR_IN) {
5411 ZERO_STRUCT(r->out);
5413 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5414 NDR_PULL_ALLOC(ndr, r->in.handle);
5416 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5417 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5418 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5420 NDR_PULL_ALLOC(ndr, r->out.handle);
5421 *r->out.handle = *r->in.handle;
5423 if (flags & NDR_OUT) {
5424 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5425 NDR_PULL_ALLOC(ndr, r->out.handle);
5427 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5428 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
5429 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5430 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5431 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5433 return NDR_ERR_SUCCESS;
5436 _PUBLIC_ void ndr_print_samr_Close(struct ndr_print *ndr, const char *name, int flags, const struct samr_Close *r)
5438 ndr_print_struct(ndr, name, "samr_Close");
5440 if (flags & NDR_SET_VALUES) {
5441 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5443 if (flags & NDR_IN) {
5444 ndr_print_struct(ndr, "in", "samr_Close");
5446 ndr_print_ptr(ndr, "handle", r->in.handle);
5448 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5452 if (flags & NDR_OUT) {
5453 ndr_print_struct(ndr, "out", "samr_Close");
5455 ndr_print_ptr(ndr, "handle", r->out.handle);
5457 ndr_print_policy_handle(ndr, "handle", r->out.handle);
5459 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5465 static enum ndr_err_code ndr_push_samr_SetSecurity(struct ndr_push *ndr, int flags, const struct samr_SetSecurity *r)
5467 if (flags & NDR_IN) {
5468 if (r->in.handle == NULL) {
5469 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5471 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5472 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
5473 if (r->in.sdbuf == NULL) {
5474 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5476 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5478 if (flags & NDR_OUT) {
5479 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5481 return NDR_ERR_SUCCESS;
5484 static enum ndr_err_code ndr_pull_samr_SetSecurity(struct ndr_pull *ndr, int flags, struct samr_SetSecurity *r)
5486 TALLOC_CTX *_mem_save_handle_0;
5487 TALLOC_CTX *_mem_save_sdbuf_0;
5488 if (flags & NDR_IN) {
5489 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5490 NDR_PULL_ALLOC(ndr, r->in.handle);
5492 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5493 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5494 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5495 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5496 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
5497 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5498 NDR_PULL_ALLOC(ndr, r->in.sdbuf);
5500 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
5501 NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC);
5502 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5503 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
5505 if (flags & NDR_OUT) {
5506 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5508 return NDR_ERR_SUCCESS;
5511 _PUBLIC_ void ndr_print_samr_SetSecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetSecurity *r)
5513 ndr_print_struct(ndr, name, "samr_SetSecurity");
5515 if (flags & NDR_SET_VALUES) {
5516 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5518 if (flags & NDR_IN) {
5519 ndr_print_struct(ndr, "in", "samr_SetSecurity");
5521 ndr_print_ptr(ndr, "handle", r->in.handle);
5523 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5525 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
5526 ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf);
5528 ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf);
5532 if (flags & NDR_OUT) {
5533 ndr_print_struct(ndr, "out", "samr_SetSecurity");
5535 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5541 static enum ndr_err_code ndr_push_samr_QuerySecurity(struct ndr_push *ndr, int flags, const struct samr_QuerySecurity *r)
5543 if (flags & NDR_IN) {
5544 if (r->in.handle == NULL) {
5545 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5547 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5548 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
5550 if (flags & NDR_OUT) {
5551 if (r->out.sdbuf == NULL) {
5552 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5554 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf));
5555 if (*r->out.sdbuf) {
5556 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
5558 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5560 return NDR_ERR_SUCCESS;
5563 static enum ndr_err_code ndr_pull_samr_QuerySecurity(struct ndr_pull *ndr, int flags, struct samr_QuerySecurity *r)
5565 uint32_t _ptr_sdbuf;
5566 TALLOC_CTX *_mem_save_handle_0;
5567 TALLOC_CTX *_mem_save_sdbuf_0;
5568 TALLOC_CTX *_mem_save_sdbuf_1;
5569 if (flags & NDR_IN) {
5570 ZERO_STRUCT(r->out);
5572 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5573 NDR_PULL_ALLOC(ndr, r->in.handle);
5575 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5576 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5577 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5578 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5579 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
5580 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
5581 ZERO_STRUCTP(r->out.sdbuf);
5583 if (flags & NDR_OUT) {
5584 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5585 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
5587 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
5588 NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC);
5589 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf));
5591 NDR_PULL_ALLOC(ndr, *r->out.sdbuf);
5593 *r->out.sdbuf = NULL;
5595 if (*r->out.sdbuf) {
5596 _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr);
5597 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0);
5598 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
5599 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0);
5601 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
5602 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5604 return NDR_ERR_SUCCESS;
5607 _PUBLIC_ void ndr_print_samr_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_QuerySecurity *r)
5609 ndr_print_struct(ndr, name, "samr_QuerySecurity");
5611 if (flags & NDR_SET_VALUES) {
5612 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5614 if (flags & NDR_IN) {
5615 ndr_print_struct(ndr, "in", "samr_QuerySecurity");
5617 ndr_print_ptr(ndr, "handle", r->in.handle);
5619 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5621 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
5624 if (flags & NDR_OUT) {
5625 ndr_print_struct(ndr, "out", "samr_QuerySecurity");
5627 ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf);
5629 ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf);
5631 if (*r->out.sdbuf) {
5632 ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf);
5636 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5642 static enum ndr_err_code ndr_push_samr_Shutdown(struct ndr_push *ndr, int flags, const struct samr_Shutdown *r)
5644 if (flags & NDR_IN) {
5645 if (r->in.connect_handle == NULL) {
5646 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5648 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5650 if (flags & NDR_OUT) {
5651 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5653 return NDR_ERR_SUCCESS;
5656 static enum ndr_err_code ndr_pull_samr_Shutdown(struct ndr_pull *ndr, int flags, struct samr_Shutdown *r)
5658 TALLOC_CTX *_mem_save_connect_handle_0;
5659 if (flags & NDR_IN) {
5660 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5661 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5663 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5664 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5665 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5666 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5668 if (flags & NDR_OUT) {
5669 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5671 return NDR_ERR_SUCCESS;
5674 _PUBLIC_ void ndr_print_samr_Shutdown(struct ndr_print *ndr, const char *name, int flags, const struct samr_Shutdown *r)
5676 ndr_print_struct(ndr, name, "samr_Shutdown");
5678 if (flags & NDR_SET_VALUES) {
5679 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5681 if (flags & NDR_IN) {
5682 ndr_print_struct(ndr, "in", "samr_Shutdown");
5684 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
5686 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
5690 if (flags & NDR_OUT) {
5691 ndr_print_struct(ndr, "out", "samr_Shutdown");
5693 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5699 static enum ndr_err_code ndr_push_samr_LookupDomain(struct ndr_push *ndr, int flags, const struct samr_LookupDomain *r)
5701 if (flags & NDR_IN) {
5702 if (r->in.connect_handle == NULL) {
5703 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5705 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5706 if (r->in.domain_name == NULL) {
5707 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5709 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
5711 if (flags & NDR_OUT) {
5712 if (r->out.sid == NULL) {
5713 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5715 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
5717 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
5719 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5721 return NDR_ERR_SUCCESS;
5724 static enum ndr_err_code ndr_pull_samr_LookupDomain(struct ndr_pull *ndr, int flags, struct samr_LookupDomain *r)
5727 TALLOC_CTX *_mem_save_connect_handle_0;
5728 TALLOC_CTX *_mem_save_domain_name_0;
5729 TALLOC_CTX *_mem_save_sid_0;
5730 TALLOC_CTX *_mem_save_sid_1;
5731 if (flags & NDR_IN) {
5732 ZERO_STRUCT(r->out);
5734 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5735 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5737 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5738 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5739 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5740 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5741 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5742 NDR_PULL_ALLOC(ndr, r->in.domain_name);
5744 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5745 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, LIBNDR_FLAG_REF_ALLOC);
5746 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
5747 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
5748 NDR_PULL_ALLOC(ndr, r->out.sid);
5749 ZERO_STRUCTP(r->out.sid);
5751 if (flags & NDR_OUT) {
5752 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5753 NDR_PULL_ALLOC(ndr, r->out.sid);
5755 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5756 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
5757 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5759 NDR_PULL_ALLOC(ndr, *r->out.sid);
5764 _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
5765 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
5766 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
5767 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
5769 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
5770 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5772 return NDR_ERR_SUCCESS;
5775 _PUBLIC_ void ndr_print_samr_LookupDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupDomain *r)
5777 ndr_print_struct(ndr, name, "samr_LookupDomain");
5779 if (flags & NDR_SET_VALUES) {
5780 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5782 if (flags & NDR_IN) {
5783 ndr_print_struct(ndr, "in", "samr_LookupDomain");
5785 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
5787 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
5789 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
5791 ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
5795 if (flags & NDR_OUT) {
5796 ndr_print_struct(ndr, "out", "samr_LookupDomain");
5798 ndr_print_ptr(ndr, "sid", r->out.sid);
5800 ndr_print_ptr(ndr, "sid", *r->out.sid);
5803 ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
5807 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5813 static enum ndr_err_code ndr_push_samr_EnumDomains(struct ndr_push *ndr, int flags, const struct samr_EnumDomains *r)
5815 if (flags & NDR_IN) {
5816 if (r->in.connect_handle == NULL) {
5817 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5819 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5820 if (r->in.resume_handle == NULL) {
5821 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5823 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
5824 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
5826 if (flags & NDR_OUT) {
5827 if (r->out.resume_handle == NULL) {
5828 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5830 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
5831 if (r->out.sam == NULL) {
5832 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5834 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
5836 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
5838 if (r->out.num_entries == NULL) {
5839 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
5842 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5844 return NDR_ERR_SUCCESS;
5847 static enum ndr_err_code ndr_pull_samr_EnumDomains(struct ndr_pull *ndr, int flags, struct samr_EnumDomains *r)
5850 TALLOC_CTX *_mem_save_connect_handle_0;
5851 TALLOC_CTX *_mem_save_resume_handle_0;
5852 TALLOC_CTX *_mem_save_sam_0;
5853 TALLOC_CTX *_mem_save_sam_1;
5854 TALLOC_CTX *_mem_save_num_entries_0;
5855 if (flags & NDR_IN) {
5856 ZERO_STRUCT(r->out);
5858 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5859 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5861 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5862 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5863 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5864 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5865 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5866 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
5868 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5869 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
5870 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
5871 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
5872 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
5873 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
5874 *r->out.resume_handle = *r->in.resume_handle;
5875 NDR_PULL_ALLOC(ndr, r->out.sam);
5876 ZERO_STRUCTP(r->out.sam);
5877 NDR_PULL_ALLOC(ndr, r->out.num_entries);
5878 ZERO_STRUCTP(r->out.num_entries);
5880 if (flags & NDR_OUT) {
5881 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5882 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
5884 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5885 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
5886 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
5887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
5888 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5889 NDR_PULL_ALLOC(ndr, r->out.sam);
5891 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
5892 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
5893 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
5895 NDR_PULL_ALLOC(ndr, *r->out.sam);
5900 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
5901 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
5902 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
5903 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
5905 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
5906 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5907 NDR_PULL_ALLOC(ndr, r->out.num_entries);
5909 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
5910 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
5911 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
5912 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
5913 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5915 return NDR_ERR_SUCCESS;
5918 _PUBLIC_ void ndr_print_samr_EnumDomains(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomains *r)
5920 ndr_print_struct(ndr, name, "samr_EnumDomains");
5922 if (flags & NDR_SET_VALUES) {
5923 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5925 if (flags & NDR_IN) {
5926 ndr_print_struct(ndr, "in", "samr_EnumDomains");
5928 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
5930 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
5932 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
5934 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
5936 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
5939 if (flags & NDR_OUT) {
5940 ndr_print_struct(ndr, "out", "samr_EnumDomains");
5942 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
5944 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
5946 ndr_print_ptr(ndr, "sam", r->out.sam);
5948 ndr_print_ptr(ndr, "sam", *r->out.sam);
5951 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
5955 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
5957 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
5959 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5965 _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenDomain(struct ndr_push *ndr, int flags, const struct samr_OpenDomain *r)
5967 if (flags & NDR_IN) {
5968 if (r->in.connect_handle == NULL) {
5969 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5971 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5972 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
5973 if (r->in.sid == NULL) {
5974 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5976 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
5978 if (flags & NDR_OUT) {
5979 if (r->out.domain_handle == NULL) {
5980 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5982 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
5983 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5985 return NDR_ERR_SUCCESS;
5988 _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenDomain(struct ndr_pull *ndr, int flags, struct samr_OpenDomain *r)
5990 TALLOC_CTX *_mem_save_connect_handle_0;
5991 TALLOC_CTX *_mem_save_sid_0;
5992 TALLOC_CTX *_mem_save_domain_handle_0;
5993 if (flags & NDR_IN) {
5994 ZERO_STRUCT(r->out);
5996 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5997 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5999 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6000 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6001 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6002 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6003 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6004 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6005 NDR_PULL_ALLOC(ndr, r->in.sid);
6007 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6008 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
6009 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
6010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
6011 NDR_PULL_ALLOC(ndr, r->out.domain_handle);
6012 ZERO_STRUCTP(r->out.domain_handle);
6014 if (flags & NDR_OUT) {
6015 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6016 NDR_PULL_ALLOC(ndr, r->out.domain_handle);
6018 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6019 NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6020 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
6021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6022 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6024 return NDR_ERR_SUCCESS;
6027 _PUBLIC_ void ndr_print_samr_OpenDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenDomain *r)
6029 ndr_print_struct(ndr, name, "samr_OpenDomain");
6031 if (flags & NDR_SET_VALUES) {
6032 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6034 if (flags & NDR_IN) {
6035 ndr_print_struct(ndr, "in", "samr_OpenDomain");
6037 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6039 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6041 ndr_print_samr_DomainAccessMask(ndr, "access_mask", r->in.access_mask);
6042 ndr_print_ptr(ndr, "sid", r->in.sid);
6044 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
6048 if (flags & NDR_OUT) {
6049 ndr_print_struct(ndr, "out", "samr_OpenDomain");
6051 ndr_print_ptr(ndr, "domain_handle", r->out.domain_handle);
6053 ndr_print_policy_handle(ndr, "domain_handle", r->out.domain_handle);
6055 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6061 static enum ndr_err_code ndr_push_samr_QueryDomainInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo *r)
6063 if (flags & NDR_IN) {
6064 if (r->in.domain_handle == NULL) {
6065 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6067 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6068 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6070 if (flags & NDR_OUT) {
6071 if (r->out.info == NULL) {
6072 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6074 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
6076 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
6077 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6079 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6081 return NDR_ERR_SUCCESS;
6084 static enum ndr_err_code ndr_pull_samr_QueryDomainInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo *r)
6087 TALLOC_CTX *_mem_save_domain_handle_0;
6088 TALLOC_CTX *_mem_save_info_0;
6089 TALLOC_CTX *_mem_save_info_1;
6090 if (flags & NDR_IN) {
6091 ZERO_STRUCT(r->out);
6093 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6094 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6096 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6097 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6098 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6099 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6100 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
6101 NDR_PULL_ALLOC(ndr, r->out.info);
6102 ZERO_STRUCTP(r->out.info);
6104 if (flags & NDR_OUT) {
6105 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6106 NDR_PULL_ALLOC(ndr, r->out.info);
6108 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6109 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
6110 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
6112 NDR_PULL_ALLOC(ndr, *r->out.info);
6114 *r->out.info = NULL;
6117 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
6118 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
6119 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
6120 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6121 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
6123 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6124 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6126 return NDR_ERR_SUCCESS;
6129 _PUBLIC_ void ndr_print_samr_QueryDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo *r)
6131 ndr_print_struct(ndr, name, "samr_QueryDomainInfo");
6133 if (flags & NDR_SET_VALUES) {
6134 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6136 if (flags & NDR_IN) {
6137 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo");
6139 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6141 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6143 ndr_print_uint16(ndr, "level", r->in.level);
6146 if (flags & NDR_OUT) {
6147 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo");
6149 ndr_print_ptr(ndr, "info", r->out.info);
6151 ndr_print_ptr(ndr, "info", *r->out.info);
6154 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
6155 ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
6159 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6165 static enum ndr_err_code ndr_push_samr_SetDomainInfo(struct ndr_push *ndr, int flags, const struct samr_SetDomainInfo *r)
6167 if (flags & NDR_IN) {
6168 if (r->in.domain_handle == NULL) {
6169 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6171 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6172 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6173 if (r->in.info == NULL) {
6174 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6176 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
6177 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6179 if (flags & NDR_OUT) {
6180 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6182 return NDR_ERR_SUCCESS;
6185 static enum ndr_err_code ndr_pull_samr_SetDomainInfo(struct ndr_pull *ndr, int flags, struct samr_SetDomainInfo *r)
6187 TALLOC_CTX *_mem_save_domain_handle_0;
6188 TALLOC_CTX *_mem_save_info_0;
6189 if (flags & NDR_IN) {
6190 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6191 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6193 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6194 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6195 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6196 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6197 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
6198 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6199 NDR_PULL_ALLOC(ndr, r->in.info);
6201 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6202 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
6203 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
6204 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6207 if (flags & NDR_OUT) {
6208 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6210 return NDR_ERR_SUCCESS;
6213 _PUBLIC_ void ndr_print_samr_SetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDomainInfo *r)
6215 ndr_print_struct(ndr, name, "samr_SetDomainInfo");
6217 if (flags & NDR_SET_VALUES) {
6218 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6220 if (flags & NDR_IN) {
6221 ndr_print_struct(ndr, "in", "samr_SetDomainInfo");
6223 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6225 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6227 ndr_print_uint16(ndr, "level", r->in.level);
6228 ndr_print_ptr(ndr, "info", r->in.info);
6230 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
6231 ndr_print_samr_DomainInfo(ndr, "info", r->in.info);
6235 if (flags & NDR_OUT) {
6236 ndr_print_struct(ndr, "out", "samr_SetDomainInfo");
6238 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6244 static enum ndr_err_code ndr_push_samr_CreateDomainGroup(struct ndr_push *ndr, int flags, const struct samr_CreateDomainGroup *r)
6246 if (flags & NDR_IN) {
6247 if (r->in.domain_handle == NULL) {
6248 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6250 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6251 if (r->in.name == NULL) {
6252 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6254 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6255 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6257 if (flags & NDR_OUT) {
6258 if (r->out.group_handle == NULL) {
6259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6261 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6262 if (r->out.rid == NULL) {
6263 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6266 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6268 return NDR_ERR_SUCCESS;
6271 static enum ndr_err_code ndr_pull_samr_CreateDomainGroup(struct ndr_pull *ndr, int flags, struct samr_CreateDomainGroup *r)
6273 TALLOC_CTX *_mem_save_domain_handle_0;
6274 TALLOC_CTX *_mem_save_name_0;
6275 TALLOC_CTX *_mem_save_group_handle_0;
6276 TALLOC_CTX *_mem_save_rid_0;
6277 if (flags & NDR_IN) {
6278 ZERO_STRUCT(r->out);
6280 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6281 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6283 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6284 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6285 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6287 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6288 NDR_PULL_ALLOC(ndr, r->in.name);
6290 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6291 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
6292 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
6294 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6295 NDR_PULL_ALLOC(ndr, r->out.group_handle);
6296 ZERO_STRUCTP(r->out.group_handle);
6297 NDR_PULL_ALLOC(ndr, r->out.rid);
6298 ZERO_STRUCTP(r->out.rid);
6300 if (flags & NDR_OUT) {
6301 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6302 NDR_PULL_ALLOC(ndr, r->out.group_handle);
6304 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6305 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
6306 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6307 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
6308 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6309 NDR_PULL_ALLOC(ndr, r->out.rid);
6311 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6312 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6313 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6315 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6317 return NDR_ERR_SUCCESS;
6320 _PUBLIC_ void ndr_print_samr_CreateDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomainGroup *r)
6322 ndr_print_struct(ndr, name, "samr_CreateDomainGroup");
6324 if (flags & NDR_SET_VALUES) {
6325 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6327 if (flags & NDR_IN) {
6328 ndr_print_struct(ndr, "in", "samr_CreateDomainGroup");
6330 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6332 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6334 ndr_print_ptr(ndr, "name", r->in.name);
6336 ndr_print_lsa_String(ndr, "name", r->in.name);
6338 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
6341 if (flags & NDR_OUT) {
6342 ndr_print_struct(ndr, "out", "samr_CreateDomainGroup");
6344 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
6346 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
6348 ndr_print_ptr(ndr, "rid", r->out.rid);
6350 ndr_print_uint32(ndr, "rid", *r->out.rid);
6352 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6358 static enum ndr_err_code ndr_push_samr_EnumDomainGroups(struct ndr_push *ndr, int flags, const struct samr_EnumDomainGroups *r)
6360 if (flags & NDR_IN) {
6361 if (r->in.domain_handle == NULL) {
6362 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6364 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6365 if (r->in.resume_handle == NULL) {
6366 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6371 if (flags & NDR_OUT) {
6372 if (r->out.resume_handle == NULL) {
6373 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6376 if (r->out.sam == NULL) {
6377 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6379 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6381 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6383 if (r->out.num_entries == NULL) {
6384 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6386 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6387 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6389 return NDR_ERR_SUCCESS;
6392 static enum ndr_err_code ndr_pull_samr_EnumDomainGroups(struct ndr_pull *ndr, int flags, struct samr_EnumDomainGroups *r)
6395 TALLOC_CTX *_mem_save_domain_handle_0;
6396 TALLOC_CTX *_mem_save_resume_handle_0;
6397 TALLOC_CTX *_mem_save_sam_0;
6398 TALLOC_CTX *_mem_save_sam_1;
6399 TALLOC_CTX *_mem_save_num_entries_0;
6400 if (flags & NDR_IN) {
6401 ZERO_STRUCT(r->out);
6403 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6404 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6406 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6407 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6408 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6409 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6410 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6411 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6413 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6414 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6415 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6417 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6418 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6419 *r->out.resume_handle = *r->in.resume_handle;
6420 NDR_PULL_ALLOC(ndr, r->out.sam);
6421 ZERO_STRUCTP(r->out.sam);
6422 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6423 ZERO_STRUCTP(r->out.num_entries);
6425 if (flags & NDR_OUT) {
6426 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6427 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6429 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6430 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6433 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6434 NDR_PULL_ALLOC(ndr, r->out.sam);
6436 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6437 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6438 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6440 NDR_PULL_ALLOC(ndr, *r->out.sam);
6445 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6446 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6447 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6448 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6451 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6452 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6454 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6455 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6456 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6457 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6458 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6460 return NDR_ERR_SUCCESS;
6463 _PUBLIC_ void ndr_print_samr_EnumDomainGroups(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainGroups *r)
6465 ndr_print_struct(ndr, name, "samr_EnumDomainGroups");
6467 if (flags & NDR_SET_VALUES) {
6468 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6470 if (flags & NDR_IN) {
6471 ndr_print_struct(ndr, "in", "samr_EnumDomainGroups");
6473 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6475 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6477 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6479 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6481 ndr_print_uint32(ndr, "max_size", r->in.max_size);
6484 if (flags & NDR_OUT) {
6485 ndr_print_struct(ndr, "out", "samr_EnumDomainGroups");
6487 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6489 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6491 ndr_print_ptr(ndr, "sam", r->out.sam);
6493 ndr_print_ptr(ndr, "sam", *r->out.sam);
6496 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6500 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6502 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6504 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6510 static enum ndr_err_code ndr_push_samr_CreateUser(struct ndr_push *ndr, int flags, const struct samr_CreateUser *r)
6512 if (flags & NDR_IN) {
6513 if (r->in.domain_handle == NULL) {
6514 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6516 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6517 if (r->in.account_name == NULL) {
6518 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6520 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
6521 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6523 if (flags & NDR_OUT) {
6524 if (r->out.user_handle == NULL) {
6525 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6527 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
6528 if (r->out.rid == NULL) {
6529 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6532 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6534 return NDR_ERR_SUCCESS;
6537 static enum ndr_err_code ndr_pull_samr_CreateUser(struct ndr_pull *ndr, int flags, struct samr_CreateUser *r)
6539 TALLOC_CTX *_mem_save_domain_handle_0;
6540 TALLOC_CTX *_mem_save_account_name_0;
6541 TALLOC_CTX *_mem_save_user_handle_0;
6542 TALLOC_CTX *_mem_save_rid_0;
6543 if (flags & NDR_IN) {
6544 ZERO_STRUCT(r->out);
6546 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6547 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6549 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6550 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6551 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6552 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6553 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6554 NDR_PULL_ALLOC(ndr, r->in.account_name);
6556 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6557 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
6558 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
6559 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
6560 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6561 NDR_PULL_ALLOC(ndr, r->out.user_handle);
6562 ZERO_STRUCTP(r->out.user_handle);
6563 NDR_PULL_ALLOC(ndr, r->out.rid);
6564 ZERO_STRUCTP(r->out.rid);
6566 if (flags & NDR_OUT) {
6567 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6568 NDR_PULL_ALLOC(ndr, r->out.user_handle);
6570 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6571 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
6572 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
6573 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
6574 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6575 NDR_PULL_ALLOC(ndr, r->out.rid);
6577 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6578 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6579 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6581 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6583 return NDR_ERR_SUCCESS;
6586 _PUBLIC_ void ndr_print_samr_CreateUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser *r)
6588 ndr_print_struct(ndr, name, "samr_CreateUser");
6590 if (flags & NDR_SET_VALUES) {
6591 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6593 if (flags & NDR_IN) {
6594 ndr_print_struct(ndr, "in", "samr_CreateUser");
6596 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6598 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6600 ndr_print_ptr(ndr, "account_name", r->in.account_name);
6602 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
6604 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
6607 if (flags & NDR_OUT) {
6608 ndr_print_struct(ndr, "out", "samr_CreateUser");
6610 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
6612 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
6614 ndr_print_ptr(ndr, "rid", r->out.rid);
6616 ndr_print_uint32(ndr, "rid", *r->out.rid);
6618 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6624 static enum ndr_err_code ndr_push_samr_EnumDomainUsers(struct ndr_push *ndr, int flags, const struct samr_EnumDomainUsers *r)
6626 if (flags & NDR_IN) {
6627 if (r->in.domain_handle == NULL) {
6628 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6630 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6631 if (r->in.resume_handle == NULL) {
6632 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6635 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
6636 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6638 if (flags & NDR_OUT) {
6639 if (r->out.resume_handle == NULL) {
6640 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6642 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6643 if (r->out.sam == NULL) {
6644 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6646 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6648 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6650 if (r->out.num_entries == NULL) {
6651 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6653 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6654 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6656 return NDR_ERR_SUCCESS;
6659 static enum ndr_err_code ndr_pull_samr_EnumDomainUsers(struct ndr_pull *ndr, int flags, struct samr_EnumDomainUsers *r)
6662 TALLOC_CTX *_mem_save_domain_handle_0;
6663 TALLOC_CTX *_mem_save_resume_handle_0;
6664 TALLOC_CTX *_mem_save_sam_0;
6665 TALLOC_CTX *_mem_save_sam_1;
6666 TALLOC_CTX *_mem_save_num_entries_0;
6667 if (flags & NDR_IN) {
6668 ZERO_STRUCT(r->out);
6670 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6671 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6673 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6674 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6675 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6677 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6678 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6680 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6681 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6682 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6684 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
6685 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6686 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6687 *r->out.resume_handle = *r->in.resume_handle;
6688 NDR_PULL_ALLOC(ndr, r->out.sam);
6689 ZERO_STRUCTP(r->out.sam);
6690 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6691 ZERO_STRUCTP(r->out.num_entries);
6693 if (flags & NDR_OUT) {
6694 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6695 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6697 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6698 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6699 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6700 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6701 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6702 NDR_PULL_ALLOC(ndr, r->out.sam);
6704 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6705 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6706 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6708 NDR_PULL_ALLOC(ndr, *r->out.sam);
6713 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6714 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6715 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6716 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6718 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6719 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6720 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6722 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6723 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6724 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6725 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6726 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6728 return NDR_ERR_SUCCESS;
6731 _PUBLIC_ void ndr_print_samr_EnumDomainUsers(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainUsers *r)
6733 ndr_print_struct(ndr, name, "samr_EnumDomainUsers");
6735 if (flags & NDR_SET_VALUES) {
6736 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6738 if (flags & NDR_IN) {
6739 ndr_print_struct(ndr, "in", "samr_EnumDomainUsers");
6741 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6743 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6745 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6747 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6749 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
6750 ndr_print_uint32(ndr, "max_size", r->in.max_size);
6753 if (flags & NDR_OUT) {
6754 ndr_print_struct(ndr, "out", "samr_EnumDomainUsers");
6756 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6758 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6760 ndr_print_ptr(ndr, "sam", r->out.sam);
6762 ndr_print_ptr(ndr, "sam", *r->out.sam);
6765 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6769 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6771 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6773 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6779 static enum ndr_err_code ndr_push_samr_CreateDomAlias(struct ndr_push *ndr, int flags, const struct samr_CreateDomAlias *r)
6781 if (flags & NDR_IN) {
6782 if (r->in.domain_handle == NULL) {
6783 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6785 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6786 if (r->in.alias_name == NULL) {
6787 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6789 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
6790 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6792 if (flags & NDR_OUT) {
6793 if (r->out.alias_handle == NULL) {
6794 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6796 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
6797 if (r->out.rid == NULL) {
6798 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6800 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6801 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6803 return NDR_ERR_SUCCESS;
6806 static enum ndr_err_code ndr_pull_samr_CreateDomAlias(struct ndr_pull *ndr, int flags, struct samr_CreateDomAlias *r)
6808 TALLOC_CTX *_mem_save_domain_handle_0;
6809 TALLOC_CTX *_mem_save_alias_name_0;
6810 TALLOC_CTX *_mem_save_alias_handle_0;
6811 TALLOC_CTX *_mem_save_rid_0;
6812 if (flags & NDR_IN) {
6813 ZERO_STRUCT(r->out);
6815 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6816 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6818 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6819 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6820 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6821 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6822 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6823 NDR_PULL_ALLOC(ndr, r->in.alias_name);
6825 _mem_save_alias_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6826 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_name, LIBNDR_FLAG_REF_ALLOC);
6827 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
6828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_name_0, LIBNDR_FLAG_REF_ALLOC);
6829 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6830 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
6831 ZERO_STRUCTP(r->out.alias_handle);
6832 NDR_PULL_ALLOC(ndr, r->out.rid);
6833 ZERO_STRUCTP(r->out.rid);
6835 if (flags & NDR_OUT) {
6836 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6837 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
6839 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6840 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
6841 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
6842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
6843 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6844 NDR_PULL_ALLOC(ndr, r->out.rid);
6846 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6847 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6848 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6849 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6850 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6852 return NDR_ERR_SUCCESS;
6855 _PUBLIC_ void ndr_print_samr_CreateDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomAlias *r)
6857 ndr_print_struct(ndr, name, "samr_CreateDomAlias");
6859 if (flags & NDR_SET_VALUES) {
6860 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6862 if (flags & NDR_IN) {
6863 ndr_print_struct(ndr, "in", "samr_CreateDomAlias");
6865 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6867 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6869 ndr_print_ptr(ndr, "alias_name", r->in.alias_name);
6871 ndr_print_lsa_String(ndr, "alias_name", r->in.alias_name);
6873 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
6876 if (flags & NDR_OUT) {
6877 ndr_print_struct(ndr, "out", "samr_CreateDomAlias");
6879 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
6881 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
6883 ndr_print_ptr(ndr, "rid", r->out.rid);
6885 ndr_print_uint32(ndr, "rid", *r->out.rid);
6887 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6893 static enum ndr_err_code ndr_push_samr_EnumDomainAliases(struct ndr_push *ndr, int flags, const struct samr_EnumDomainAliases *r)
6895 if (flags & NDR_IN) {
6896 if (r->in.domain_handle == NULL) {
6897 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6899 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6900 if (r->in.resume_handle == NULL) {
6901 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6903 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6906 if (flags & NDR_OUT) {
6907 if (r->out.resume_handle == NULL) {
6908 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6910 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6911 if (r->out.sam == NULL) {
6912 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6914 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6916 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6918 if (r->out.num_entries == NULL) {
6919 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6921 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6922 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6924 return NDR_ERR_SUCCESS;
6927 static enum ndr_err_code ndr_pull_samr_EnumDomainAliases(struct ndr_pull *ndr, int flags, struct samr_EnumDomainAliases *r)
6930 TALLOC_CTX *_mem_save_domain_handle_0;
6931 TALLOC_CTX *_mem_save_resume_handle_0;
6932 TALLOC_CTX *_mem_save_sam_0;
6933 TALLOC_CTX *_mem_save_sam_1;
6934 TALLOC_CTX *_mem_save_num_entries_0;
6935 if (flags & NDR_IN) {
6936 ZERO_STRUCT(r->out);
6938 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6939 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6941 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6942 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6943 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6944 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6945 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6946 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6948 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6949 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6950 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6952 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6953 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6954 *r->out.resume_handle = *r->in.resume_handle;
6955 NDR_PULL_ALLOC(ndr, r->out.sam);
6956 ZERO_STRUCTP(r->out.sam);
6957 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6958 ZERO_STRUCTP(r->out.num_entries);
6960 if (flags & NDR_OUT) {
6961 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6962 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6964 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6965 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6966 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6967 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6968 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6969 NDR_PULL_ALLOC(ndr, r->out.sam);
6971 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6972 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6973 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6975 NDR_PULL_ALLOC(ndr, *r->out.sam);
6980 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6981 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6982 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6983 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6985 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6986 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6987 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6989 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6990 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6991 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6993 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6995 return NDR_ERR_SUCCESS;
6998 _PUBLIC_ void ndr_print_samr_EnumDomainAliases(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainAliases *r)
7000 ndr_print_struct(ndr, name, "samr_EnumDomainAliases");
7002 if (flags & NDR_SET_VALUES) {
7003 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7005 if (flags & NDR_IN) {
7006 ndr_print_struct(ndr, "in", "samr_EnumDomainAliases");
7008 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7010 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7012 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
7014 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
7016 ndr_print_uint32(ndr, "max_size", r->in.max_size);
7019 if (flags & NDR_OUT) {
7020 ndr_print_struct(ndr, "out", "samr_EnumDomainAliases");
7022 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
7024 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
7026 ndr_print_ptr(ndr, "sam", r->out.sam);
7028 ndr_print_ptr(ndr, "sam", *r->out.sam);
7031 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
7035 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
7037 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
7039 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7045 static enum ndr_err_code ndr_push_samr_GetAliasMembership(struct ndr_push *ndr, int flags, const struct samr_GetAliasMembership *r)
7047 if (flags & NDR_IN) {
7048 if (r->in.domain_handle == NULL) {
7049 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7051 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7052 if (r->in.sids == NULL) {
7053 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7055 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7057 if (flags & NDR_OUT) {
7058 if (r->out.rids == NULL) {
7059 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7061 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7062 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7064 return NDR_ERR_SUCCESS;
7067 static enum ndr_err_code ndr_pull_samr_GetAliasMembership(struct ndr_pull *ndr, int flags, struct samr_GetAliasMembership *r)
7069 TALLOC_CTX *_mem_save_domain_handle_0;
7070 TALLOC_CTX *_mem_save_sids_0;
7071 TALLOC_CTX *_mem_save_rids_0;
7072 if (flags & NDR_IN) {
7073 ZERO_STRUCT(r->out);
7075 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7076 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7078 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7079 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7080 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7081 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7082 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7083 NDR_PULL_ALLOC(ndr, r->in.sids);
7085 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7086 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
7087 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
7089 NDR_PULL_ALLOC(ndr, r->out.rids);
7090 ZERO_STRUCTP(r->out.rids);
7092 if (flags & NDR_OUT) {
7093 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7094 NDR_PULL_ALLOC(ndr, r->out.rids);
7096 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7097 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7098 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7099 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7100 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7102 return NDR_ERR_SUCCESS;
7105 _PUBLIC_ void ndr_print_samr_GetAliasMembership(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetAliasMembership *r)
7107 ndr_print_struct(ndr, name, "samr_GetAliasMembership");
7109 if (flags & NDR_SET_VALUES) {
7110 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7112 if (flags & NDR_IN) {
7113 ndr_print_struct(ndr, "in", "samr_GetAliasMembership");
7115 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7117 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7119 ndr_print_ptr(ndr, "sids", r->in.sids);
7121 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
7125 if (flags & NDR_OUT) {
7126 ndr_print_struct(ndr, "out", "samr_GetAliasMembership");
7128 ndr_print_ptr(ndr, "rids", r->out.rids);
7130 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
7132 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7138 _PUBLIC_ enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int flags, const struct samr_LookupNames *r)
7140 uint32_t cntr_names_0;
7141 if (flags & NDR_IN) {
7142 if (r->in.domain_handle == NULL) {
7143 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7145 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7146 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
7147 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1000));
7148 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7149 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
7150 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7151 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7153 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7154 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7157 if (flags & NDR_OUT) {
7158 if (r->out.rids == NULL) {
7159 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7161 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7162 if (r->out.types == NULL) {
7163 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7165 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7166 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7168 return NDR_ERR_SUCCESS;
7171 _PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r)
7173 uint32_t cntr_names_0;
7174 TALLOC_CTX *_mem_save_domain_handle_0;
7175 TALLOC_CTX *_mem_save_names_0;
7176 TALLOC_CTX *_mem_save_rids_0;
7177 TALLOC_CTX *_mem_save_types_0;
7178 if (flags & NDR_IN) {
7179 ZERO_STRUCT(r->out);
7181 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7182 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7184 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7185 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7186 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7188 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
7189 if (r->in.num_names < 0 || r->in.num_names > 1000) {
7190 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7192 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
7193 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names));
7194 if (ndr_get_array_length(ndr, &r->in.names) > ndr_get_array_size(ndr, &r->in.names)) {
7195 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.names), ndr_get_array_length(ndr, &r->in.names));
7197 NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names));
7198 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
7199 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
7200 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7201 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7203 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7204 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
7207 NDR_PULL_ALLOC(ndr, r->out.rids);
7208 ZERO_STRUCTP(r->out.rids);
7209 NDR_PULL_ALLOC(ndr, r->out.types);
7210 ZERO_STRUCTP(r->out.types);
7212 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, 1000));
7215 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.names, r->in.num_names));
7218 if (flags & NDR_OUT) {
7219 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7220 NDR_PULL_ALLOC(ndr, r->out.rids);
7222 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7223 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7224 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7226 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7227 NDR_PULL_ALLOC(ndr, r->out.types);
7229 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
7230 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
7231 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7232 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
7233 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7235 return NDR_ERR_SUCCESS;
7238 _PUBLIC_ void ndr_print_samr_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupNames *r)
7240 uint32_t cntr_names_0;
7241 ndr_print_struct(ndr, name, "samr_LookupNames");
7243 if (flags & NDR_SET_VALUES) {
7244 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7246 if (flags & NDR_IN) {
7247 ndr_print_struct(ndr, "in", "samr_LookupNames");
7249 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7251 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7253 ndr_print_uint32(ndr, "num_names", r->in.num_names);
7254 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
7256 for (cntr_names_0=0;cntr_names_0<r->in.num_names;cntr_names_0++) {
7258 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
7259 ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
7266 if (flags & NDR_OUT) {
7267 ndr_print_struct(ndr, "out", "samr_LookupNames");
7269 ndr_print_ptr(ndr, "rids", r->out.rids);
7271 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
7273 ndr_print_ptr(ndr, "types", r->out.types);
7275 ndr_print_samr_Ids(ndr, "types", r->out.types);
7277 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7283 static enum ndr_err_code ndr_push_samr_LookupRids(struct ndr_push *ndr, int flags, const struct samr_LookupRids *r)
7285 uint32_t cntr_rids_0;
7286 if (flags & NDR_IN) {
7287 if (r->in.domain_handle == NULL) {
7288 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7290 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7291 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids));
7292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1000));
7293 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7294 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids));
7295 for (cntr_rids_0 = 0; cntr_rids_0 < r->in.num_rids; cntr_rids_0++) {
7296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rids[cntr_rids_0]));
7299 if (flags & NDR_OUT) {
7300 if (r->out.names == NULL) {
7301 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7303 NDR_CHECK(ndr_push_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
7304 if (r->out.types == NULL) {
7305 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7307 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7308 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7310 return NDR_ERR_SUCCESS;
7313 static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r)
7315 uint32_t cntr_rids_0;
7316 TALLOC_CTX *_mem_save_domain_handle_0;
7317 TALLOC_CTX *_mem_save_rids_0;
7318 TALLOC_CTX *_mem_save_names_0;
7319 TALLOC_CTX *_mem_save_types_0;
7320 if (flags & NDR_IN) {
7321 ZERO_STRUCT(r->out);
7323 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7324 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7326 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7327 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7328 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_rids));
7331 if (r->in.num_rids < 0 || r->in.num_rids > 1000) {
7332 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7334 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids));
7335 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids));
7336 if (ndr_get_array_length(ndr, &r->in.rids) > ndr_get_array_size(ndr, &r->in.rids)) {
7337 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.rids), ndr_get_array_length(ndr, &r->in.rids));
7339 NDR_PULL_ALLOC_N(ndr, r->in.rids, ndr_get_array_size(ndr, &r->in.rids));
7340 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7341 NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0);
7342 for (cntr_rids_0 = 0; cntr_rids_0 < r->in.num_rids; cntr_rids_0++) {
7343 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0]));
7345 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
7346 NDR_PULL_ALLOC(ndr, r->out.names);
7347 ZERO_STRUCTP(r->out.names);
7348 NDR_PULL_ALLOC(ndr, r->out.types);
7349 ZERO_STRUCTP(r->out.types);
7351 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.rids, 1000));
7354 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.rids, r->in.num_rids));
7357 if (flags & NDR_OUT) {
7358 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7359 NDR_PULL_ALLOC(ndr, r->out.names);
7361 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
7362 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
7363 NDR_CHECK(ndr_pull_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
7364 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
7365 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7366 NDR_PULL_ALLOC(ndr, r->out.types);
7368 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
7369 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
7370 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7371 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
7372 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7374 return NDR_ERR_SUCCESS;
7377 _PUBLIC_ void ndr_print_samr_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupRids *r)
7379 uint32_t cntr_rids_0;
7380 ndr_print_struct(ndr, name, "samr_LookupRids");
7382 if (flags & NDR_SET_VALUES) {
7383 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7385 if (flags & NDR_IN) {
7386 ndr_print_struct(ndr, "in", "samr_LookupRids");
7388 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7390 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7392 ndr_print_uint32(ndr, "num_rids", r->in.num_rids);
7393 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->in.num_rids);
7395 for (cntr_rids_0=0;cntr_rids_0<r->in.num_rids;cntr_rids_0++) {
7397 if (asprintf(&idx_0, "[%d]", cntr_rids_0) != -1) {
7398 ndr_print_uint32(ndr, "rids", r->in.rids[cntr_rids_0]);
7405 if (flags & NDR_OUT) {
7406 ndr_print_struct(ndr, "out", "samr_LookupRids");
7408 ndr_print_ptr(ndr, "names", r->out.names);
7410 ndr_print_lsa_Strings(ndr, "names", r->out.names);
7412 ndr_print_ptr(ndr, "types", r->out.types);
7414 ndr_print_samr_Ids(ndr, "types", r->out.types);
7416 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7422 static enum ndr_err_code ndr_push_samr_OpenGroup(struct ndr_push *ndr, int flags, const struct samr_OpenGroup *r)
7424 if (flags & NDR_IN) {
7425 if (r->in.domain_handle == NULL) {
7426 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7428 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7429 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7430 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7432 if (flags & NDR_OUT) {
7433 if (r->out.group_handle == NULL) {
7434 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7436 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7437 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7439 return NDR_ERR_SUCCESS;
7442 static enum ndr_err_code ndr_pull_samr_OpenGroup(struct ndr_pull *ndr, int flags, struct samr_OpenGroup *r)
7444 TALLOC_CTX *_mem_save_domain_handle_0;
7445 TALLOC_CTX *_mem_save_group_handle_0;
7446 if (flags & NDR_IN) {
7447 ZERO_STRUCT(r->out);
7449 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7450 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7452 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7453 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7454 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7456 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7457 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7458 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7459 ZERO_STRUCTP(r->out.group_handle);
7461 if (flags & NDR_OUT) {
7462 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7463 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7465 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7466 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
7467 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7468 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7469 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7471 return NDR_ERR_SUCCESS;
7474 _PUBLIC_ void ndr_print_samr_OpenGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenGroup *r)
7476 ndr_print_struct(ndr, name, "samr_OpenGroup");
7478 if (flags & NDR_SET_VALUES) {
7479 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7481 if (flags & NDR_IN) {
7482 ndr_print_struct(ndr, "in", "samr_OpenGroup");
7484 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7486 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7488 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
7489 ndr_print_uint32(ndr, "rid", r->in.rid);
7492 if (flags & NDR_OUT) {
7493 ndr_print_struct(ndr, "out", "samr_OpenGroup");
7495 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
7497 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
7499 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7505 static enum ndr_err_code ndr_push_samr_QueryGroupInfo(struct ndr_push *ndr, int flags, const struct samr_QueryGroupInfo *r)
7507 if (flags & NDR_IN) {
7508 if (r->in.group_handle == NULL) {
7509 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7511 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7512 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
7514 if (flags & NDR_OUT) {
7515 if (r->out.info == NULL) {
7516 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7518 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
7520 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
7521 NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
7523 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7525 return NDR_ERR_SUCCESS;
7528 static enum ndr_err_code ndr_pull_samr_QueryGroupInfo(struct ndr_pull *ndr, int flags, struct samr_QueryGroupInfo *r)
7531 TALLOC_CTX *_mem_save_group_handle_0;
7532 TALLOC_CTX *_mem_save_info_0;
7533 TALLOC_CTX *_mem_save_info_1;
7534 if (flags & NDR_IN) {
7535 ZERO_STRUCT(r->out);
7537 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7538 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7540 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7541 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7542 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7543 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7544 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
7545 NDR_PULL_ALLOC(ndr, r->out.info);
7546 ZERO_STRUCTP(r->out.info);
7548 if (flags & NDR_OUT) {
7549 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7550 NDR_PULL_ALLOC(ndr, r->out.info);
7552 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7553 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
7554 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
7556 NDR_PULL_ALLOC(ndr, *r->out.info);
7558 *r->out.info = NULL;
7561 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
7562 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
7563 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
7564 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
7565 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
7567 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
7568 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7570 return NDR_ERR_SUCCESS;
7573 _PUBLIC_ void ndr_print_samr_QueryGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupInfo *r)
7575 ndr_print_struct(ndr, name, "samr_QueryGroupInfo");
7577 if (flags & NDR_SET_VALUES) {
7578 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7580 if (flags & NDR_IN) {
7581 ndr_print_struct(ndr, "in", "samr_QueryGroupInfo");
7583 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7585 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7587 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
7590 if (flags & NDR_OUT) {
7591 ndr_print_struct(ndr, "out", "samr_QueryGroupInfo");
7593 ndr_print_ptr(ndr, "info", r->out.info);
7595 ndr_print_ptr(ndr, "info", *r->out.info);
7598 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
7599 ndr_print_samr_GroupInfo(ndr, "info", *r->out.info);
7603 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7609 static enum ndr_err_code ndr_push_samr_SetGroupInfo(struct ndr_push *ndr, int flags, const struct samr_SetGroupInfo *r)
7611 if (flags & NDR_IN) {
7612 if (r->in.group_handle == NULL) {
7613 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7615 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7616 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
7617 if (r->in.info == NULL) {
7618 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7620 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
7621 NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
7623 if (flags & NDR_OUT) {
7624 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7626 return NDR_ERR_SUCCESS;
7629 static enum ndr_err_code ndr_pull_samr_SetGroupInfo(struct ndr_pull *ndr, int flags, struct samr_SetGroupInfo *r)
7631 TALLOC_CTX *_mem_save_group_handle_0;
7632 TALLOC_CTX *_mem_save_info_0;
7633 if (flags & NDR_IN) {
7634 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7635 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7637 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7638 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7639 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7640 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7641 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
7642 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7643 NDR_PULL_ALLOC(ndr, r->in.info);
7645 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7646 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
7647 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
7648 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
7649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
7651 if (flags & NDR_OUT) {
7652 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7654 return NDR_ERR_SUCCESS;
7657 _PUBLIC_ void ndr_print_samr_SetGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetGroupInfo *r)
7659 ndr_print_struct(ndr, name, "samr_SetGroupInfo");
7661 if (flags & NDR_SET_VALUES) {
7662 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7664 if (flags & NDR_IN) {
7665 ndr_print_struct(ndr, "in", "samr_SetGroupInfo");
7667 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7669 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7671 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
7672 ndr_print_ptr(ndr, "info", r->in.info);
7674 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
7675 ndr_print_samr_GroupInfo(ndr, "info", r->in.info);
7679 if (flags & NDR_OUT) {
7680 ndr_print_struct(ndr, "out", "samr_SetGroupInfo");
7682 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7688 static enum ndr_err_code ndr_push_samr_AddGroupMember(struct ndr_push *ndr, int flags, const struct samr_AddGroupMember *r)
7690 if (flags & NDR_IN) {
7691 if (r->in.group_handle == NULL) {
7692 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7694 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7695 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7696 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
7698 if (flags & NDR_OUT) {
7699 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7701 return NDR_ERR_SUCCESS;
7704 static enum ndr_err_code ndr_pull_samr_AddGroupMember(struct ndr_pull *ndr, int flags, struct samr_AddGroupMember *r)
7706 TALLOC_CTX *_mem_save_group_handle_0;
7707 if (flags & NDR_IN) {
7708 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7709 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7711 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7712 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7713 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7715 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7716 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
7718 if (flags & NDR_OUT) {
7719 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7721 return NDR_ERR_SUCCESS;
7724 _PUBLIC_ void ndr_print_samr_AddGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddGroupMember *r)
7726 ndr_print_struct(ndr, name, "samr_AddGroupMember");
7728 if (flags & NDR_SET_VALUES) {
7729 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7731 if (flags & NDR_IN) {
7732 ndr_print_struct(ndr, "in", "samr_AddGroupMember");
7734 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7736 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7738 ndr_print_uint32(ndr, "rid", r->in.rid);
7739 ndr_print_uint32(ndr, "flags", r->in.flags);
7742 if (flags & NDR_OUT) {
7743 ndr_print_struct(ndr, "out", "samr_AddGroupMember");
7745 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7751 static enum ndr_err_code ndr_push_samr_DeleteDomainGroup(struct ndr_push *ndr, int flags, const struct samr_DeleteDomainGroup *r)
7753 if (flags & NDR_IN) {
7754 if (r->in.group_handle == NULL) {
7755 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7757 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7759 if (flags & NDR_OUT) {
7760 if (r->out.group_handle == NULL) {
7761 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7763 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7764 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7766 return NDR_ERR_SUCCESS;
7769 static enum ndr_err_code ndr_pull_samr_DeleteDomainGroup(struct ndr_pull *ndr, int flags, struct samr_DeleteDomainGroup *r)
7771 TALLOC_CTX *_mem_save_group_handle_0;
7772 if (flags & NDR_IN) {
7773 ZERO_STRUCT(r->out);
7775 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7776 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7778 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7779 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7780 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7782 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7783 *r->out.group_handle = *r->in.group_handle;
7785 if (flags & NDR_OUT) {
7786 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7787 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7789 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7790 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
7791 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7792 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7793 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7795 return NDR_ERR_SUCCESS;
7798 _PUBLIC_ void ndr_print_samr_DeleteDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomainGroup *r)
7800 ndr_print_struct(ndr, name, "samr_DeleteDomainGroup");
7802 if (flags & NDR_SET_VALUES) {
7803 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7805 if (flags & NDR_IN) {
7806 ndr_print_struct(ndr, "in", "samr_DeleteDomainGroup");
7808 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7810 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7814 if (flags & NDR_OUT) {
7815 ndr_print_struct(ndr, "out", "samr_DeleteDomainGroup");
7817 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
7819 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
7821 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7827 static enum ndr_err_code ndr_push_samr_DeleteGroupMember(struct ndr_push *ndr, int flags, const struct samr_DeleteGroupMember *r)
7829 if (flags & NDR_IN) {
7830 if (r->in.group_handle == NULL) {
7831 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7833 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7834 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7836 if (flags & NDR_OUT) {
7837 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7839 return NDR_ERR_SUCCESS;
7842 static enum ndr_err_code ndr_pull_samr_DeleteGroupMember(struct ndr_pull *ndr, int flags, struct samr_DeleteGroupMember *r)
7844 TALLOC_CTX *_mem_save_group_handle_0;
7845 if (flags & NDR_IN) {
7846 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7847 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7849 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7850 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7851 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7852 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7853 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7855 if (flags & NDR_OUT) {
7856 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7858 return NDR_ERR_SUCCESS;
7861 _PUBLIC_ void ndr_print_samr_DeleteGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteGroupMember *r)
7863 ndr_print_struct(ndr, name, "samr_DeleteGroupMember");
7865 if (flags & NDR_SET_VALUES) {
7866 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7868 if (flags & NDR_IN) {
7869 ndr_print_struct(ndr, "in", "samr_DeleteGroupMember");
7871 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7873 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7875 ndr_print_uint32(ndr, "rid", r->in.rid);
7878 if (flags & NDR_OUT) {
7879 ndr_print_struct(ndr, "out", "samr_DeleteGroupMember");
7881 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7887 static enum ndr_err_code ndr_push_samr_QueryGroupMember(struct ndr_push *ndr, int flags, const struct samr_QueryGroupMember *r)
7889 if (flags & NDR_IN) {
7890 if (r->in.group_handle == NULL) {
7891 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7893 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7895 if (flags & NDR_OUT) {
7896 if (r->out.rids == NULL) {
7897 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7899 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
7901 NDR_CHECK(ndr_push_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
7903 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7905 return NDR_ERR_SUCCESS;
7908 static enum ndr_err_code ndr_pull_samr_QueryGroupMember(struct ndr_pull *ndr, int flags, struct samr_QueryGroupMember *r)
7911 TALLOC_CTX *_mem_save_group_handle_0;
7912 TALLOC_CTX *_mem_save_rids_0;
7913 TALLOC_CTX *_mem_save_rids_1;
7914 if (flags & NDR_IN) {
7915 ZERO_STRUCT(r->out);
7917 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7918 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7920 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7921 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7922 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7924 NDR_PULL_ALLOC(ndr, r->out.rids);
7925 ZERO_STRUCTP(r->out.rids);
7927 if (flags & NDR_OUT) {
7928 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7929 NDR_PULL_ALLOC(ndr, r->out.rids);
7931 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7932 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7933 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
7935 NDR_PULL_ALLOC(ndr, *r->out.rids);
7937 *r->out.rids = NULL;
7940 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
7941 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
7942 NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
7943 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
7945 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7946 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7948 return NDR_ERR_SUCCESS;
7951 _PUBLIC_ void ndr_print_samr_QueryGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupMember *r)
7953 ndr_print_struct(ndr, name, "samr_QueryGroupMember");
7955 if (flags & NDR_SET_VALUES) {
7956 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7958 if (flags & NDR_IN) {
7959 ndr_print_struct(ndr, "in", "samr_QueryGroupMember");
7961 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7963 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7967 if (flags & NDR_OUT) {
7968 ndr_print_struct(ndr, "out", "samr_QueryGroupMember");
7970 ndr_print_ptr(ndr, "rids", r->out.rids);
7972 ndr_print_ptr(ndr, "rids", *r->out.rids);
7975 ndr_print_samr_RidTypeArray(ndr, "rids", *r->out.rids);
7979 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7985 static enum ndr_err_code ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push *ndr, int flags, const struct samr_SetMemberAttributesOfGroup *r)
7987 if (flags & NDR_IN) {
7988 if (r->in.group_handle == NULL) {
7989 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7991 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7992 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
7993 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
7995 if (flags & NDR_OUT) {
7996 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7998 return NDR_ERR_SUCCESS;
8001 static enum ndr_err_code ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull *ndr, int flags, struct samr_SetMemberAttributesOfGroup *r)
8003 TALLOC_CTX *_mem_save_group_handle_0;
8004 if (flags & NDR_IN) {
8005 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8006 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8008 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8009 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8010 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8011 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8012 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
8013 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
8015 if (flags & NDR_OUT) {
8016 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8018 return NDR_ERR_SUCCESS;
8021 _PUBLIC_ void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetMemberAttributesOfGroup *r)
8023 ndr_print_struct(ndr, name, "samr_SetMemberAttributesOfGroup");
8025 if (flags & NDR_SET_VALUES) {
8026 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8028 if (flags & NDR_IN) {
8029 ndr_print_struct(ndr, "in", "samr_SetMemberAttributesOfGroup");
8031 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8033 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8035 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
8036 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
8039 if (flags & NDR_OUT) {
8040 ndr_print_struct(ndr, "out", "samr_SetMemberAttributesOfGroup");
8042 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8048 static enum ndr_err_code ndr_push_samr_OpenAlias(struct ndr_push *ndr, int flags, const struct samr_OpenAlias *r)
8050 if (flags & NDR_IN) {
8051 if (r->in.domain_handle == NULL) {
8052 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8054 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8055 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
8056 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8058 if (flags & NDR_OUT) {
8059 if (r->out.alias_handle == NULL) {
8060 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8062 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8063 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8065 return NDR_ERR_SUCCESS;
8068 static enum ndr_err_code ndr_pull_samr_OpenAlias(struct ndr_pull *ndr, int flags, struct samr_OpenAlias *r)
8070 TALLOC_CTX *_mem_save_domain_handle_0;
8071 TALLOC_CTX *_mem_save_alias_handle_0;
8072 if (flags & NDR_IN) {
8073 ZERO_STRUCT(r->out);
8075 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8076 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8078 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8079 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8080 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8081 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8082 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8083 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8084 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8085 ZERO_STRUCTP(r->out.alias_handle);
8087 if (flags & NDR_OUT) {
8088 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8089 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8091 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8092 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8093 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8094 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8095 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8097 return NDR_ERR_SUCCESS;
8100 _PUBLIC_ void ndr_print_samr_OpenAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenAlias *r)
8102 ndr_print_struct(ndr, name, "samr_OpenAlias");
8104 if (flags & NDR_SET_VALUES) {
8105 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8107 if (flags & NDR_IN) {
8108 ndr_print_struct(ndr, "in", "samr_OpenAlias");
8110 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8112 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8114 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
8115 ndr_print_uint32(ndr, "rid", r->in.rid);
8118 if (flags & NDR_OUT) {
8119 ndr_print_struct(ndr, "out", "samr_OpenAlias");
8121 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
8123 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
8125 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8131 static enum ndr_err_code ndr_push_samr_QueryAliasInfo(struct ndr_push *ndr, int flags, const struct samr_QueryAliasInfo *r)
8133 if (flags & NDR_IN) {
8134 if (r->in.alias_handle == NULL) {
8135 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8137 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8138 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
8140 if (flags & NDR_OUT) {
8141 if (r->out.info == NULL) {
8142 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8144 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8146 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8147 NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8149 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8151 return NDR_ERR_SUCCESS;
8154 static enum ndr_err_code ndr_pull_samr_QueryAliasInfo(struct ndr_pull *ndr, int flags, struct samr_QueryAliasInfo *r)
8157 TALLOC_CTX *_mem_save_alias_handle_0;
8158 TALLOC_CTX *_mem_save_info_0;
8159 TALLOC_CTX *_mem_save_info_1;
8160 if (flags & NDR_IN) {
8161 ZERO_STRUCT(r->out);
8163 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8164 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8166 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8167 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8168 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8169 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8170 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8171 NDR_PULL_ALLOC(ndr, r->out.info);
8172 ZERO_STRUCTP(r->out.info);
8174 if (flags & NDR_OUT) {
8175 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8176 NDR_PULL_ALLOC(ndr, r->out.info);
8178 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8179 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8180 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8182 NDR_PULL_ALLOC(ndr, *r->out.info);
8184 *r->out.info = NULL;
8187 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8188 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8189 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
8190 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8194 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8196 return NDR_ERR_SUCCESS;
8199 _PUBLIC_ void ndr_print_samr_QueryAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryAliasInfo *r)
8201 ndr_print_struct(ndr, name, "samr_QueryAliasInfo");
8203 if (flags & NDR_SET_VALUES) {
8204 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8206 if (flags & NDR_IN) {
8207 ndr_print_struct(ndr, "in", "samr_QueryAliasInfo");
8209 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8211 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8213 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
8216 if (flags & NDR_OUT) {
8217 ndr_print_struct(ndr, "out", "samr_QueryAliasInfo");
8219 ndr_print_ptr(ndr, "info", r->out.info);
8221 ndr_print_ptr(ndr, "info", *r->out.info);
8224 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
8225 ndr_print_samr_AliasInfo(ndr, "info", *r->out.info);
8229 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8235 static enum ndr_err_code ndr_push_samr_SetAliasInfo(struct ndr_push *ndr, int flags, const struct samr_SetAliasInfo *r)
8237 if (flags & NDR_IN) {
8238 if (r->in.alias_handle == NULL) {
8239 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8241 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8242 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
8243 if (r->in.info == NULL) {
8244 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8246 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
8247 NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8249 if (flags & NDR_OUT) {
8250 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8252 return NDR_ERR_SUCCESS;
8255 static enum ndr_err_code ndr_pull_samr_SetAliasInfo(struct ndr_pull *ndr, int flags, struct samr_SetAliasInfo *r)
8257 TALLOC_CTX *_mem_save_alias_handle_0;
8258 TALLOC_CTX *_mem_save_info_0;
8259 if (flags & NDR_IN) {
8260 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8261 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8263 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8264 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8265 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8266 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8267 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8268 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8269 NDR_PULL_ALLOC(ndr, r->in.info);
8271 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8272 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
8273 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
8274 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8275 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8277 if (flags & NDR_OUT) {
8278 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8280 return NDR_ERR_SUCCESS;
8283 _PUBLIC_ void ndr_print_samr_SetAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetAliasInfo *r)
8285 ndr_print_struct(ndr, name, "samr_SetAliasInfo");
8287 if (flags & NDR_SET_VALUES) {
8288 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8290 if (flags & NDR_IN) {
8291 ndr_print_struct(ndr, "in", "samr_SetAliasInfo");
8293 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8295 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8297 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
8298 ndr_print_ptr(ndr, "info", r->in.info);
8300 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
8301 ndr_print_samr_AliasInfo(ndr, "info", r->in.info);
8305 if (flags & NDR_OUT) {
8306 ndr_print_struct(ndr, "out", "samr_SetAliasInfo");
8308 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8314 static enum ndr_err_code ndr_push_samr_DeleteDomAlias(struct ndr_push *ndr, int flags, const struct samr_DeleteDomAlias *r)
8316 if (flags & NDR_IN) {
8317 if (r->in.alias_handle == NULL) {
8318 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8320 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8322 if (flags & NDR_OUT) {
8323 if (r->out.alias_handle == NULL) {
8324 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8326 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8327 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8329 return NDR_ERR_SUCCESS;
8332 static enum ndr_err_code ndr_pull_samr_DeleteDomAlias(struct ndr_pull *ndr, int flags, struct samr_DeleteDomAlias *r)
8334 TALLOC_CTX *_mem_save_alias_handle_0;
8335 if (flags & NDR_IN) {
8336 ZERO_STRUCT(r->out);
8338 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8339 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8341 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8342 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8343 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8344 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8345 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8346 *r->out.alias_handle = *r->in.alias_handle;
8348 if (flags & NDR_OUT) {
8349 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8350 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8352 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8353 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8354 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8356 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8358 return NDR_ERR_SUCCESS;
8361 _PUBLIC_ void ndr_print_samr_DeleteDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomAlias *r)
8363 ndr_print_struct(ndr, name, "samr_DeleteDomAlias");
8365 if (flags & NDR_SET_VALUES) {
8366 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8368 if (flags & NDR_IN) {
8369 ndr_print_struct(ndr, "in", "samr_DeleteDomAlias");
8371 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8373 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8377 if (flags & NDR_OUT) {
8378 ndr_print_struct(ndr, "out", "samr_DeleteDomAlias");
8380 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
8382 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
8384 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8390 static enum ndr_err_code ndr_push_samr_AddAliasMember(struct ndr_push *ndr, int flags, const struct samr_AddAliasMember *r)
8392 if (flags & NDR_IN) {
8393 if (r->in.alias_handle == NULL) {
8394 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8396 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8397 if (r->in.sid == NULL) {
8398 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8400 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8402 if (flags & NDR_OUT) {
8403 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8405 return NDR_ERR_SUCCESS;
8408 static enum ndr_err_code ndr_pull_samr_AddAliasMember(struct ndr_pull *ndr, int flags, struct samr_AddAliasMember *r)
8410 TALLOC_CTX *_mem_save_alias_handle_0;
8411 TALLOC_CTX *_mem_save_sid_0;
8412 if (flags & NDR_IN) {
8413 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8414 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8416 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8417 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8418 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8419 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8420 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8421 NDR_PULL_ALLOC(ndr, r->in.sid);
8423 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8424 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
8425 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8426 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
8428 if (flags & NDR_OUT) {
8429 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8431 return NDR_ERR_SUCCESS;
8434 _PUBLIC_ void ndr_print_samr_AddAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddAliasMember *r)
8436 ndr_print_struct(ndr, name, "samr_AddAliasMember");
8438 if (flags & NDR_SET_VALUES) {
8439 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8441 if (flags & NDR_IN) {
8442 ndr_print_struct(ndr, "in", "samr_AddAliasMember");
8444 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8446 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8448 ndr_print_ptr(ndr, "sid", r->in.sid);
8450 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
8454 if (flags & NDR_OUT) {
8455 ndr_print_struct(ndr, "out", "samr_AddAliasMember");
8457 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8463 static enum ndr_err_code ndr_push_samr_DeleteAliasMember(struct ndr_push *ndr, int flags, const struct samr_DeleteAliasMember *r)
8465 if (flags & NDR_IN) {
8466 if (r->in.alias_handle == NULL) {
8467 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8469 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8470 if (r->in.sid == NULL) {
8471 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8473 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8475 if (flags & NDR_OUT) {
8476 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8478 return NDR_ERR_SUCCESS;
8481 static enum ndr_err_code ndr_pull_samr_DeleteAliasMember(struct ndr_pull *ndr, int flags, struct samr_DeleteAliasMember *r)
8483 TALLOC_CTX *_mem_save_alias_handle_0;
8484 TALLOC_CTX *_mem_save_sid_0;
8485 if (flags & NDR_IN) {
8486 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8487 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8489 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8490 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8491 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8492 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8493 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8494 NDR_PULL_ALLOC(ndr, r->in.sid);
8496 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8497 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
8498 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8499 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
8501 if (flags & NDR_OUT) {
8502 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8504 return NDR_ERR_SUCCESS;
8507 _PUBLIC_ void ndr_print_samr_DeleteAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteAliasMember *r)
8509 ndr_print_struct(ndr, name, "samr_DeleteAliasMember");
8511 if (flags & NDR_SET_VALUES) {
8512 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8514 if (flags & NDR_IN) {
8515 ndr_print_struct(ndr, "in", "samr_DeleteAliasMember");
8517 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8519 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8521 ndr_print_ptr(ndr, "sid", r->in.sid);
8523 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
8527 if (flags & NDR_OUT) {
8528 ndr_print_struct(ndr, "out", "samr_DeleteAliasMember");
8530 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8536 static enum ndr_err_code ndr_push_samr_GetMembersInAlias(struct ndr_push *ndr, int flags, const struct samr_GetMembersInAlias *r)
8538 if (flags & NDR_IN) {
8539 if (r->in.alias_handle == NULL) {
8540 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8542 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8544 if (flags & NDR_OUT) {
8545 if (r->out.sids == NULL) {
8546 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8548 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
8549 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8551 return NDR_ERR_SUCCESS;
8554 static enum ndr_err_code ndr_pull_samr_GetMembersInAlias(struct ndr_pull *ndr, int flags, struct samr_GetMembersInAlias *r)
8556 TALLOC_CTX *_mem_save_alias_handle_0;
8557 TALLOC_CTX *_mem_save_sids_0;
8558 if (flags & NDR_IN) {
8559 ZERO_STRUCT(r->out);
8561 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8562 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8564 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8565 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8566 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8567 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8568 NDR_PULL_ALLOC(ndr, r->out.sids);
8569 ZERO_STRUCTP(r->out.sids);
8571 if (flags & NDR_OUT) {
8572 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8573 NDR_PULL_ALLOC(ndr, r->out.sids);
8575 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
8576 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
8577 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
8578 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
8579 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8581 return NDR_ERR_SUCCESS;
8584 _PUBLIC_ void ndr_print_samr_GetMembersInAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetMembersInAlias *r)
8586 ndr_print_struct(ndr, name, "samr_GetMembersInAlias");
8588 if (flags & NDR_SET_VALUES) {
8589 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8591 if (flags & NDR_IN) {
8592 ndr_print_struct(ndr, "in", "samr_GetMembersInAlias");
8594 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8596 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8600 if (flags & NDR_OUT) {
8601 ndr_print_struct(ndr, "out", "samr_GetMembersInAlias");
8603 ndr_print_ptr(ndr, "sids", r->out.sids);
8605 ndr_print_lsa_SidArray(ndr, "sids", r->out.sids);
8607 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8613 _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenUser(struct ndr_push *ndr, int flags, const struct samr_OpenUser *r)
8615 if (flags & NDR_IN) {
8616 if (r->in.domain_handle == NULL) {
8617 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8619 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8620 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
8621 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8623 if (flags & NDR_OUT) {
8624 if (r->out.user_handle == NULL) {
8625 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8627 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8628 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8630 return NDR_ERR_SUCCESS;
8633 _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenUser(struct ndr_pull *ndr, int flags, struct samr_OpenUser *r)
8635 TALLOC_CTX *_mem_save_domain_handle_0;
8636 TALLOC_CTX *_mem_save_user_handle_0;
8637 if (flags & NDR_IN) {
8638 ZERO_STRUCT(r->out);
8640 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8641 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8643 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8644 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8645 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8647 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8648 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8649 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8650 ZERO_STRUCTP(r->out.user_handle);
8652 if (flags & NDR_OUT) {
8653 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8654 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8656 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8657 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
8658 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8659 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8660 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8662 return NDR_ERR_SUCCESS;
8665 _PUBLIC_ void ndr_print_samr_OpenUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenUser *r)
8667 ndr_print_struct(ndr, name, "samr_OpenUser");
8669 if (flags & NDR_SET_VALUES) {
8670 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8672 if (flags & NDR_IN) {
8673 ndr_print_struct(ndr, "in", "samr_OpenUser");
8675 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8677 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8679 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
8680 ndr_print_uint32(ndr, "rid", r->in.rid);
8683 if (flags & NDR_OUT) {
8684 ndr_print_struct(ndr, "out", "samr_OpenUser");
8686 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
8688 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
8690 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8696 static enum ndr_err_code ndr_push_samr_DeleteUser(struct ndr_push *ndr, int flags, const struct samr_DeleteUser *r)
8698 if (flags & NDR_IN) {
8699 if (r->in.user_handle == NULL) {
8700 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8702 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8704 if (flags & NDR_OUT) {
8705 if (r->out.user_handle == NULL) {
8706 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8708 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8709 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8711 return NDR_ERR_SUCCESS;
8714 static enum ndr_err_code ndr_pull_samr_DeleteUser(struct ndr_pull *ndr, int flags, struct samr_DeleteUser *r)
8716 TALLOC_CTX *_mem_save_user_handle_0;
8717 if (flags & NDR_IN) {
8718 ZERO_STRUCT(r->out);
8720 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8721 NDR_PULL_ALLOC(ndr, r->in.user_handle);
8723 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8724 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
8725 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8726 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8727 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8728 *r->out.user_handle = *r->in.user_handle;
8730 if (flags & NDR_OUT) {
8731 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8732 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8734 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8735 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
8736 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8738 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8740 return NDR_ERR_SUCCESS;
8743 _PUBLIC_ void ndr_print_samr_DeleteUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteUser *r)
8745 ndr_print_struct(ndr, name, "samr_DeleteUser");
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_DeleteUser");
8753 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
8755 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
8759 if (flags & NDR_OUT) {
8760 ndr_print_struct(ndr, "out", "samr_DeleteUser");
8762 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
8764 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
8766 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8772 _PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo *r)
8774 if (flags & NDR_IN) {
8775 if (r->in.user_handle == NULL) {
8776 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8778 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8779 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
8781 if (flags & NDR_OUT) {
8782 if (r->out.info == NULL) {
8783 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8785 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8787 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8788 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8790 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8792 return NDR_ERR_SUCCESS;
8795 _PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r)
8798 TALLOC_CTX *_mem_save_user_handle_0;
8799 TALLOC_CTX *_mem_save_info_0;
8800 TALLOC_CTX *_mem_save_info_1;
8801 if (flags & NDR_IN) {
8802 ZERO_STRUCT(r->out);
8804 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8805 NDR_PULL_ALLOC(ndr, r->in.user_handle);
8807 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8808 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
8809 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8810 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8811 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
8812 NDR_PULL_ALLOC(ndr, r->out.info);
8813 ZERO_STRUCTP(r->out.info);
8815 if (flags & NDR_OUT) {
8816 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8817 NDR_PULL_ALLOC(ndr, r->out.info);
8819 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8820 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8821 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8823 NDR_PULL_ALLOC(ndr, *r->out.info);
8825 *r->out.info = NULL;
8828 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8829 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8830 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
8831 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8832 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8834 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8835 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8837 return NDR_ERR_SUCCESS;
8840 _PUBLIC_ void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo *r)
8842 ndr_print_struct(ndr, name, "samr_QueryUserInfo");
8844 if (flags & NDR_SET_VALUES) {
8845 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8847 if (flags & NDR_IN) {
8848 ndr_print_struct(ndr, "in", "samr_QueryUserInfo");
8850 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
8852 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
8854 ndr_print_uint16(ndr, "level", r->in.level);
8857 if (flags & NDR_OUT) {
8858 ndr_print_struct(ndr, "out", "samr_QueryUserInfo");
8860 ndr_print_ptr(ndr, "info", r->out.info);
8862 ndr_print_ptr(ndr, "info", *r->out.info);
8865 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
8866 ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
8870 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8876 _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo *r)
8878 if (flags & NDR_IN) {
8879 if (r->in.user_handle == NULL) {
8880 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8882 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8883 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
8884 if (r->in.info == NULL) {
8885 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8887 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
8888 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8890 if (flags & NDR_OUT) {
8891 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8893 return NDR_ERR_SUCCESS;
8896 _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo *r)
8898 TALLOC_CTX *_mem_save_user_handle_0;
8899 TALLOC_CTX *_mem_save_info_0;
8900 if (flags & NDR_IN) {
8901 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8902 NDR_PULL_ALLOC(ndr, r->in.user_handle);
8904 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8905 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
8906 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8907 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8908 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
8909 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8910 NDR_PULL_ALLOC(ndr, r->in.info);
8912 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8913 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
8914 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
8915 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8918 if (flags & NDR_OUT) {
8919 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8921 return NDR_ERR_SUCCESS;
8924 _PUBLIC_ void ndr_print_samr_SetUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo *r)
8926 ndr_print_struct(ndr, name, "samr_SetUserInfo");
8928 if (flags & NDR_SET_VALUES) {
8929 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8931 if (flags & NDR_IN) {
8932 ndr_print_struct(ndr, "in", "samr_SetUserInfo");
8934 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
8936 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
8938 ndr_print_uint16(ndr, "level", r->in.level);
8939 ndr_print_ptr(ndr, "info", r->in.info);
8941 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
8942 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
8946 if (flags & NDR_OUT) {
8947 ndr_print_struct(ndr, "out", "samr_SetUserInfo");
8949 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8955 static enum ndr_err_code ndr_push_samr_ChangePasswordUser(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser *r)
8957 if (flags & NDR_IN) {
8958 if (r->in.user_handle == NULL) {
8959 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8961 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8962 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_present));
8963 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_lm_crypted));
8964 if (r->in.old_lm_crypted) {
8965 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
8967 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_lm_crypted));
8968 if (r->in.new_lm_crypted) {
8969 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
8971 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.nt_present));
8972 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_nt_crypted));
8973 if (r->in.old_nt_crypted) {
8974 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
8976 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_nt_crypted));
8977 if (r->in.new_nt_crypted) {
8978 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
8980 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross1_present));
8981 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_cross));
8982 if (r->in.nt_cross) {
8983 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
8985 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross2_present));
8986 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_cross));
8987 if (r->in.lm_cross) {
8988 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
8991 if (flags & NDR_OUT) {
8992 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8994 return NDR_ERR_SUCCESS;
8997 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser *r)
8999 uint32_t _ptr_old_lm_crypted;
9000 uint32_t _ptr_new_lm_crypted;
9001 uint32_t _ptr_old_nt_crypted;
9002 uint32_t _ptr_new_nt_crypted;
9003 uint32_t _ptr_nt_cross;
9004 uint32_t _ptr_lm_cross;
9005 TALLOC_CTX *_mem_save_user_handle_0;
9006 TALLOC_CTX *_mem_save_old_lm_crypted_0;
9007 TALLOC_CTX *_mem_save_new_lm_crypted_0;
9008 TALLOC_CTX *_mem_save_old_nt_crypted_0;
9009 TALLOC_CTX *_mem_save_new_nt_crypted_0;
9010 TALLOC_CTX *_mem_save_nt_cross_0;
9011 TALLOC_CTX *_mem_save_lm_cross_0;
9012 if (flags & NDR_IN) {
9013 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9014 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9016 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9017 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9018 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9019 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9020 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_present));
9021 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_lm_crypted));
9022 if (_ptr_old_lm_crypted) {
9023 NDR_PULL_ALLOC(ndr, r->in.old_lm_crypted);
9025 r->in.old_lm_crypted = NULL;
9027 if (r->in.old_lm_crypted) {
9028 _mem_save_old_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9029 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_lm_crypted, 0);
9030 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
9031 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_lm_crypted_0, 0);
9033 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_lm_crypted));
9034 if (_ptr_new_lm_crypted) {
9035 NDR_PULL_ALLOC(ndr, r->in.new_lm_crypted);
9037 r->in.new_lm_crypted = NULL;
9039 if (r->in.new_lm_crypted) {
9040 _mem_save_new_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9041 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_lm_crypted, 0);
9042 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
9043 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_lm_crypted_0, 0);
9045 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.nt_present));
9046 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_nt_crypted));
9047 if (_ptr_old_nt_crypted) {
9048 NDR_PULL_ALLOC(ndr, r->in.old_nt_crypted);
9050 r->in.old_nt_crypted = NULL;
9052 if (r->in.old_nt_crypted) {
9053 _mem_save_old_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9054 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_nt_crypted, 0);
9055 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
9056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_nt_crypted_0, 0);
9058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_nt_crypted));
9059 if (_ptr_new_nt_crypted) {
9060 NDR_PULL_ALLOC(ndr, r->in.new_nt_crypted);
9062 r->in.new_nt_crypted = NULL;
9064 if (r->in.new_nt_crypted) {
9065 _mem_save_new_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9066 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_nt_crypted, 0);
9067 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
9068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_nt_crypted_0, 0);
9070 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross1_present));
9071 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_cross));
9072 if (_ptr_nt_cross) {
9073 NDR_PULL_ALLOC(ndr, r->in.nt_cross);
9075 r->in.nt_cross = NULL;
9077 if (r->in.nt_cross) {
9078 _mem_save_nt_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
9079 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_cross, 0);
9080 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
9081 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_cross_0, 0);
9083 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross2_present));
9084 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_cross));
9085 if (_ptr_lm_cross) {
9086 NDR_PULL_ALLOC(ndr, r->in.lm_cross);
9088 r->in.lm_cross = NULL;
9090 if (r->in.lm_cross) {
9091 _mem_save_lm_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
9092 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_cross, 0);
9093 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
9094 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_cross_0, 0);
9097 if (flags & NDR_OUT) {
9098 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9100 return NDR_ERR_SUCCESS;
9103 _PUBLIC_ void ndr_print_samr_ChangePasswordUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser *r)
9105 ndr_print_struct(ndr, name, "samr_ChangePasswordUser");
9107 if (flags & NDR_SET_VALUES) {
9108 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9110 if (flags & NDR_IN) {
9111 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser");
9113 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9115 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9117 ndr_print_uint8(ndr, "lm_present", r->in.lm_present);
9118 ndr_print_ptr(ndr, "old_lm_crypted", r->in.old_lm_crypted);
9120 if (r->in.old_lm_crypted) {
9121 ndr_print_samr_Password(ndr, "old_lm_crypted", r->in.old_lm_crypted);
9124 ndr_print_ptr(ndr, "new_lm_crypted", r->in.new_lm_crypted);
9126 if (r->in.new_lm_crypted) {
9127 ndr_print_samr_Password(ndr, "new_lm_crypted", r->in.new_lm_crypted);
9130 ndr_print_uint8(ndr, "nt_present", r->in.nt_present);
9131 ndr_print_ptr(ndr, "old_nt_crypted", r->in.old_nt_crypted);
9133 if (r->in.old_nt_crypted) {
9134 ndr_print_samr_Password(ndr, "old_nt_crypted", r->in.old_nt_crypted);
9137 ndr_print_ptr(ndr, "new_nt_crypted", r->in.new_nt_crypted);
9139 if (r->in.new_nt_crypted) {
9140 ndr_print_samr_Password(ndr, "new_nt_crypted", r->in.new_nt_crypted);
9143 ndr_print_uint8(ndr, "cross1_present", r->in.cross1_present);
9144 ndr_print_ptr(ndr, "nt_cross", r->in.nt_cross);
9146 if (r->in.nt_cross) {
9147 ndr_print_samr_Password(ndr, "nt_cross", r->in.nt_cross);
9150 ndr_print_uint8(ndr, "cross2_present", r->in.cross2_present);
9151 ndr_print_ptr(ndr, "lm_cross", r->in.lm_cross);
9153 if (r->in.lm_cross) {
9154 ndr_print_samr_Password(ndr, "lm_cross", r->in.lm_cross);
9159 if (flags & NDR_OUT) {
9160 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser");
9162 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9168 static enum ndr_err_code ndr_push_samr_GetGroupsForUser(struct ndr_push *ndr, int flags, const struct samr_GetGroupsForUser *r)
9170 if (flags & NDR_IN) {
9171 if (r->in.user_handle == NULL) {
9172 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9174 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9176 if (flags & NDR_OUT) {
9177 if (r->out.rids == NULL) {
9178 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9180 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
9182 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
9184 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9186 return NDR_ERR_SUCCESS;
9189 static enum ndr_err_code ndr_pull_samr_GetGroupsForUser(struct ndr_pull *ndr, int flags, struct samr_GetGroupsForUser *r)
9192 TALLOC_CTX *_mem_save_user_handle_0;
9193 TALLOC_CTX *_mem_save_rids_0;
9194 TALLOC_CTX *_mem_save_rids_1;
9195 if (flags & NDR_IN) {
9196 ZERO_STRUCT(r->out);
9198 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9199 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9201 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9202 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9203 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9204 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9205 NDR_PULL_ALLOC(ndr, r->out.rids);
9206 ZERO_STRUCTP(r->out.rids);
9208 if (flags & NDR_OUT) {
9209 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9210 NDR_PULL_ALLOC(ndr, r->out.rids);
9212 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
9213 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
9214 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
9216 NDR_PULL_ALLOC(ndr, *r->out.rids);
9218 *r->out.rids = NULL;
9221 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
9222 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
9223 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
9224 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
9226 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
9227 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9229 return NDR_ERR_SUCCESS;
9232 _PUBLIC_ void ndr_print_samr_GetGroupsForUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetGroupsForUser *r)
9234 ndr_print_struct(ndr, name, "samr_GetGroupsForUser");
9236 if (flags & NDR_SET_VALUES) {
9237 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9239 if (flags & NDR_IN) {
9240 ndr_print_struct(ndr, "in", "samr_GetGroupsForUser");
9242 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9244 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9248 if (flags & NDR_OUT) {
9249 ndr_print_struct(ndr, "out", "samr_GetGroupsForUser");
9251 ndr_print_ptr(ndr, "rids", r->out.rids);
9253 ndr_print_ptr(ndr, "rids", *r->out.rids);
9256 ndr_print_samr_RidWithAttributeArray(ndr, "rids", *r->out.rids);
9260 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9266 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo *r)
9268 if (flags & NDR_IN) {
9269 if (r->in.domain_handle == NULL) {
9270 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9272 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9273 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9274 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
9275 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
9276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
9278 if (flags & NDR_OUT) {
9279 if (r->out.total_size == NULL) {
9280 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9282 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
9283 if (r->out.returned_size == NULL) {
9284 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9286 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
9287 if (r->out.info == NULL) {
9288 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9290 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
9291 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9292 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9294 return NDR_ERR_SUCCESS;
9297 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo *r)
9299 TALLOC_CTX *_mem_save_domain_handle_0;
9300 TALLOC_CTX *_mem_save_total_size_0;
9301 TALLOC_CTX *_mem_save_returned_size_0;
9302 TALLOC_CTX *_mem_save_info_0;
9303 if (flags & NDR_IN) {
9304 ZERO_STRUCT(r->out);
9306 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9307 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9309 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9310 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9311 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9313 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9314 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
9315 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
9316 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
9317 NDR_PULL_ALLOC(ndr, r->out.total_size);
9318 ZERO_STRUCTP(r->out.total_size);
9319 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9320 ZERO_STRUCTP(r->out.returned_size);
9321 NDR_PULL_ALLOC(ndr, r->out.info);
9322 ZERO_STRUCTP(r->out.info);
9324 if (flags & NDR_OUT) {
9325 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9326 NDR_PULL_ALLOC(ndr, r->out.total_size);
9328 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9329 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
9330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
9331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
9332 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9333 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9335 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9336 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
9337 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
9338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
9339 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9340 NDR_PULL_ALLOC(ndr, r->out.info);
9342 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9343 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9344 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
9345 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9346 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9347 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9349 return NDR_ERR_SUCCESS;
9352 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo *r)
9354 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo");
9356 if (flags & NDR_SET_VALUES) {
9357 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9359 if (flags & NDR_IN) {
9360 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo");
9362 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9364 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9366 ndr_print_uint16(ndr, "level", r->in.level);
9367 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
9368 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
9369 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
9372 if (flags & NDR_OUT) {
9373 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo");
9375 ndr_print_ptr(ndr, "total_size", r->out.total_size);
9377 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
9379 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
9381 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
9383 ndr_print_ptr(ndr, "info", r->out.info);
9385 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
9386 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
9388 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9394 static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex *r)
9396 if (flags & NDR_IN) {
9397 if (r->in.domain_handle == NULL) {
9398 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9400 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9401 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9402 if (r->in.name == NULL) {
9403 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9405 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9407 if (flags & NDR_OUT) {
9408 if (r->out.idx == NULL) {
9409 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
9412 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9414 return NDR_ERR_SUCCESS;
9417 static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex *r)
9419 TALLOC_CTX *_mem_save_domain_handle_0;
9420 TALLOC_CTX *_mem_save_name_0;
9421 TALLOC_CTX *_mem_save_idx_0;
9422 if (flags & NDR_IN) {
9423 ZERO_STRUCT(r->out);
9425 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9426 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9428 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9429 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9430 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9431 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9432 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9433 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9434 NDR_PULL_ALLOC(ndr, r->in.name);
9436 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9437 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
9438 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9439 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
9440 NDR_PULL_ALLOC(ndr, r->out.idx);
9441 ZERO_STRUCTP(r->out.idx);
9443 if (flags & NDR_OUT) {
9444 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9445 NDR_PULL_ALLOC(ndr, r->out.idx);
9447 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
9448 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
9449 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
9450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
9451 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9453 return NDR_ERR_SUCCESS;
9456 _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex *r)
9458 ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex");
9460 if (flags & NDR_SET_VALUES) {
9461 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9463 if (flags & NDR_IN) {
9464 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex");
9466 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9468 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9470 ndr_print_uint16(ndr, "level", r->in.level);
9471 ndr_print_ptr(ndr, "name", r->in.name);
9473 ndr_print_lsa_String(ndr, "name", r->in.name);
9477 if (flags & NDR_OUT) {
9478 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex");
9480 ndr_print_ptr(ndr, "idx", r->out.idx);
9482 ndr_print_uint32(ndr, "idx", *r->out.idx);
9484 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9490 static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsDomain *r)
9492 if (flags & NDR_IN) {
9493 if (r->in.domain_handle == NULL) {
9494 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9496 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9498 if (flags & NDR_OUT) {
9499 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9501 return NDR_ERR_SUCCESS;
9504 static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsDomain *r)
9506 TALLOC_CTX *_mem_save_domain_handle_0;
9507 if (flags & NDR_IN) {
9508 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9509 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9511 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9512 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9513 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9514 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9516 if (flags & NDR_OUT) {
9517 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9519 return NDR_ERR_SUCCESS;
9522 _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsDomain *r)
9524 ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsDomain");
9526 if (flags & NDR_SET_VALUES) {
9527 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9529 if (flags & NDR_IN) {
9530 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsDomain");
9532 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9534 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9538 if (flags & NDR_OUT) {
9539 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsDomain");
9541 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9547 static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsUser *r)
9549 if (flags & NDR_IN) {
9550 if (r->in.user_handle == NULL) {
9551 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9553 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9555 if (flags & NDR_OUT) {
9556 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9558 return NDR_ERR_SUCCESS;
9561 static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsUser *r)
9563 TALLOC_CTX *_mem_save_user_handle_0;
9564 if (flags & NDR_IN) {
9565 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9566 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9568 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9569 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9570 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9571 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9573 if (flags & NDR_OUT) {
9574 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9576 return NDR_ERR_SUCCESS;
9579 _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsUser *r)
9581 ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsUser");
9583 if (flags & NDR_SET_VALUES) {
9584 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9586 if (flags & NDR_IN) {
9587 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsUser");
9589 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9591 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9595 if (flags & NDR_OUT) {
9596 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsUser");
9598 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9604 _PUBLIC_ enum ndr_err_code ndr_push_samr_GetUserPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetUserPwInfo *r)
9606 if (flags & NDR_IN) {
9607 if (r->in.user_handle == NULL) {
9608 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9610 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9612 if (flags & NDR_OUT) {
9613 if (r->out.info == NULL) {
9614 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9616 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
9617 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9619 return NDR_ERR_SUCCESS;
9622 _PUBLIC_ enum ndr_err_code ndr_pull_samr_GetUserPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetUserPwInfo *r)
9624 TALLOC_CTX *_mem_save_user_handle_0;
9625 TALLOC_CTX *_mem_save_info_0;
9626 if (flags & NDR_IN) {
9627 ZERO_STRUCT(r->out);
9629 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9630 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9632 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9633 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9634 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9636 NDR_PULL_ALLOC(ndr, r->out.info);
9637 ZERO_STRUCTP(r->out.info);
9639 if (flags & NDR_OUT) {
9640 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9641 NDR_PULL_ALLOC(ndr, r->out.info);
9643 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9644 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9645 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
9646 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9647 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9649 return NDR_ERR_SUCCESS;
9652 _PUBLIC_ void ndr_print_samr_GetUserPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetUserPwInfo *r)
9654 ndr_print_struct(ndr, name, "samr_GetUserPwInfo");
9656 if (flags & NDR_SET_VALUES) {
9657 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9659 if (flags & NDR_IN) {
9660 ndr_print_struct(ndr, "in", "samr_GetUserPwInfo");
9662 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9664 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9668 if (flags & NDR_OUT) {
9669 ndr_print_struct(ndr, "out", "samr_GetUserPwInfo");
9671 ndr_print_ptr(ndr, "info", r->out.info);
9673 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
9675 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9681 static enum ndr_err_code ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push *ndr, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
9683 if (flags & NDR_IN) {
9684 if (r->in.domain_handle == NULL) {
9685 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9687 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9688 if (r->in.sid == NULL) {
9689 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9691 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9693 if (flags & NDR_OUT) {
9694 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9696 return NDR_ERR_SUCCESS;
9699 static enum ndr_err_code ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull *ndr, int flags, struct samr_RemoveMemberFromForeignDomain *r)
9701 TALLOC_CTX *_mem_save_domain_handle_0;
9702 TALLOC_CTX *_mem_save_sid_0;
9703 if (flags & NDR_IN) {
9704 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9705 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9707 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9708 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9709 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9710 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9711 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9712 NDR_PULL_ALLOC(ndr, r->in.sid);
9714 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9715 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
9716 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9717 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
9719 if (flags & NDR_OUT) {
9720 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9722 return NDR_ERR_SUCCESS;
9725 _PUBLIC_ void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
9727 ndr_print_struct(ndr, name, "samr_RemoveMemberFromForeignDomain");
9729 if (flags & NDR_SET_VALUES) {
9730 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9732 if (flags & NDR_IN) {
9733 ndr_print_struct(ndr, "in", "samr_RemoveMemberFromForeignDomain");
9735 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9737 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9739 ndr_print_ptr(ndr, "sid", r->in.sid);
9741 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
9745 if (flags & NDR_OUT) {
9746 ndr_print_struct(ndr, "out", "samr_RemoveMemberFromForeignDomain");
9748 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9754 static enum ndr_err_code ndr_push_samr_QueryDomainInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo2 *r)
9756 if (flags & NDR_IN) {
9757 if (r->in.domain_handle == NULL) {
9758 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9760 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9761 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9763 if (flags & NDR_OUT) {
9764 if (r->out.info == NULL) {
9765 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9767 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9769 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
9770 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9772 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9774 return NDR_ERR_SUCCESS;
9777 static enum ndr_err_code ndr_pull_samr_QueryDomainInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo2 *r)
9780 TALLOC_CTX *_mem_save_domain_handle_0;
9781 TALLOC_CTX *_mem_save_info_0;
9782 TALLOC_CTX *_mem_save_info_1;
9783 if (flags & NDR_IN) {
9784 ZERO_STRUCT(r->out);
9786 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9787 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9789 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9790 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9791 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9792 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9793 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9794 NDR_PULL_ALLOC(ndr, r->out.info);
9795 ZERO_STRUCTP(r->out.info);
9797 if (flags & NDR_OUT) {
9798 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9799 NDR_PULL_ALLOC(ndr, r->out.info);
9801 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9802 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9803 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9805 NDR_PULL_ALLOC(ndr, *r->out.info);
9807 *r->out.info = NULL;
9810 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9811 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9812 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
9813 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9816 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9817 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9819 return NDR_ERR_SUCCESS;
9822 _PUBLIC_ void ndr_print_samr_QueryDomainInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo2 *r)
9824 ndr_print_struct(ndr, name, "samr_QueryDomainInfo2");
9826 if (flags & NDR_SET_VALUES) {
9827 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9829 if (flags & NDR_IN) {
9830 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo2");
9832 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9834 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9836 ndr_print_uint16(ndr, "level", r->in.level);
9839 if (flags & NDR_OUT) {
9840 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo2");
9842 ndr_print_ptr(ndr, "info", r->out.info);
9844 ndr_print_ptr(ndr, "info", *r->out.info);
9847 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
9848 ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
9852 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9858 static enum ndr_err_code ndr_push_samr_QueryUserInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo2 *r)
9860 if (flags & NDR_IN) {
9861 if (r->in.user_handle == NULL) {
9862 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9864 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9865 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9867 if (flags & NDR_OUT) {
9868 if (r->out.info == NULL) {
9869 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9871 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9873 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
9874 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9876 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9878 return NDR_ERR_SUCCESS;
9881 static enum ndr_err_code ndr_pull_samr_QueryUserInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo2 *r)
9884 TALLOC_CTX *_mem_save_user_handle_0;
9885 TALLOC_CTX *_mem_save_info_0;
9886 TALLOC_CTX *_mem_save_info_1;
9887 if (flags & NDR_IN) {
9888 ZERO_STRUCT(r->out);
9890 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9891 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9893 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9894 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9895 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9896 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9897 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9898 NDR_PULL_ALLOC(ndr, r->out.info);
9899 ZERO_STRUCTP(r->out.info);
9901 if (flags & NDR_OUT) {
9902 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9903 NDR_PULL_ALLOC(ndr, r->out.info);
9905 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9906 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9907 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9909 NDR_PULL_ALLOC(ndr, *r->out.info);
9911 *r->out.info = NULL;
9914 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9915 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9916 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
9917 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9918 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9920 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9921 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9923 return NDR_ERR_SUCCESS;
9926 _PUBLIC_ void ndr_print_samr_QueryUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo2 *r)
9928 ndr_print_struct(ndr, name, "samr_QueryUserInfo2");
9930 if (flags & NDR_SET_VALUES) {
9931 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9933 if (flags & NDR_IN) {
9934 ndr_print_struct(ndr, "in", "samr_QueryUserInfo2");
9936 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9938 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9940 ndr_print_uint16(ndr, "level", r->in.level);
9943 if (flags & NDR_OUT) {
9944 ndr_print_struct(ndr, "out", "samr_QueryUserInfo2");
9946 ndr_print_ptr(ndr, "info", r->out.info);
9948 ndr_print_ptr(ndr, "info", *r->out.info);
9951 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
9952 ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
9956 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9962 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo2 *r)
9964 if (flags & NDR_IN) {
9965 if (r->in.domain_handle == NULL) {
9966 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9968 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9969 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
9971 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
9972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
9974 if (flags & NDR_OUT) {
9975 if (r->out.total_size == NULL) {
9976 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
9979 if (r->out.returned_size == NULL) {
9980 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9982 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
9983 if (r->out.info == NULL) {
9984 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9986 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
9987 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9988 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9990 return NDR_ERR_SUCCESS;
9993 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo2 *r)
9995 TALLOC_CTX *_mem_save_domain_handle_0;
9996 TALLOC_CTX *_mem_save_total_size_0;
9997 TALLOC_CTX *_mem_save_returned_size_0;
9998 TALLOC_CTX *_mem_save_info_0;
9999 if (flags & NDR_IN) {
10000 ZERO_STRUCT(r->out);
10002 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10003 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10005 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10006 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10007 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10008 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10009 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10010 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
10011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
10012 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
10013 NDR_PULL_ALLOC(ndr, r->out.total_size);
10014 ZERO_STRUCTP(r->out.total_size);
10015 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10016 ZERO_STRUCTP(r->out.returned_size);
10017 NDR_PULL_ALLOC(ndr, r->out.info);
10018 ZERO_STRUCTP(r->out.info);
10020 if (flags & NDR_OUT) {
10021 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10022 NDR_PULL_ALLOC(ndr, r->out.total_size);
10024 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10025 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
10026 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
10027 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
10028 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10029 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10031 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10032 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
10033 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
10034 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
10035 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10036 NDR_PULL_ALLOC(ndr, r->out.info);
10038 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10039 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10040 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10041 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10042 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10043 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10045 return NDR_ERR_SUCCESS;
10048 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo2 *r)
10050 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo2");
10052 if (flags & NDR_SET_VALUES) {
10053 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10055 if (flags & NDR_IN) {
10056 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo2");
10058 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10060 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10062 ndr_print_uint16(ndr, "level", r->in.level);
10063 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
10064 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
10065 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
10068 if (flags & NDR_OUT) {
10069 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo2");
10071 ndr_print_ptr(ndr, "total_size", r->out.total_size);
10073 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
10075 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
10077 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
10079 ndr_print_ptr(ndr, "info", r->out.info);
10081 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10082 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
10084 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10090 static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
10092 if (flags & NDR_IN) {
10093 if (r->in.domain_handle == NULL) {
10094 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10096 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10097 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10098 if (r->in.name == NULL) {
10099 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10101 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10103 if (flags & NDR_OUT) {
10104 if (r->out.idx == NULL) {
10105 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
10108 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10110 return NDR_ERR_SUCCESS;
10113 static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex2 *r)
10115 TALLOC_CTX *_mem_save_domain_handle_0;
10116 TALLOC_CTX *_mem_save_name_0;
10117 TALLOC_CTX *_mem_save_idx_0;
10118 if (flags & NDR_IN) {
10119 ZERO_STRUCT(r->out);
10121 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10122 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10124 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10125 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10126 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10128 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10129 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10130 NDR_PULL_ALLOC(ndr, r->in.name);
10132 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10133 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
10134 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
10136 NDR_PULL_ALLOC(ndr, r->out.idx);
10137 ZERO_STRUCTP(r->out.idx);
10139 if (flags & NDR_OUT) {
10140 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10141 NDR_PULL_ALLOC(ndr, r->out.idx);
10143 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
10144 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
10145 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
10146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
10147 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10149 return NDR_ERR_SUCCESS;
10152 _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
10154 ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex2");
10156 if (flags & NDR_SET_VALUES) {
10157 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10159 if (flags & NDR_IN) {
10160 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex2");
10162 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10164 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10166 ndr_print_uint16(ndr, "level", r->in.level);
10167 ndr_print_ptr(ndr, "name", r->in.name);
10169 ndr_print_lsa_String(ndr, "name", r->in.name);
10173 if (flags & NDR_OUT) {
10174 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex2");
10176 ndr_print_ptr(ndr, "idx", r->out.idx);
10178 ndr_print_uint32(ndr, "idx", *r->out.idx);
10180 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10186 static enum ndr_err_code ndr_push_samr_CreateUser2(struct ndr_push *ndr, int flags, const struct samr_CreateUser2 *r)
10188 if (flags & NDR_IN) {
10189 if (r->in.domain_handle == NULL) {
10190 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10192 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10193 if (r->in.account_name == NULL) {
10194 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10196 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
10197 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
10198 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
10200 if (flags & NDR_OUT) {
10201 if (r->out.user_handle == NULL) {
10202 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10204 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
10205 if (r->out.access_granted == NULL) {
10206 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10208 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.access_granted));
10209 if (r->out.rid == NULL) {
10210 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
10213 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10215 return NDR_ERR_SUCCESS;
10218 static enum ndr_err_code ndr_pull_samr_CreateUser2(struct ndr_pull *ndr, int flags, struct samr_CreateUser2 *r)
10220 TALLOC_CTX *_mem_save_domain_handle_0;
10221 TALLOC_CTX *_mem_save_account_name_0;
10222 TALLOC_CTX *_mem_save_user_handle_0;
10223 TALLOC_CTX *_mem_save_access_granted_0;
10224 TALLOC_CTX *_mem_save_rid_0;
10225 if (flags & NDR_IN) {
10226 ZERO_STRUCT(r->out);
10228 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10229 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10231 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10232 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10233 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10235 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10236 NDR_PULL_ALLOC(ndr, r->in.account_name);
10238 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10239 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
10240 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
10241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
10242 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
10243 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
10244 NDR_PULL_ALLOC(ndr, r->out.user_handle);
10245 ZERO_STRUCTP(r->out.user_handle);
10246 NDR_PULL_ALLOC(ndr, r->out.access_granted);
10247 ZERO_STRUCTP(r->out.access_granted);
10248 NDR_PULL_ALLOC(ndr, r->out.rid);
10249 ZERO_STRUCTP(r->out.rid);
10251 if (flags & NDR_OUT) {
10252 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10253 NDR_PULL_ALLOC(ndr, r->out.user_handle);
10255 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10256 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
10257 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
10258 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10259 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10260 NDR_PULL_ALLOC(ndr, r->out.access_granted);
10262 _mem_save_access_granted_0 = NDR_PULL_GET_MEM_CTX(ndr);
10263 NDR_PULL_SET_MEM_CTX(ndr, r->out.access_granted, LIBNDR_FLAG_REF_ALLOC);
10264 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.access_granted));
10265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_granted_0, LIBNDR_FLAG_REF_ALLOC);
10266 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10267 NDR_PULL_ALLOC(ndr, r->out.rid);
10269 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10270 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
10271 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
10272 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
10273 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10275 return NDR_ERR_SUCCESS;
10278 _PUBLIC_ void ndr_print_samr_CreateUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser2 *r)
10280 ndr_print_struct(ndr, name, "samr_CreateUser2");
10282 if (flags & NDR_SET_VALUES) {
10283 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10285 if (flags & NDR_IN) {
10286 ndr_print_struct(ndr, "in", "samr_CreateUser2");
10288 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10290 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10292 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10294 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
10296 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
10297 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
10300 if (flags & NDR_OUT) {
10301 ndr_print_struct(ndr, "out", "samr_CreateUser2");
10303 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
10305 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
10307 ndr_print_ptr(ndr, "access_granted", r->out.access_granted);
10309 ndr_print_uint32(ndr, "access_granted", *r->out.access_granted);
10311 ndr_print_ptr(ndr, "rid", r->out.rid);
10313 ndr_print_uint32(ndr, "rid", *r->out.rid);
10315 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10321 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo3(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo3 *r)
10323 if (flags & NDR_IN) {
10324 if (r->in.domain_handle == NULL) {
10325 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10327 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10328 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10329 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
10330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
10331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
10333 if (flags & NDR_OUT) {
10334 if (r->out.total_size == NULL) {
10335 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
10338 if (r->out.returned_size == NULL) {
10339 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
10342 if (r->out.info == NULL) {
10343 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10345 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10346 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10347 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10349 return NDR_ERR_SUCCESS;
10352 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo3 *r)
10354 TALLOC_CTX *_mem_save_domain_handle_0;
10355 TALLOC_CTX *_mem_save_total_size_0;
10356 TALLOC_CTX *_mem_save_returned_size_0;
10357 TALLOC_CTX *_mem_save_info_0;
10358 if (flags & NDR_IN) {
10359 ZERO_STRUCT(r->out);
10361 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10362 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10364 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10365 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10366 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10367 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10368 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10369 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
10370 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
10371 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
10372 NDR_PULL_ALLOC(ndr, r->out.total_size);
10373 ZERO_STRUCTP(r->out.total_size);
10374 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10375 ZERO_STRUCTP(r->out.returned_size);
10376 NDR_PULL_ALLOC(ndr, r->out.info);
10377 ZERO_STRUCTP(r->out.info);
10379 if (flags & NDR_OUT) {
10380 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10381 NDR_PULL_ALLOC(ndr, r->out.total_size);
10383 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10384 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
10385 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
10386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
10387 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10388 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10390 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10391 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
10392 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
10393 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
10394 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10395 NDR_PULL_ALLOC(ndr, r->out.info);
10397 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10398 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10399 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10400 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10401 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10402 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10404 return NDR_ERR_SUCCESS;
10407 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo3(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo3 *r)
10409 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo3");
10411 if (flags & NDR_SET_VALUES) {
10412 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10414 if (flags & NDR_IN) {
10415 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo3");
10417 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10419 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10421 ndr_print_uint16(ndr, "level", r->in.level);
10422 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
10423 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
10424 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
10427 if (flags & NDR_OUT) {
10428 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo3");
10430 ndr_print_ptr(ndr, "total_size", r->out.total_size);
10432 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
10434 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
10436 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
10438 ndr_print_ptr(ndr, "info", r->out.info);
10440 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10441 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
10443 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10449 static enum ndr_err_code ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push *ndr, int flags, const struct samr_AddMultipleMembersToAlias *r)
10451 if (flags & NDR_IN) {
10452 if (r->in.alias_handle == NULL) {
10453 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10455 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10456 if (r->in.sids == NULL) {
10457 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10459 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10461 if (flags & NDR_OUT) {
10462 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10464 return NDR_ERR_SUCCESS;
10467 static enum ndr_err_code ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull *ndr, int flags, struct samr_AddMultipleMembersToAlias *r)
10469 TALLOC_CTX *_mem_save_alias_handle_0;
10470 TALLOC_CTX *_mem_save_sids_0;
10471 if (flags & NDR_IN) {
10472 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10473 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
10475 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10476 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
10477 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10478 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
10479 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10480 NDR_PULL_ALLOC(ndr, r->in.sids);
10482 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
10483 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
10484 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10485 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
10487 if (flags & NDR_OUT) {
10488 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10490 return NDR_ERR_SUCCESS;
10493 _PUBLIC_ void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddMultipleMembersToAlias *r)
10495 ndr_print_struct(ndr, name, "samr_AddMultipleMembersToAlias");
10497 if (flags & NDR_SET_VALUES) {
10498 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10500 if (flags & NDR_IN) {
10501 ndr_print_struct(ndr, "in", "samr_AddMultipleMembersToAlias");
10503 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
10505 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
10507 ndr_print_ptr(ndr, "sids", r->in.sids);
10509 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
10513 if (flags & NDR_OUT) {
10514 ndr_print_struct(ndr, "out", "samr_AddMultipleMembersToAlias");
10516 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10522 static enum ndr_err_code ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push *ndr, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
10524 if (flags & NDR_IN) {
10525 if (r->in.alias_handle == NULL) {
10526 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10528 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10529 if (r->in.sids == NULL) {
10530 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10532 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10534 if (flags & NDR_OUT) {
10535 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10537 return NDR_ERR_SUCCESS;
10540 static enum ndr_err_code ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull *ndr, int flags, struct samr_RemoveMultipleMembersFromAlias *r)
10542 TALLOC_CTX *_mem_save_alias_handle_0;
10543 TALLOC_CTX *_mem_save_sids_0;
10544 if (flags & NDR_IN) {
10545 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10546 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
10548 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10549 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
10550 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
10552 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10553 NDR_PULL_ALLOC(ndr, r->in.sids);
10555 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
10556 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
10557 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
10560 if (flags & NDR_OUT) {
10561 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10563 return NDR_ERR_SUCCESS;
10566 _PUBLIC_ void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
10568 ndr_print_struct(ndr, name, "samr_RemoveMultipleMembersFromAlias");
10570 if (flags & NDR_SET_VALUES) {
10571 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10573 if (flags & NDR_IN) {
10574 ndr_print_struct(ndr, "in", "samr_RemoveMultipleMembersFromAlias");
10576 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
10578 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
10580 ndr_print_ptr(ndr, "sids", r->in.sids);
10582 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
10586 if (flags & NDR_OUT) {
10587 ndr_print_struct(ndr, "out", "samr_RemoveMultipleMembersFromAlias");
10589 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10595 static enum ndr_err_code ndr_push_samr_OemChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_OemChangePasswordUser2 *r)
10597 if (flags & NDR_IN) {
10598 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
10599 if (r->in.server) {
10600 NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10602 if (r->in.account == NULL) {
10603 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10605 NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10606 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
10607 if (r->in.password) {
10608 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
10610 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
10612 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
10615 if (flags & NDR_OUT) {
10616 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10618 return NDR_ERR_SUCCESS;
10621 static enum ndr_err_code ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_OemChangePasswordUser2 *r)
10623 uint32_t _ptr_server;
10624 uint32_t _ptr_password;
10625 uint32_t _ptr_hash;
10626 TALLOC_CTX *_mem_save_server_0;
10627 TALLOC_CTX *_mem_save_account_0;
10628 TALLOC_CTX *_mem_save_password_0;
10629 TALLOC_CTX *_mem_save_hash_0;
10630 if (flags & NDR_IN) {
10631 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
10633 NDR_PULL_ALLOC(ndr, r->in.server);
10635 r->in.server = NULL;
10637 if (r->in.server) {
10638 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10639 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
10640 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
10643 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10644 NDR_PULL_ALLOC(ndr, r->in.account);
10646 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
10647 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
10648 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
10650 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
10651 if (_ptr_password) {
10652 NDR_PULL_ALLOC(ndr, r->in.password);
10654 r->in.password = NULL;
10656 if (r->in.password) {
10657 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10658 NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
10659 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
10660 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
10662 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
10664 NDR_PULL_ALLOC(ndr, r->in.hash);
10669 _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
10670 NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
10671 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
10672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
10675 if (flags & NDR_OUT) {
10676 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10678 return NDR_ERR_SUCCESS;
10681 _PUBLIC_ void ndr_print_samr_OemChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_OemChangePasswordUser2 *r)
10683 ndr_print_struct(ndr, name, "samr_OemChangePasswordUser2");
10685 if (flags & NDR_SET_VALUES) {
10686 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10688 if (flags & NDR_IN) {
10689 ndr_print_struct(ndr, "in", "samr_OemChangePasswordUser2");
10691 ndr_print_ptr(ndr, "server", r->in.server);
10693 if (r->in.server) {
10694 ndr_print_lsa_AsciiString(ndr, "server", r->in.server);
10697 ndr_print_ptr(ndr, "account", r->in.account);
10699 ndr_print_lsa_AsciiString(ndr, "account", r->in.account);
10701 ndr_print_ptr(ndr, "password", r->in.password);
10703 if (r->in.password) {
10704 ndr_print_samr_CryptPassword(ndr, "password", r->in.password);
10707 ndr_print_ptr(ndr, "hash", r->in.hash);
10710 ndr_print_samr_Password(ndr, "hash", r->in.hash);
10715 if (flags & NDR_OUT) {
10716 ndr_print_struct(ndr, "out", "samr_OemChangePasswordUser2");
10718 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10724 static enum ndr_err_code ndr_push_samr_ChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser2 *r)
10726 if (flags & NDR_IN) {
10727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
10728 if (r->in.server) {
10729 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10731 if (r->in.account == NULL) {
10732 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10734 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10735 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
10736 if (r->in.nt_password) {
10737 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
10739 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
10740 if (r->in.nt_verifier) {
10741 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
10743 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
10744 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
10745 if (r->in.lm_password) {
10746 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
10748 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
10749 if (r->in.lm_verifier) {
10750 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
10753 if (flags & NDR_OUT) {
10754 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10756 return NDR_ERR_SUCCESS;
10759 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser2 *r)
10761 uint32_t _ptr_server;
10762 uint32_t _ptr_nt_password;
10763 uint32_t _ptr_nt_verifier;
10764 uint32_t _ptr_lm_password;
10765 uint32_t _ptr_lm_verifier;
10766 TALLOC_CTX *_mem_save_server_0;
10767 TALLOC_CTX *_mem_save_account_0;
10768 TALLOC_CTX *_mem_save_nt_password_0;
10769 TALLOC_CTX *_mem_save_nt_verifier_0;
10770 TALLOC_CTX *_mem_save_lm_password_0;
10771 TALLOC_CTX *_mem_save_lm_verifier_0;
10772 if (flags & NDR_IN) {
10773 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
10775 NDR_PULL_ALLOC(ndr, r->in.server);
10777 r->in.server = NULL;
10779 if (r->in.server) {
10780 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10781 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
10782 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10783 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
10785 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10786 NDR_PULL_ALLOC(ndr, r->in.account);
10788 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
10789 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
10790 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
10792 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
10793 if (_ptr_nt_password) {
10794 NDR_PULL_ALLOC(ndr, r->in.nt_password);
10796 r->in.nt_password = NULL;
10798 if (r->in.nt_password) {
10799 _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10800 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
10801 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
10802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
10804 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
10805 if (_ptr_nt_verifier) {
10806 NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
10808 r->in.nt_verifier = NULL;
10810 if (r->in.nt_verifier) {
10811 _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
10812 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
10813 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
10814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
10816 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
10817 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
10818 if (_ptr_lm_password) {
10819 NDR_PULL_ALLOC(ndr, r->in.lm_password);
10821 r->in.lm_password = NULL;
10823 if (r->in.lm_password) {
10824 _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10825 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
10826 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
10827 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
10829 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
10830 if (_ptr_lm_verifier) {
10831 NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
10833 r->in.lm_verifier = NULL;
10835 if (r->in.lm_verifier) {
10836 _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
10837 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
10838 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
10839 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
10842 if (flags & NDR_OUT) {
10843 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10845 return NDR_ERR_SUCCESS;
10848 _PUBLIC_ void ndr_print_samr_ChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser2 *r)
10850 ndr_print_struct(ndr, name, "samr_ChangePasswordUser2");
10852 if (flags & NDR_SET_VALUES) {
10853 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10855 if (flags & NDR_IN) {
10856 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser2");
10858 ndr_print_ptr(ndr, "server", r->in.server);
10860 if (r->in.server) {
10861 ndr_print_lsa_String(ndr, "server", r->in.server);
10864 ndr_print_ptr(ndr, "account", r->in.account);
10866 ndr_print_lsa_String(ndr, "account", r->in.account);
10868 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
10870 if (r->in.nt_password) {
10871 ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
10874 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
10876 if (r->in.nt_verifier) {
10877 ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
10880 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
10881 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
10883 if (r->in.lm_password) {
10884 ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
10887 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
10889 if (r->in.lm_verifier) {
10890 ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
10895 if (flags & NDR_OUT) {
10896 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser2");
10898 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10904 static enum ndr_err_code ndr_push_samr_GetDomPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetDomPwInfo *r)
10906 if (flags & NDR_IN) {
10907 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
10908 if (r->in.domain_name) {
10909 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
10912 if (flags & NDR_OUT) {
10913 if (r->out.info == NULL) {
10914 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10916 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
10917 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10919 return NDR_ERR_SUCCESS;
10922 static enum ndr_err_code ndr_pull_samr_GetDomPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetDomPwInfo *r)
10924 uint32_t _ptr_domain_name;
10925 TALLOC_CTX *_mem_save_domain_name_0;
10926 TALLOC_CTX *_mem_save_info_0;
10927 if (flags & NDR_IN) {
10928 ZERO_STRUCT(r->out);
10930 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
10931 if (_ptr_domain_name) {
10932 NDR_PULL_ALLOC(ndr, r->in.domain_name);
10934 r->in.domain_name = NULL;
10936 if (r->in.domain_name) {
10937 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10938 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
10939 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
10940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
10942 NDR_PULL_ALLOC(ndr, r->out.info);
10943 ZERO_STRUCTP(r->out.info);
10945 if (flags & NDR_OUT) {
10946 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10947 NDR_PULL_ALLOC(ndr, r->out.info);
10949 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10950 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10951 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
10952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10953 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10955 return NDR_ERR_SUCCESS;
10958 _PUBLIC_ void ndr_print_samr_GetDomPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDomPwInfo *r)
10960 ndr_print_struct(ndr, name, "samr_GetDomPwInfo");
10962 if (flags & NDR_SET_VALUES) {
10963 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10965 if (flags & NDR_IN) {
10966 ndr_print_struct(ndr, "in", "samr_GetDomPwInfo");
10968 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
10970 if (r->in.domain_name) {
10971 ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
10976 if (flags & NDR_OUT) {
10977 ndr_print_struct(ndr, "out", "samr_GetDomPwInfo");
10979 ndr_print_ptr(ndr, "info", r->out.info);
10981 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
10983 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10989 static enum ndr_err_code ndr_push_samr_Connect2(struct ndr_push *ndr, int flags, const struct samr_Connect2 *r)
10991 if (flags & NDR_IN) {
10992 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
10993 if (r->in.system_name) {
10994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
10995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10996 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
10997 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));
10999 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11001 if (flags & NDR_OUT) {
11002 if (r->out.connect_handle == NULL) {
11003 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11005 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11006 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11008 return NDR_ERR_SUCCESS;
11011 static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags, struct samr_Connect2 *r)
11013 uint32_t _ptr_system_name;
11014 TALLOC_CTX *_mem_save_system_name_0;
11015 TALLOC_CTX *_mem_save_connect_handle_0;
11016 if (flags & NDR_IN) {
11017 ZERO_STRUCT(r->out);
11019 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11020 if (_ptr_system_name) {
11021 NDR_PULL_ALLOC(ndr, r->in.system_name);
11023 r->in.system_name = NULL;
11025 if (r->in.system_name) {
11026 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11027 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11028 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11029 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11030 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11031 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
11033 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11034 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
11035 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11037 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11038 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11039 ZERO_STRUCTP(r->out.connect_handle);
11041 if (flags & NDR_OUT) {
11042 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11043 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11045 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11046 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11047 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11048 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11049 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11051 return NDR_ERR_SUCCESS;
11054 _PUBLIC_ void ndr_print_samr_Connect2(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect2 *r)
11056 ndr_print_struct(ndr, name, "samr_Connect2");
11058 if (flags & NDR_SET_VALUES) {
11059 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11061 if (flags & NDR_IN) {
11062 ndr_print_struct(ndr, "in", "samr_Connect2");
11064 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11066 if (r->in.system_name) {
11067 ndr_print_string(ndr, "system_name", r->in.system_name);
11070 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11073 if (flags & NDR_OUT) {
11074 ndr_print_struct(ndr, "out", "samr_Connect2");
11076 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11078 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11080 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11086 _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo2(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo2 *r)
11088 if (flags & NDR_IN) {
11089 if (r->in.user_handle == NULL) {
11090 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11092 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
11093 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
11094 if (r->in.info == NULL) {
11095 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11097 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
11098 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11100 if (flags & NDR_OUT) {
11101 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11103 return NDR_ERR_SUCCESS;
11106 _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo2(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo2 *r)
11108 TALLOC_CTX *_mem_save_user_handle_0;
11109 TALLOC_CTX *_mem_save_info_0;
11110 if (flags & NDR_IN) {
11111 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11112 NDR_PULL_ALLOC(ndr, r->in.user_handle);
11114 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11115 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
11116 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
11117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
11118 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
11119 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11120 NDR_PULL_ALLOC(ndr, r->in.info);
11122 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11123 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
11124 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
11125 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11126 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11128 if (flags & NDR_OUT) {
11129 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11131 return NDR_ERR_SUCCESS;
11134 _PUBLIC_ void ndr_print_samr_SetUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo2 *r)
11136 ndr_print_struct(ndr, name, "samr_SetUserInfo2");
11138 if (flags & NDR_SET_VALUES) {
11139 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11141 if (flags & NDR_IN) {
11142 ndr_print_struct(ndr, "in", "samr_SetUserInfo2");
11144 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
11146 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
11148 ndr_print_uint16(ndr, "level", r->in.level);
11149 ndr_print_ptr(ndr, "info", r->in.info);
11151 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
11152 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
11156 if (flags & NDR_OUT) {
11157 ndr_print_struct(ndr, "out", "samr_SetUserInfo2");
11159 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11165 static enum ndr_err_code ndr_push_samr_SetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_SetBootKeyInformation *r)
11167 if (flags & NDR_IN) {
11168 if (r->in.connect_handle == NULL) {
11169 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11171 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
11172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
11173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
11174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3));
11176 if (flags & NDR_OUT) {
11177 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11179 return NDR_ERR_SUCCESS;
11182 static enum ndr_err_code ndr_pull_samr_SetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_SetBootKeyInformation *r)
11184 TALLOC_CTX *_mem_save_connect_handle_0;
11185 if (flags & NDR_IN) {
11186 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11187 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
11189 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11190 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11191 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
11192 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
11194 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
11195 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
11197 if (flags & NDR_OUT) {
11198 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11200 return NDR_ERR_SUCCESS;
11203 _PUBLIC_ void ndr_print_samr_SetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetBootKeyInformation *r)
11205 ndr_print_struct(ndr, name, "samr_SetBootKeyInformation");
11207 if (flags & NDR_SET_VALUES) {
11208 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11210 if (flags & NDR_IN) {
11211 ndr_print_struct(ndr, "in", "samr_SetBootKeyInformation");
11213 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
11215 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
11217 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
11218 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
11219 ndr_print_uint32(ndr, "unknown3", r->in.unknown3);
11222 if (flags & NDR_OUT) {
11223 ndr_print_struct(ndr, "out", "samr_SetBootKeyInformation");
11225 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11231 static enum ndr_err_code ndr_push_samr_GetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_GetBootKeyInformation *r)
11233 if (flags & NDR_IN) {
11234 if (r->in.domain_handle == NULL) {
11235 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11237 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11239 if (flags & NDR_OUT) {
11240 if (r->out.unknown == NULL) {
11241 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown));
11244 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11246 return NDR_ERR_SUCCESS;
11249 static enum ndr_err_code ndr_pull_samr_GetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_GetBootKeyInformation *r)
11251 TALLOC_CTX *_mem_save_domain_handle_0;
11252 TALLOC_CTX *_mem_save_unknown_0;
11253 if (flags & NDR_IN) {
11254 ZERO_STRUCT(r->out);
11256 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11257 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11259 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11260 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11261 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11263 NDR_PULL_ALLOC(ndr, r->out.unknown);
11264 ZERO_STRUCTP(r->out.unknown);
11266 if (flags & NDR_OUT) {
11267 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11268 NDR_PULL_ALLOC(ndr, r->out.unknown);
11270 _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
11271 NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown, LIBNDR_FLAG_REF_ALLOC);
11272 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown));
11273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, LIBNDR_FLAG_REF_ALLOC);
11274 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11276 return NDR_ERR_SUCCESS;
11279 _PUBLIC_ void ndr_print_samr_GetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetBootKeyInformation *r)
11281 ndr_print_struct(ndr, name, "samr_GetBootKeyInformation");
11283 if (flags & NDR_SET_VALUES) {
11284 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11286 if (flags & NDR_IN) {
11287 ndr_print_struct(ndr, "in", "samr_GetBootKeyInformation");
11289 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11291 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11295 if (flags & NDR_OUT) {
11296 ndr_print_struct(ndr, "out", "samr_GetBootKeyInformation");
11298 ndr_print_ptr(ndr, "unknown", r->out.unknown);
11300 ndr_print_uint32(ndr, "unknown", *r->out.unknown);
11302 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11308 static enum ndr_err_code ndr_push_samr_Connect3(struct ndr_push *ndr, int flags, const struct samr_Connect3 *r)
11310 if (flags & NDR_IN) {
11311 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11312 if (r->in.system_name) {
11313 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11314 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11316 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));
11318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
11319 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11321 if (flags & NDR_OUT) {
11322 if (r->out.connect_handle == NULL) {
11323 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11325 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11326 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11328 return NDR_ERR_SUCCESS;
11331 static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags, struct samr_Connect3 *r)
11333 uint32_t _ptr_system_name;
11334 TALLOC_CTX *_mem_save_system_name_0;
11335 TALLOC_CTX *_mem_save_connect_handle_0;
11336 if (flags & NDR_IN) {
11337 ZERO_STRUCT(r->out);
11339 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11340 if (_ptr_system_name) {
11341 NDR_PULL_ALLOC(ndr, r->in.system_name);
11343 r->in.system_name = NULL;
11345 if (r->in.system_name) {
11346 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11347 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11348 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11349 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11350 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11351 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
11353 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11354 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
11355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11357 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
11358 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11359 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11360 ZERO_STRUCTP(r->out.connect_handle);
11362 if (flags & NDR_OUT) {
11363 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11364 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11366 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11367 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11368 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11370 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11372 return NDR_ERR_SUCCESS;
11375 _PUBLIC_ void ndr_print_samr_Connect3(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect3 *r)
11377 ndr_print_struct(ndr, name, "samr_Connect3");
11379 if (flags & NDR_SET_VALUES) {
11380 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11382 if (flags & NDR_IN) {
11383 ndr_print_struct(ndr, "in", "samr_Connect3");
11385 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11387 if (r->in.system_name) {
11388 ndr_print_string(ndr, "system_name", r->in.system_name);
11391 ndr_print_uint32(ndr, "unknown", r->in.unknown);
11392 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11395 if (flags & NDR_OUT) {
11396 ndr_print_struct(ndr, "out", "samr_Connect3");
11398 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11400 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11402 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11408 static enum ndr_err_code ndr_push_samr_Connect4(struct ndr_push *ndr, int flags, const struct samr_Connect4 *r)
11410 if (flags & NDR_IN) {
11411 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11412 if (r->in.system_name) {
11413 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11414 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11415 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11416 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));
11418 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->in.client_version));
11419 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11421 if (flags & NDR_OUT) {
11422 if (r->out.connect_handle == NULL) {
11423 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11425 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11426 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11428 return NDR_ERR_SUCCESS;
11431 static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags, struct samr_Connect4 *r)
11433 uint32_t _ptr_system_name;
11434 TALLOC_CTX *_mem_save_system_name_0;
11435 TALLOC_CTX *_mem_save_connect_handle_0;
11436 if (flags & NDR_IN) {
11437 ZERO_STRUCT(r->out);
11439 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11440 if (_ptr_system_name) {
11441 NDR_PULL_ALLOC(ndr, r->in.system_name);
11443 r->in.system_name = NULL;
11445 if (r->in.system_name) {
11446 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11447 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11448 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11449 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11450 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11451 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
11453 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11454 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
11455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11457 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->in.client_version));
11458 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11459 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11460 ZERO_STRUCTP(r->out.connect_handle);
11462 if (flags & NDR_OUT) {
11463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11464 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11466 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11467 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11468 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11469 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11470 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11472 return NDR_ERR_SUCCESS;
11475 _PUBLIC_ void ndr_print_samr_Connect4(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect4 *r)
11477 ndr_print_struct(ndr, name, "samr_Connect4");
11479 if (flags & NDR_SET_VALUES) {
11480 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11482 if (flags & NDR_IN) {
11483 ndr_print_struct(ndr, "in", "samr_Connect4");
11485 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11487 if (r->in.system_name) {
11488 ndr_print_string(ndr, "system_name", r->in.system_name);
11491 ndr_print_samr_ConnectVersion(ndr, "client_version", r->in.client_version);
11492 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11495 if (flags & NDR_OUT) {
11496 ndr_print_struct(ndr, "out", "samr_Connect4");
11498 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11500 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11502 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11508 static enum ndr_err_code ndr_push_samr_ChangePasswordUser3(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser3 *r)
11510 if (flags & NDR_IN) {
11511 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
11512 if (r->in.server) {
11513 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11515 if (r->in.account == NULL) {
11516 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11518 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11519 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
11520 if (r->in.nt_password) {
11521 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11523 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
11524 if (r->in.nt_verifier) {
11525 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11527 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
11528 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
11529 if (r->in.lm_password) {
11530 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11532 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
11533 if (r->in.lm_verifier) {
11534 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11536 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password3));
11537 if (r->in.password3) {
11538 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
11541 if (flags & NDR_OUT) {
11542 if (r->out.dominfo == NULL) {
11543 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11545 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo));
11546 if (*r->out.dominfo) {
11547 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
11549 if (r->out.reject == NULL) {
11550 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11552 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.reject));
11553 if (*r->out.reject) {
11554 NDR_CHECK(ndr_push_samr_ChangeReject(ndr, NDR_SCALARS, *r->out.reject));
11556 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11558 return NDR_ERR_SUCCESS;
11561 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser3(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser3 *r)
11563 uint32_t _ptr_server;
11564 uint32_t _ptr_nt_password;
11565 uint32_t _ptr_nt_verifier;
11566 uint32_t _ptr_lm_password;
11567 uint32_t _ptr_lm_verifier;
11568 uint32_t _ptr_password3;
11569 uint32_t _ptr_dominfo;
11570 uint32_t _ptr_reject;
11571 TALLOC_CTX *_mem_save_server_0;
11572 TALLOC_CTX *_mem_save_account_0;
11573 TALLOC_CTX *_mem_save_nt_password_0;
11574 TALLOC_CTX *_mem_save_nt_verifier_0;
11575 TALLOC_CTX *_mem_save_lm_password_0;
11576 TALLOC_CTX *_mem_save_lm_verifier_0;
11577 TALLOC_CTX *_mem_save_password3_0;
11578 TALLOC_CTX *_mem_save_dominfo_0;
11579 TALLOC_CTX *_mem_save_dominfo_1;
11580 TALLOC_CTX *_mem_save_reject_0;
11581 TALLOC_CTX *_mem_save_reject_1;
11582 if (flags & NDR_IN) {
11583 ZERO_STRUCT(r->out);
11585 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
11587 NDR_PULL_ALLOC(ndr, r->in.server);
11589 r->in.server = NULL;
11591 if (r->in.server) {
11592 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11593 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
11594 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11595 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
11597 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11598 NDR_PULL_ALLOC(ndr, r->in.account);
11600 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
11601 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
11602 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
11604 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
11605 if (_ptr_nt_password) {
11606 NDR_PULL_ALLOC(ndr, r->in.nt_password);
11608 r->in.nt_password = NULL;
11610 if (r->in.nt_password) {
11611 _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11612 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
11613 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11614 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
11616 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
11617 if (_ptr_nt_verifier) {
11618 NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
11620 r->in.nt_verifier = NULL;
11622 if (r->in.nt_verifier) {
11623 _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11624 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
11625 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
11628 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
11629 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
11630 if (_ptr_lm_password) {
11631 NDR_PULL_ALLOC(ndr, r->in.lm_password);
11633 r->in.lm_password = NULL;
11635 if (r->in.lm_password) {
11636 _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11637 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
11638 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
11641 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
11642 if (_ptr_lm_verifier) {
11643 NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
11645 r->in.lm_verifier = NULL;
11647 if (r->in.lm_verifier) {
11648 _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11649 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
11650 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
11653 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password3));
11654 if (_ptr_password3) {
11655 NDR_PULL_ALLOC(ndr, r->in.password3);
11657 r->in.password3 = NULL;
11659 if (r->in.password3) {
11660 _mem_save_password3_0 = NDR_PULL_GET_MEM_CTX(ndr);
11661 NDR_PULL_SET_MEM_CTX(ndr, r->in.password3, 0);
11662 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
11663 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password3_0, 0);
11665 NDR_PULL_ALLOC(ndr, r->out.dominfo);
11666 ZERO_STRUCTP(r->out.dominfo);
11667 NDR_PULL_ALLOC(ndr, r->out.reject);
11668 ZERO_STRUCTP(r->out.reject);
11670 if (flags & NDR_OUT) {
11671 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11672 NDR_PULL_ALLOC(ndr, r->out.dominfo);
11674 _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
11675 NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC);
11676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo));
11677 if (_ptr_dominfo) {
11678 NDR_PULL_ALLOC(ndr, *r->out.dominfo);
11680 *r->out.dominfo = NULL;
11682 if (*r->out.dominfo) {
11683 _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr);
11684 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0);
11685 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
11686 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0);
11688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC);
11689 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11690 NDR_PULL_ALLOC(ndr, r->out.reject);
11692 _mem_save_reject_0 = NDR_PULL_GET_MEM_CTX(ndr);
11693 NDR_PULL_SET_MEM_CTX(ndr, r->out.reject, LIBNDR_FLAG_REF_ALLOC);
11694 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_reject));
11696 NDR_PULL_ALLOC(ndr, *r->out.reject);
11698 *r->out.reject = NULL;
11700 if (*r->out.reject) {
11701 _mem_save_reject_1 = NDR_PULL_GET_MEM_CTX(ndr);
11702 NDR_PULL_SET_MEM_CTX(ndr, *r->out.reject, 0);
11703 NDR_CHECK(ndr_pull_samr_ChangeReject(ndr, NDR_SCALARS, *r->out.reject));
11704 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_1, 0);
11706 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_0, LIBNDR_FLAG_REF_ALLOC);
11707 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11709 return NDR_ERR_SUCCESS;
11712 _PUBLIC_ void ndr_print_samr_ChangePasswordUser3(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser3 *r)
11714 ndr_print_struct(ndr, name, "samr_ChangePasswordUser3");
11716 if (flags & NDR_SET_VALUES) {
11717 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11719 if (flags & NDR_IN) {
11720 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser3");
11722 ndr_print_ptr(ndr, "server", r->in.server);
11724 if (r->in.server) {
11725 ndr_print_lsa_String(ndr, "server", r->in.server);
11728 ndr_print_ptr(ndr, "account", r->in.account);
11730 ndr_print_lsa_String(ndr, "account", r->in.account);
11732 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
11734 if (r->in.nt_password) {
11735 ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
11738 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
11740 if (r->in.nt_verifier) {
11741 ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
11744 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
11745 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
11747 if (r->in.lm_password) {
11748 ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
11751 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
11753 if (r->in.lm_verifier) {
11754 ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
11757 ndr_print_ptr(ndr, "password3", r->in.password3);
11759 if (r->in.password3) {
11760 ndr_print_samr_CryptPassword(ndr, "password3", r->in.password3);
11765 if (flags & NDR_OUT) {
11766 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser3");
11768 ndr_print_ptr(ndr, "dominfo", r->out.dominfo);
11770 ndr_print_ptr(ndr, "dominfo", *r->out.dominfo);
11772 if (*r->out.dominfo) {
11773 ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo);
11777 ndr_print_ptr(ndr, "reject", r->out.reject);
11779 ndr_print_ptr(ndr, "reject", *r->out.reject);
11781 if (*r->out.reject) {
11782 ndr_print_samr_ChangeReject(ndr, "reject", *r->out.reject);
11786 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11792 _PUBLIC_ enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flags, const struct samr_Connect5 *r)
11794 if (flags & NDR_IN) {
11795 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11796 if (r->in.system_name) {
11797 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11798 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11799 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11800 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));
11802 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level_in));
11804 if (r->in.info_in == NULL) {
11805 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11807 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info_in, r->in.level_in));
11808 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
11810 if (flags & NDR_OUT) {
11811 if (r->out.level_out == NULL) {
11812 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
11815 if (r->out.info_out == NULL) {
11816 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11818 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
11819 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
11820 if (r->out.connect_handle == NULL) {
11821 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11823 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11824 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11826 return NDR_ERR_SUCCESS;
11829 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r)
11831 uint32_t _ptr_system_name;
11832 TALLOC_CTX *_mem_save_system_name_0;
11833 TALLOC_CTX *_mem_save_info_in_0;
11834 TALLOC_CTX *_mem_save_level_out_0;
11835 TALLOC_CTX *_mem_save_info_out_0;
11836 TALLOC_CTX *_mem_save_connect_handle_0;
11837 if (flags & NDR_IN) {
11838 ZERO_STRUCT(r->out);
11840 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11841 if (_ptr_system_name) {
11842 NDR_PULL_ALLOC(ndr, r->in.system_name);
11844 r->in.system_name = NULL;
11846 if (r->in.system_name) {
11847 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11848 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11849 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11850 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11851 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11852 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.system_name), ndr_get_array_length(ndr, &r->in.system_name));
11854 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11855 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t), CH_UTF16));
11856 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11858 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11859 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level_in));
11860 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11861 NDR_PULL_ALLOC(ndr, r->in.info_in);
11863 _mem_save_info_in_0 = NDR_PULL_GET_MEM_CTX(ndr);
11864 NDR_PULL_SET_MEM_CTX(ndr, r->in.info_in, LIBNDR_FLAG_REF_ALLOC);
11865 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info_in, r->in.level_in));
11866 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
11867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_in_0, LIBNDR_FLAG_REF_ALLOC);
11868 NDR_PULL_ALLOC(ndr, r->out.level_out);
11869 ZERO_STRUCTP(r->out.level_out);
11870 NDR_PULL_ALLOC(ndr, r->out.info_out);
11871 ZERO_STRUCTP(r->out.info_out);
11872 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11873 ZERO_STRUCTP(r->out.connect_handle);
11875 if (flags & NDR_OUT) {
11876 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11877 NDR_PULL_ALLOC(ndr, r->out.level_out);
11879 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
11880 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
11881 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
11882 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
11883 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11884 NDR_PULL_ALLOC(ndr, r->out.info_out);
11886 _mem_save_info_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
11887 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_out, LIBNDR_FLAG_REF_ALLOC);
11888 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
11889 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
11890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_out_0, LIBNDR_FLAG_REF_ALLOC);
11891 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11892 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11894 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11895 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11896 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11897 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11898 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11900 return NDR_ERR_SUCCESS;
11903 _PUBLIC_ void ndr_print_samr_Connect5(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect5 *r)
11905 ndr_print_struct(ndr, name, "samr_Connect5");
11907 if (flags & NDR_SET_VALUES) {
11908 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11910 if (flags & NDR_IN) {
11911 ndr_print_struct(ndr, "in", "samr_Connect5");
11913 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11915 if (r->in.system_name) {
11916 ndr_print_string(ndr, "system_name", r->in.system_name);
11919 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11920 ndr_print_uint32(ndr, "level_in", r->in.level_in);
11921 ndr_print_ptr(ndr, "info_in", r->in.info_in);
11923 ndr_print_set_switch_value(ndr, r->in.info_in, r->in.level_in);
11924 ndr_print_samr_ConnectInfo(ndr, "info_in", r->in.info_in);
11928 if (flags & NDR_OUT) {
11929 ndr_print_struct(ndr, "out", "samr_Connect5");
11931 ndr_print_ptr(ndr, "level_out", r->out.level_out);
11933 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
11935 ndr_print_ptr(ndr, "info_out", r->out.info_out);
11937 ndr_print_set_switch_value(ndr, r->out.info_out, *r->out.level_out);
11938 ndr_print_samr_ConnectInfo(ndr, "info_out", r->out.info_out);
11940 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11942 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11944 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11950 static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags, const struct samr_RidToSid *r)
11952 if (flags & NDR_IN) {
11953 if (r->in.domain_handle == NULL) {
11954 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11956 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11957 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
11959 if (flags & NDR_OUT) {
11960 if (r->out.sid == NULL) {
11961 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11963 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
11965 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
11967 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11969 return NDR_ERR_SUCCESS;
11972 static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags, struct samr_RidToSid *r)
11975 TALLOC_CTX *_mem_save_domain_handle_0;
11976 TALLOC_CTX *_mem_save_sid_0;
11977 TALLOC_CTX *_mem_save_sid_1;
11978 if (flags & NDR_IN) {
11979 ZERO_STRUCT(r->out);
11981 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11982 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11984 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11985 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11986 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11987 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11988 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
11989 NDR_PULL_ALLOC(ndr, r->out.sid);
11990 ZERO_STRUCTP(r->out.sid);
11992 if (flags & NDR_OUT) {
11993 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11994 NDR_PULL_ALLOC(ndr, r->out.sid);
11996 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11997 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
11998 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
12000 NDR_PULL_ALLOC(ndr, *r->out.sid);
12002 *r->out.sid = NULL;
12005 _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
12006 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
12007 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
12008 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
12010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
12011 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12013 return NDR_ERR_SUCCESS;
12016 _PUBLIC_ void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, int flags, const struct samr_RidToSid *r)
12018 ndr_print_struct(ndr, name, "samr_RidToSid");
12020 if (flags & NDR_SET_VALUES) {
12021 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12023 if (flags & NDR_IN) {
12024 ndr_print_struct(ndr, "in", "samr_RidToSid");
12026 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
12028 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
12030 ndr_print_uint32(ndr, "rid", r->in.rid);
12033 if (flags & NDR_OUT) {
12034 ndr_print_struct(ndr, "out", "samr_RidToSid");
12036 ndr_print_ptr(ndr, "sid", r->out.sid);
12038 ndr_print_ptr(ndr, "sid", *r->out.sid);
12041 ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
12045 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12051 static enum ndr_err_code ndr_push_samr_SetDsrmPassword(struct ndr_push *ndr, int flags, const struct samr_SetDsrmPassword *r)
12053 if (flags & NDR_IN) {
12054 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name));
12056 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
12058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
12059 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
12061 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
12064 if (flags & NDR_OUT) {
12065 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12067 return NDR_ERR_SUCCESS;
12070 static enum ndr_err_code ndr_pull_samr_SetDsrmPassword(struct ndr_pull *ndr, int flags, struct samr_SetDsrmPassword *r)
12072 uint32_t _ptr_name;
12073 uint32_t _ptr_hash;
12074 TALLOC_CTX *_mem_save_name_0;
12075 TALLOC_CTX *_mem_save_hash_0;
12076 if (flags & NDR_IN) {
12077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
12079 NDR_PULL_ALLOC(ndr, r->in.name);
12084 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12085 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0);
12086 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
12087 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
12089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
12090 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
12092 NDR_PULL_ALLOC(ndr, r->in.hash);
12097 _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
12098 NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
12099 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
12100 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
12103 if (flags & NDR_OUT) {
12104 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12106 return NDR_ERR_SUCCESS;
12109 _PUBLIC_ void ndr_print_samr_SetDsrmPassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDsrmPassword *r)
12111 ndr_print_struct(ndr, name, "samr_SetDsrmPassword");
12113 if (flags & NDR_SET_VALUES) {
12114 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12116 if (flags & NDR_IN) {
12117 ndr_print_struct(ndr, "in", "samr_SetDsrmPassword");
12119 ndr_print_ptr(ndr, "name", r->in.name);
12122 ndr_print_lsa_String(ndr, "name", r->in.name);
12125 ndr_print_uint32(ndr, "unknown", r->in.unknown);
12126 ndr_print_ptr(ndr, "hash", r->in.hash);
12129 ndr_print_samr_Password(ndr, "hash", r->in.hash);
12134 if (flags & NDR_OUT) {
12135 ndr_print_struct(ndr, "out", "samr_SetDsrmPassword");
12137 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12143 static enum ndr_err_code ndr_push_samr_ValidatePassword(struct ndr_push *ndr, int flags, const struct samr_ValidatePassword *r)
12145 if (flags & NDR_IN) {
12146 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, r->in.level));
12147 if (r->in.req == NULL) {
12148 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12150 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
12151 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12153 if (flags & NDR_OUT) {
12154 if (r->out.rep == NULL) {
12155 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12157 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rep));
12159 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.rep, r->in.level));
12160 NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
12162 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12164 return NDR_ERR_SUCCESS;
12167 static enum ndr_err_code ndr_pull_samr_ValidatePassword(struct ndr_pull *ndr, int flags, struct samr_ValidatePassword *r)
12170 TALLOC_CTX *_mem_save_req_0;
12171 TALLOC_CTX *_mem_save_rep_0;
12172 TALLOC_CTX *_mem_save_rep_1;
12173 if (flags & NDR_IN) {
12174 ZERO_STRUCT(r->out);
12176 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, &r->in.level));
12177 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12178 NDR_PULL_ALLOC(ndr, r->in.req);
12180 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
12181 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
12182 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
12183 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12184 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
12185 NDR_PULL_ALLOC(ndr, r->out.rep);
12186 ZERO_STRUCTP(r->out.rep);
12188 if (flags & NDR_OUT) {
12189 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12190 NDR_PULL_ALLOC(ndr, r->out.rep);
12192 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
12193 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
12194 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rep));
12196 NDR_PULL_ALLOC(ndr, *r->out.rep);
12198 *r->out.rep = NULL;
12201 _mem_save_rep_1 = NDR_PULL_GET_MEM_CTX(ndr);
12202 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rep, 0);
12203 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.rep, r->in.level));
12204 NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
12205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_1, 0);
12207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
12208 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12210 return NDR_ERR_SUCCESS;
12213 _PUBLIC_ void ndr_print_samr_ValidatePassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_ValidatePassword *r)
12215 ndr_print_struct(ndr, name, "samr_ValidatePassword");
12217 if (flags & NDR_SET_VALUES) {
12218 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12220 if (flags & NDR_IN) {
12221 ndr_print_struct(ndr, "in", "samr_ValidatePassword");
12223 ndr_print_samr_ValidatePasswordLevel(ndr, "level", r->in.level);
12224 ndr_print_ptr(ndr, "req", r->in.req);
12226 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
12227 ndr_print_samr_ValidatePasswordReq(ndr, "req", r->in.req);
12231 if (flags & NDR_OUT) {
12232 ndr_print_struct(ndr, "out", "samr_ValidatePassword");
12234 ndr_print_ptr(ndr, "rep", r->out.rep);
12236 ndr_print_ptr(ndr, "rep", *r->out.rep);
12239 ndr_print_set_switch_value(ndr, *r->out.rep, r->in.level);
12240 ndr_print_samr_ValidatePasswordRep(ndr, "rep", *r->out.rep);
12244 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12250 static const struct ndr_interface_call samr_calls[] = {
12253 sizeof(struct samr_Connect),
12254 (ndr_push_flags_fn_t) ndr_push_samr_Connect,
12255 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect,
12256 (ndr_print_function_t) ndr_print_samr_Connect,
12261 sizeof(struct samr_Close),
12262 (ndr_push_flags_fn_t) ndr_push_samr_Close,
12263 (ndr_pull_flags_fn_t) ndr_pull_samr_Close,
12264 (ndr_print_function_t) ndr_print_samr_Close,
12268 "samr_SetSecurity",
12269 sizeof(struct samr_SetSecurity),
12270 (ndr_push_flags_fn_t) ndr_push_samr_SetSecurity,
12271 (ndr_pull_flags_fn_t) ndr_pull_samr_SetSecurity,
12272 (ndr_print_function_t) ndr_print_samr_SetSecurity,
12276 "samr_QuerySecurity",
12277 sizeof(struct samr_QuerySecurity),
12278 (ndr_push_flags_fn_t) ndr_push_samr_QuerySecurity,
12279 (ndr_pull_flags_fn_t) ndr_pull_samr_QuerySecurity,
12280 (ndr_print_function_t) ndr_print_samr_QuerySecurity,
12285 sizeof(struct samr_Shutdown),
12286 (ndr_push_flags_fn_t) ndr_push_samr_Shutdown,
12287 (ndr_pull_flags_fn_t) ndr_pull_samr_Shutdown,
12288 (ndr_print_function_t) ndr_print_samr_Shutdown,
12292 "samr_LookupDomain",
12293 sizeof(struct samr_LookupDomain),
12294 (ndr_push_flags_fn_t) ndr_push_samr_LookupDomain,
12295 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupDomain,
12296 (ndr_print_function_t) ndr_print_samr_LookupDomain,
12300 "samr_EnumDomains",
12301 sizeof(struct samr_EnumDomains),
12302 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomains,
12303 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomains,
12304 (ndr_print_function_t) ndr_print_samr_EnumDomains,
12309 sizeof(struct samr_OpenDomain),
12310 (ndr_push_flags_fn_t) ndr_push_samr_OpenDomain,
12311 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenDomain,
12312 (ndr_print_function_t) ndr_print_samr_OpenDomain,
12316 "samr_QueryDomainInfo",
12317 sizeof(struct samr_QueryDomainInfo),
12318 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo,
12319 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo,
12320 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo,
12324 "samr_SetDomainInfo",
12325 sizeof(struct samr_SetDomainInfo),
12326 (ndr_push_flags_fn_t) ndr_push_samr_SetDomainInfo,
12327 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDomainInfo,
12328 (ndr_print_function_t) ndr_print_samr_SetDomainInfo,
12332 "samr_CreateDomainGroup",
12333 sizeof(struct samr_CreateDomainGroup),
12334 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomainGroup,
12335 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomainGroup,
12336 (ndr_print_function_t) ndr_print_samr_CreateDomainGroup,
12340 "samr_EnumDomainGroups",
12341 sizeof(struct samr_EnumDomainGroups),
12342 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainGroups,
12343 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainGroups,
12344 (ndr_print_function_t) ndr_print_samr_EnumDomainGroups,
12349 sizeof(struct samr_CreateUser),
12350 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser,
12351 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser,
12352 (ndr_print_function_t) ndr_print_samr_CreateUser,
12356 "samr_EnumDomainUsers",
12357 sizeof(struct samr_EnumDomainUsers),
12358 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainUsers,
12359 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainUsers,
12360 (ndr_print_function_t) ndr_print_samr_EnumDomainUsers,
12364 "samr_CreateDomAlias",
12365 sizeof(struct samr_CreateDomAlias),
12366 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomAlias,
12367 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomAlias,
12368 (ndr_print_function_t) ndr_print_samr_CreateDomAlias,
12372 "samr_EnumDomainAliases",
12373 sizeof(struct samr_EnumDomainAliases),
12374 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainAliases,
12375 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainAliases,
12376 (ndr_print_function_t) ndr_print_samr_EnumDomainAliases,
12380 "samr_GetAliasMembership",
12381 sizeof(struct samr_GetAliasMembership),
12382 (ndr_push_flags_fn_t) ndr_push_samr_GetAliasMembership,
12383 (ndr_pull_flags_fn_t) ndr_pull_samr_GetAliasMembership,
12384 (ndr_print_function_t) ndr_print_samr_GetAliasMembership,
12388 "samr_LookupNames",
12389 sizeof(struct samr_LookupNames),
12390 (ndr_push_flags_fn_t) ndr_push_samr_LookupNames,
12391 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupNames,
12392 (ndr_print_function_t) ndr_print_samr_LookupNames,
12397 sizeof(struct samr_LookupRids),
12398 (ndr_push_flags_fn_t) ndr_push_samr_LookupRids,
12399 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupRids,
12400 (ndr_print_function_t) ndr_print_samr_LookupRids,
12405 sizeof(struct samr_OpenGroup),
12406 (ndr_push_flags_fn_t) ndr_push_samr_OpenGroup,
12407 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenGroup,
12408 (ndr_print_function_t) ndr_print_samr_OpenGroup,
12412 "samr_QueryGroupInfo",
12413 sizeof(struct samr_QueryGroupInfo),
12414 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupInfo,
12415 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupInfo,
12416 (ndr_print_function_t) ndr_print_samr_QueryGroupInfo,
12420 "samr_SetGroupInfo",
12421 sizeof(struct samr_SetGroupInfo),
12422 (ndr_push_flags_fn_t) ndr_push_samr_SetGroupInfo,
12423 (ndr_pull_flags_fn_t) ndr_pull_samr_SetGroupInfo,
12424 (ndr_print_function_t) ndr_print_samr_SetGroupInfo,
12428 "samr_AddGroupMember",
12429 sizeof(struct samr_AddGroupMember),
12430 (ndr_push_flags_fn_t) ndr_push_samr_AddGroupMember,
12431 (ndr_pull_flags_fn_t) ndr_pull_samr_AddGroupMember,
12432 (ndr_print_function_t) ndr_print_samr_AddGroupMember,
12436 "samr_DeleteDomainGroup",
12437 sizeof(struct samr_DeleteDomainGroup),
12438 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomainGroup,
12439 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomainGroup,
12440 (ndr_print_function_t) ndr_print_samr_DeleteDomainGroup,
12444 "samr_DeleteGroupMember",
12445 sizeof(struct samr_DeleteGroupMember),
12446 (ndr_push_flags_fn_t) ndr_push_samr_DeleteGroupMember,
12447 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteGroupMember,
12448 (ndr_print_function_t) ndr_print_samr_DeleteGroupMember,
12452 "samr_QueryGroupMember",
12453 sizeof(struct samr_QueryGroupMember),
12454 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupMember,
12455 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupMember,
12456 (ndr_print_function_t) ndr_print_samr_QueryGroupMember,
12460 "samr_SetMemberAttributesOfGroup",
12461 sizeof(struct samr_SetMemberAttributesOfGroup),
12462 (ndr_push_flags_fn_t) ndr_push_samr_SetMemberAttributesOfGroup,
12463 (ndr_pull_flags_fn_t) ndr_pull_samr_SetMemberAttributesOfGroup,
12464 (ndr_print_function_t) ndr_print_samr_SetMemberAttributesOfGroup,
12469 sizeof(struct samr_OpenAlias),
12470 (ndr_push_flags_fn_t) ndr_push_samr_OpenAlias,
12471 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenAlias,
12472 (ndr_print_function_t) ndr_print_samr_OpenAlias,
12476 "samr_QueryAliasInfo",
12477 sizeof(struct samr_QueryAliasInfo),
12478 (ndr_push_flags_fn_t) ndr_push_samr_QueryAliasInfo,
12479 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryAliasInfo,
12480 (ndr_print_function_t) ndr_print_samr_QueryAliasInfo,
12484 "samr_SetAliasInfo",
12485 sizeof(struct samr_SetAliasInfo),
12486 (ndr_push_flags_fn_t) ndr_push_samr_SetAliasInfo,
12487 (ndr_pull_flags_fn_t) ndr_pull_samr_SetAliasInfo,
12488 (ndr_print_function_t) ndr_print_samr_SetAliasInfo,
12492 "samr_DeleteDomAlias",
12493 sizeof(struct samr_DeleteDomAlias),
12494 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomAlias,
12495 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomAlias,
12496 (ndr_print_function_t) ndr_print_samr_DeleteDomAlias,
12500 "samr_AddAliasMember",
12501 sizeof(struct samr_AddAliasMember),
12502 (ndr_push_flags_fn_t) ndr_push_samr_AddAliasMember,
12503 (ndr_pull_flags_fn_t) ndr_pull_samr_AddAliasMember,
12504 (ndr_print_function_t) ndr_print_samr_AddAliasMember,
12508 "samr_DeleteAliasMember",
12509 sizeof(struct samr_DeleteAliasMember),
12510 (ndr_push_flags_fn_t) ndr_push_samr_DeleteAliasMember,
12511 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteAliasMember,
12512 (ndr_print_function_t) ndr_print_samr_DeleteAliasMember,
12516 "samr_GetMembersInAlias",
12517 sizeof(struct samr_GetMembersInAlias),
12518 (ndr_push_flags_fn_t) ndr_push_samr_GetMembersInAlias,
12519 (ndr_pull_flags_fn_t) ndr_pull_samr_GetMembersInAlias,
12520 (ndr_print_function_t) ndr_print_samr_GetMembersInAlias,
12525 sizeof(struct samr_OpenUser),
12526 (ndr_push_flags_fn_t) ndr_push_samr_OpenUser,
12527 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenUser,
12528 (ndr_print_function_t) ndr_print_samr_OpenUser,
12533 sizeof(struct samr_DeleteUser),
12534 (ndr_push_flags_fn_t) ndr_push_samr_DeleteUser,
12535 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteUser,
12536 (ndr_print_function_t) ndr_print_samr_DeleteUser,
12540 "samr_QueryUserInfo",
12541 sizeof(struct samr_QueryUserInfo),
12542 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo,
12543 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo,
12544 (ndr_print_function_t) ndr_print_samr_QueryUserInfo,
12548 "samr_SetUserInfo",
12549 sizeof(struct samr_SetUserInfo),
12550 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo,
12551 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo,
12552 (ndr_print_function_t) ndr_print_samr_SetUserInfo,
12556 "samr_ChangePasswordUser",
12557 sizeof(struct samr_ChangePasswordUser),
12558 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser,
12559 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser,
12560 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser,
12564 "samr_GetGroupsForUser",
12565 sizeof(struct samr_GetGroupsForUser),
12566 (ndr_push_flags_fn_t) ndr_push_samr_GetGroupsForUser,
12567 (ndr_pull_flags_fn_t) ndr_pull_samr_GetGroupsForUser,
12568 (ndr_print_function_t) ndr_print_samr_GetGroupsForUser,
12572 "samr_QueryDisplayInfo",
12573 sizeof(struct samr_QueryDisplayInfo),
12574 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo,
12575 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo,
12576 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo,
12580 "samr_GetDisplayEnumerationIndex",
12581 sizeof(struct samr_GetDisplayEnumerationIndex),
12582 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex,
12583 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex,
12584 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex,
12588 "samr_TestPrivateFunctionsDomain",
12589 sizeof(struct samr_TestPrivateFunctionsDomain),
12590 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsDomain,
12591 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsDomain,
12592 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsDomain,
12596 "samr_TestPrivateFunctionsUser",
12597 sizeof(struct samr_TestPrivateFunctionsUser),
12598 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsUser,
12599 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsUser,
12600 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsUser,
12604 "samr_GetUserPwInfo",
12605 sizeof(struct samr_GetUserPwInfo),
12606 (ndr_push_flags_fn_t) ndr_push_samr_GetUserPwInfo,
12607 (ndr_pull_flags_fn_t) ndr_pull_samr_GetUserPwInfo,
12608 (ndr_print_function_t) ndr_print_samr_GetUserPwInfo,
12612 "samr_RemoveMemberFromForeignDomain",
12613 sizeof(struct samr_RemoveMemberFromForeignDomain),
12614 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMemberFromForeignDomain,
12615 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMemberFromForeignDomain,
12616 (ndr_print_function_t) ndr_print_samr_RemoveMemberFromForeignDomain,
12620 "samr_QueryDomainInfo2",
12621 sizeof(struct samr_QueryDomainInfo2),
12622 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo2,
12623 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo2,
12624 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo2,
12628 "samr_QueryUserInfo2",
12629 sizeof(struct samr_QueryUserInfo2),
12630 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo2,
12631 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo2,
12632 (ndr_print_function_t) ndr_print_samr_QueryUserInfo2,
12636 "samr_QueryDisplayInfo2",
12637 sizeof(struct samr_QueryDisplayInfo2),
12638 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo2,
12639 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo2,
12640 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo2,
12644 "samr_GetDisplayEnumerationIndex2",
12645 sizeof(struct samr_GetDisplayEnumerationIndex2),
12646 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex2,
12647 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex2,
12648 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex2,
12652 "samr_CreateUser2",
12653 sizeof(struct samr_CreateUser2),
12654 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser2,
12655 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser2,
12656 (ndr_print_function_t) ndr_print_samr_CreateUser2,
12660 "samr_QueryDisplayInfo3",
12661 sizeof(struct samr_QueryDisplayInfo3),
12662 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo3,
12663 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo3,
12664 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo3,
12668 "samr_AddMultipleMembersToAlias",
12669 sizeof(struct samr_AddMultipleMembersToAlias),
12670 (ndr_push_flags_fn_t) ndr_push_samr_AddMultipleMembersToAlias,
12671 (ndr_pull_flags_fn_t) ndr_pull_samr_AddMultipleMembersToAlias,
12672 (ndr_print_function_t) ndr_print_samr_AddMultipleMembersToAlias,
12676 "samr_RemoveMultipleMembersFromAlias",
12677 sizeof(struct samr_RemoveMultipleMembersFromAlias),
12678 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMultipleMembersFromAlias,
12679 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMultipleMembersFromAlias,
12680 (ndr_print_function_t) ndr_print_samr_RemoveMultipleMembersFromAlias,
12684 "samr_OemChangePasswordUser2",
12685 sizeof(struct samr_OemChangePasswordUser2),
12686 (ndr_push_flags_fn_t) ndr_push_samr_OemChangePasswordUser2,
12687 (ndr_pull_flags_fn_t) ndr_pull_samr_OemChangePasswordUser2,
12688 (ndr_print_function_t) ndr_print_samr_OemChangePasswordUser2,
12692 "samr_ChangePasswordUser2",
12693 sizeof(struct samr_ChangePasswordUser2),
12694 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser2,
12695 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser2,
12696 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser2,
12700 "samr_GetDomPwInfo",
12701 sizeof(struct samr_GetDomPwInfo),
12702 (ndr_push_flags_fn_t) ndr_push_samr_GetDomPwInfo,
12703 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDomPwInfo,
12704 (ndr_print_function_t) ndr_print_samr_GetDomPwInfo,
12709 sizeof(struct samr_Connect2),
12710 (ndr_push_flags_fn_t) ndr_push_samr_Connect2,
12711 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect2,
12712 (ndr_print_function_t) ndr_print_samr_Connect2,
12716 "samr_SetUserInfo2",
12717 sizeof(struct samr_SetUserInfo2),
12718 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo2,
12719 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo2,
12720 (ndr_print_function_t) ndr_print_samr_SetUserInfo2,
12724 "samr_SetBootKeyInformation",
12725 sizeof(struct samr_SetBootKeyInformation),
12726 (ndr_push_flags_fn_t) ndr_push_samr_SetBootKeyInformation,
12727 (ndr_pull_flags_fn_t) ndr_pull_samr_SetBootKeyInformation,
12728 (ndr_print_function_t) ndr_print_samr_SetBootKeyInformation,
12732 "samr_GetBootKeyInformation",
12733 sizeof(struct samr_GetBootKeyInformation),
12734 (ndr_push_flags_fn_t) ndr_push_samr_GetBootKeyInformation,
12735 (ndr_pull_flags_fn_t) ndr_pull_samr_GetBootKeyInformation,
12736 (ndr_print_function_t) ndr_print_samr_GetBootKeyInformation,
12741 sizeof(struct samr_Connect3),
12742 (ndr_push_flags_fn_t) ndr_push_samr_Connect3,
12743 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect3,
12744 (ndr_print_function_t) ndr_print_samr_Connect3,
12749 sizeof(struct samr_Connect4),
12750 (ndr_push_flags_fn_t) ndr_push_samr_Connect4,
12751 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect4,
12752 (ndr_print_function_t) ndr_print_samr_Connect4,
12756 "samr_ChangePasswordUser3",
12757 sizeof(struct samr_ChangePasswordUser3),
12758 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser3,
12759 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser3,
12760 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser3,
12765 sizeof(struct samr_Connect5),
12766 (ndr_push_flags_fn_t) ndr_push_samr_Connect5,
12767 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect5,
12768 (ndr_print_function_t) ndr_print_samr_Connect5,
12773 sizeof(struct samr_RidToSid),
12774 (ndr_push_flags_fn_t) ndr_push_samr_RidToSid,
12775 (ndr_pull_flags_fn_t) ndr_pull_samr_RidToSid,
12776 (ndr_print_function_t) ndr_print_samr_RidToSid,
12780 "samr_SetDsrmPassword",
12781 sizeof(struct samr_SetDsrmPassword),
12782 (ndr_push_flags_fn_t) ndr_push_samr_SetDsrmPassword,
12783 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDsrmPassword,
12784 (ndr_print_function_t) ndr_print_samr_SetDsrmPassword,
12788 "samr_ValidatePassword",
12789 sizeof(struct samr_ValidatePassword),
12790 (ndr_push_flags_fn_t) ndr_push_samr_ValidatePassword,
12791 (ndr_pull_flags_fn_t) ndr_pull_samr_ValidatePassword,
12792 (ndr_print_function_t) ndr_print_samr_ValidatePassword,
12795 { NULL, 0, NULL, NULL, NULL, false }
12798 static const char * const samr_endpoint_strings[] = {
12799 "ncacn_np:[\\pipe\\samr]",
12804 static const struct ndr_interface_string_array samr_endpoints = {
12806 .names = samr_endpoint_strings
12809 static const char * const samr_authservice_strings[] = {
12813 static const struct ndr_interface_string_array samr_authservices = {
12815 .names = samr_authservice_strings
12819 const struct ndr_interface_table ndr_table_samr = {
12822 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
12825 .helpstring = NDR_SAMR_HELPSTRING,
12827 .calls = samr_calls,
12828 .endpoints = &samr_endpoints,
12829 .authservices = &samr_authservices