s3-netlogon: setup NETLOGON credential chain in rpccli_netlogon_set_trust_password...
[Samba.git] / librpc / gen_ndr / ndr_samr.c
blobd7f94dae60707da4d42d9819f0030328fe2a827e
1 /* parser auto-generated by pidl */
3 #include "includes.h"
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_enum_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)
17 uint32_t v;
18 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
19 *r = 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;
27 switch (r) {
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_enum_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)
43 uint32_t v;
44 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
45 *r = 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;
53 switch (r) {
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)
70 uint32_t v;
71 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
72 *r = 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);
79 ndr->depth++;
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);
99 ndr->depth--;
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)
110 uint32_t v;
111 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
112 *r = 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);
119 ndr->depth++;
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_LOOKUP_DOMAIN", SAMR_ACCESS_LOOKUP_DOMAIN, r);
126 ndr->depth--;
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)
137 uint32_t v;
138 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
139 *r = 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);
146 ndr->depth++;
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);
158 ndr->depth--;
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)
169 uint32_t v;
170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
171 *r = 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);
178 ndr->depth++;
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);
190 ndr->depth--;
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)
201 uint32_t v;
202 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
203 *r = 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);
210 ndr->depth++;
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);
216 ndr->depth--;
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)
227 uint32_t v;
228 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
229 *r = 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);
236 ndr->depth++;
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);
242 ndr->depth--;
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, 5));
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, 5));
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");
274 ndr->depth++;
275 ndr_print_uint32(ndr, "idx", r->idx);
276 ndr_print_lsa_String(ndr, "name", &r->name);
277 ndr->depth--;
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, 5));
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) {
289 if (r->entries) {
290 NDR_CHECK(ndr_push_uint3264(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, 5));
310 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
311 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
312 if (_ptr_entries) {
313 NDR_PULL_ALLOC(ndr, r->entries);
314 } else {
315 r->entries = NULL;
318 if (ndr_flags & NDR_BUFFERS) {
319 if (r->entries) {
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);
335 if (r->entries) {
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");
346 ndr->depth++;
347 ndr_print_uint32(ndr, "count", r->count);
348 ndr_print_ptr(ndr, "entries", r->entries);
349 ndr->depth++;
350 if (r->entries) {
351 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
352 ndr->depth++;
353 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
354 char *idx_1=NULL;
355 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
356 ndr_print_samr_SamEntry(ndr, "entries", &r->entries[cntr_entries_1]);
357 free(idx_1);
360 ndr->depth--;
362 ndr->depth--;
363 ndr->depth--;
366 static enum ndr_err_code ndr_push_samr_DomainInfoClass(struct ndr_push *ndr, int ndr_flags, enum samr_DomainInfoClass r)
368 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
369 return NDR_ERR_SUCCESS;
372 static enum ndr_err_code ndr_pull_samr_DomainInfoClass(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainInfoClass *r)
374 uint16_t v;
375 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
376 *r = v;
377 return NDR_ERR_SUCCESS;
380 _PUBLIC_ void ndr_print_samr_DomainInfoClass(struct ndr_print *ndr, const char *name, enum samr_DomainInfoClass r)
382 const char *val = NULL;
384 switch (r) {
385 case DomainPasswordInformation: val = "DomainPasswordInformation"; break;
386 case DomainGeneralInformation: val = "DomainGeneralInformation"; break;
387 case DomainLogoffInformation: val = "DomainLogoffInformation"; break;
388 case DomainOemInformation: val = "DomainOemInformation"; break;
389 case DomainNameInformation: val = "DomainNameInformation"; break;
390 case DomainReplicationInformation: val = "DomainReplicationInformation"; break;
391 case DomainServerRoleInformation: val = "DomainServerRoleInformation"; break;
392 case DomainModifiedInformation: val = "DomainModifiedInformation"; break;
393 case DomainStateInformation: val = "DomainStateInformation"; break;
394 case DomainUasInformation: val = "DomainUasInformation"; break;
395 case DomainGeneralInformation2: val = "DomainGeneralInformation2"; break;
396 case DomainLockoutInformation: val = "DomainLockoutInformation"; break;
397 case DomainModifiedInformation2: val = "DomainModifiedInformation2"; break;
399 ndr_print_enum(ndr, name, "ENUM", val, r);
402 static enum ndr_err_code ndr_push_samr_Role(struct ndr_push *ndr, int ndr_flags, enum samr_Role r)
404 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
405 return NDR_ERR_SUCCESS;
408 static enum ndr_err_code ndr_pull_samr_Role(struct ndr_pull *ndr, int ndr_flags, enum samr_Role *r)
410 uint32_t v;
411 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
412 *r = v;
413 return NDR_ERR_SUCCESS;
416 _PUBLIC_ void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role r)
418 const char *val = NULL;
420 switch (r) {
421 case SAMR_ROLE_STANDALONE: val = "SAMR_ROLE_STANDALONE"; break;
422 case SAMR_ROLE_DOMAIN_MEMBER: val = "SAMR_ROLE_DOMAIN_MEMBER"; break;
423 case SAMR_ROLE_DOMAIN_BDC: val = "SAMR_ROLE_DOMAIN_BDC"; break;
424 case SAMR_ROLE_DOMAIN_PDC: val = "SAMR_ROLE_DOMAIN_PDC"; break;
426 ndr_print_enum(ndr, name, "ENUM", val, r);
429 _PUBLIC_ enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r)
431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
432 return NDR_ERR_SUCCESS;
435 _PUBLIC_ enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
437 uint32_t v;
438 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
439 *r = v;
440 return NDR_ERR_SUCCESS;
443 _PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r)
445 ndr_print_uint32(ndr, name, r);
446 ndr->depth++;
447 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX, r);
448 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE, r);
449 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE, r);
450 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS, r);
451 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT, r);
452 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE, r);
453 ndr->depth--;
456 static enum ndr_err_code ndr_push_samr_DomainServerState(struct ndr_push *ndr, int ndr_flags, enum samr_DomainServerState r)
458 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
459 return NDR_ERR_SUCCESS;
462 static enum ndr_err_code ndr_pull_samr_DomainServerState(struct ndr_pull *ndr, int ndr_flags, enum samr_DomainServerState *r)
464 uint32_t v;
465 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
466 *r = v;
467 return NDR_ERR_SUCCESS;
470 _PUBLIC_ void ndr_print_samr_DomainServerState(struct ndr_print *ndr, const char *name, enum samr_DomainServerState r)
472 const char *val = NULL;
474 switch (r) {
475 case DOMAIN_SERVER_ENABLED: val = "DOMAIN_SERVER_ENABLED"; break;
476 case DOMAIN_SERVER_DISABLED: val = "DOMAIN_SERVER_DISABLED"; break;
478 ndr_print_enum(ndr, name, "ENUM", val, r);
481 static enum ndr_err_code ndr_push_samr_DomInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo1 *r)
483 if (ndr_flags & NDR_SCALARS) {
484 NDR_CHECK(ndr_push_align(ndr, 4));
485 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
486 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
487 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
488 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
489 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
491 if (ndr_flags & NDR_BUFFERS) {
493 return NDR_ERR_SUCCESS;
496 static enum ndr_err_code ndr_pull_samr_DomInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo1 *r)
498 if (ndr_flags & NDR_SCALARS) {
499 NDR_CHECK(ndr_pull_align(ndr, 4));
500 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
501 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
502 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
503 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
504 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
506 if (ndr_flags & NDR_BUFFERS) {
508 return NDR_ERR_SUCCESS;
511 _PUBLIC_ void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r)
513 ndr_print_struct(ndr, name, "samr_DomInfo1");
514 ndr->depth++;
515 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
516 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
517 ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
518 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
519 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
520 ndr->depth--;
523 static enum ndr_err_code ndr_push_samr_DomGeneralInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation *r)
525 if (ndr_flags & NDR_SCALARS) {
526 NDR_CHECK(ndr_push_align(ndr, 5));
527 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
528 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
529 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
530 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
531 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
532 NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
533 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
534 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users));
536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_groups));
537 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aliases));
539 if (ndr_flags & NDR_BUFFERS) {
540 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
541 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
542 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
544 return NDR_ERR_SUCCESS;
547 static enum ndr_err_code ndr_pull_samr_DomGeneralInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation *r)
549 if (ndr_flags & NDR_SCALARS) {
550 NDR_CHECK(ndr_pull_align(ndr, 5));
551 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
552 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
553 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
554 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
555 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
556 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
557 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
558 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
559 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users));
560 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_groups));
561 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aliases));
563 if (ndr_flags & NDR_BUFFERS) {
564 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
565 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
566 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
568 return NDR_ERR_SUCCESS;
571 _PUBLIC_ void ndr_print_samr_DomGeneralInformation(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation *r)
573 ndr_print_struct(ndr, name, "samr_DomGeneralInformation");
574 ndr->depth++;
575 ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
576 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
577 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
578 ndr_print_lsa_String(ndr, "primary", &r->primary);
579 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
580 ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
581 ndr_print_samr_Role(ndr, "role", r->role);
582 ndr_print_uint32(ndr, "unknown3", r->unknown3);
583 ndr_print_uint32(ndr, "num_users", r->num_users);
584 ndr_print_uint32(ndr, "num_groups", r->num_groups);
585 ndr_print_uint32(ndr, "num_aliases", r->num_aliases);
586 ndr->depth--;
589 static enum ndr_err_code ndr_push_samr_DomInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo3 *r)
591 if (ndr_flags & NDR_SCALARS) {
592 NDR_CHECK(ndr_push_align(ndr, 4));
593 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
595 if (ndr_flags & NDR_BUFFERS) {
597 return NDR_ERR_SUCCESS;
600 static enum ndr_err_code ndr_pull_samr_DomInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo3 *r)
602 if (ndr_flags & NDR_SCALARS) {
603 NDR_CHECK(ndr_pull_align(ndr, 4));
604 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
606 if (ndr_flags & NDR_BUFFERS) {
608 return NDR_ERR_SUCCESS;
611 _PUBLIC_ void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r)
613 ndr_print_struct(ndr, name, "samr_DomInfo3");
614 ndr->depth++;
615 ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
616 ndr->depth--;
619 static enum ndr_err_code ndr_push_samr_DomOEMInformation(struct ndr_push *ndr, int ndr_flags, const struct samr_DomOEMInformation *r)
621 if (ndr_flags & NDR_SCALARS) {
622 NDR_CHECK(ndr_push_align(ndr, 5));
623 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
625 if (ndr_flags & NDR_BUFFERS) {
626 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
628 return NDR_ERR_SUCCESS;
631 static enum ndr_err_code ndr_pull_samr_DomOEMInformation(struct ndr_pull *ndr, int ndr_flags, struct samr_DomOEMInformation *r)
633 if (ndr_flags & NDR_SCALARS) {
634 NDR_CHECK(ndr_pull_align(ndr, 5));
635 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->oem_information));
637 if (ndr_flags & NDR_BUFFERS) {
638 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->oem_information));
640 return NDR_ERR_SUCCESS;
643 _PUBLIC_ void ndr_print_samr_DomOEMInformation(struct ndr_print *ndr, const char *name, const struct samr_DomOEMInformation *r)
645 ndr_print_struct(ndr, name, "samr_DomOEMInformation");
646 ndr->depth++;
647 ndr_print_lsa_String(ndr, "oem_information", &r->oem_information);
648 ndr->depth--;
651 static enum ndr_err_code ndr_push_samr_DomInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo5 *r)
653 if (ndr_flags & NDR_SCALARS) {
654 NDR_CHECK(ndr_push_align(ndr, 5));
655 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
657 if (ndr_flags & NDR_BUFFERS) {
658 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
660 return NDR_ERR_SUCCESS;
663 static enum ndr_err_code ndr_pull_samr_DomInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo5 *r)
665 if (ndr_flags & NDR_SCALARS) {
666 NDR_CHECK(ndr_pull_align(ndr, 5));
667 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
669 if (ndr_flags & NDR_BUFFERS) {
670 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
672 return NDR_ERR_SUCCESS;
675 _PUBLIC_ void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r)
677 ndr_print_struct(ndr, name, "samr_DomInfo5");
678 ndr->depth++;
679 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
680 ndr->depth--;
683 static enum ndr_err_code ndr_push_samr_DomInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo6 *r)
685 if (ndr_flags & NDR_SCALARS) {
686 NDR_CHECK(ndr_push_align(ndr, 5));
687 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
689 if (ndr_flags & NDR_BUFFERS) {
690 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
692 return NDR_ERR_SUCCESS;
695 static enum ndr_err_code ndr_pull_samr_DomInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo6 *r)
697 if (ndr_flags & NDR_SCALARS) {
698 NDR_CHECK(ndr_pull_align(ndr, 5));
699 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
701 if (ndr_flags & NDR_BUFFERS) {
702 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
704 return NDR_ERR_SUCCESS;
707 _PUBLIC_ void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r)
709 ndr_print_struct(ndr, name, "samr_DomInfo6");
710 ndr->depth++;
711 ndr_print_lsa_String(ndr, "primary", &r->primary);
712 ndr->depth--;
715 static enum ndr_err_code ndr_push_samr_DomInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo7 *r)
717 if (ndr_flags & NDR_SCALARS) {
718 NDR_CHECK(ndr_push_align(ndr, 4));
719 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
721 if (ndr_flags & NDR_BUFFERS) {
723 return NDR_ERR_SUCCESS;
726 static enum ndr_err_code ndr_pull_samr_DomInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo7 *r)
728 if (ndr_flags & NDR_SCALARS) {
729 NDR_CHECK(ndr_pull_align(ndr, 4));
730 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
732 if (ndr_flags & NDR_BUFFERS) {
734 return NDR_ERR_SUCCESS;
737 _PUBLIC_ void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r)
739 ndr_print_struct(ndr, name, "samr_DomInfo7");
740 ndr->depth++;
741 ndr_print_samr_Role(ndr, "role", r->role);
742 ndr->depth--;
745 static enum ndr_err_code ndr_push_samr_DomInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo8 *r)
747 if (ndr_flags & NDR_SCALARS) {
748 NDR_CHECK(ndr_push_align(ndr, 8));
749 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
750 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
752 if (ndr_flags & NDR_BUFFERS) {
754 return NDR_ERR_SUCCESS;
757 static enum ndr_err_code ndr_pull_samr_DomInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo8 *r)
759 if (ndr_flags & NDR_SCALARS) {
760 NDR_CHECK(ndr_pull_align(ndr, 8));
761 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
762 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
764 if (ndr_flags & NDR_BUFFERS) {
766 return NDR_ERR_SUCCESS;
769 _PUBLIC_ void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r)
771 ndr_print_struct(ndr, name, "samr_DomInfo8");
772 ndr->depth++;
773 ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
774 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
775 ndr->depth--;
778 static enum ndr_err_code ndr_push_samr_DomInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo9 *r)
780 if (ndr_flags & NDR_SCALARS) {
781 NDR_CHECK(ndr_push_align(ndr, 4));
782 NDR_CHECK(ndr_push_samr_DomainServerState(ndr, NDR_SCALARS, r->domain_server_state));
784 if (ndr_flags & NDR_BUFFERS) {
786 return NDR_ERR_SUCCESS;
789 static enum ndr_err_code ndr_pull_samr_DomInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo9 *r)
791 if (ndr_flags & NDR_SCALARS) {
792 NDR_CHECK(ndr_pull_align(ndr, 4));
793 NDR_CHECK(ndr_pull_samr_DomainServerState(ndr, NDR_SCALARS, &r->domain_server_state));
795 if (ndr_flags & NDR_BUFFERS) {
797 return NDR_ERR_SUCCESS;
800 _PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r)
802 ndr_print_struct(ndr, name, "samr_DomInfo9");
803 ndr->depth++;
804 ndr_print_samr_DomainServerState(ndr, "domain_server_state", r->domain_server_state);
805 ndr->depth--;
808 static enum ndr_err_code ndr_push_samr_DomGeneralInformation2(struct ndr_push *ndr, int ndr_flags, const struct samr_DomGeneralInformation2 *r)
810 if (ndr_flags & NDR_SCALARS) {
811 NDR_CHECK(ndr_push_align(ndr, 8));
812 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
813 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
814 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
815 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
817 if (ndr_flags & NDR_BUFFERS) {
818 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
820 return NDR_ERR_SUCCESS;
823 static enum ndr_err_code ndr_pull_samr_DomGeneralInformation2(struct ndr_pull *ndr, int ndr_flags, struct samr_DomGeneralInformation2 *r)
825 if (ndr_flags & NDR_SCALARS) {
826 NDR_CHECK(ndr_pull_align(ndr, 8));
827 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
828 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
829 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
830 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
832 if (ndr_flags & NDR_BUFFERS) {
833 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
835 return NDR_ERR_SUCCESS;
838 _PUBLIC_ void ndr_print_samr_DomGeneralInformation2(struct ndr_print *ndr, const char *name, const struct samr_DomGeneralInformation2 *r)
840 ndr_print_struct(ndr, name, "samr_DomGeneralInformation2");
841 ndr->depth++;
842 ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
843 ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
844 ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
845 ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
846 ndr->depth--;
849 static enum ndr_err_code ndr_push_samr_DomInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo12 *r)
851 if (ndr_flags & NDR_SCALARS) {
852 NDR_CHECK(ndr_push_align(ndr, 8));
853 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
854 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
855 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
857 if (ndr_flags & NDR_BUFFERS) {
859 return NDR_ERR_SUCCESS;
862 static enum ndr_err_code ndr_pull_samr_DomInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo12 *r)
864 if (ndr_flags & NDR_SCALARS) {
865 NDR_CHECK(ndr_pull_align(ndr, 8));
866 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
867 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
868 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
870 if (ndr_flags & NDR_BUFFERS) {
872 return NDR_ERR_SUCCESS;
875 _PUBLIC_ void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r)
877 ndr_print_struct(ndr, name, "samr_DomInfo12");
878 ndr->depth++;
879 ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
880 ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
881 ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
882 ndr->depth--;
885 static enum ndr_err_code ndr_push_samr_DomInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo13 *r)
887 if (ndr_flags & NDR_SCALARS) {
888 NDR_CHECK(ndr_push_align(ndr, 8));
889 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
890 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
891 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_count_at_last_promotion));
893 if (ndr_flags & NDR_BUFFERS) {
895 return NDR_ERR_SUCCESS;
898 static enum ndr_err_code ndr_pull_samr_DomInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo13 *r)
900 if (ndr_flags & NDR_SCALARS) {
901 NDR_CHECK(ndr_pull_align(ndr, 8));
902 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
903 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
904 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_count_at_last_promotion));
906 if (ndr_flags & NDR_BUFFERS) {
908 return NDR_ERR_SUCCESS;
911 _PUBLIC_ void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r)
913 ndr_print_struct(ndr, name, "samr_DomInfo13");
914 ndr->depth++;
915 ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
916 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
917 ndr_print_hyper(ndr, "modified_count_at_last_promotion", r->modified_count_at_last_promotion);
918 ndr->depth--;
921 static enum ndr_err_code ndr_push_samr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DomainInfo *r)
923 if (ndr_flags & NDR_SCALARS) {
924 int level = ndr_push_get_switch_value(ndr, r);
925 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
926 NDR_CHECK(ndr_push_union_align(ndr, 8));
927 switch (level) {
928 case 1: {
929 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
930 break; }
932 case 2: {
933 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
934 break; }
936 case 3: {
937 NDR_CHECK(ndr_push_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
938 break; }
940 case 4: {
941 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
942 break; }
944 case 5: {
945 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
946 break; }
948 case 6: {
949 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
950 break; }
952 case 7: {
953 NDR_CHECK(ndr_push_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
954 break; }
956 case 8: {
957 NDR_CHECK(ndr_push_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
958 break; }
960 case 9: {
961 NDR_CHECK(ndr_push_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
962 break; }
964 case 11: {
965 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
966 break; }
968 case 12: {
969 NDR_CHECK(ndr_push_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
970 break; }
972 case 13: {
973 NDR_CHECK(ndr_push_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
974 break; }
976 default:
977 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
980 if (ndr_flags & NDR_BUFFERS) {
981 int level = ndr_push_get_switch_value(ndr, r);
982 switch (level) {
983 case 1:
984 break;
986 case 2:
987 NDR_CHECK(ndr_push_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
988 break;
990 case 3:
991 break;
993 case 4:
994 NDR_CHECK(ndr_push_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
995 break;
997 case 5:
998 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
999 break;
1001 case 6:
1002 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
1003 break;
1005 case 7:
1006 break;
1008 case 8:
1009 break;
1011 case 9:
1012 break;
1014 case 11:
1015 NDR_CHECK(ndr_push_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
1016 break;
1018 case 12:
1019 break;
1021 case 13:
1022 break;
1024 default:
1025 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1028 return NDR_ERR_SUCCESS;
1031 static enum ndr_err_code ndr_pull_samr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DomainInfo *r)
1033 int level;
1034 uint16_t _level;
1035 level = ndr_pull_get_switch_value(ndr, r);
1036 if (ndr_flags & NDR_SCALARS) {
1037 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1038 if (_level != level) {
1039 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1041 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1042 switch (level) {
1043 case 1: {
1044 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
1045 break; }
1047 case 2: {
1048 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_SCALARS, &r->general));
1049 break; }
1051 case 3: {
1052 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
1053 break; }
1055 case 4: {
1056 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_SCALARS, &r->oem));
1057 break; }
1059 case 5: {
1060 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
1061 break; }
1063 case 6: {
1064 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
1065 break; }
1067 case 7: {
1068 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
1069 break; }
1071 case 8: {
1072 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
1073 break; }
1075 case 9: {
1076 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
1077 break; }
1079 case 11: {
1080 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_SCALARS, &r->general2));
1081 break; }
1083 case 12: {
1084 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
1085 break; }
1087 case 13: {
1088 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
1089 break; }
1091 default:
1092 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1095 if (ndr_flags & NDR_BUFFERS) {
1096 switch (level) {
1097 case 1:
1098 break;
1100 case 2:
1101 NDR_CHECK(ndr_pull_samr_DomGeneralInformation(ndr, NDR_BUFFERS, &r->general));
1102 break;
1104 case 3:
1105 break;
1107 case 4:
1108 NDR_CHECK(ndr_pull_samr_DomOEMInformation(ndr, NDR_BUFFERS, &r->oem));
1109 break;
1111 case 5:
1112 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
1113 break;
1115 case 6:
1116 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
1117 break;
1119 case 7:
1120 break;
1122 case 8:
1123 break;
1125 case 9:
1126 break;
1128 case 11:
1129 NDR_CHECK(ndr_pull_samr_DomGeneralInformation2(ndr, NDR_BUFFERS, &r->general2));
1130 break;
1132 case 12:
1133 break;
1135 case 13:
1136 break;
1138 default:
1139 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1142 return NDR_ERR_SUCCESS;
1145 _PUBLIC_ void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r)
1147 int level;
1148 level = ndr_print_get_switch_value(ndr, r);
1149 ndr_print_union(ndr, name, level, "samr_DomainInfo");
1150 switch (level) {
1151 case 1:
1152 ndr_print_samr_DomInfo1(ndr, "info1", &r->info1);
1153 break;
1155 case 2:
1156 ndr_print_samr_DomGeneralInformation(ndr, "general", &r->general);
1157 break;
1159 case 3:
1160 ndr_print_samr_DomInfo3(ndr, "info3", &r->info3);
1161 break;
1163 case 4:
1164 ndr_print_samr_DomOEMInformation(ndr, "oem", &r->oem);
1165 break;
1167 case 5:
1168 ndr_print_samr_DomInfo5(ndr, "info5", &r->info5);
1169 break;
1171 case 6:
1172 ndr_print_samr_DomInfo6(ndr, "info6", &r->info6);
1173 break;
1175 case 7:
1176 ndr_print_samr_DomInfo7(ndr, "info7", &r->info7);
1177 break;
1179 case 8:
1180 ndr_print_samr_DomInfo8(ndr, "info8", &r->info8);
1181 break;
1183 case 9:
1184 ndr_print_samr_DomInfo9(ndr, "info9", &r->info9);
1185 break;
1187 case 11:
1188 ndr_print_samr_DomGeneralInformation2(ndr, "general2", &r->general2);
1189 break;
1191 case 12:
1192 ndr_print_samr_DomInfo12(ndr, "info12", &r->info12);
1193 break;
1195 case 13:
1196 ndr_print_samr_DomInfo13(ndr, "info13", &r->info13);
1197 break;
1199 default:
1200 ndr_print_bad_level(ndr, name, level);
1204 static enum ndr_err_code ndr_push_samr_Ids(struct ndr_push *ndr, int ndr_flags, const struct samr_Ids *r)
1206 uint32_t cntr_ids_1;
1207 if (ndr_flags & NDR_SCALARS) {
1208 NDR_CHECK(ndr_push_align(ndr, 5));
1209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ids));
1212 if (ndr_flags & NDR_BUFFERS) {
1213 if (r->ids) {
1214 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1215 for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
1216 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ids[cntr_ids_1]));
1220 return NDR_ERR_SUCCESS;
1223 static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags, struct samr_Ids *r)
1225 uint32_t _ptr_ids;
1226 uint32_t cntr_ids_1;
1227 TALLOC_CTX *_mem_save_ids_0;
1228 TALLOC_CTX *_mem_save_ids_1;
1229 if (ndr_flags & NDR_SCALARS) {
1230 NDR_CHECK(ndr_pull_align(ndr, 5));
1231 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1232 if (r->count > 1024) {
1233 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1235 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ids));
1236 if (_ptr_ids) {
1237 NDR_PULL_ALLOC(ndr, r->ids);
1238 } else {
1239 r->ids = NULL;
1242 if (ndr_flags & NDR_BUFFERS) {
1243 if (r->ids) {
1244 _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1245 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1246 NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
1247 NDR_PULL_ALLOC_N(ndr, r->ids, ndr_get_array_size(ndr, &r->ids));
1248 _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1249 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1250 for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
1251 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1]));
1253 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_1, 0);
1254 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
1256 if (r->ids) {
1257 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->ids, r->count));
1260 return NDR_ERR_SUCCESS;
1263 _PUBLIC_ void ndr_print_samr_Ids(struct ndr_print *ndr, const char *name, const struct samr_Ids *r)
1265 uint32_t cntr_ids_1;
1266 ndr_print_struct(ndr, name, "samr_Ids");
1267 ndr->depth++;
1268 ndr_print_uint32(ndr, "count", r->count);
1269 ndr_print_ptr(ndr, "ids", r->ids);
1270 ndr->depth++;
1271 if (r->ids) {
1272 ndr->print(ndr, "%s: ARRAY(%d)", "ids", (int)r->count);
1273 ndr->depth++;
1274 for (cntr_ids_1=0;cntr_ids_1<r->count;cntr_ids_1++) {
1275 char *idx_1=NULL;
1276 if (asprintf(&idx_1, "[%d]", cntr_ids_1) != -1) {
1277 ndr_print_uint32(ndr, "ids", r->ids[cntr_ids_1]);
1278 free(idx_1);
1281 ndr->depth--;
1283 ndr->depth--;
1284 ndr->depth--;
1287 _PUBLIC_ enum ndr_err_code ndr_push_samr_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1289 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1290 return NDR_ERR_SUCCESS;
1293 _PUBLIC_ enum ndr_err_code ndr_pull_samr_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1295 uint32_t v;
1296 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1297 *r = v;
1298 return NDR_ERR_SUCCESS;
1301 _PUBLIC_ void ndr_print_samr_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
1303 ndr_print_uint32(ndr, name, r);
1304 ndr->depth++;
1305 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
1306 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
1307 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
1308 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
1309 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
1310 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
1311 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
1312 ndr->depth--;
1315 static enum ndr_err_code ndr_push_samr_GroupInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAll *r)
1317 if (ndr_flags & NDR_SCALARS) {
1318 NDR_CHECK(ndr_push_align(ndr, 5));
1319 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1320 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1321 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1322 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1324 if (ndr_flags & NDR_BUFFERS) {
1325 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1326 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1328 return NDR_ERR_SUCCESS;
1331 static enum ndr_err_code ndr_pull_samr_GroupInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAll *r)
1333 if (ndr_flags & NDR_SCALARS) {
1334 NDR_CHECK(ndr_pull_align(ndr, 5));
1335 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1336 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1337 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1338 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1340 if (ndr_flags & NDR_BUFFERS) {
1341 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1342 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1344 return NDR_ERR_SUCCESS;
1347 _PUBLIC_ void ndr_print_samr_GroupInfoAll(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAll *r)
1349 ndr_print_struct(ndr, name, "samr_GroupInfoAll");
1350 ndr->depth++;
1351 ndr_print_lsa_String(ndr, "name", &r->name);
1352 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1353 ndr_print_uint32(ndr, "num_members", r->num_members);
1354 ndr_print_lsa_String(ndr, "description", &r->description);
1355 ndr->depth--;
1358 static enum ndr_err_code ndr_push_samr_GroupInfoAttributes(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAttributes *r)
1360 if (ndr_flags & NDR_SCALARS) {
1361 NDR_CHECK(ndr_push_align(ndr, 4));
1362 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1364 if (ndr_flags & NDR_BUFFERS) {
1366 return NDR_ERR_SUCCESS;
1369 static enum ndr_err_code ndr_pull_samr_GroupInfoAttributes(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAttributes *r)
1371 if (ndr_flags & NDR_SCALARS) {
1372 NDR_CHECK(ndr_pull_align(ndr, 4));
1373 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1375 if (ndr_flags & NDR_BUFFERS) {
1377 return NDR_ERR_SUCCESS;
1380 _PUBLIC_ void ndr_print_samr_GroupInfoAttributes(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAttributes *r)
1382 ndr_print_struct(ndr, name, "samr_GroupInfoAttributes");
1383 ndr->depth++;
1384 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1385 ndr->depth--;
1388 static enum ndr_err_code ndr_push_samr_GroupInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_GroupInfoEnum r)
1390 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1391 return NDR_ERR_SUCCESS;
1394 static enum ndr_err_code ndr_pull_samr_GroupInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_GroupInfoEnum *r)
1396 uint16_t v;
1397 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1398 *r = v;
1399 return NDR_ERR_SUCCESS;
1402 _PUBLIC_ void ndr_print_samr_GroupInfoEnum(struct ndr_print *ndr, const char *name, enum samr_GroupInfoEnum r)
1404 const char *val = NULL;
1406 switch (r) {
1407 case GROUPINFOALL: val = "GROUPINFOALL"; break;
1408 case GROUPINFONAME: val = "GROUPINFONAME"; break;
1409 case GROUPINFOATTRIBUTES: val = "GROUPINFOATTRIBUTES"; break;
1410 case GROUPINFODESCRIPTION: val = "GROUPINFODESCRIPTION"; break;
1411 case GROUPINFOALL2: val = "GROUPINFOALL2"; break;
1413 ndr_print_enum(ndr, name, "ENUM", val, r);
1416 static enum ndr_err_code ndr_push_samr_GroupInfo(struct ndr_push *ndr, int ndr_flags, const union samr_GroupInfo *r)
1418 if (ndr_flags & NDR_SCALARS) {
1419 int level = ndr_push_get_switch_value(ndr, r);
1420 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, level));
1421 NDR_CHECK(ndr_push_union_align(ndr, 5));
1422 switch (level) {
1423 case GROUPINFOALL: {
1424 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1425 break; }
1427 case GROUPINFONAME: {
1428 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1429 break; }
1431 case GROUPINFOATTRIBUTES: {
1432 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1433 break; }
1435 case GROUPINFODESCRIPTION: {
1436 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1437 break; }
1439 case GROUPINFOALL2: {
1440 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1441 break; }
1443 default:
1444 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1447 if (ndr_flags & NDR_BUFFERS) {
1448 int level = ndr_push_get_switch_value(ndr, r);
1449 switch (level) {
1450 case GROUPINFOALL:
1451 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1452 break;
1454 case GROUPINFONAME:
1455 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1456 break;
1458 case GROUPINFOATTRIBUTES:
1459 break;
1461 case GROUPINFODESCRIPTION:
1462 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1463 break;
1465 case GROUPINFOALL2:
1466 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1467 break;
1469 default:
1470 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1473 return NDR_ERR_SUCCESS;
1476 static enum ndr_err_code ndr_pull_samr_GroupInfo(struct ndr_pull *ndr, int ndr_flags, union samr_GroupInfo *r)
1478 int level;
1479 uint16_t _level;
1480 level = ndr_pull_get_switch_value(ndr, r);
1481 if (ndr_flags & NDR_SCALARS) {
1482 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1483 if (_level != level) {
1484 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1486 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1487 switch (level) {
1488 case GROUPINFOALL: {
1489 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1490 break; }
1492 case GROUPINFONAME: {
1493 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1494 break; }
1496 case GROUPINFOATTRIBUTES: {
1497 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1498 break; }
1500 case GROUPINFODESCRIPTION: {
1501 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1502 break; }
1504 case GROUPINFOALL2: {
1505 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1506 break; }
1508 default:
1509 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1512 if (ndr_flags & NDR_BUFFERS) {
1513 switch (level) {
1514 case GROUPINFOALL:
1515 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1516 break;
1518 case GROUPINFONAME:
1519 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1520 break;
1522 case GROUPINFOATTRIBUTES:
1523 break;
1525 case GROUPINFODESCRIPTION:
1526 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1527 break;
1529 case GROUPINFOALL2:
1530 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1531 break;
1533 default:
1534 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1537 return NDR_ERR_SUCCESS;
1540 _PUBLIC_ void ndr_print_samr_GroupInfo(struct ndr_print *ndr, const char *name, const union samr_GroupInfo *r)
1542 int level;
1543 level = ndr_print_get_switch_value(ndr, r);
1544 ndr_print_union(ndr, name, level, "samr_GroupInfo");
1545 switch (level) {
1546 case GROUPINFOALL:
1547 ndr_print_samr_GroupInfoAll(ndr, "all", &r->all);
1548 break;
1550 case GROUPINFONAME:
1551 ndr_print_lsa_String(ndr, "name", &r->name);
1552 break;
1554 case GROUPINFOATTRIBUTES:
1555 ndr_print_samr_GroupInfoAttributes(ndr, "attributes", &r->attributes);
1556 break;
1558 case GROUPINFODESCRIPTION:
1559 ndr_print_lsa_String(ndr, "description", &r->description);
1560 break;
1562 case GROUPINFOALL2:
1563 ndr_print_samr_GroupInfoAll(ndr, "all2", &r->all2);
1564 break;
1566 default:
1567 ndr_print_bad_level(ndr, name, level);
1571 static enum ndr_err_code ndr_push_samr_RidTypeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidTypeArray *r)
1573 uint32_t cntr_rids_1;
1574 uint32_t cntr_types_1;
1575 if (ndr_flags & NDR_SCALARS) {
1576 NDR_CHECK(ndr_push_align(ndr, 5));
1577 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1578 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
1579 NDR_CHECK(ndr_push_unique_ptr(ndr, r->types));
1581 if (ndr_flags & NDR_BUFFERS) {
1582 if (r->rids) {
1583 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1584 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
1585 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
1588 if (r->types) {
1589 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1590 for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
1591 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->types[cntr_types_1]));
1595 return NDR_ERR_SUCCESS;
1598 static enum ndr_err_code ndr_pull_samr_RidTypeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidTypeArray *r)
1600 uint32_t _ptr_rids;
1601 uint32_t cntr_rids_1;
1602 TALLOC_CTX *_mem_save_rids_0;
1603 TALLOC_CTX *_mem_save_rids_1;
1604 uint32_t _ptr_types;
1605 uint32_t cntr_types_1;
1606 TALLOC_CTX *_mem_save_types_0;
1607 TALLOC_CTX *_mem_save_types_1;
1608 if (ndr_flags & NDR_SCALARS) {
1609 NDR_CHECK(ndr_pull_align(ndr, 5));
1610 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1611 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
1612 if (_ptr_rids) {
1613 NDR_PULL_ALLOC(ndr, r->rids);
1614 } else {
1615 r->rids = NULL;
1617 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_types));
1618 if (_ptr_types) {
1619 NDR_PULL_ALLOC(ndr, r->types);
1620 } else {
1621 r->types = NULL;
1624 if (ndr_flags & NDR_BUFFERS) {
1625 if (r->rids) {
1626 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1627 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1628 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
1629 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
1630 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1631 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1632 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
1633 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
1635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
1636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
1638 if (r->types) {
1639 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
1640 NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
1641 NDR_CHECK(ndr_pull_array_size(ndr, &r->types));
1642 NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types));
1643 _mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr);
1644 NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
1645 for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
1646 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
1648 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0);
1649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, 0);
1651 if (r->rids) {
1652 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
1654 if (r->types) {
1655 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->types, r->count));
1658 return NDR_ERR_SUCCESS;
1661 _PUBLIC_ void ndr_print_samr_RidTypeArray(struct ndr_print *ndr, const char *name, const struct samr_RidTypeArray *r)
1663 uint32_t cntr_rids_1;
1664 uint32_t cntr_types_1;
1665 ndr_print_struct(ndr, name, "samr_RidTypeArray");
1666 ndr->depth++;
1667 ndr_print_uint32(ndr, "count", r->count);
1668 ndr_print_ptr(ndr, "rids", r->rids);
1669 ndr->depth++;
1670 if (r->rids) {
1671 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
1672 ndr->depth++;
1673 for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
1674 char *idx_1=NULL;
1675 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
1676 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
1677 free(idx_1);
1680 ndr->depth--;
1682 ndr->depth--;
1683 ndr_print_ptr(ndr, "types", r->types);
1684 ndr->depth++;
1685 if (r->types) {
1686 ndr->print(ndr, "%s: ARRAY(%d)", "types", (int)r->count);
1687 ndr->depth++;
1688 for (cntr_types_1=0;cntr_types_1<r->count;cntr_types_1++) {
1689 char *idx_1=NULL;
1690 if (asprintf(&idx_1, "[%d]", cntr_types_1) != -1) {
1691 ndr_print_uint32(ndr, "types", r->types[cntr_types_1]);
1692 free(idx_1);
1695 ndr->depth--;
1697 ndr->depth--;
1698 ndr->depth--;
1701 static enum ndr_err_code ndr_push_samr_AliasInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_AliasInfoAll *r)
1703 if (ndr_flags & NDR_SCALARS) {
1704 NDR_CHECK(ndr_push_align(ndr, 5));
1705 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1706 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1707 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1709 if (ndr_flags & NDR_BUFFERS) {
1710 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1711 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1713 return NDR_ERR_SUCCESS;
1716 static enum ndr_err_code ndr_pull_samr_AliasInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_AliasInfoAll *r)
1718 if (ndr_flags & NDR_SCALARS) {
1719 NDR_CHECK(ndr_pull_align(ndr, 5));
1720 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1721 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1722 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1724 if (ndr_flags & NDR_BUFFERS) {
1725 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1726 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1728 return NDR_ERR_SUCCESS;
1731 _PUBLIC_ void ndr_print_samr_AliasInfoAll(struct ndr_print *ndr, const char *name, const struct samr_AliasInfoAll *r)
1733 ndr_print_struct(ndr, name, "samr_AliasInfoAll");
1734 ndr->depth++;
1735 ndr_print_lsa_String(ndr, "name", &r->name);
1736 ndr_print_uint32(ndr, "num_members", r->num_members);
1737 ndr_print_lsa_String(ndr, "description", &r->description);
1738 ndr->depth--;
1741 static enum ndr_err_code ndr_push_samr_AliasInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_AliasInfoEnum r)
1743 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1744 return NDR_ERR_SUCCESS;
1747 static enum ndr_err_code ndr_pull_samr_AliasInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_AliasInfoEnum *r)
1749 uint16_t v;
1750 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1751 *r = v;
1752 return NDR_ERR_SUCCESS;
1755 _PUBLIC_ void ndr_print_samr_AliasInfoEnum(struct ndr_print *ndr, const char *name, enum samr_AliasInfoEnum r)
1757 const char *val = NULL;
1759 switch (r) {
1760 case ALIASINFOALL: val = "ALIASINFOALL"; break;
1761 case ALIASINFONAME: val = "ALIASINFONAME"; break;
1762 case ALIASINFODESCRIPTION: val = "ALIASINFODESCRIPTION"; break;
1764 ndr_print_enum(ndr, name, "ENUM", val, r);
1767 static enum ndr_err_code ndr_push_samr_AliasInfo(struct ndr_push *ndr, int ndr_flags, const union samr_AliasInfo *r)
1769 if (ndr_flags & NDR_SCALARS) {
1770 int level = ndr_push_get_switch_value(ndr, r);
1771 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, level));
1772 NDR_CHECK(ndr_push_union_align(ndr, 5));
1773 switch (level) {
1774 case ALIASINFOALL: {
1775 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1776 break; }
1778 case ALIASINFONAME: {
1779 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1780 break; }
1782 case ALIASINFODESCRIPTION: {
1783 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1784 break; }
1786 default:
1787 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1790 if (ndr_flags & NDR_BUFFERS) {
1791 int level = ndr_push_get_switch_value(ndr, r);
1792 switch (level) {
1793 case ALIASINFOALL:
1794 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1795 break;
1797 case ALIASINFONAME:
1798 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1799 break;
1801 case ALIASINFODESCRIPTION:
1802 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1803 break;
1805 default:
1806 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1809 return NDR_ERR_SUCCESS;
1812 static enum ndr_err_code ndr_pull_samr_AliasInfo(struct ndr_pull *ndr, int ndr_flags, union samr_AliasInfo *r)
1814 int level;
1815 uint16_t _level;
1816 level = ndr_pull_get_switch_value(ndr, r);
1817 if (ndr_flags & NDR_SCALARS) {
1818 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1819 if (_level != level) {
1820 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1822 NDR_CHECK(ndr_pull_union_align(ndr, 5));
1823 switch (level) {
1824 case ALIASINFOALL: {
1825 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1826 break; }
1828 case ALIASINFONAME: {
1829 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1830 break; }
1832 case ALIASINFODESCRIPTION: {
1833 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1834 break; }
1836 default:
1837 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1840 if (ndr_flags & NDR_BUFFERS) {
1841 switch (level) {
1842 case ALIASINFOALL:
1843 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1844 break;
1846 case ALIASINFONAME:
1847 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1848 break;
1850 case ALIASINFODESCRIPTION:
1851 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1852 break;
1854 default:
1855 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1858 return NDR_ERR_SUCCESS;
1861 _PUBLIC_ void ndr_print_samr_AliasInfo(struct ndr_print *ndr, const char *name, const union samr_AliasInfo *r)
1863 int level;
1864 level = ndr_print_get_switch_value(ndr, r);
1865 ndr_print_union(ndr, name, level, "samr_AliasInfo");
1866 switch (level) {
1867 case ALIASINFOALL:
1868 ndr_print_samr_AliasInfoAll(ndr, "all", &r->all);
1869 break;
1871 case ALIASINFONAME:
1872 ndr_print_lsa_String(ndr, "name", &r->name);
1873 break;
1875 case ALIASINFODESCRIPTION:
1876 ndr_print_lsa_String(ndr, "description", &r->description);
1877 break;
1879 default:
1880 ndr_print_bad_level(ndr, name, level);
1884 static enum ndr_err_code ndr_push_samr_UserInfoLevel(struct ndr_push *ndr, int ndr_flags, enum samr_UserInfoLevel r)
1886 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
1887 return NDR_ERR_SUCCESS;
1890 static enum ndr_err_code ndr_pull_samr_UserInfoLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_UserInfoLevel *r)
1892 uint16_t v;
1893 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
1894 *r = v;
1895 return NDR_ERR_SUCCESS;
1898 _PUBLIC_ void ndr_print_samr_UserInfoLevel(struct ndr_print *ndr, const char *name, enum samr_UserInfoLevel r)
1900 const char *val = NULL;
1902 switch (r) {
1903 case UserGeneralInformation: val = "UserGeneralInformation"; break;
1904 case UserPreferencesInformation: val = "UserPreferencesInformation"; break;
1905 case UserLogonInformation: val = "UserLogonInformation"; break;
1906 case UserLogonHoursInformation: val = "UserLogonHoursInformation"; break;
1907 case UserAccountInformation: val = "UserAccountInformation"; break;
1908 case UserNameInformation: val = "UserNameInformation"; break;
1909 case UserAccountNameInformation: val = "UserAccountNameInformation"; break;
1910 case UserFullNameInformation: val = "UserFullNameInformation"; break;
1911 case UserPrimaryGroupInformation: val = "UserPrimaryGroupInformation"; break;
1912 case UserHomeInformation: val = "UserHomeInformation"; break;
1913 case UserScriptInformation: val = "UserScriptInformation"; break;
1914 case UserProfileInformation: val = "UserProfileInformation"; break;
1915 case UserAdminCommentInformation: val = "UserAdminCommentInformation"; break;
1916 case UserWorkStationsInformation: val = "UserWorkStationsInformation"; break;
1917 case UserControlInformation: val = "UserControlInformation"; break;
1918 case UserExpiresInformation: val = "UserExpiresInformation"; break;
1919 case UserInternal1Information: val = "UserInternal1Information"; break;
1920 case UserParametersInformation: val = "UserParametersInformation"; break;
1921 case UserAllInformation: val = "UserAllInformation"; break;
1922 case UserInternal4Information: val = "UserInternal4Information"; break;
1923 case UserInternal5Information: val = "UserInternal5Information"; break;
1924 case UserInternal4InformationNew: val = "UserInternal4InformationNew"; break;
1925 case UserInternal5InformationNew: val = "UserInternal5InformationNew"; break;
1927 ndr_print_enum(ndr, name, "ENUM", val, r);
1930 static enum ndr_err_code ndr_push_samr_UserInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo1 *r)
1932 if (ndr_flags & NDR_SCALARS) {
1933 NDR_CHECK(ndr_push_align(ndr, 5));
1934 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1935 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1936 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1937 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1938 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
1940 if (ndr_flags & NDR_BUFFERS) {
1941 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1942 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1943 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1944 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1946 return NDR_ERR_SUCCESS;
1949 static enum ndr_err_code ndr_pull_samr_UserInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo1 *r)
1951 if (ndr_flags & NDR_SCALARS) {
1952 NDR_CHECK(ndr_pull_align(ndr, 5));
1953 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1954 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1955 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1956 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1957 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
1959 if (ndr_flags & NDR_BUFFERS) {
1960 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1961 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1962 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1963 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1965 return NDR_ERR_SUCCESS;
1968 _PUBLIC_ void ndr_print_samr_UserInfo1(struct ndr_print *ndr, const char *name, const struct samr_UserInfo1 *r)
1970 ndr_print_struct(ndr, name, "samr_UserInfo1");
1971 ndr->depth++;
1972 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1973 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1974 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1975 ndr_print_lsa_String(ndr, "description", &r->description);
1976 ndr_print_lsa_String(ndr, "comment", &r->comment);
1977 ndr->depth--;
1980 static enum ndr_err_code ndr_push_samr_UserInfo2(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo2 *r)
1982 if (ndr_flags & NDR_SCALARS) {
1983 NDR_CHECK(ndr_push_align(ndr, 5));
1984 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
1985 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown));
1986 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
1987 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
1989 if (ndr_flags & NDR_BUFFERS) {
1990 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1991 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown));
1993 return NDR_ERR_SUCCESS;
1996 static enum ndr_err_code ndr_pull_samr_UserInfo2(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo2 *r)
1998 if (ndr_flags & NDR_SCALARS) {
1999 NDR_CHECK(ndr_pull_align(ndr, 5));
2000 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2001 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown));
2002 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2003 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2005 if (ndr_flags & NDR_BUFFERS) {
2006 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2007 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown));
2009 return NDR_ERR_SUCCESS;
2012 _PUBLIC_ void ndr_print_samr_UserInfo2(struct ndr_print *ndr, const char *name, const struct samr_UserInfo2 *r)
2014 ndr_print_struct(ndr, name, "samr_UserInfo2");
2015 ndr->depth++;
2016 ndr_print_lsa_String(ndr, "comment", &r->comment);
2017 ndr_print_lsa_String(ndr, "unknown", &r->unknown);
2018 ndr_print_uint16(ndr, "country_code", r->country_code);
2019 ndr_print_uint16(ndr, "code_page", r->code_page);
2020 ndr->depth--;
2023 _PUBLIC_ enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct samr_LogonHours *r)
2026 uint32_t _flags_save_STRUCT = ndr->flags;
2027 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2028 if (ndr_flags & NDR_SCALARS) {
2029 NDR_CHECK(ndr_push_align(ndr, 5));
2030 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->units_per_week));
2031 NDR_CHECK(ndr_push_unique_ptr(ndr, r->bits));
2033 if (ndr_flags & NDR_BUFFERS) {
2034 if (r->bits) {
2035 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1260));
2036 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2037 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->units_per_week / 8));
2038 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->bits, r->units_per_week / 8));
2041 ndr->flags = _flags_save_STRUCT;
2043 return NDR_ERR_SUCCESS;
2046 _PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r)
2048 uint32_t _ptr_bits;
2049 TALLOC_CTX *_mem_save_bits_0;
2051 uint32_t _flags_save_STRUCT = ndr->flags;
2052 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2053 if (ndr_flags & NDR_SCALARS) {
2054 NDR_CHECK(ndr_pull_align(ndr, 5));
2055 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->units_per_week));
2056 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bits));
2057 if (_ptr_bits) {
2058 NDR_PULL_ALLOC(ndr, r->bits);
2059 } else {
2060 r->bits = NULL;
2063 if (ndr_flags & NDR_BUFFERS) {
2064 if (r->bits) {
2065 _mem_save_bits_0 = NDR_PULL_GET_MEM_CTX(ndr);
2066 NDR_PULL_SET_MEM_CTX(ndr, r->bits, 0);
2067 NDR_CHECK(ndr_pull_array_size(ndr, &r->bits));
2068 NDR_CHECK(ndr_pull_array_length(ndr, &r->bits));
2069 if (ndr_get_array_length(ndr, &r->bits) > ndr_get_array_size(ndr, &r->bits)) {
2070 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));
2072 NDR_PULL_ALLOC_N(ndr, r->bits, ndr_get_array_size(ndr, &r->bits));
2073 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, ndr_get_array_length(ndr, &r->bits)));
2074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0);
2076 if (r->bits) {
2077 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->bits, 1260));
2079 if (r->bits) {
2080 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->bits, r->units_per_week / 8));
2083 ndr->flags = _flags_save_STRUCT;
2085 return NDR_ERR_SUCCESS;
2088 _PUBLIC_ void ndr_print_samr_LogonHours(struct ndr_print *ndr, const char *name, const struct samr_LogonHours *r)
2090 ndr_print_struct(ndr, name, "samr_LogonHours");
2092 uint32_t _flags_save_STRUCT = ndr->flags;
2093 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2094 ndr->depth++;
2095 ndr_print_uint16(ndr, "units_per_week", r->units_per_week);
2096 ndr_print_ptr(ndr, "bits", r->bits);
2097 ndr->depth++;
2098 if (r->bits) {
2099 ndr_print_array_uint8(ndr, "bits", r->bits, r->units_per_week / 8);
2101 ndr->depth--;
2102 ndr->depth--;
2103 ndr->flags = _flags_save_STRUCT;
2107 static enum ndr_err_code ndr_push_samr_UserInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo3 *r)
2109 if (ndr_flags & NDR_SCALARS) {
2110 NDR_CHECK(ndr_push_align(ndr, 5));
2111 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2112 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2113 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2114 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2115 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2116 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2117 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2118 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2119 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2120 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2121 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2122 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2123 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
2124 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
2125 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2126 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2127 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2128 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2130 if (ndr_flags & NDR_BUFFERS) {
2131 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2132 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2133 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2134 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2135 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2136 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2137 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2138 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2140 return NDR_ERR_SUCCESS;
2143 static enum ndr_err_code ndr_pull_samr_UserInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo3 *r)
2145 if (ndr_flags & NDR_SCALARS) {
2146 NDR_CHECK(ndr_pull_align(ndr, 5));
2147 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2148 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2150 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2151 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2152 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2153 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2154 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2155 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2156 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2157 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2158 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2159 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
2160 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
2161 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2162 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2163 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2164 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2166 if (ndr_flags & NDR_BUFFERS) {
2167 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2168 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2169 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2170 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2171 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2172 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2173 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2174 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2176 return NDR_ERR_SUCCESS;
2179 _PUBLIC_ void ndr_print_samr_UserInfo3(struct ndr_print *ndr, const char *name, const struct samr_UserInfo3 *r)
2181 ndr_print_struct(ndr, name, "samr_UserInfo3");
2182 ndr->depth++;
2183 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2184 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2185 ndr_print_uint32(ndr, "rid", r->rid);
2186 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2187 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2188 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2189 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2190 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2191 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2192 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2193 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2194 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2195 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
2196 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
2197 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2198 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2199 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2200 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2201 ndr->depth--;
2204 static enum ndr_err_code ndr_push_samr_UserInfo4(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo4 *r)
2206 if (ndr_flags & NDR_SCALARS) {
2207 NDR_CHECK(ndr_push_align(ndr, 5));
2208 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2210 if (ndr_flags & NDR_BUFFERS) {
2211 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2213 return NDR_ERR_SUCCESS;
2216 static enum ndr_err_code ndr_pull_samr_UserInfo4(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo4 *r)
2218 if (ndr_flags & NDR_SCALARS) {
2219 NDR_CHECK(ndr_pull_align(ndr, 5));
2220 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2222 if (ndr_flags & NDR_BUFFERS) {
2223 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2225 return NDR_ERR_SUCCESS;
2228 _PUBLIC_ void ndr_print_samr_UserInfo4(struct ndr_print *ndr, const char *name, const struct samr_UserInfo4 *r)
2230 ndr_print_struct(ndr, name, "samr_UserInfo4");
2231 ndr->depth++;
2232 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2233 ndr->depth--;
2236 static enum ndr_err_code ndr_push_samr_UserInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo5 *r)
2238 if (ndr_flags & NDR_SCALARS) {
2239 NDR_CHECK(ndr_push_align(ndr, 5));
2240 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2241 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2242 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2244 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2245 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2246 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2247 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2248 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2249 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2250 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2251 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2252 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2253 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2254 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2255 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2256 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2257 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2259 if (ndr_flags & NDR_BUFFERS) {
2260 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2261 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2262 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2263 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2264 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2265 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2266 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2267 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2268 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2270 return NDR_ERR_SUCCESS;
2273 static enum ndr_err_code ndr_pull_samr_UserInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo5 *r)
2275 if (ndr_flags & NDR_SCALARS) {
2276 NDR_CHECK(ndr_pull_align(ndr, 5));
2277 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2278 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2279 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2280 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2281 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2282 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2283 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2284 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2285 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2286 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2287 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2288 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2289 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2290 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2291 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2292 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2293 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2294 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2296 if (ndr_flags & NDR_BUFFERS) {
2297 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2298 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2299 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2300 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2301 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2302 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2303 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2304 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2305 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2307 return NDR_ERR_SUCCESS;
2310 _PUBLIC_ void ndr_print_samr_UserInfo5(struct ndr_print *ndr, const char *name, const struct samr_UserInfo5 *r)
2312 ndr_print_struct(ndr, name, "samr_UserInfo5");
2313 ndr->depth++;
2314 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2315 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2316 ndr_print_uint32(ndr, "rid", r->rid);
2317 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2318 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2319 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2320 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2321 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2322 ndr_print_lsa_String(ndr, "description", &r->description);
2323 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2324 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2325 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2326 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2327 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2328 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2329 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2330 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2331 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2332 ndr->depth--;
2335 static enum ndr_err_code ndr_push_samr_UserInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo6 *r)
2337 if (ndr_flags & NDR_SCALARS) {
2338 NDR_CHECK(ndr_push_align(ndr, 5));
2339 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2340 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2342 if (ndr_flags & NDR_BUFFERS) {
2343 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2344 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2346 return NDR_ERR_SUCCESS;
2349 static enum ndr_err_code ndr_pull_samr_UserInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo6 *r)
2351 if (ndr_flags & NDR_SCALARS) {
2352 NDR_CHECK(ndr_pull_align(ndr, 5));
2353 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2354 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2356 if (ndr_flags & NDR_BUFFERS) {
2357 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2358 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2360 return NDR_ERR_SUCCESS;
2363 _PUBLIC_ void ndr_print_samr_UserInfo6(struct ndr_print *ndr, const char *name, const struct samr_UserInfo6 *r)
2365 ndr_print_struct(ndr, name, "samr_UserInfo6");
2366 ndr->depth++;
2367 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2368 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2369 ndr->depth--;
2372 static enum ndr_err_code ndr_push_samr_UserInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo7 *r)
2374 if (ndr_flags & NDR_SCALARS) {
2375 NDR_CHECK(ndr_push_align(ndr, 5));
2376 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2378 if (ndr_flags & NDR_BUFFERS) {
2379 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2381 return NDR_ERR_SUCCESS;
2384 static enum ndr_err_code ndr_pull_samr_UserInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo7 *r)
2386 if (ndr_flags & NDR_SCALARS) {
2387 NDR_CHECK(ndr_pull_align(ndr, 5));
2388 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2390 if (ndr_flags & NDR_BUFFERS) {
2391 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2393 return NDR_ERR_SUCCESS;
2396 _PUBLIC_ void ndr_print_samr_UserInfo7(struct ndr_print *ndr, const char *name, const struct samr_UserInfo7 *r)
2398 ndr_print_struct(ndr, name, "samr_UserInfo7");
2399 ndr->depth++;
2400 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2401 ndr->depth--;
2404 static enum ndr_err_code ndr_push_samr_UserInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo8 *r)
2406 if (ndr_flags & NDR_SCALARS) {
2407 NDR_CHECK(ndr_push_align(ndr, 5));
2408 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2410 if (ndr_flags & NDR_BUFFERS) {
2411 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2413 return NDR_ERR_SUCCESS;
2416 static enum ndr_err_code ndr_pull_samr_UserInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo8 *r)
2418 if (ndr_flags & NDR_SCALARS) {
2419 NDR_CHECK(ndr_pull_align(ndr, 5));
2420 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2422 if (ndr_flags & NDR_BUFFERS) {
2423 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2425 return NDR_ERR_SUCCESS;
2428 _PUBLIC_ void ndr_print_samr_UserInfo8(struct ndr_print *ndr, const char *name, const struct samr_UserInfo8 *r)
2430 ndr_print_struct(ndr, name, "samr_UserInfo8");
2431 ndr->depth++;
2432 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2433 ndr->depth--;
2436 static enum ndr_err_code ndr_push_samr_UserInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo9 *r)
2438 if (ndr_flags & NDR_SCALARS) {
2439 NDR_CHECK(ndr_push_align(ndr, 4));
2440 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2442 if (ndr_flags & NDR_BUFFERS) {
2444 return NDR_ERR_SUCCESS;
2447 static enum ndr_err_code ndr_pull_samr_UserInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo9 *r)
2449 if (ndr_flags & NDR_SCALARS) {
2450 NDR_CHECK(ndr_pull_align(ndr, 4));
2451 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2453 if (ndr_flags & NDR_BUFFERS) {
2455 return NDR_ERR_SUCCESS;
2458 _PUBLIC_ void ndr_print_samr_UserInfo9(struct ndr_print *ndr, const char *name, const struct samr_UserInfo9 *r)
2460 ndr_print_struct(ndr, name, "samr_UserInfo9");
2461 ndr->depth++;
2462 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2463 ndr->depth--;
2466 static enum ndr_err_code ndr_push_samr_UserInfo10(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo10 *r)
2468 if (ndr_flags & NDR_SCALARS) {
2469 NDR_CHECK(ndr_push_align(ndr, 5));
2470 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2471 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2473 if (ndr_flags & NDR_BUFFERS) {
2474 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2475 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2477 return NDR_ERR_SUCCESS;
2480 static enum ndr_err_code ndr_pull_samr_UserInfo10(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo10 *r)
2482 if (ndr_flags & NDR_SCALARS) {
2483 NDR_CHECK(ndr_pull_align(ndr, 5));
2484 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2485 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2487 if (ndr_flags & NDR_BUFFERS) {
2488 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2489 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2491 return NDR_ERR_SUCCESS;
2494 _PUBLIC_ void ndr_print_samr_UserInfo10(struct ndr_print *ndr, const char *name, const struct samr_UserInfo10 *r)
2496 ndr_print_struct(ndr, name, "samr_UserInfo10");
2497 ndr->depth++;
2498 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2499 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2500 ndr->depth--;
2503 static enum ndr_err_code ndr_push_samr_UserInfo11(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo11 *r)
2505 if (ndr_flags & NDR_SCALARS) {
2506 NDR_CHECK(ndr_push_align(ndr, 5));
2507 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2509 if (ndr_flags & NDR_BUFFERS) {
2510 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2512 return NDR_ERR_SUCCESS;
2515 static enum ndr_err_code ndr_pull_samr_UserInfo11(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo11 *r)
2517 if (ndr_flags & NDR_SCALARS) {
2518 NDR_CHECK(ndr_pull_align(ndr, 5));
2519 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2521 if (ndr_flags & NDR_BUFFERS) {
2522 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2524 return NDR_ERR_SUCCESS;
2527 _PUBLIC_ void ndr_print_samr_UserInfo11(struct ndr_print *ndr, const char *name, const struct samr_UserInfo11 *r)
2529 ndr_print_struct(ndr, name, "samr_UserInfo11");
2530 ndr->depth++;
2531 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2532 ndr->depth--;
2535 static enum ndr_err_code ndr_push_samr_UserInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo12 *r)
2537 if (ndr_flags & NDR_SCALARS) {
2538 NDR_CHECK(ndr_push_align(ndr, 5));
2539 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2541 if (ndr_flags & NDR_BUFFERS) {
2542 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2544 return NDR_ERR_SUCCESS;
2547 static enum ndr_err_code ndr_pull_samr_UserInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo12 *r)
2549 if (ndr_flags & NDR_SCALARS) {
2550 NDR_CHECK(ndr_pull_align(ndr, 5));
2551 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2553 if (ndr_flags & NDR_BUFFERS) {
2554 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2556 return NDR_ERR_SUCCESS;
2559 _PUBLIC_ void ndr_print_samr_UserInfo12(struct ndr_print *ndr, const char *name, const struct samr_UserInfo12 *r)
2561 ndr_print_struct(ndr, name, "samr_UserInfo12");
2562 ndr->depth++;
2563 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2564 ndr->depth--;
2567 static enum ndr_err_code ndr_push_samr_UserInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo13 *r)
2569 if (ndr_flags & NDR_SCALARS) {
2570 NDR_CHECK(ndr_push_align(ndr, 5));
2571 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2573 if (ndr_flags & NDR_BUFFERS) {
2574 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2576 return NDR_ERR_SUCCESS;
2579 static enum ndr_err_code ndr_pull_samr_UserInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo13 *r)
2581 if (ndr_flags & NDR_SCALARS) {
2582 NDR_CHECK(ndr_pull_align(ndr, 5));
2583 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2585 if (ndr_flags & NDR_BUFFERS) {
2586 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2588 return NDR_ERR_SUCCESS;
2591 _PUBLIC_ void ndr_print_samr_UserInfo13(struct ndr_print *ndr, const char *name, const struct samr_UserInfo13 *r)
2593 ndr_print_struct(ndr, name, "samr_UserInfo13");
2594 ndr->depth++;
2595 ndr_print_lsa_String(ndr, "description", &r->description);
2596 ndr->depth--;
2599 static enum ndr_err_code ndr_push_samr_UserInfo14(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo14 *r)
2601 if (ndr_flags & NDR_SCALARS) {
2602 NDR_CHECK(ndr_push_align(ndr, 5));
2603 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2605 if (ndr_flags & NDR_BUFFERS) {
2606 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2608 return NDR_ERR_SUCCESS;
2611 static enum ndr_err_code ndr_pull_samr_UserInfo14(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo14 *r)
2613 if (ndr_flags & NDR_SCALARS) {
2614 NDR_CHECK(ndr_pull_align(ndr, 5));
2615 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2617 if (ndr_flags & NDR_BUFFERS) {
2618 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2620 return NDR_ERR_SUCCESS;
2623 _PUBLIC_ void ndr_print_samr_UserInfo14(struct ndr_print *ndr, const char *name, const struct samr_UserInfo14 *r)
2625 ndr_print_struct(ndr, name, "samr_UserInfo14");
2626 ndr->depth++;
2627 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2628 ndr->depth--;
2631 static enum ndr_err_code ndr_push_samr_UserInfo16(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo16 *r)
2633 if (ndr_flags & NDR_SCALARS) {
2634 NDR_CHECK(ndr_push_align(ndr, 4));
2635 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2637 if (ndr_flags & NDR_BUFFERS) {
2639 return NDR_ERR_SUCCESS;
2642 static enum ndr_err_code ndr_pull_samr_UserInfo16(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo16 *r)
2644 if (ndr_flags & NDR_SCALARS) {
2645 NDR_CHECK(ndr_pull_align(ndr, 4));
2646 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2648 if (ndr_flags & NDR_BUFFERS) {
2650 return NDR_ERR_SUCCESS;
2653 _PUBLIC_ void ndr_print_samr_UserInfo16(struct ndr_print *ndr, const char *name, const struct samr_UserInfo16 *r)
2655 ndr_print_struct(ndr, name, "samr_UserInfo16");
2656 ndr->depth++;
2657 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2658 ndr->depth--;
2661 static enum ndr_err_code ndr_push_samr_UserInfo17(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo17 *r)
2663 if (ndr_flags & NDR_SCALARS) {
2664 NDR_CHECK(ndr_push_align(ndr, 4));
2665 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2667 if (ndr_flags & NDR_BUFFERS) {
2669 return NDR_ERR_SUCCESS;
2672 static enum ndr_err_code ndr_pull_samr_UserInfo17(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo17 *r)
2674 if (ndr_flags & NDR_SCALARS) {
2675 NDR_CHECK(ndr_pull_align(ndr, 4));
2676 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2678 if (ndr_flags & NDR_BUFFERS) {
2680 return NDR_ERR_SUCCESS;
2683 _PUBLIC_ void ndr_print_samr_UserInfo17(struct ndr_print *ndr, const char *name, const struct samr_UserInfo17 *r)
2685 ndr_print_struct(ndr, name, "samr_UserInfo17");
2686 ndr->depth++;
2687 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2688 ndr->depth--;
2691 _PUBLIC_ enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_flags, const struct samr_Password *r)
2694 uint32_t _flags_save_STRUCT = ndr->flags;
2695 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2696 if (ndr_flags & NDR_SCALARS) {
2697 NDR_CHECK(ndr_push_align(ndr, 1));
2698 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2700 if (ndr_flags & NDR_BUFFERS) {
2702 ndr->flags = _flags_save_STRUCT;
2704 return NDR_ERR_SUCCESS;
2707 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r)
2710 uint32_t _flags_save_STRUCT = ndr->flags;
2711 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2712 if (ndr_flags & NDR_SCALARS) {
2713 NDR_CHECK(ndr_pull_align(ndr, 1));
2714 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2716 if (ndr_flags & NDR_BUFFERS) {
2718 ndr->flags = _flags_save_STRUCT;
2720 return NDR_ERR_SUCCESS;
2723 _PUBLIC_ void ndr_print_samr_Password(struct ndr_print *ndr, const char *name, const struct samr_Password *r)
2725 ndr_print_struct(ndr, name, "samr_Password");
2727 uint32_t _flags_save_STRUCT = ndr->flags;
2728 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2729 ndr->depth++;
2730 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
2731 ndr->depth--;
2732 ndr->flags = _flags_save_STRUCT;
2736 static enum ndr_err_code ndr_push_samr_UserInfo18(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo18 *r)
2738 if (ndr_flags & NDR_SCALARS) {
2739 NDR_CHECK(ndr_push_align(ndr, 1));
2740 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2741 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2742 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_pwd_active));
2743 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_pwd_active));
2744 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2746 if (ndr_flags & NDR_BUFFERS) {
2748 return NDR_ERR_SUCCESS;
2751 static enum ndr_err_code ndr_pull_samr_UserInfo18(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo18 *r)
2753 if (ndr_flags & NDR_SCALARS) {
2754 NDR_CHECK(ndr_pull_align(ndr, 1));
2755 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2756 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2757 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_pwd_active));
2758 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_pwd_active));
2759 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2761 if (ndr_flags & NDR_BUFFERS) {
2763 return NDR_ERR_SUCCESS;
2766 _PUBLIC_ void ndr_print_samr_UserInfo18(struct ndr_print *ndr, const char *name, const struct samr_UserInfo18 *r)
2768 ndr_print_struct(ndr, name, "samr_UserInfo18");
2769 ndr->depth++;
2770 ndr_print_samr_Password(ndr, "nt_pwd", &r->nt_pwd);
2771 ndr_print_samr_Password(ndr, "lm_pwd", &r->lm_pwd);
2772 ndr_print_uint8(ndr, "nt_pwd_active", r->nt_pwd_active);
2773 ndr_print_uint8(ndr, "lm_pwd_active", r->lm_pwd_active);
2774 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2775 ndr->depth--;
2778 static enum ndr_err_code ndr_push_samr_UserInfo20(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo20 *r)
2780 if (ndr_flags & NDR_SCALARS) {
2781 NDR_CHECK(ndr_push_align(ndr, 5));
2782 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2784 if (ndr_flags & NDR_BUFFERS) {
2785 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2787 return NDR_ERR_SUCCESS;
2790 static enum ndr_err_code ndr_pull_samr_UserInfo20(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo20 *r)
2792 if (ndr_flags & NDR_SCALARS) {
2793 NDR_CHECK(ndr_pull_align(ndr, 5));
2794 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2796 if (ndr_flags & NDR_BUFFERS) {
2797 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2799 return NDR_ERR_SUCCESS;
2802 _PUBLIC_ void ndr_print_samr_UserInfo20(struct ndr_print *ndr, const char *name, const struct samr_UserInfo20 *r)
2804 ndr_print_struct(ndr, name, "samr_UserInfo20");
2805 ndr->depth++;
2806 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2807 ndr->depth--;
2810 static enum ndr_err_code ndr_push_samr_FieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2812 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2813 return NDR_ERR_SUCCESS;
2816 static enum ndr_err_code ndr_pull_samr_FieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2818 uint32_t v;
2819 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2820 *r = v;
2821 return NDR_ERR_SUCCESS;
2824 _PUBLIC_ void ndr_print_samr_FieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
2826 ndr_print_uint32(ndr, name, r);
2827 ndr->depth++;
2828 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME, r);
2829 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME, r);
2830 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID, r);
2831 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID, r);
2832 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION, r);
2833 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT, r);
2834 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY, r);
2835 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE, r);
2836 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT, r);
2837 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH, r);
2838 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS, r);
2839 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON, r);
2840 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF, r);
2841 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS, r);
2842 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT, r);
2843 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS, r);
2844 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE, r);
2845 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE, r);
2846 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE, r);
2847 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY, r);
2848 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS, r);
2849 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS, r);
2850 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE, r);
2851 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE, r);
2852 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT, r);
2853 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT, r);
2854 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA, r);
2855 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG, r);
2856 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC, r);
2857 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD, r);
2858 ndr->depth--;
2861 static enum ndr_err_code ndr_push_samr_UserInfo21(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo21 *r)
2863 if (ndr_flags & NDR_SCALARS) {
2864 NDR_CHECK(ndr_push_align(ndr, 5));
2865 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2866 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2867 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2868 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2869 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
2870 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
2871 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2872 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2873 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2874 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2875 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2876 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2877 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2878 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2879 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2880 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2881 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
2882 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
2883 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2884 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count));
2885 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
2886 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2887 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2888 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2889 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr, NDR_SCALARS, r->fields_present));
2890 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2891 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2892 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2893 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2894 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2895 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_set));
2896 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_set));
2897 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2898 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->unknown4));
2900 if (ndr_flags & NDR_BUFFERS) {
2901 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2902 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2903 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2904 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2905 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2906 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2907 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2908 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2909 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2910 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2911 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
2912 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
2913 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2914 if (r->buffer) {
2915 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->buf_count));
2916 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_count));
2918 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2920 return NDR_ERR_SUCCESS;
2923 static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo21 *r)
2925 uint32_t _ptr_buffer;
2926 TALLOC_CTX *_mem_save_buffer_0;
2927 if (ndr_flags & NDR_SCALARS) {
2928 NDR_CHECK(ndr_pull_align(ndr, 5));
2929 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2930 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2931 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2932 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2933 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
2934 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
2935 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2936 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2937 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2938 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2939 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2940 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2941 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2942 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2943 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2944 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2945 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
2946 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
2947 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2948 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_count));
2949 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
2950 if (_ptr_buffer) {
2951 NDR_PULL_ALLOC(ndr, r->buffer);
2952 } else {
2953 r->buffer = NULL;
2955 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2956 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2957 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2958 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
2959 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2960 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2961 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2962 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2963 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2964 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_set));
2965 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_set));
2966 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2967 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown4));
2969 if (ndr_flags & NDR_BUFFERS) {
2970 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2971 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2972 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2973 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2974 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2975 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2976 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2977 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2978 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2979 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2980 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
2981 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
2982 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2983 if (r->buffer) {
2984 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
2985 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
2986 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
2987 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
2988 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
2989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
2991 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2992 if (r->buffer) {
2993 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->buf_count));
2996 return NDR_ERR_SUCCESS;
2999 _PUBLIC_ void ndr_print_samr_UserInfo21(struct ndr_print *ndr, const char *name, const struct samr_UserInfo21 *r)
3001 ndr_print_struct(ndr, name, "samr_UserInfo21");
3002 ndr->depth++;
3003 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
3004 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
3005 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
3006 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
3007 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
3008 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
3009 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
3010 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
3011 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
3012 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
3013 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
3014 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
3015 ndr_print_lsa_String(ndr, "description", &r->description);
3016 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
3017 ndr_print_lsa_String(ndr, "comment", &r->comment);
3018 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
3019 ndr_print_lsa_BinaryString(ndr, "lm_owf_password", &r->lm_owf_password);
3020 ndr_print_lsa_BinaryString(ndr, "nt_owf_password", &r->nt_owf_password);
3021 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
3022 ndr_print_uint32(ndr, "buf_count", r->buf_count);
3023 ndr_print_ptr(ndr, "buffer", r->buffer);
3024 ndr->depth++;
3025 if (r->buffer) {
3026 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_count);
3028 ndr->depth--;
3029 ndr_print_uint32(ndr, "rid", r->rid);
3030 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
3031 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
3032 ndr_print_samr_FieldsPresent(ndr, "fields_present", r->fields_present);
3033 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
3034 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
3035 ndr_print_uint16(ndr, "logon_count", r->logon_count);
3036 ndr_print_uint16(ndr, "country_code", r->country_code);
3037 ndr_print_uint16(ndr, "code_page", r->code_page);
3038 ndr_print_uint8(ndr, "lm_password_set", r->lm_password_set);
3039 ndr_print_uint8(ndr, "nt_password_set", r->nt_password_set);
3040 ndr_print_uint8(ndr, "password_expired", r->password_expired);
3041 ndr_print_uint8(ndr, "unknown4", r->unknown4);
3042 ndr->depth--;
3045 _PUBLIC_ enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPassword *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, 516));
3054 if (ndr_flags & NDR_BUFFERS) {
3056 ndr->flags = _flags_save_STRUCT;
3058 return NDR_ERR_SUCCESS;
3061 _PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *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, 516));
3070 if (ndr_flags & NDR_BUFFERS) {
3072 ndr->flags = _flags_save_STRUCT;
3074 return NDR_ERR_SUCCESS;
3077 _PUBLIC_ void ndr_print_samr_CryptPassword(struct ndr_print *ndr, const char *name, const struct samr_CryptPassword *r)
3079 ndr_print_struct(ndr, name, "samr_CryptPassword");
3081 uint32_t _flags_save_STRUCT = ndr->flags;
3082 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3083 ndr->depth++;
3084 ndr_print_array_uint8(ndr, "data", r->data, 516);
3085 ndr->depth--;
3086 ndr->flags = _flags_save_STRUCT;
3090 static enum ndr_err_code ndr_push_samr_UserInfo23(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo23 *r)
3092 if (ndr_flags & NDR_SCALARS) {
3093 NDR_CHECK(ndr_push_align(ndr, 5));
3094 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3095 NDR_CHECK(ndr_push_samr_CryptPassword(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_UserInfo23(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo23 *r)
3105 if (ndr_flags & NDR_SCALARS) {
3106 NDR_CHECK(ndr_pull_align(ndr, 5));
3107 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3108 NDR_CHECK(ndr_pull_samr_CryptPassword(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_UserInfo23(struct ndr_print *ndr, const char *name, const struct samr_UserInfo23 *r)
3118 ndr_print_struct(ndr, name, "samr_UserInfo23");
3119 ndr->depth++;
3120 ndr_print_samr_UserInfo21(ndr, "info", &r->info);
3121 ndr_print_samr_CryptPassword(ndr, "password", &r->password);
3122 ndr->depth--;
3125 static enum ndr_err_code ndr_push_samr_UserInfo24(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo24 *r)
3127 if (ndr_flags & NDR_SCALARS) {
3128 NDR_CHECK(ndr_push_align(ndr, 1));
3129 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3130 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
3132 if (ndr_flags & NDR_BUFFERS) {
3134 return NDR_ERR_SUCCESS;
3137 static enum ndr_err_code ndr_pull_samr_UserInfo24(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo24 *r)
3139 if (ndr_flags & NDR_SCALARS) {
3140 NDR_CHECK(ndr_pull_align(ndr, 1));
3141 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
3142 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
3144 if (ndr_flags & NDR_BUFFERS) {
3146 return NDR_ERR_SUCCESS;
3149 _PUBLIC_ void ndr_print_samr_UserInfo24(struct ndr_print *ndr, const char *name, const struct samr_UserInfo24 *r)
3151 ndr_print_struct(ndr, name, "samr_UserInfo24");
3152 ndr->depth++;
3153 ndr_print_samr_CryptPassword(ndr, "password", &r->password);
3154 ndr_print_uint8(ndr, "password_expired", r->password_expired);
3155 ndr->depth--;
3158 static enum ndr_err_code ndr_push_samr_CryptPasswordEx(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPasswordEx *r)
3161 uint32_t _flags_save_STRUCT = ndr->flags;
3162 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3163 if (ndr_flags & NDR_SCALARS) {
3164 NDR_CHECK(ndr_push_align(ndr, 1));
3165 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 532));
3167 if (ndr_flags & NDR_BUFFERS) {
3169 ndr->flags = _flags_save_STRUCT;
3171 return NDR_ERR_SUCCESS;
3174 static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r)
3177 uint32_t _flags_save_STRUCT = ndr->flags;
3178 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3179 if (ndr_flags & NDR_SCALARS) {
3180 NDR_CHECK(ndr_pull_align(ndr, 1));
3181 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 532));
3183 if (ndr_flags & NDR_BUFFERS) {
3185 ndr->flags = _flags_save_STRUCT;
3187 return NDR_ERR_SUCCESS;
3190 _PUBLIC_ void ndr_print_samr_CryptPasswordEx(struct ndr_print *ndr, const char *name, const struct samr_CryptPasswordEx *r)
3192 ndr_print_struct(ndr, name, "samr_CryptPasswordEx");
3194 uint32_t _flags_save_STRUCT = ndr->flags;
3195 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3196 ndr->depth++;
3197 ndr_print_array_uint8(ndr, "data", r->data, 532);
3198 ndr->depth--;
3199 ndr->flags = _flags_save_STRUCT;
3203 static enum ndr_err_code ndr_push_samr_UserInfo25(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo25 *r)
3205 if (ndr_flags & NDR_SCALARS) {
3206 NDR_CHECK(ndr_push_align(ndr, 5));
3207 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3208 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3210 if (ndr_flags & NDR_BUFFERS) {
3211 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3213 return NDR_ERR_SUCCESS;
3216 static enum ndr_err_code ndr_pull_samr_UserInfo25(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo25 *r)
3218 if (ndr_flags & NDR_SCALARS) {
3219 NDR_CHECK(ndr_pull_align(ndr, 5));
3220 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3221 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3223 if (ndr_flags & NDR_BUFFERS) {
3224 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3226 return NDR_ERR_SUCCESS;
3229 _PUBLIC_ void ndr_print_samr_UserInfo25(struct ndr_print *ndr, const char *name, const struct samr_UserInfo25 *r)
3231 ndr_print_struct(ndr, name, "samr_UserInfo25");
3232 ndr->depth++;
3233 ndr_print_samr_UserInfo21(ndr, "info", &r->info);
3234 ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3235 ndr->depth--;
3238 static enum ndr_err_code ndr_push_samr_UserInfo26(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo26 *r)
3240 if (ndr_flags & NDR_SCALARS) {
3241 NDR_CHECK(ndr_push_align(ndr, 1));
3242 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3243 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
3245 if (ndr_flags & NDR_BUFFERS) {
3247 return NDR_ERR_SUCCESS;
3250 static enum ndr_err_code ndr_pull_samr_UserInfo26(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo26 *r)
3252 if (ndr_flags & NDR_SCALARS) {
3253 NDR_CHECK(ndr_pull_align(ndr, 1));
3254 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3255 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
3257 if (ndr_flags & NDR_BUFFERS) {
3259 return NDR_ERR_SUCCESS;
3262 _PUBLIC_ void ndr_print_samr_UserInfo26(struct ndr_print *ndr, const char *name, const struct samr_UserInfo26 *r)
3264 ndr_print_struct(ndr, name, "samr_UserInfo26");
3265 ndr->depth++;
3266 ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3267 ndr_print_uint8(ndr, "password_expired", r->password_expired);
3268 ndr->depth--;
3271 static enum ndr_err_code ndr_push_samr_UserInfo(struct ndr_push *ndr, int ndr_flags, const union samr_UserInfo *r)
3273 if (ndr_flags & NDR_SCALARS) {
3274 int level = ndr_push_get_switch_value(ndr, r);
3275 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
3276 NDR_CHECK(ndr_push_union_align(ndr, 5));
3277 switch (level) {
3278 case 1: {
3279 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3280 break; }
3282 case 2: {
3283 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3284 break; }
3286 case 3: {
3287 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3288 break; }
3290 case 4: {
3291 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3292 break; }
3294 case 5: {
3295 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3296 break; }
3298 case 6: {
3299 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3300 break; }
3302 case 7: {
3303 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3304 break; }
3306 case 8: {
3307 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3308 break; }
3310 case 9: {
3311 NDR_CHECK(ndr_push_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3312 break; }
3314 case 10: {
3315 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3316 break; }
3318 case 11: {
3319 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3320 break; }
3322 case 12: {
3323 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3324 break; }
3326 case 13: {
3327 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3328 break; }
3330 case 14: {
3331 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3332 break; }
3334 case 16: {
3335 NDR_CHECK(ndr_push_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3336 break; }
3338 case 17: {
3339 NDR_CHECK(ndr_push_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3340 break; }
3342 case 18: {
3343 NDR_CHECK(ndr_push_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3344 break; }
3346 case 20: {
3347 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3348 break; }
3350 case 21: {
3351 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3352 break; }
3354 case 23: {
3355 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3356 break; }
3358 case 24: {
3359 NDR_CHECK(ndr_push_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3360 break; }
3362 case 25: {
3363 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3364 break; }
3366 case 26: {
3367 NDR_CHECK(ndr_push_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3368 break; }
3370 default:
3371 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3374 if (ndr_flags & NDR_BUFFERS) {
3375 int level = ndr_push_get_switch_value(ndr, r);
3376 switch (level) {
3377 case 1:
3378 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3379 break;
3381 case 2:
3382 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3383 break;
3385 case 3:
3386 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3387 break;
3389 case 4:
3390 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3391 break;
3393 case 5:
3394 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3395 break;
3397 case 6:
3398 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3399 break;
3401 case 7:
3402 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3403 break;
3405 case 8:
3406 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3407 break;
3409 case 9:
3410 break;
3412 case 10:
3413 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3414 break;
3416 case 11:
3417 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3418 break;
3420 case 12:
3421 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3422 break;
3424 case 13:
3425 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3426 break;
3428 case 14:
3429 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3430 break;
3432 case 16:
3433 break;
3435 case 17:
3436 break;
3438 case 18:
3439 break;
3441 case 20:
3442 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3443 break;
3445 case 21:
3446 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3447 break;
3449 case 23:
3450 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3451 break;
3453 case 24:
3454 break;
3456 case 25:
3457 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3458 break;
3460 case 26:
3461 break;
3463 default:
3464 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3467 return NDR_ERR_SUCCESS;
3470 static enum ndr_err_code ndr_pull_samr_UserInfo(struct ndr_pull *ndr, int ndr_flags, union samr_UserInfo *r)
3472 int level;
3473 uint16_t _level;
3474 level = ndr_pull_get_switch_value(ndr, r);
3475 if (ndr_flags & NDR_SCALARS) {
3476 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
3477 if (_level != level) {
3478 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3480 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3481 switch (level) {
3482 case 1: {
3483 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3484 break; }
3486 case 2: {
3487 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3488 break; }
3490 case 3: {
3491 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3492 break; }
3494 case 4: {
3495 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3496 break; }
3498 case 5: {
3499 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3500 break; }
3502 case 6: {
3503 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3504 break; }
3506 case 7: {
3507 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3508 break; }
3510 case 8: {
3511 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3512 break; }
3514 case 9: {
3515 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3516 break; }
3518 case 10: {
3519 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3520 break; }
3522 case 11: {
3523 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3524 break; }
3526 case 12: {
3527 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3528 break; }
3530 case 13: {
3531 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3532 break; }
3534 case 14: {
3535 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3536 break; }
3538 case 16: {
3539 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3540 break; }
3542 case 17: {
3543 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3544 break; }
3546 case 18: {
3547 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3548 break; }
3550 case 20: {
3551 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3552 break; }
3554 case 21: {
3555 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3556 break; }
3558 case 23: {
3559 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3560 break; }
3562 case 24: {
3563 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3564 break; }
3566 case 25: {
3567 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3568 break; }
3570 case 26: {
3571 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3572 break; }
3574 default:
3575 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3578 if (ndr_flags & NDR_BUFFERS) {
3579 switch (level) {
3580 case 1:
3581 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3582 break;
3584 case 2:
3585 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3586 break;
3588 case 3:
3589 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3590 break;
3592 case 4:
3593 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3594 break;
3596 case 5:
3597 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3598 break;
3600 case 6:
3601 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3602 break;
3604 case 7:
3605 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3606 break;
3608 case 8:
3609 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3610 break;
3612 case 9:
3613 break;
3615 case 10:
3616 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3617 break;
3619 case 11:
3620 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3621 break;
3623 case 12:
3624 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3625 break;
3627 case 13:
3628 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3629 break;
3631 case 14:
3632 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3633 break;
3635 case 16:
3636 break;
3638 case 17:
3639 break;
3641 case 18:
3642 break;
3644 case 20:
3645 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3646 break;
3648 case 21:
3649 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3650 break;
3652 case 23:
3653 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3654 break;
3656 case 24:
3657 break;
3659 case 25:
3660 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3661 break;
3663 case 26:
3664 break;
3666 default:
3667 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3670 return NDR_ERR_SUCCESS;
3673 _PUBLIC_ void ndr_print_samr_UserInfo(struct ndr_print *ndr, const char *name, const union samr_UserInfo *r)
3675 int level;
3676 level = ndr_print_get_switch_value(ndr, r);
3677 ndr_print_union(ndr, name, level, "samr_UserInfo");
3678 switch (level) {
3679 case 1:
3680 ndr_print_samr_UserInfo1(ndr, "info1", &r->info1);
3681 break;
3683 case 2:
3684 ndr_print_samr_UserInfo2(ndr, "info2", &r->info2);
3685 break;
3687 case 3:
3688 ndr_print_samr_UserInfo3(ndr, "info3", &r->info3);
3689 break;
3691 case 4:
3692 ndr_print_samr_UserInfo4(ndr, "info4", &r->info4);
3693 break;
3695 case 5:
3696 ndr_print_samr_UserInfo5(ndr, "info5", &r->info5);
3697 break;
3699 case 6:
3700 ndr_print_samr_UserInfo6(ndr, "info6", &r->info6);
3701 break;
3703 case 7:
3704 ndr_print_samr_UserInfo7(ndr, "info7", &r->info7);
3705 break;
3707 case 8:
3708 ndr_print_samr_UserInfo8(ndr, "info8", &r->info8);
3709 break;
3711 case 9:
3712 ndr_print_samr_UserInfo9(ndr, "info9", &r->info9);
3713 break;
3715 case 10:
3716 ndr_print_samr_UserInfo10(ndr, "info10", &r->info10);
3717 break;
3719 case 11:
3720 ndr_print_samr_UserInfo11(ndr, "info11", &r->info11);
3721 break;
3723 case 12:
3724 ndr_print_samr_UserInfo12(ndr, "info12", &r->info12);
3725 break;
3727 case 13:
3728 ndr_print_samr_UserInfo13(ndr, "info13", &r->info13);
3729 break;
3731 case 14:
3732 ndr_print_samr_UserInfo14(ndr, "info14", &r->info14);
3733 break;
3735 case 16:
3736 ndr_print_samr_UserInfo16(ndr, "info16", &r->info16);
3737 break;
3739 case 17:
3740 ndr_print_samr_UserInfo17(ndr, "info17", &r->info17);
3741 break;
3743 case 18:
3744 ndr_print_samr_UserInfo18(ndr, "info18", &r->info18);
3745 break;
3747 case 20:
3748 ndr_print_samr_UserInfo20(ndr, "info20", &r->info20);
3749 break;
3751 case 21:
3752 ndr_print_samr_UserInfo21(ndr, "info21", &r->info21);
3753 break;
3755 case 23:
3756 ndr_print_samr_UserInfo23(ndr, "info23", &r->info23);
3757 break;
3759 case 24:
3760 ndr_print_samr_UserInfo24(ndr, "info24", &r->info24);
3761 break;
3763 case 25:
3764 ndr_print_samr_UserInfo25(ndr, "info25", &r->info25);
3765 break;
3767 case 26:
3768 ndr_print_samr_UserInfo26(ndr, "info26", &r->info26);
3769 break;
3771 default:
3772 ndr_print_bad_level(ndr, name, level);
3776 _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttribute(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttribute *r)
3778 if (ndr_flags & NDR_SCALARS) {
3779 NDR_CHECK(ndr_push_align(ndr, 4));
3780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3781 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
3783 if (ndr_flags & NDR_BUFFERS) {
3785 return NDR_ERR_SUCCESS;
3788 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttribute(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttribute *r)
3790 if (ndr_flags & NDR_SCALARS) {
3791 NDR_CHECK(ndr_pull_align(ndr, 4));
3792 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3793 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
3795 if (ndr_flags & NDR_BUFFERS) {
3797 return NDR_ERR_SUCCESS;
3800 _PUBLIC_ void ndr_print_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttribute *r)
3802 ndr_print_struct(ndr, name, "samr_RidWithAttribute");
3803 ndr->depth++;
3804 ndr_print_uint32(ndr, "rid", r->rid);
3805 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
3806 ndr->depth--;
3809 _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttributeArray *r)
3811 uint32_t cntr_rids_1;
3812 if (ndr_flags & NDR_SCALARS) {
3813 NDR_CHECK(ndr_push_align(ndr, 5));
3814 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3815 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
3817 if (ndr_flags & NDR_BUFFERS) {
3818 if (r->rids) {
3819 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
3820 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
3821 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
3825 return NDR_ERR_SUCCESS;
3828 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r)
3830 uint32_t _ptr_rids;
3831 uint32_t cntr_rids_1;
3832 TALLOC_CTX *_mem_save_rids_0;
3833 TALLOC_CTX *_mem_save_rids_1;
3834 if (ndr_flags & NDR_SCALARS) {
3835 NDR_CHECK(ndr_pull_align(ndr, 5));
3836 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3837 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
3838 if (_ptr_rids) {
3839 NDR_PULL_ALLOC(ndr, r->rids);
3840 } else {
3841 r->rids = NULL;
3844 if (ndr_flags & NDR_BUFFERS) {
3845 if (r->rids) {
3846 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
3847 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3848 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
3849 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
3850 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
3851 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3852 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
3853 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
3855 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
3856 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
3858 if (r->rids) {
3859 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
3862 return NDR_ERR_SUCCESS;
3865 _PUBLIC_ void ndr_print_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttributeArray *r)
3867 uint32_t cntr_rids_1;
3868 ndr_print_struct(ndr, name, "samr_RidWithAttributeArray");
3869 ndr->depth++;
3870 ndr_print_uint32(ndr, "count", r->count);
3871 ndr_print_ptr(ndr, "rids", r->rids);
3872 ndr->depth++;
3873 if (r->rids) {
3874 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
3875 ndr->depth++;
3876 for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
3877 char *idx_1=NULL;
3878 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
3879 ndr_print_samr_RidWithAttribute(ndr, "rids", &r->rids[cntr_rids_1]);
3880 free(idx_1);
3883 ndr->depth--;
3885 ndr->depth--;
3886 ndr->depth--;
3889 static enum ndr_err_code ndr_push_samr_DispEntryGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryGeneral *r)
3891 if (ndr_flags & NDR_SCALARS) {
3892 NDR_CHECK(ndr_push_align(ndr, 5));
3893 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
3894 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3895 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
3896 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3897 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3898 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3900 if (ndr_flags & NDR_BUFFERS) {
3901 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3902 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3903 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3905 return NDR_ERR_SUCCESS;
3908 static enum ndr_err_code ndr_pull_samr_DispEntryGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryGeneral *r)
3910 if (ndr_flags & NDR_SCALARS) {
3911 NDR_CHECK(ndr_pull_align(ndr, 5));
3912 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
3913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3914 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
3915 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3916 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3917 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3919 if (ndr_flags & NDR_BUFFERS) {
3920 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3921 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3922 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3924 return NDR_ERR_SUCCESS;
3927 _PUBLIC_ void ndr_print_samr_DispEntryGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispEntryGeneral *r)
3929 ndr_print_struct(ndr, name, "samr_DispEntryGeneral");
3930 ndr->depth++;
3931 ndr_print_uint32(ndr, "idx", r->idx);
3932 ndr_print_uint32(ndr, "rid", r->rid);
3933 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
3934 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
3935 ndr_print_lsa_String(ndr, "description", &r->description);
3936 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
3937 ndr->depth--;
3940 static enum ndr_err_code ndr_push_samr_DispInfoGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoGeneral *r)
3942 uint32_t cntr_entries_1;
3943 if (ndr_flags & NDR_SCALARS) {
3944 NDR_CHECK(ndr_push_align(ndr, 5));
3945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3946 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
3948 if (ndr_flags & NDR_BUFFERS) {
3949 if (r->entries) {
3950 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
3951 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3952 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
3954 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3955 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
3959 return NDR_ERR_SUCCESS;
3962 static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoGeneral *r)
3964 uint32_t _ptr_entries;
3965 uint32_t cntr_entries_1;
3966 TALLOC_CTX *_mem_save_entries_0;
3967 TALLOC_CTX *_mem_save_entries_1;
3968 if (ndr_flags & NDR_SCALARS) {
3969 NDR_CHECK(ndr_pull_align(ndr, 5));
3970 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3971 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
3972 if (_ptr_entries) {
3973 NDR_PULL_ALLOC(ndr, r->entries);
3974 } else {
3975 r->entries = NULL;
3978 if (ndr_flags & NDR_BUFFERS) {
3979 if (r->entries) {
3980 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
3981 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
3982 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
3983 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
3984 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
3985 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
3986 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3987 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
3989 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3990 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
3992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
3993 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
3995 if (r->entries) {
3996 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
3999 return NDR_ERR_SUCCESS;
4002 _PUBLIC_ void ndr_print_samr_DispInfoGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispInfoGeneral *r)
4004 uint32_t cntr_entries_1;
4005 ndr_print_struct(ndr, name, "samr_DispInfoGeneral");
4006 ndr->depth++;
4007 ndr_print_uint32(ndr, "count", r->count);
4008 ndr_print_ptr(ndr, "entries", r->entries);
4009 ndr->depth++;
4010 if (r->entries) {
4011 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4012 ndr->depth++;
4013 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4014 char *idx_1=NULL;
4015 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
4016 ndr_print_samr_DispEntryGeneral(ndr, "entries", &r->entries[cntr_entries_1]);
4017 free(idx_1);
4020 ndr->depth--;
4022 ndr->depth--;
4023 ndr->depth--;
4026 static enum ndr_err_code ndr_push_samr_DispEntryFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFull *r)
4028 if (ndr_flags & NDR_SCALARS) {
4029 NDR_CHECK(ndr_push_align(ndr, 5));
4030 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4031 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4032 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
4033 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4034 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4036 if (ndr_flags & NDR_BUFFERS) {
4037 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4038 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4040 return NDR_ERR_SUCCESS;
4043 static enum ndr_err_code ndr_pull_samr_DispEntryFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFull *r)
4045 if (ndr_flags & NDR_SCALARS) {
4046 NDR_CHECK(ndr_pull_align(ndr, 5));
4047 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4048 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4049 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
4050 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4051 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4053 if (ndr_flags & NDR_BUFFERS) {
4054 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4055 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4057 return NDR_ERR_SUCCESS;
4060 _PUBLIC_ void ndr_print_samr_DispEntryFull(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFull *r)
4062 ndr_print_struct(ndr, name, "samr_DispEntryFull");
4063 ndr->depth++;
4064 ndr_print_uint32(ndr, "idx", r->idx);
4065 ndr_print_uint32(ndr, "rid", r->rid);
4066 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
4067 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4068 ndr_print_lsa_String(ndr, "description", &r->description);
4069 ndr->depth--;
4072 static enum ndr_err_code ndr_push_samr_DispInfoFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFull *r)
4074 uint32_t cntr_entries_1;
4075 if (ndr_flags & NDR_SCALARS) {
4076 NDR_CHECK(ndr_push_align(ndr, 5));
4077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4078 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4080 if (ndr_flags & NDR_BUFFERS) {
4081 if (r->entries) {
4082 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4083 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4084 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4086 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4087 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4091 return NDR_ERR_SUCCESS;
4094 static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFull *r)
4096 uint32_t _ptr_entries;
4097 uint32_t cntr_entries_1;
4098 TALLOC_CTX *_mem_save_entries_0;
4099 TALLOC_CTX *_mem_save_entries_1;
4100 if (ndr_flags & NDR_SCALARS) {
4101 NDR_CHECK(ndr_pull_align(ndr, 5));
4102 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4103 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4104 if (_ptr_entries) {
4105 NDR_PULL_ALLOC(ndr, r->entries);
4106 } else {
4107 r->entries = NULL;
4110 if (ndr_flags & NDR_BUFFERS) {
4111 if (r->entries) {
4112 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4113 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4114 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4115 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
4116 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4117 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4118 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4119 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4121 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4122 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4124 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4125 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4127 if (r->entries) {
4128 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4131 return NDR_ERR_SUCCESS;
4134 _PUBLIC_ void ndr_print_samr_DispInfoFull(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFull *r)
4136 uint32_t cntr_entries_1;
4137 ndr_print_struct(ndr, name, "samr_DispInfoFull");
4138 ndr->depth++;
4139 ndr_print_uint32(ndr, "count", r->count);
4140 ndr_print_ptr(ndr, "entries", r->entries);
4141 ndr->depth++;
4142 if (r->entries) {
4143 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4144 ndr->depth++;
4145 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4146 char *idx_1=NULL;
4147 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
4148 ndr_print_samr_DispEntryFull(ndr, "entries", &r->entries[cntr_entries_1]);
4149 free(idx_1);
4152 ndr->depth--;
4154 ndr->depth--;
4155 ndr->depth--;
4158 static enum ndr_err_code ndr_push_samr_DispEntryFullGroup(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFullGroup *r)
4160 if (ndr_flags & NDR_SCALARS) {
4161 NDR_CHECK(ndr_push_align(ndr, 5));
4162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4164 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->acct_flags));
4165 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4166 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4168 if (ndr_flags & NDR_BUFFERS) {
4169 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4170 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4172 return NDR_ERR_SUCCESS;
4175 static enum ndr_err_code ndr_pull_samr_DispEntryFullGroup(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFullGroup *r)
4177 if (ndr_flags & NDR_SCALARS) {
4178 NDR_CHECK(ndr_pull_align(ndr, 5));
4179 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4181 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->acct_flags));
4182 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4183 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4185 if (ndr_flags & NDR_BUFFERS) {
4186 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4187 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4189 return NDR_ERR_SUCCESS;
4192 _PUBLIC_ void ndr_print_samr_DispEntryFullGroup(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFullGroup *r)
4194 ndr_print_struct(ndr, name, "samr_DispEntryFullGroup");
4195 ndr->depth++;
4196 ndr_print_uint32(ndr, "idx", r->idx);
4197 ndr_print_uint32(ndr, "rid", r->rid);
4198 ndr_print_samr_GroupAttrs(ndr, "acct_flags", r->acct_flags);
4199 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4200 ndr_print_lsa_String(ndr, "description", &r->description);
4201 ndr->depth--;
4204 static enum ndr_err_code ndr_push_samr_DispInfoFullGroups(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFullGroups *r)
4206 uint32_t cntr_entries_1;
4207 if (ndr_flags & NDR_SCALARS) {
4208 NDR_CHECK(ndr_push_align(ndr, 5));
4209 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4210 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4212 if (ndr_flags & NDR_BUFFERS) {
4213 if (r->entries) {
4214 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4215 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4216 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4218 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4219 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4223 return NDR_ERR_SUCCESS;
4226 static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFullGroups *r)
4228 uint32_t _ptr_entries;
4229 uint32_t cntr_entries_1;
4230 TALLOC_CTX *_mem_save_entries_0;
4231 TALLOC_CTX *_mem_save_entries_1;
4232 if (ndr_flags & NDR_SCALARS) {
4233 NDR_CHECK(ndr_pull_align(ndr, 5));
4234 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4235 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4236 if (_ptr_entries) {
4237 NDR_PULL_ALLOC(ndr, r->entries);
4238 } else {
4239 r->entries = NULL;
4242 if (ndr_flags & NDR_BUFFERS) {
4243 if (r->entries) {
4244 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4245 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4246 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4247 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
4248 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4249 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4250 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4251 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4253 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4254 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4256 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4257 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4259 if (r->entries) {
4260 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4263 return NDR_ERR_SUCCESS;
4266 _PUBLIC_ void ndr_print_samr_DispInfoFullGroups(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFullGroups *r)
4268 uint32_t cntr_entries_1;
4269 ndr_print_struct(ndr, name, "samr_DispInfoFullGroups");
4270 ndr->depth++;
4271 ndr_print_uint32(ndr, "count", r->count);
4272 ndr_print_ptr(ndr, "entries", r->entries);
4273 ndr->depth++;
4274 if (r->entries) {
4275 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4276 ndr->depth++;
4277 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4278 char *idx_1=NULL;
4279 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
4280 ndr_print_samr_DispEntryFullGroup(ndr, "entries", &r->entries[cntr_entries_1]);
4281 free(idx_1);
4284 ndr->depth--;
4286 ndr->depth--;
4287 ndr->depth--;
4290 static enum ndr_err_code ndr_push_samr_DispEntryAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryAscii *r)
4292 if (ndr_flags & NDR_SCALARS) {
4293 NDR_CHECK(ndr_push_align(ndr, 5));
4294 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4295 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4297 if (ndr_flags & NDR_BUFFERS) {
4298 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4300 return NDR_ERR_SUCCESS;
4303 static enum ndr_err_code ndr_pull_samr_DispEntryAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryAscii *r)
4305 if (ndr_flags & NDR_SCALARS) {
4306 NDR_CHECK(ndr_pull_align(ndr, 5));
4307 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4308 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4310 if (ndr_flags & NDR_BUFFERS) {
4311 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4313 return NDR_ERR_SUCCESS;
4316 _PUBLIC_ void ndr_print_samr_DispEntryAscii(struct ndr_print *ndr, const char *name, const struct samr_DispEntryAscii *r)
4318 ndr_print_struct(ndr, name, "samr_DispEntryAscii");
4319 ndr->depth++;
4320 ndr_print_uint32(ndr, "idx", r->idx);
4321 ndr_print_lsa_AsciiStringLarge(ndr, "account_name", &r->account_name);
4322 ndr->depth--;
4325 static enum ndr_err_code ndr_push_samr_DispInfoAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoAscii *r)
4327 uint32_t cntr_entries_1;
4328 if (ndr_flags & NDR_SCALARS) {
4329 NDR_CHECK(ndr_push_align(ndr, 5));
4330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4331 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4333 if (ndr_flags & NDR_BUFFERS) {
4334 if (r->entries) {
4335 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4336 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4337 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4339 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4340 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4344 return NDR_ERR_SUCCESS;
4347 static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoAscii *r)
4349 uint32_t _ptr_entries;
4350 uint32_t cntr_entries_1;
4351 TALLOC_CTX *_mem_save_entries_0;
4352 TALLOC_CTX *_mem_save_entries_1;
4353 if (ndr_flags & NDR_SCALARS) {
4354 NDR_CHECK(ndr_pull_align(ndr, 5));
4355 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4356 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4357 if (_ptr_entries) {
4358 NDR_PULL_ALLOC(ndr, r->entries);
4359 } else {
4360 r->entries = NULL;
4363 if (ndr_flags & NDR_BUFFERS) {
4364 if (r->entries) {
4365 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4366 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4367 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4368 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
4369 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4370 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4371 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4372 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4374 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4375 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4380 if (r->entries) {
4381 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4384 return NDR_ERR_SUCCESS;
4387 _PUBLIC_ void ndr_print_samr_DispInfoAscii(struct ndr_print *ndr, const char *name, const struct samr_DispInfoAscii *r)
4389 uint32_t cntr_entries_1;
4390 ndr_print_struct(ndr, name, "samr_DispInfoAscii");
4391 ndr->depth++;
4392 ndr_print_uint32(ndr, "count", r->count);
4393 ndr_print_ptr(ndr, "entries", r->entries);
4394 ndr->depth++;
4395 if (r->entries) {
4396 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4397 ndr->depth++;
4398 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4399 char *idx_1=NULL;
4400 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
4401 ndr_print_samr_DispEntryAscii(ndr, "entries", &r->entries[cntr_entries_1]);
4402 free(idx_1);
4405 ndr->depth--;
4407 ndr->depth--;
4408 ndr->depth--;
4411 static enum ndr_err_code ndr_push_samr_DispInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DispInfo *r)
4413 if (ndr_flags & NDR_SCALARS) {
4414 int level = ndr_push_get_switch_value(ndr, r);
4415 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
4416 NDR_CHECK(ndr_push_union_align(ndr, 5));
4417 switch (level) {
4418 case 1: {
4419 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4420 break; }
4422 case 2: {
4423 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4424 break; }
4426 case 3: {
4427 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4428 break; }
4430 case 4: {
4431 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4432 break; }
4434 case 5: {
4435 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4436 break; }
4438 default:
4439 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4442 if (ndr_flags & NDR_BUFFERS) {
4443 int level = ndr_push_get_switch_value(ndr, r);
4444 switch (level) {
4445 case 1:
4446 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4447 break;
4449 case 2:
4450 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4451 break;
4453 case 3:
4454 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4455 break;
4457 case 4:
4458 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4459 break;
4461 case 5:
4462 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4463 break;
4465 default:
4466 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4469 return NDR_ERR_SUCCESS;
4472 static enum ndr_err_code ndr_pull_samr_DispInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DispInfo *r)
4474 int level;
4475 uint16_t _level;
4476 level = ndr_pull_get_switch_value(ndr, r);
4477 if (ndr_flags & NDR_SCALARS) {
4478 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4479 if (_level != level) {
4480 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4482 NDR_CHECK(ndr_pull_union_align(ndr, 5));
4483 switch (level) {
4484 case 1: {
4485 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4486 break; }
4488 case 2: {
4489 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4490 break; }
4492 case 3: {
4493 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4494 break; }
4496 case 4: {
4497 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4498 break; }
4500 case 5: {
4501 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4502 break; }
4504 default:
4505 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4508 if (ndr_flags & NDR_BUFFERS) {
4509 switch (level) {
4510 case 1:
4511 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4512 break;
4514 case 2:
4515 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4516 break;
4518 case 3:
4519 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4520 break;
4522 case 4:
4523 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4524 break;
4526 case 5:
4527 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4528 break;
4530 default:
4531 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4534 return NDR_ERR_SUCCESS;
4537 _PUBLIC_ void ndr_print_samr_DispInfo(struct ndr_print *ndr, const char *name, const union samr_DispInfo *r)
4539 int level;
4540 level = ndr_print_get_switch_value(ndr, r);
4541 ndr_print_union(ndr, name, level, "samr_DispInfo");
4542 switch (level) {
4543 case 1:
4544 ndr_print_samr_DispInfoGeneral(ndr, "info1", &r->info1);
4545 break;
4547 case 2:
4548 ndr_print_samr_DispInfoFull(ndr, "info2", &r->info2);
4549 break;
4551 case 3:
4552 ndr_print_samr_DispInfoFullGroups(ndr, "info3", &r->info3);
4553 break;
4555 case 4:
4556 ndr_print_samr_DispInfoAscii(ndr, "info4", &r->info4);
4557 break;
4559 case 5:
4560 ndr_print_samr_DispInfoAscii(ndr, "info5", &r->info5);
4561 break;
4563 default:
4564 ndr_print_bad_level(ndr, name, level);
4568 static enum ndr_err_code ndr_push_samr_PwInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_PwInfo *r)
4570 if (ndr_flags & NDR_SCALARS) {
4571 NDR_CHECK(ndr_push_align(ndr, 4));
4572 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
4573 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
4575 if (ndr_flags & NDR_BUFFERS) {
4577 return NDR_ERR_SUCCESS;
4580 static enum ndr_err_code ndr_pull_samr_PwInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_PwInfo *r)
4582 if (ndr_flags & NDR_SCALARS) {
4583 NDR_CHECK(ndr_pull_align(ndr, 4));
4584 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
4585 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
4587 if (ndr_flags & NDR_BUFFERS) {
4589 return NDR_ERR_SUCCESS;
4592 _PUBLIC_ void ndr_print_samr_PwInfo(struct ndr_print *ndr, const char *name, const struct samr_PwInfo *r)
4594 ndr_print_struct(ndr, name, "samr_PwInfo");
4595 ndr->depth++;
4596 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
4597 ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
4598 ndr->depth--;
4601 static enum ndr_err_code ndr_push_samr_ConnectVersion(struct ndr_push *ndr, int ndr_flags, enum samr_ConnectVersion r)
4603 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4604 return NDR_ERR_SUCCESS;
4607 static enum ndr_err_code ndr_pull_samr_ConnectVersion(struct ndr_pull *ndr, int ndr_flags, enum samr_ConnectVersion *r)
4609 uint32_t v;
4610 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4611 *r = v;
4612 return NDR_ERR_SUCCESS;
4615 _PUBLIC_ void ndr_print_samr_ConnectVersion(struct ndr_print *ndr, const char *name, enum samr_ConnectVersion r)
4617 const char *val = NULL;
4619 switch (r) {
4620 case SAMR_CONNECT_PRE_W2K: val = "SAMR_CONNECT_PRE_W2K"; break;
4621 case SAMR_CONNECT_W2K: val = "SAMR_CONNECT_W2K"; break;
4622 case SAMR_CONNECT_AFTER_W2K: val = "SAMR_CONNECT_AFTER_W2K"; break;
4624 ndr_print_enum(ndr, name, "ENUM", val, r);
4627 static enum ndr_err_code ndr_push_samr_ChangeReject(struct ndr_push *ndr, int ndr_flags, const struct samr_ChangeReject *r)
4629 if (ndr_flags & NDR_SCALARS) {
4630 NDR_CHECK(ndr_push_align(ndr, 4));
4631 NDR_CHECK(ndr_push_samr_RejectReason(ndr, NDR_SCALARS, r->reason));
4632 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
4633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4635 if (ndr_flags & NDR_BUFFERS) {
4637 return NDR_ERR_SUCCESS;
4640 static enum ndr_err_code ndr_pull_samr_ChangeReject(struct ndr_pull *ndr, int ndr_flags, struct samr_ChangeReject *r)
4642 if (ndr_flags & NDR_SCALARS) {
4643 NDR_CHECK(ndr_pull_align(ndr, 4));
4644 NDR_CHECK(ndr_pull_samr_RejectReason(ndr, NDR_SCALARS, &r->reason));
4645 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
4646 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4648 if (ndr_flags & NDR_BUFFERS) {
4650 return NDR_ERR_SUCCESS;
4653 _PUBLIC_ void ndr_print_samr_ChangeReject(struct ndr_print *ndr, const char *name, const struct samr_ChangeReject *r)
4655 ndr_print_struct(ndr, name, "samr_ChangeReject");
4656 ndr->depth++;
4657 ndr_print_samr_RejectReason(ndr, "reason", r->reason);
4658 ndr_print_uint32(ndr, "unknown1", r->unknown1);
4659 ndr_print_uint32(ndr, "unknown2", r->unknown2);
4660 ndr->depth--;
4663 static enum ndr_err_code ndr_push_samr_ConnectInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_ConnectInfo1 *r)
4665 if (ndr_flags & NDR_SCALARS) {
4666 NDR_CHECK(ndr_push_align(ndr, 4));
4667 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->client_version));
4668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4670 if (ndr_flags & NDR_BUFFERS) {
4672 return NDR_ERR_SUCCESS;
4675 static enum ndr_err_code ndr_pull_samr_ConnectInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_ConnectInfo1 *r)
4677 if (ndr_flags & NDR_SCALARS) {
4678 NDR_CHECK(ndr_pull_align(ndr, 4));
4679 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->client_version));
4680 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4682 if (ndr_flags & NDR_BUFFERS) {
4684 return NDR_ERR_SUCCESS;
4687 _PUBLIC_ void ndr_print_samr_ConnectInfo1(struct ndr_print *ndr, const char *name, const struct samr_ConnectInfo1 *r)
4689 ndr_print_struct(ndr, name, "samr_ConnectInfo1");
4690 ndr->depth++;
4691 ndr_print_samr_ConnectVersion(ndr, "client_version", r->client_version);
4692 ndr_print_uint32(ndr, "unknown2", r->unknown2);
4693 ndr->depth--;
4696 static enum ndr_err_code ndr_push_samr_ConnectInfo(struct ndr_push *ndr, int ndr_flags, const union samr_ConnectInfo *r)
4698 if (ndr_flags & NDR_SCALARS) {
4699 int level = ndr_push_get_switch_value(ndr, r);
4700 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4701 NDR_CHECK(ndr_push_union_align(ndr, 4));
4702 switch (level) {
4703 case 1: {
4704 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
4705 break; }
4707 default:
4708 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4711 if (ndr_flags & NDR_BUFFERS) {
4712 int level = ndr_push_get_switch_value(ndr, r);
4713 switch (level) {
4714 case 1:
4715 break;
4717 default:
4718 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4721 return NDR_ERR_SUCCESS;
4724 static enum ndr_err_code ndr_pull_samr_ConnectInfo(struct ndr_pull *ndr, int ndr_flags, union samr_ConnectInfo *r)
4726 int level;
4727 uint32_t _level;
4728 level = ndr_pull_get_switch_value(ndr, r);
4729 if (ndr_flags & NDR_SCALARS) {
4730 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4731 if (_level != level) {
4732 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4734 NDR_CHECK(ndr_pull_union_align(ndr, 4));
4735 switch (level) {
4736 case 1: {
4737 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
4738 break; }
4740 default:
4741 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4744 if (ndr_flags & NDR_BUFFERS) {
4745 switch (level) {
4746 case 1:
4747 break;
4749 default:
4750 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4753 return NDR_ERR_SUCCESS;
4756 _PUBLIC_ void ndr_print_samr_ConnectInfo(struct ndr_print *ndr, const char *name, const union samr_ConnectInfo *r)
4758 int level;
4759 level = ndr_print_get_switch_value(ndr, r);
4760 ndr_print_union(ndr, name, level, "samr_ConnectInfo");
4761 switch (level) {
4762 case 1:
4763 ndr_print_samr_ConnectInfo1(ndr, "info1", &r->info1);
4764 break;
4766 default:
4767 ndr_print_bad_level(ndr, name, level);
4771 static enum ndr_err_code ndr_push_samr_ValidateFieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4773 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4774 return NDR_ERR_SUCCESS;
4777 static enum ndr_err_code ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4779 uint32_t v;
4780 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4781 *r = v;
4782 return NDR_ERR_SUCCESS;
4785 _PUBLIC_ void ndr_print_samr_ValidateFieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
4787 ndr_print_uint32(ndr, name, r);
4788 ndr->depth++;
4789 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET, r);
4790 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME, r);
4791 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME, r);
4792 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT, r);
4793 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH, r);
4794 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY, r);
4795 ndr->depth--;
4798 static enum ndr_err_code ndr_push_samr_ValidatePasswordLevel(struct ndr_push *ndr, int ndr_flags, enum samr_ValidatePasswordLevel r)
4800 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
4801 return NDR_ERR_SUCCESS;
4804 static enum ndr_err_code ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidatePasswordLevel *r)
4806 uint16_t v;
4807 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
4808 *r = v;
4809 return NDR_ERR_SUCCESS;
4812 _PUBLIC_ void ndr_print_samr_ValidatePasswordLevel(struct ndr_print *ndr, const char *name, enum samr_ValidatePasswordLevel r)
4814 const char *val = NULL;
4816 switch (r) {
4817 case NetValidateAuthentication: val = "NetValidateAuthentication"; break;
4818 case NetValidatePasswordChange: val = "NetValidatePasswordChange"; break;
4819 case NetValidatePasswordReset: val = "NetValidatePasswordReset"; break;
4821 ndr_print_enum(ndr, name, "ENUM", val, r);
4824 static enum ndr_err_code ndr_push_samr_ValidationStatus(struct ndr_push *ndr, int ndr_flags, enum samr_ValidationStatus r)
4826 NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
4827 return NDR_ERR_SUCCESS;
4830 static enum ndr_err_code ndr_pull_samr_ValidationStatus(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidationStatus *r)
4832 uint16_t v;
4833 NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
4834 *r = v;
4835 return NDR_ERR_SUCCESS;
4838 _PUBLIC_ void ndr_print_samr_ValidationStatus(struct ndr_print *ndr, const char *name, enum samr_ValidationStatus r)
4840 const char *val = NULL;
4842 switch (r) {
4843 case SAMR_VALIDATION_STATUS_SUCCESS: val = "SAMR_VALIDATION_STATUS_SUCCESS"; break;
4844 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE: val = "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
4845 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT: val = "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
4846 case SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED: val = "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED"; break;
4847 case SAMR_VALIDATION_STATUS_BAD_PASSWORD: val = "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
4848 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT: val = "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
4849 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT: val = "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
4850 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG: val = "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
4851 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH: val = "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
4852 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT: val = "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
4853 case SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR: val = "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR"; break;
4855 ndr_print_enum(ndr, name, "ENUM", val, r);
4858 static enum ndr_err_code ndr_push_samr_ValidationBlob(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidationBlob *r)
4860 if (ndr_flags & NDR_SCALARS) {
4861 NDR_CHECK(ndr_push_align(ndr, 5));
4862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4863 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
4865 if (ndr_flags & NDR_BUFFERS) {
4866 if (r->data) {
4867 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
4868 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
4871 return NDR_ERR_SUCCESS;
4874 static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidationBlob *r)
4876 uint32_t _ptr_data;
4877 TALLOC_CTX *_mem_save_data_0;
4878 if (ndr_flags & NDR_SCALARS) {
4879 NDR_CHECK(ndr_pull_align(ndr, 5));
4880 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
4881 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
4882 if (_ptr_data) {
4883 NDR_PULL_ALLOC(ndr, r->data);
4884 } else {
4885 r->data = NULL;
4888 if (ndr_flags & NDR_BUFFERS) {
4889 if (r->data) {
4890 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
4891 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
4892 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
4893 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
4894 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
4895 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
4897 if (r->data) {
4898 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
4901 return NDR_ERR_SUCCESS;
4904 _PUBLIC_ void ndr_print_samr_ValidationBlob(struct ndr_print *ndr, const char *name, const struct samr_ValidationBlob *r)
4906 ndr_print_struct(ndr, name, "samr_ValidationBlob");
4907 ndr->depth++;
4908 ndr_print_uint32(ndr, "length", r->length);
4909 ndr_print_ptr(ndr, "data", r->data);
4910 ndr->depth++;
4911 if (r->data) {
4912 ndr_print_array_uint8(ndr, "data", r->data, r->length);
4914 ndr->depth--;
4915 ndr->depth--;
4918 static enum ndr_err_code ndr_push_samr_ValidatePasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordInfo *r)
4920 uint32_t cntr_pwd_history_1;
4921 if (ndr_flags & NDR_SCALARS) {
4922 NDR_CHECK(ndr_push_align(ndr, 8));
4923 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, r->fields_present));
4924 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_password_change));
4925 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->bad_password_time));
4926 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->lockout_time));
4927 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pwd_count));
4928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len));
4929 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pwd_history));
4931 if (ndr_flags & NDR_BUFFERS) {
4932 if (r->pwd_history) {
4933 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->pwd_history_len));
4934 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4935 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
4937 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4938 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
4942 return NDR_ERR_SUCCESS;
4945 static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordInfo *r)
4947 uint32_t _ptr_pwd_history;
4948 uint32_t cntr_pwd_history_1;
4949 TALLOC_CTX *_mem_save_pwd_history_0;
4950 TALLOC_CTX *_mem_save_pwd_history_1;
4951 if (ndr_flags & NDR_SCALARS) {
4952 NDR_CHECK(ndr_pull_align(ndr, 8));
4953 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
4954 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_password_change));
4955 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->bad_password_time));
4956 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->lockout_time));
4957 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pwd_count));
4958 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pwd_history_len));
4959 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pwd_history));
4960 if (_ptr_pwd_history) {
4961 NDR_PULL_ALLOC(ndr, r->pwd_history);
4962 } else {
4963 r->pwd_history = NULL;
4966 if (ndr_flags & NDR_BUFFERS) {
4967 if (r->pwd_history) {
4968 _mem_save_pwd_history_0 = NDR_PULL_GET_MEM_CTX(ndr);
4969 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
4970 NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history));
4971 NDR_PULL_ALLOC_N(ndr, r->pwd_history, ndr_get_array_size(ndr, &r->pwd_history));
4972 _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr);
4973 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
4974 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4975 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
4977 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4978 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
4980 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_1, 0);
4981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_0, 0);
4983 if (r->pwd_history) {
4984 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pwd_history, r->pwd_history_len));
4987 return NDR_ERR_SUCCESS;
4990 _PUBLIC_ void ndr_print_samr_ValidatePasswordInfo(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordInfo *r)
4992 uint32_t cntr_pwd_history_1;
4993 ndr_print_struct(ndr, name, "samr_ValidatePasswordInfo");
4994 ndr->depth++;
4995 ndr_print_samr_ValidateFieldsPresent(ndr, "fields_present", r->fields_present);
4996 ndr_print_NTTIME_hyper(ndr, "last_password_change", r->last_password_change);
4997 ndr_print_NTTIME_hyper(ndr, "bad_password_time", r->bad_password_time);
4998 ndr_print_NTTIME_hyper(ndr, "lockout_time", r->lockout_time);
4999 ndr_print_uint32(ndr, "bad_pwd_count", r->bad_pwd_count);
5000 ndr_print_uint32(ndr, "pwd_history_len", r->pwd_history_len);
5001 ndr_print_ptr(ndr, "pwd_history", r->pwd_history);
5002 ndr->depth++;
5003 if (r->pwd_history) {
5004 ndr->print(ndr, "%s: ARRAY(%d)", "pwd_history", (int)r->pwd_history_len);
5005 ndr->depth++;
5006 for (cntr_pwd_history_1=0;cntr_pwd_history_1<r->pwd_history_len;cntr_pwd_history_1++) {
5007 char *idx_1=NULL;
5008 if (asprintf(&idx_1, "[%d]", cntr_pwd_history_1) != -1) {
5009 ndr_print_samr_ValidationBlob(ndr, "pwd_history", &r->pwd_history[cntr_pwd_history_1]);
5010 free(idx_1);
5013 ndr->depth--;
5015 ndr->depth--;
5016 ndr->depth--;
5019 static enum ndr_err_code ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordRepCtr *r)
5021 if (ndr_flags & NDR_SCALARS) {
5022 NDR_CHECK(ndr_push_align(ndr, 8));
5023 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5024 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr, NDR_SCALARS, r->status));
5026 if (ndr_flags & NDR_BUFFERS) {
5027 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5029 return NDR_ERR_SUCCESS;
5032 static enum ndr_err_code ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordRepCtr *r)
5034 if (ndr_flags & NDR_SCALARS) {
5035 NDR_CHECK(ndr_pull_align(ndr, 8));
5036 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5037 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr, NDR_SCALARS, &r->status));
5039 if (ndr_flags & NDR_BUFFERS) {
5040 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5042 return NDR_ERR_SUCCESS;
5045 _PUBLIC_ void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordRepCtr *r)
5047 ndr_print_struct(ndr, name, "samr_ValidatePasswordRepCtr");
5048 ndr->depth++;
5049 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5050 ndr_print_samr_ValidationStatus(ndr, "status", r->status);
5051 ndr->depth--;
5054 static enum ndr_err_code ndr_push_samr_ValidatePasswordRep(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordRep *r)
5056 if (ndr_flags & NDR_SCALARS) {
5057 int level = ndr_push_get_switch_value(ndr, r);
5058 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
5059 NDR_CHECK(ndr_push_union_align(ndr, 8));
5060 switch (level) {
5061 case 1: {
5062 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
5063 break; }
5065 case 2: {
5066 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
5067 break; }
5069 case 3: {
5070 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
5071 break; }
5073 default:
5074 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5077 if (ndr_flags & NDR_BUFFERS) {
5078 int level = ndr_push_get_switch_value(ndr, r);
5079 switch (level) {
5080 case 1:
5081 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
5082 break;
5084 case 2:
5085 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
5086 break;
5088 case 3:
5089 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
5090 break;
5092 default:
5093 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5096 return NDR_ERR_SUCCESS;
5099 static enum ndr_err_code ndr_pull_samr_ValidatePasswordRep(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordRep *r)
5101 int level;
5102 uint16_t _level;
5103 level = ndr_pull_get_switch_value(ndr, r);
5104 if (ndr_flags & NDR_SCALARS) {
5105 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
5106 if (_level != level) {
5107 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5109 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5110 switch (level) {
5111 case 1: {
5112 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
5113 break; }
5115 case 2: {
5116 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
5117 break; }
5119 case 3: {
5120 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
5121 break; }
5123 default:
5124 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5127 if (ndr_flags & NDR_BUFFERS) {
5128 switch (level) {
5129 case 1:
5130 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
5131 break;
5133 case 2:
5134 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
5135 break;
5137 case 3:
5138 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
5139 break;
5141 default:
5142 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5145 return NDR_ERR_SUCCESS;
5148 _PUBLIC_ void ndr_print_samr_ValidatePasswordRep(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordRep *r)
5150 int level;
5151 level = ndr_print_get_switch_value(ndr, r);
5152 ndr_print_union(ndr, name, level, "samr_ValidatePasswordRep");
5153 switch (level) {
5154 case 1:
5155 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr1", &r->ctr1);
5156 break;
5158 case 2:
5159 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr2", &r->ctr2);
5160 break;
5162 case 3:
5163 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr3", &r->ctr3);
5164 break;
5166 default:
5167 ndr_print_bad_level(ndr, name, level);
5171 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq3(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq3 *r)
5173 if (ndr_flags & NDR_SCALARS) {
5174 NDR_CHECK(ndr_push_align(ndr, 8));
5175 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5176 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5177 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5178 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5179 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pwd_must_change_at_next_logon));
5180 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->clear_lockout));
5182 if (ndr_flags & NDR_BUFFERS) {
5183 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5184 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5185 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5186 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5188 return NDR_ERR_SUCCESS;
5191 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq3 *r)
5193 if (ndr_flags & NDR_SCALARS) {
5194 NDR_CHECK(ndr_pull_align(ndr, 8));
5195 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5196 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5197 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5198 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5199 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pwd_must_change_at_next_logon));
5200 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->clear_lockout));
5202 if (ndr_flags & NDR_BUFFERS) {
5203 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5204 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5205 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5206 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5208 return NDR_ERR_SUCCESS;
5211 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq3(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq3 *r)
5213 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq3");
5214 ndr->depth++;
5215 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5216 ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5217 ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5218 ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5219 ndr_print_uint8(ndr, "pwd_must_change_at_next_logon", r->pwd_must_change_at_next_logon);
5220 ndr_print_uint8(ndr, "clear_lockout", r->clear_lockout);
5221 ndr->depth--;
5224 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq2(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq2 *r)
5226 if (ndr_flags & NDR_SCALARS) {
5227 NDR_CHECK(ndr_push_align(ndr, 8));
5228 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5229 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5230 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5231 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5232 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5234 if (ndr_flags & NDR_BUFFERS) {
5235 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5236 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5237 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5238 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5240 return NDR_ERR_SUCCESS;
5243 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq2 *r)
5245 if (ndr_flags & NDR_SCALARS) {
5246 NDR_CHECK(ndr_pull_align(ndr, 8));
5247 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5248 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5249 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5250 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5251 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5253 if (ndr_flags & NDR_BUFFERS) {
5254 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5255 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5256 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5257 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5259 return NDR_ERR_SUCCESS;
5262 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq2(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq2 *r)
5264 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq2");
5265 ndr->depth++;
5266 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5267 ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5268 ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5269 ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5270 ndr_print_uint8(ndr, "password_matched", r->password_matched);
5271 ndr->depth--;
5274 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq1(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq1 *r)
5276 if (ndr_flags & NDR_SCALARS) {
5277 NDR_CHECK(ndr_push_align(ndr, 8));
5278 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5279 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5281 if (ndr_flags & NDR_BUFFERS) {
5282 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5284 return NDR_ERR_SUCCESS;
5287 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq1 *r)
5289 if (ndr_flags & NDR_SCALARS) {
5290 NDR_CHECK(ndr_pull_align(ndr, 8));
5291 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5292 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5294 if (ndr_flags & NDR_BUFFERS) {
5295 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5297 return NDR_ERR_SUCCESS;
5300 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq1(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq1 *r)
5302 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq1");
5303 ndr->depth++;
5304 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5305 ndr_print_uint8(ndr, "password_matched", r->password_matched);
5306 ndr->depth--;
5309 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordReq *r)
5311 if (ndr_flags & NDR_SCALARS) {
5312 int level = ndr_push_get_switch_value(ndr, r);
5313 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
5314 NDR_CHECK(ndr_push_union_align(ndr, 8));
5315 switch (level) {
5316 case 1: {
5317 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5318 break; }
5320 case 2: {
5321 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5322 break; }
5324 case 3: {
5325 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5326 break; }
5328 default:
5329 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5332 if (ndr_flags & NDR_BUFFERS) {
5333 int level = ndr_push_get_switch_value(ndr, r);
5334 switch (level) {
5335 case 1:
5336 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5337 break;
5339 case 2:
5340 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5341 break;
5343 case 3:
5344 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5345 break;
5347 default:
5348 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5351 return NDR_ERR_SUCCESS;
5354 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordReq *r)
5356 int level;
5357 uint16_t _level;
5358 level = ndr_pull_get_switch_value(ndr, r);
5359 if (ndr_flags & NDR_SCALARS) {
5360 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
5361 if (_level != level) {
5362 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5364 NDR_CHECK(ndr_pull_union_align(ndr, 8));
5365 switch (level) {
5366 case 1: {
5367 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5368 break; }
5370 case 2: {
5371 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5372 break; }
5374 case 3: {
5375 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5376 break; }
5378 default:
5379 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5382 if (ndr_flags & NDR_BUFFERS) {
5383 switch (level) {
5384 case 1:
5385 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5386 break;
5388 case 2:
5389 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5390 break;
5392 case 3:
5393 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5394 break;
5396 default:
5397 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
5400 return NDR_ERR_SUCCESS;
5403 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordReq *r)
5405 int level;
5406 level = ndr_print_get_switch_value(ndr, r);
5407 ndr_print_union(ndr, name, level, "samr_ValidatePasswordReq");
5408 switch (level) {
5409 case 1:
5410 ndr_print_samr_ValidatePasswordReq1(ndr, "req1", &r->req1);
5411 break;
5413 case 2:
5414 ndr_print_samr_ValidatePasswordReq2(ndr, "req2", &r->req2);
5415 break;
5417 case 3:
5418 ndr_print_samr_ValidatePasswordReq3(ndr, "req3", &r->req3);
5419 break;
5421 default:
5422 ndr_print_bad_level(ndr, name, level);
5426 static enum ndr_err_code ndr_push_samr_Connect(struct ndr_push *ndr, int flags, const struct samr_Connect *r)
5428 if (flags & NDR_IN) {
5429 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
5430 if (r->in.system_name) {
5431 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
5433 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
5435 if (flags & NDR_OUT) {
5436 if (r->out.connect_handle == NULL) {
5437 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5439 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5440 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5442 return NDR_ERR_SUCCESS;
5445 static enum ndr_err_code ndr_pull_samr_Connect(struct ndr_pull *ndr, int flags, struct samr_Connect *r)
5447 uint32_t _ptr_system_name;
5448 TALLOC_CTX *_mem_save_system_name_0;
5449 TALLOC_CTX *_mem_save_connect_handle_0;
5450 if (flags & NDR_IN) {
5451 ZERO_STRUCT(r->out);
5453 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
5454 if (_ptr_system_name) {
5455 NDR_PULL_ALLOC(ndr, r->in.system_name);
5456 } else {
5457 r->in.system_name = NULL;
5459 if (r->in.system_name) {
5460 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5461 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
5462 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
5463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
5465 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
5466 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5467 ZERO_STRUCTP(r->out.connect_handle);
5469 if (flags & NDR_OUT) {
5470 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5471 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5473 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5474 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5475 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5476 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5477 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5479 return NDR_ERR_SUCCESS;
5482 _PUBLIC_ void ndr_print_samr_Connect(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect *r)
5484 ndr_print_struct(ndr, name, "samr_Connect");
5485 ndr->depth++;
5486 if (flags & NDR_SET_VALUES) {
5487 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5489 if (flags & NDR_IN) {
5490 ndr_print_struct(ndr, "in", "samr_Connect");
5491 ndr->depth++;
5492 ndr_print_ptr(ndr, "system_name", r->in.system_name);
5493 ndr->depth++;
5494 if (r->in.system_name) {
5495 ndr_print_uint16(ndr, "system_name", *r->in.system_name);
5497 ndr->depth--;
5498 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
5499 ndr->depth--;
5501 if (flags & NDR_OUT) {
5502 ndr_print_struct(ndr, "out", "samr_Connect");
5503 ndr->depth++;
5504 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
5505 ndr->depth++;
5506 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
5507 ndr->depth--;
5508 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5509 ndr->depth--;
5511 ndr->depth--;
5514 _PUBLIC_ enum ndr_err_code ndr_push_samr_Close(struct ndr_push *ndr, int flags, const struct samr_Close *r)
5516 if (flags & NDR_IN) {
5517 if (r->in.handle == NULL) {
5518 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5520 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5522 if (flags & NDR_OUT) {
5523 if (r->out.handle == NULL) {
5524 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5526 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5527 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5529 return NDR_ERR_SUCCESS;
5532 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Close(struct ndr_pull *ndr, int flags, struct samr_Close *r)
5534 TALLOC_CTX *_mem_save_handle_0;
5535 if (flags & NDR_IN) {
5536 ZERO_STRUCT(r->out);
5538 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5539 NDR_PULL_ALLOC(ndr, r->in.handle);
5541 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5542 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5543 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5545 NDR_PULL_ALLOC(ndr, r->out.handle);
5546 *r->out.handle = *r->in.handle;
5548 if (flags & NDR_OUT) {
5549 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5550 NDR_PULL_ALLOC(ndr, r->out.handle);
5552 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5553 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
5554 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5555 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5556 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5558 return NDR_ERR_SUCCESS;
5561 _PUBLIC_ void ndr_print_samr_Close(struct ndr_print *ndr, const char *name, int flags, const struct samr_Close *r)
5563 ndr_print_struct(ndr, name, "samr_Close");
5564 ndr->depth++;
5565 if (flags & NDR_SET_VALUES) {
5566 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5568 if (flags & NDR_IN) {
5569 ndr_print_struct(ndr, "in", "samr_Close");
5570 ndr->depth++;
5571 ndr_print_ptr(ndr, "handle", r->in.handle);
5572 ndr->depth++;
5573 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5574 ndr->depth--;
5575 ndr->depth--;
5577 if (flags & NDR_OUT) {
5578 ndr_print_struct(ndr, "out", "samr_Close");
5579 ndr->depth++;
5580 ndr_print_ptr(ndr, "handle", r->out.handle);
5581 ndr->depth++;
5582 ndr_print_policy_handle(ndr, "handle", r->out.handle);
5583 ndr->depth--;
5584 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5585 ndr->depth--;
5587 ndr->depth--;
5590 static enum ndr_err_code ndr_push_samr_SetSecurity(struct ndr_push *ndr, int flags, const struct samr_SetSecurity *r)
5592 if (flags & NDR_IN) {
5593 if (r->in.handle == NULL) {
5594 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5596 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5597 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
5598 if (r->in.sdbuf == NULL) {
5599 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5601 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5603 if (flags & NDR_OUT) {
5604 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5606 return NDR_ERR_SUCCESS;
5609 static enum ndr_err_code ndr_pull_samr_SetSecurity(struct ndr_pull *ndr, int flags, struct samr_SetSecurity *r)
5611 TALLOC_CTX *_mem_save_handle_0;
5612 TALLOC_CTX *_mem_save_sdbuf_0;
5613 if (flags & NDR_IN) {
5614 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5615 NDR_PULL_ALLOC(ndr, r->in.handle);
5617 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5618 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5619 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5620 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5621 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
5622 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5623 NDR_PULL_ALLOC(ndr, r->in.sdbuf);
5625 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
5626 NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC);
5627 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
5630 if (flags & NDR_OUT) {
5631 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5633 return NDR_ERR_SUCCESS;
5636 _PUBLIC_ void ndr_print_samr_SetSecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetSecurity *r)
5638 ndr_print_struct(ndr, name, "samr_SetSecurity");
5639 ndr->depth++;
5640 if (flags & NDR_SET_VALUES) {
5641 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5643 if (flags & NDR_IN) {
5644 ndr_print_struct(ndr, "in", "samr_SetSecurity");
5645 ndr->depth++;
5646 ndr_print_ptr(ndr, "handle", r->in.handle);
5647 ndr->depth++;
5648 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5649 ndr->depth--;
5650 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
5651 ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf);
5652 ndr->depth++;
5653 ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf);
5654 ndr->depth--;
5655 ndr->depth--;
5657 if (flags & NDR_OUT) {
5658 ndr_print_struct(ndr, "out", "samr_SetSecurity");
5659 ndr->depth++;
5660 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5661 ndr->depth--;
5663 ndr->depth--;
5666 static enum ndr_err_code ndr_push_samr_QuerySecurity(struct ndr_push *ndr, int flags, const struct samr_QuerySecurity *r)
5668 if (flags & NDR_IN) {
5669 if (r->in.handle == NULL) {
5670 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5672 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5673 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
5675 if (flags & NDR_OUT) {
5676 if (r->out.sdbuf == NULL) {
5677 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5679 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf));
5680 if (*r->out.sdbuf) {
5681 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
5683 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5685 return NDR_ERR_SUCCESS;
5688 static enum ndr_err_code ndr_pull_samr_QuerySecurity(struct ndr_pull *ndr, int flags, struct samr_QuerySecurity *r)
5690 uint32_t _ptr_sdbuf;
5691 TALLOC_CTX *_mem_save_handle_0;
5692 TALLOC_CTX *_mem_save_sdbuf_0;
5693 TALLOC_CTX *_mem_save_sdbuf_1;
5694 if (flags & NDR_IN) {
5695 ZERO_STRUCT(r->out);
5697 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5698 NDR_PULL_ALLOC(ndr, r->in.handle);
5700 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5701 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5702 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5703 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5704 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
5705 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
5706 ZERO_STRUCTP(r->out.sdbuf);
5708 if (flags & NDR_OUT) {
5709 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5710 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
5712 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
5713 NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC);
5714 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf));
5715 if (_ptr_sdbuf) {
5716 NDR_PULL_ALLOC(ndr, *r->out.sdbuf);
5717 } else {
5718 *r->out.sdbuf = NULL;
5720 if (*r->out.sdbuf) {
5721 _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr);
5722 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0);
5723 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
5724 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0);
5726 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
5727 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5729 return NDR_ERR_SUCCESS;
5732 _PUBLIC_ void ndr_print_samr_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_QuerySecurity *r)
5734 ndr_print_struct(ndr, name, "samr_QuerySecurity");
5735 ndr->depth++;
5736 if (flags & NDR_SET_VALUES) {
5737 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5739 if (flags & NDR_IN) {
5740 ndr_print_struct(ndr, "in", "samr_QuerySecurity");
5741 ndr->depth++;
5742 ndr_print_ptr(ndr, "handle", r->in.handle);
5743 ndr->depth++;
5744 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5745 ndr->depth--;
5746 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
5747 ndr->depth--;
5749 if (flags & NDR_OUT) {
5750 ndr_print_struct(ndr, "out", "samr_QuerySecurity");
5751 ndr->depth++;
5752 ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf);
5753 ndr->depth++;
5754 ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf);
5755 ndr->depth++;
5756 if (*r->out.sdbuf) {
5757 ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf);
5759 ndr->depth--;
5760 ndr->depth--;
5761 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5762 ndr->depth--;
5764 ndr->depth--;
5767 static enum ndr_err_code ndr_push_samr_Shutdown(struct ndr_push *ndr, int flags, const struct samr_Shutdown *r)
5769 if (flags & NDR_IN) {
5770 if (r->in.connect_handle == NULL) {
5771 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5773 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5775 if (flags & NDR_OUT) {
5776 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5778 return NDR_ERR_SUCCESS;
5781 static enum ndr_err_code ndr_pull_samr_Shutdown(struct ndr_pull *ndr, int flags, struct samr_Shutdown *r)
5783 TALLOC_CTX *_mem_save_connect_handle_0;
5784 if (flags & NDR_IN) {
5785 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5786 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5788 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5789 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5790 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5791 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5793 if (flags & NDR_OUT) {
5794 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5796 return NDR_ERR_SUCCESS;
5799 _PUBLIC_ void ndr_print_samr_Shutdown(struct ndr_print *ndr, const char *name, int flags, const struct samr_Shutdown *r)
5801 ndr_print_struct(ndr, name, "samr_Shutdown");
5802 ndr->depth++;
5803 if (flags & NDR_SET_VALUES) {
5804 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5806 if (flags & NDR_IN) {
5807 ndr_print_struct(ndr, "in", "samr_Shutdown");
5808 ndr->depth++;
5809 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
5810 ndr->depth++;
5811 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
5812 ndr->depth--;
5813 ndr->depth--;
5815 if (flags & NDR_OUT) {
5816 ndr_print_struct(ndr, "out", "samr_Shutdown");
5817 ndr->depth++;
5818 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5819 ndr->depth--;
5821 ndr->depth--;
5824 static enum ndr_err_code ndr_push_samr_LookupDomain(struct ndr_push *ndr, int flags, const struct samr_LookupDomain *r)
5826 if (flags & NDR_IN) {
5827 if (r->in.connect_handle == NULL) {
5828 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5830 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5831 if (r->in.domain_name == NULL) {
5832 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5834 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
5836 if (flags & NDR_OUT) {
5837 if (r->out.sid == NULL) {
5838 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5840 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
5841 if (*r->out.sid) {
5842 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
5844 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5846 return NDR_ERR_SUCCESS;
5849 static enum ndr_err_code ndr_pull_samr_LookupDomain(struct ndr_pull *ndr, int flags, struct samr_LookupDomain *r)
5851 uint32_t _ptr_sid;
5852 TALLOC_CTX *_mem_save_connect_handle_0;
5853 TALLOC_CTX *_mem_save_domain_name_0;
5854 TALLOC_CTX *_mem_save_sid_0;
5855 TALLOC_CTX *_mem_save_sid_1;
5856 if (flags & NDR_IN) {
5857 ZERO_STRUCT(r->out);
5859 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5860 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5862 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5863 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5864 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5866 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5867 NDR_PULL_ALLOC(ndr, r->in.domain_name);
5869 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5870 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, LIBNDR_FLAG_REF_ALLOC);
5871 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
5872 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
5873 NDR_PULL_ALLOC(ndr, r->out.sid);
5874 ZERO_STRUCTP(r->out.sid);
5876 if (flags & NDR_OUT) {
5877 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5878 NDR_PULL_ALLOC(ndr, r->out.sid);
5880 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5881 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
5882 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5883 if (_ptr_sid) {
5884 NDR_PULL_ALLOC(ndr, *r->out.sid);
5885 } else {
5886 *r->out.sid = NULL;
5888 if (*r->out.sid) {
5889 _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
5890 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
5891 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
5892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
5894 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
5895 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5897 return NDR_ERR_SUCCESS;
5900 _PUBLIC_ void ndr_print_samr_LookupDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupDomain *r)
5902 ndr_print_struct(ndr, name, "samr_LookupDomain");
5903 ndr->depth++;
5904 if (flags & NDR_SET_VALUES) {
5905 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5907 if (flags & NDR_IN) {
5908 ndr_print_struct(ndr, "in", "samr_LookupDomain");
5909 ndr->depth++;
5910 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
5911 ndr->depth++;
5912 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
5913 ndr->depth--;
5914 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
5915 ndr->depth++;
5916 ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
5917 ndr->depth--;
5918 ndr->depth--;
5920 if (flags & NDR_OUT) {
5921 ndr_print_struct(ndr, "out", "samr_LookupDomain");
5922 ndr->depth++;
5923 ndr_print_ptr(ndr, "sid", r->out.sid);
5924 ndr->depth++;
5925 ndr_print_ptr(ndr, "sid", *r->out.sid);
5926 ndr->depth++;
5927 if (*r->out.sid) {
5928 ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
5930 ndr->depth--;
5931 ndr->depth--;
5932 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5933 ndr->depth--;
5935 ndr->depth--;
5938 static enum ndr_err_code ndr_push_samr_EnumDomains(struct ndr_push *ndr, int flags, const struct samr_EnumDomains *r)
5940 if (flags & NDR_IN) {
5941 if (r->in.connect_handle == NULL) {
5942 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5944 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5945 if (r->in.resume_handle == NULL) {
5946 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
5949 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
5951 if (flags & NDR_OUT) {
5952 if (r->out.resume_handle == NULL) {
5953 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5955 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
5956 if (r->out.sam == NULL) {
5957 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5959 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
5960 if (*r->out.sam) {
5961 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
5963 if (r->out.num_entries == NULL) {
5964 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
5967 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5969 return NDR_ERR_SUCCESS;
5972 static enum ndr_err_code ndr_pull_samr_EnumDomains(struct ndr_pull *ndr, int flags, struct samr_EnumDomains *r)
5974 uint32_t _ptr_sam;
5975 TALLOC_CTX *_mem_save_connect_handle_0;
5976 TALLOC_CTX *_mem_save_resume_handle_0;
5977 TALLOC_CTX *_mem_save_sam_0;
5978 TALLOC_CTX *_mem_save_sam_1;
5979 TALLOC_CTX *_mem_save_num_entries_0;
5980 if (flags & NDR_IN) {
5981 ZERO_STRUCT(r->out);
5983 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5984 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5986 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5987 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5988 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5990 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5991 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
5993 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5994 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
5995 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
5996 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
5997 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
5998 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
5999 *r->out.resume_handle = *r->in.resume_handle;
6000 NDR_PULL_ALLOC(ndr, r->out.sam);
6001 ZERO_STRUCTP(r->out.sam);
6002 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6003 ZERO_STRUCTP(r->out.num_entries);
6005 if (flags & NDR_OUT) {
6006 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6007 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6009 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6010 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6012 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6013 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6014 NDR_PULL_ALLOC(ndr, r->out.sam);
6016 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6017 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6019 if (_ptr_sam) {
6020 NDR_PULL_ALLOC(ndr, *r->out.sam);
6021 } else {
6022 *r->out.sam = NULL;
6024 if (*r->out.sam) {
6025 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6026 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6027 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6031 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6032 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6034 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6035 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6036 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6037 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6038 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6040 return NDR_ERR_SUCCESS;
6043 _PUBLIC_ void ndr_print_samr_EnumDomains(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomains *r)
6045 ndr_print_struct(ndr, name, "samr_EnumDomains");
6046 ndr->depth++;
6047 if (flags & NDR_SET_VALUES) {
6048 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6050 if (flags & NDR_IN) {
6051 ndr_print_struct(ndr, "in", "samr_EnumDomains");
6052 ndr->depth++;
6053 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6054 ndr->depth++;
6055 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6056 ndr->depth--;
6057 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6058 ndr->depth++;
6059 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6060 ndr->depth--;
6061 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
6062 ndr->depth--;
6064 if (flags & NDR_OUT) {
6065 ndr_print_struct(ndr, "out", "samr_EnumDomains");
6066 ndr->depth++;
6067 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6068 ndr->depth++;
6069 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6070 ndr->depth--;
6071 ndr_print_ptr(ndr, "sam", r->out.sam);
6072 ndr->depth++;
6073 ndr_print_ptr(ndr, "sam", *r->out.sam);
6074 ndr->depth++;
6075 if (*r->out.sam) {
6076 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6078 ndr->depth--;
6079 ndr->depth--;
6080 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6081 ndr->depth++;
6082 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6083 ndr->depth--;
6084 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6085 ndr->depth--;
6087 ndr->depth--;
6090 _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenDomain(struct ndr_push *ndr, int flags, const struct samr_OpenDomain *r)
6092 if (flags & NDR_IN) {
6093 if (r->in.connect_handle == NULL) {
6094 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6096 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6097 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6098 if (r->in.sid == NULL) {
6099 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6101 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
6103 if (flags & NDR_OUT) {
6104 if (r->out.domain_handle == NULL) {
6105 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6107 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
6108 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6110 return NDR_ERR_SUCCESS;
6113 _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenDomain(struct ndr_pull *ndr, int flags, struct samr_OpenDomain *r)
6115 TALLOC_CTX *_mem_save_connect_handle_0;
6116 TALLOC_CTX *_mem_save_sid_0;
6117 TALLOC_CTX *_mem_save_domain_handle_0;
6118 if (flags & NDR_IN) {
6119 ZERO_STRUCT(r->out);
6121 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6122 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
6124 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6125 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
6126 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
6127 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
6128 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6129 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6130 NDR_PULL_ALLOC(ndr, r->in.sid);
6132 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6133 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
6134 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
6135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
6136 NDR_PULL_ALLOC(ndr, r->out.domain_handle);
6137 ZERO_STRUCTP(r->out.domain_handle);
6139 if (flags & NDR_OUT) {
6140 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6141 NDR_PULL_ALLOC(ndr, r->out.domain_handle);
6143 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6144 NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6145 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
6146 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6147 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6149 return NDR_ERR_SUCCESS;
6152 _PUBLIC_ void ndr_print_samr_OpenDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenDomain *r)
6154 ndr_print_struct(ndr, name, "samr_OpenDomain");
6155 ndr->depth++;
6156 if (flags & NDR_SET_VALUES) {
6157 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6159 if (flags & NDR_IN) {
6160 ndr_print_struct(ndr, "in", "samr_OpenDomain");
6161 ndr->depth++;
6162 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
6163 ndr->depth++;
6164 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
6165 ndr->depth--;
6166 ndr_print_samr_DomainAccessMask(ndr, "access_mask", r->in.access_mask);
6167 ndr_print_ptr(ndr, "sid", r->in.sid);
6168 ndr->depth++;
6169 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
6170 ndr->depth--;
6171 ndr->depth--;
6173 if (flags & NDR_OUT) {
6174 ndr_print_struct(ndr, "out", "samr_OpenDomain");
6175 ndr->depth++;
6176 ndr_print_ptr(ndr, "domain_handle", r->out.domain_handle);
6177 ndr->depth++;
6178 ndr_print_policy_handle(ndr, "domain_handle", r->out.domain_handle);
6179 ndr->depth--;
6180 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6181 ndr->depth--;
6183 ndr->depth--;
6186 static enum ndr_err_code ndr_push_samr_QueryDomainInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo *r)
6188 if (flags & NDR_IN) {
6189 if (r->in.domain_handle == NULL) {
6190 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6192 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6193 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
6195 if (flags & NDR_OUT) {
6196 if (r->out.info == NULL) {
6197 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6199 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
6200 if (*r->out.info) {
6201 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
6202 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6204 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6206 return NDR_ERR_SUCCESS;
6209 static enum ndr_err_code ndr_pull_samr_QueryDomainInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo *r)
6211 uint32_t _ptr_info;
6212 TALLOC_CTX *_mem_save_domain_handle_0;
6213 TALLOC_CTX *_mem_save_info_0;
6214 TALLOC_CTX *_mem_save_info_1;
6215 if (flags & NDR_IN) {
6216 ZERO_STRUCT(r->out);
6218 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6219 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6221 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6222 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6223 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6224 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6225 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
6226 NDR_PULL_ALLOC(ndr, r->out.info);
6227 ZERO_STRUCTP(r->out.info);
6229 if (flags & NDR_OUT) {
6230 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6231 NDR_PULL_ALLOC(ndr, r->out.info);
6233 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6234 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
6235 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
6236 if (_ptr_info) {
6237 NDR_PULL_ALLOC(ndr, *r->out.info);
6238 } else {
6239 *r->out.info = NULL;
6241 if (*r->out.info) {
6242 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
6243 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
6244 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
6245 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6246 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
6248 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6249 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6251 return NDR_ERR_SUCCESS;
6254 _PUBLIC_ void ndr_print_samr_QueryDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo *r)
6256 ndr_print_struct(ndr, name, "samr_QueryDomainInfo");
6257 ndr->depth++;
6258 if (flags & NDR_SET_VALUES) {
6259 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6261 if (flags & NDR_IN) {
6262 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo");
6263 ndr->depth++;
6264 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6265 ndr->depth++;
6266 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6267 ndr->depth--;
6268 ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
6269 ndr->depth--;
6271 if (flags & NDR_OUT) {
6272 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo");
6273 ndr->depth++;
6274 ndr_print_ptr(ndr, "info", r->out.info);
6275 ndr->depth++;
6276 ndr_print_ptr(ndr, "info", *r->out.info);
6277 ndr->depth++;
6278 if (*r->out.info) {
6279 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
6280 ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
6282 ndr->depth--;
6283 ndr->depth--;
6284 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6285 ndr->depth--;
6287 ndr->depth--;
6290 static enum ndr_err_code ndr_push_samr_SetDomainInfo(struct ndr_push *ndr, int flags, const struct samr_SetDomainInfo *r)
6292 if (flags & NDR_IN) {
6293 if (r->in.domain_handle == NULL) {
6294 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6296 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6297 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
6298 if (r->in.info == NULL) {
6299 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6301 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
6302 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6304 if (flags & NDR_OUT) {
6305 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6307 return NDR_ERR_SUCCESS;
6310 static enum ndr_err_code ndr_pull_samr_SetDomainInfo(struct ndr_pull *ndr, int flags, struct samr_SetDomainInfo *r)
6312 TALLOC_CTX *_mem_save_domain_handle_0;
6313 TALLOC_CTX *_mem_save_info_0;
6314 if (flags & NDR_IN) {
6315 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6316 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6318 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6319 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6320 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6321 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6322 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
6323 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6324 NDR_PULL_ALLOC(ndr, r->in.info);
6326 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6327 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
6328 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
6329 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6330 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6332 if (flags & NDR_OUT) {
6333 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6335 return NDR_ERR_SUCCESS;
6338 _PUBLIC_ void ndr_print_samr_SetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDomainInfo *r)
6340 ndr_print_struct(ndr, name, "samr_SetDomainInfo");
6341 ndr->depth++;
6342 if (flags & NDR_SET_VALUES) {
6343 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6345 if (flags & NDR_IN) {
6346 ndr_print_struct(ndr, "in", "samr_SetDomainInfo");
6347 ndr->depth++;
6348 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6349 ndr->depth++;
6350 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6351 ndr->depth--;
6352 ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
6353 ndr_print_ptr(ndr, "info", r->in.info);
6354 ndr->depth++;
6355 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
6356 ndr_print_samr_DomainInfo(ndr, "info", r->in.info);
6357 ndr->depth--;
6358 ndr->depth--;
6360 if (flags & NDR_OUT) {
6361 ndr_print_struct(ndr, "out", "samr_SetDomainInfo");
6362 ndr->depth++;
6363 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6364 ndr->depth--;
6366 ndr->depth--;
6369 static enum ndr_err_code ndr_push_samr_CreateDomainGroup(struct ndr_push *ndr, int flags, const struct samr_CreateDomainGroup *r)
6371 if (flags & NDR_IN) {
6372 if (r->in.domain_handle == NULL) {
6373 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6375 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6376 if (r->in.name == NULL) {
6377 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6379 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6380 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6382 if (flags & NDR_OUT) {
6383 if (r->out.group_handle == NULL) {
6384 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6386 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6387 if (r->out.rid == NULL) {
6388 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6391 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6393 return NDR_ERR_SUCCESS;
6396 static enum ndr_err_code ndr_pull_samr_CreateDomainGroup(struct ndr_pull *ndr, int flags, struct samr_CreateDomainGroup *r)
6398 TALLOC_CTX *_mem_save_domain_handle_0;
6399 TALLOC_CTX *_mem_save_name_0;
6400 TALLOC_CTX *_mem_save_group_handle_0;
6401 TALLOC_CTX *_mem_save_rid_0;
6402 if (flags & NDR_IN) {
6403 ZERO_STRUCT(r->out);
6405 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6406 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6408 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6409 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6410 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6411 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6412 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6413 NDR_PULL_ALLOC(ndr, r->in.name);
6415 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6416 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
6417 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6418 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
6419 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6420 NDR_PULL_ALLOC(ndr, r->out.group_handle);
6421 ZERO_STRUCTP(r->out.group_handle);
6422 NDR_PULL_ALLOC(ndr, r->out.rid);
6423 ZERO_STRUCTP(r->out.rid);
6425 if (flags & NDR_OUT) {
6426 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6427 NDR_PULL_ALLOC(ndr, r->out.group_handle);
6429 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6430 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
6431 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
6433 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6434 NDR_PULL_ALLOC(ndr, r->out.rid);
6436 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6437 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6438 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6439 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6440 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6442 return NDR_ERR_SUCCESS;
6445 _PUBLIC_ void ndr_print_samr_CreateDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomainGroup *r)
6447 ndr_print_struct(ndr, name, "samr_CreateDomainGroup");
6448 ndr->depth++;
6449 if (flags & NDR_SET_VALUES) {
6450 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6452 if (flags & NDR_IN) {
6453 ndr_print_struct(ndr, "in", "samr_CreateDomainGroup");
6454 ndr->depth++;
6455 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6456 ndr->depth++;
6457 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6458 ndr->depth--;
6459 ndr_print_ptr(ndr, "name", r->in.name);
6460 ndr->depth++;
6461 ndr_print_lsa_String(ndr, "name", r->in.name);
6462 ndr->depth--;
6463 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
6464 ndr->depth--;
6466 if (flags & NDR_OUT) {
6467 ndr_print_struct(ndr, "out", "samr_CreateDomainGroup");
6468 ndr->depth++;
6469 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
6470 ndr->depth++;
6471 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
6472 ndr->depth--;
6473 ndr_print_ptr(ndr, "rid", r->out.rid);
6474 ndr->depth++;
6475 ndr_print_uint32(ndr, "rid", *r->out.rid);
6476 ndr->depth--;
6477 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6478 ndr->depth--;
6480 ndr->depth--;
6483 static enum ndr_err_code ndr_push_samr_EnumDomainGroups(struct ndr_push *ndr, int flags, const struct samr_EnumDomainGroups *r)
6485 if (flags & NDR_IN) {
6486 if (r->in.domain_handle == NULL) {
6487 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6489 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6490 if (r->in.resume_handle == NULL) {
6491 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6493 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6494 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6496 if (flags & NDR_OUT) {
6497 if (r->out.resume_handle == NULL) {
6498 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6500 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6501 if (r->out.sam == NULL) {
6502 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6504 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6505 if (*r->out.sam) {
6506 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6508 if (r->out.num_entries == NULL) {
6509 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6511 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6512 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6514 return NDR_ERR_SUCCESS;
6517 static enum ndr_err_code ndr_pull_samr_EnumDomainGroups(struct ndr_pull *ndr, int flags, struct samr_EnumDomainGroups *r)
6519 uint32_t _ptr_sam;
6520 TALLOC_CTX *_mem_save_domain_handle_0;
6521 TALLOC_CTX *_mem_save_resume_handle_0;
6522 TALLOC_CTX *_mem_save_sam_0;
6523 TALLOC_CTX *_mem_save_sam_1;
6524 TALLOC_CTX *_mem_save_num_entries_0;
6525 if (flags & NDR_IN) {
6526 ZERO_STRUCT(r->out);
6528 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6529 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6531 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6532 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6533 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6535 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6536 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6538 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6539 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6540 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6542 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6543 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6544 *r->out.resume_handle = *r->in.resume_handle;
6545 NDR_PULL_ALLOC(ndr, r->out.sam);
6546 ZERO_STRUCTP(r->out.sam);
6547 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6548 ZERO_STRUCTP(r->out.num_entries);
6550 if (flags & NDR_OUT) {
6551 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6552 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6554 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6555 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6556 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6557 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6558 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6559 NDR_PULL_ALLOC(ndr, r->out.sam);
6561 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6562 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6563 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6564 if (_ptr_sam) {
6565 NDR_PULL_ALLOC(ndr, *r->out.sam);
6566 } else {
6567 *r->out.sam = NULL;
6569 if (*r->out.sam) {
6570 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6571 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6572 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6573 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6576 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6577 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6579 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6580 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6581 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6582 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6583 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6585 return NDR_ERR_SUCCESS;
6588 _PUBLIC_ void ndr_print_samr_EnumDomainGroups(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainGroups *r)
6590 ndr_print_struct(ndr, name, "samr_EnumDomainGroups");
6591 ndr->depth++;
6592 if (flags & NDR_SET_VALUES) {
6593 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6595 if (flags & NDR_IN) {
6596 ndr_print_struct(ndr, "in", "samr_EnumDomainGroups");
6597 ndr->depth++;
6598 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6599 ndr->depth++;
6600 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6601 ndr->depth--;
6602 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6603 ndr->depth++;
6604 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6605 ndr->depth--;
6606 ndr_print_uint32(ndr, "max_size", r->in.max_size);
6607 ndr->depth--;
6609 if (flags & NDR_OUT) {
6610 ndr_print_struct(ndr, "out", "samr_EnumDomainGroups");
6611 ndr->depth++;
6612 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6613 ndr->depth++;
6614 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6615 ndr->depth--;
6616 ndr_print_ptr(ndr, "sam", r->out.sam);
6617 ndr->depth++;
6618 ndr_print_ptr(ndr, "sam", *r->out.sam);
6619 ndr->depth++;
6620 if (*r->out.sam) {
6621 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6623 ndr->depth--;
6624 ndr->depth--;
6625 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6626 ndr->depth++;
6627 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6628 ndr->depth--;
6629 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6630 ndr->depth--;
6632 ndr->depth--;
6635 static enum ndr_err_code ndr_push_samr_CreateUser(struct ndr_push *ndr, int flags, const struct samr_CreateUser *r)
6637 if (flags & NDR_IN) {
6638 if (r->in.domain_handle == NULL) {
6639 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6641 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6642 if (r->in.account_name == NULL) {
6643 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6645 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
6646 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6648 if (flags & NDR_OUT) {
6649 if (r->out.user_handle == NULL) {
6650 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6652 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
6653 if (r->out.rid == NULL) {
6654 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6656 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6657 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6659 return NDR_ERR_SUCCESS;
6662 static enum ndr_err_code ndr_pull_samr_CreateUser(struct ndr_pull *ndr, int flags, struct samr_CreateUser *r)
6664 TALLOC_CTX *_mem_save_domain_handle_0;
6665 TALLOC_CTX *_mem_save_account_name_0;
6666 TALLOC_CTX *_mem_save_user_handle_0;
6667 TALLOC_CTX *_mem_save_rid_0;
6668 if (flags & NDR_IN) {
6669 ZERO_STRUCT(r->out);
6671 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6672 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6674 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6675 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6676 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6677 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6678 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6679 NDR_PULL_ALLOC(ndr, r->in.account_name);
6681 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6682 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
6683 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
6684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
6685 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6686 NDR_PULL_ALLOC(ndr, r->out.user_handle);
6687 ZERO_STRUCTP(r->out.user_handle);
6688 NDR_PULL_ALLOC(ndr, r->out.rid);
6689 ZERO_STRUCTP(r->out.rid);
6691 if (flags & NDR_OUT) {
6692 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6693 NDR_PULL_ALLOC(ndr, r->out.user_handle);
6695 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6696 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
6697 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
6698 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
6699 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6700 NDR_PULL_ALLOC(ndr, r->out.rid);
6702 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6703 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6704 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6705 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6706 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6708 return NDR_ERR_SUCCESS;
6711 _PUBLIC_ void ndr_print_samr_CreateUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser *r)
6713 ndr_print_struct(ndr, name, "samr_CreateUser");
6714 ndr->depth++;
6715 if (flags & NDR_SET_VALUES) {
6716 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6718 if (flags & NDR_IN) {
6719 ndr_print_struct(ndr, "in", "samr_CreateUser");
6720 ndr->depth++;
6721 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6722 ndr->depth++;
6723 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6724 ndr->depth--;
6725 ndr_print_ptr(ndr, "account_name", r->in.account_name);
6726 ndr->depth++;
6727 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
6728 ndr->depth--;
6729 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
6730 ndr->depth--;
6732 if (flags & NDR_OUT) {
6733 ndr_print_struct(ndr, "out", "samr_CreateUser");
6734 ndr->depth++;
6735 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
6736 ndr->depth++;
6737 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
6738 ndr->depth--;
6739 ndr_print_ptr(ndr, "rid", r->out.rid);
6740 ndr->depth++;
6741 ndr_print_uint32(ndr, "rid", *r->out.rid);
6742 ndr->depth--;
6743 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6744 ndr->depth--;
6746 ndr->depth--;
6749 static enum ndr_err_code ndr_push_samr_EnumDomainUsers(struct ndr_push *ndr, int flags, const struct samr_EnumDomainUsers *r)
6751 if (flags & NDR_IN) {
6752 if (r->in.domain_handle == NULL) {
6753 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6755 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6756 if (r->in.resume_handle == NULL) {
6757 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6760 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
6761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6763 if (flags & NDR_OUT) {
6764 if (r->out.resume_handle == NULL) {
6765 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6767 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6768 if (r->out.sam == NULL) {
6769 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6771 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6772 if (*r->out.sam) {
6773 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6775 if (r->out.num_entries == NULL) {
6776 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6778 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6779 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6781 return NDR_ERR_SUCCESS;
6784 static enum ndr_err_code ndr_pull_samr_EnumDomainUsers(struct ndr_pull *ndr, int flags, struct samr_EnumDomainUsers *r)
6786 uint32_t _ptr_sam;
6787 TALLOC_CTX *_mem_save_domain_handle_0;
6788 TALLOC_CTX *_mem_save_resume_handle_0;
6789 TALLOC_CTX *_mem_save_sam_0;
6790 TALLOC_CTX *_mem_save_sam_1;
6791 TALLOC_CTX *_mem_save_num_entries_0;
6792 if (flags & NDR_IN) {
6793 ZERO_STRUCT(r->out);
6795 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6796 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6798 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6799 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6800 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6801 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6802 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6803 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6805 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6806 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6807 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6808 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6809 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
6810 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6811 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6812 *r->out.resume_handle = *r->in.resume_handle;
6813 NDR_PULL_ALLOC(ndr, r->out.sam);
6814 ZERO_STRUCTP(r->out.sam);
6815 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6816 ZERO_STRUCTP(r->out.num_entries);
6818 if (flags & NDR_OUT) {
6819 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6820 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6822 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6823 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6824 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6826 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6827 NDR_PULL_ALLOC(ndr, r->out.sam);
6829 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6830 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6831 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6832 if (_ptr_sam) {
6833 NDR_PULL_ALLOC(ndr, *r->out.sam);
6834 } else {
6835 *r->out.sam = NULL;
6837 if (*r->out.sam) {
6838 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6839 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6840 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6841 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6844 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6845 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6847 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6848 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6849 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6850 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6851 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6853 return NDR_ERR_SUCCESS;
6856 _PUBLIC_ void ndr_print_samr_EnumDomainUsers(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainUsers *r)
6858 ndr_print_struct(ndr, name, "samr_EnumDomainUsers");
6859 ndr->depth++;
6860 if (flags & NDR_SET_VALUES) {
6861 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6863 if (flags & NDR_IN) {
6864 ndr_print_struct(ndr, "in", "samr_EnumDomainUsers");
6865 ndr->depth++;
6866 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6867 ndr->depth++;
6868 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6869 ndr->depth--;
6870 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6871 ndr->depth++;
6872 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6873 ndr->depth--;
6874 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
6875 ndr_print_uint32(ndr, "max_size", r->in.max_size);
6876 ndr->depth--;
6878 if (flags & NDR_OUT) {
6879 ndr_print_struct(ndr, "out", "samr_EnumDomainUsers");
6880 ndr->depth++;
6881 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6882 ndr->depth++;
6883 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6884 ndr->depth--;
6885 ndr_print_ptr(ndr, "sam", r->out.sam);
6886 ndr->depth++;
6887 ndr_print_ptr(ndr, "sam", *r->out.sam);
6888 ndr->depth++;
6889 if (*r->out.sam) {
6890 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6892 ndr->depth--;
6893 ndr->depth--;
6894 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6895 ndr->depth++;
6896 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6897 ndr->depth--;
6898 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6899 ndr->depth--;
6901 ndr->depth--;
6904 static enum ndr_err_code ndr_push_samr_CreateDomAlias(struct ndr_push *ndr, int flags, const struct samr_CreateDomAlias *r)
6906 if (flags & NDR_IN) {
6907 if (r->in.domain_handle == NULL) {
6908 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6910 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6911 if (r->in.alias_name == NULL) {
6912 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6914 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
6915 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6917 if (flags & NDR_OUT) {
6918 if (r->out.alias_handle == NULL) {
6919 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6921 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
6922 if (r->out.rid == NULL) {
6923 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6925 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6926 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6928 return NDR_ERR_SUCCESS;
6931 static enum ndr_err_code ndr_pull_samr_CreateDomAlias(struct ndr_pull *ndr, int flags, struct samr_CreateDomAlias *r)
6933 TALLOC_CTX *_mem_save_domain_handle_0;
6934 TALLOC_CTX *_mem_save_alias_name_0;
6935 TALLOC_CTX *_mem_save_alias_handle_0;
6936 TALLOC_CTX *_mem_save_rid_0;
6937 if (flags & NDR_IN) {
6938 ZERO_STRUCT(r->out);
6940 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6941 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6943 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6944 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6945 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6946 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6947 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6948 NDR_PULL_ALLOC(ndr, r->in.alias_name);
6950 _mem_save_alias_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6951 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_name, LIBNDR_FLAG_REF_ALLOC);
6952 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
6953 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_name_0, LIBNDR_FLAG_REF_ALLOC);
6954 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6955 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
6956 ZERO_STRUCTP(r->out.alias_handle);
6957 NDR_PULL_ALLOC(ndr, r->out.rid);
6958 ZERO_STRUCTP(r->out.rid);
6960 if (flags & NDR_OUT) {
6961 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6962 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
6964 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6965 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
6966 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
6967 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
6968 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6969 NDR_PULL_ALLOC(ndr, r->out.rid);
6971 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6972 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6973 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6974 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6975 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6977 return NDR_ERR_SUCCESS;
6980 _PUBLIC_ void ndr_print_samr_CreateDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomAlias *r)
6982 ndr_print_struct(ndr, name, "samr_CreateDomAlias");
6983 ndr->depth++;
6984 if (flags & NDR_SET_VALUES) {
6985 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6987 if (flags & NDR_IN) {
6988 ndr_print_struct(ndr, "in", "samr_CreateDomAlias");
6989 ndr->depth++;
6990 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6991 ndr->depth++;
6992 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6993 ndr->depth--;
6994 ndr_print_ptr(ndr, "alias_name", r->in.alias_name);
6995 ndr->depth++;
6996 ndr_print_lsa_String(ndr, "alias_name", r->in.alias_name);
6997 ndr->depth--;
6998 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
6999 ndr->depth--;
7001 if (flags & NDR_OUT) {
7002 ndr_print_struct(ndr, "out", "samr_CreateDomAlias");
7003 ndr->depth++;
7004 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
7005 ndr->depth++;
7006 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
7007 ndr->depth--;
7008 ndr_print_ptr(ndr, "rid", r->out.rid);
7009 ndr->depth++;
7010 ndr_print_uint32(ndr, "rid", *r->out.rid);
7011 ndr->depth--;
7012 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7013 ndr->depth--;
7015 ndr->depth--;
7018 static enum ndr_err_code ndr_push_samr_EnumDomainAliases(struct ndr_push *ndr, int flags, const struct samr_EnumDomainAliases *r)
7020 if (flags & NDR_IN) {
7021 if (r->in.domain_handle == NULL) {
7022 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7024 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7025 if (r->in.resume_handle == NULL) {
7026 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7028 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
7029 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
7031 if (flags & NDR_OUT) {
7032 if (r->out.resume_handle == NULL) {
7033 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7035 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
7036 if (r->out.sam == NULL) {
7037 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7039 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
7040 if (*r->out.sam) {
7041 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7043 if (r->out.num_entries == NULL) {
7044 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7046 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
7047 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7049 return NDR_ERR_SUCCESS;
7052 static enum ndr_err_code ndr_pull_samr_EnumDomainAliases(struct ndr_pull *ndr, int flags, struct samr_EnumDomainAliases *r)
7054 uint32_t _ptr_sam;
7055 TALLOC_CTX *_mem_save_domain_handle_0;
7056 TALLOC_CTX *_mem_save_resume_handle_0;
7057 TALLOC_CTX *_mem_save_sam_0;
7058 TALLOC_CTX *_mem_save_sam_1;
7059 TALLOC_CTX *_mem_save_num_entries_0;
7060 if (flags & NDR_IN) {
7061 ZERO_STRUCT(r->out);
7063 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7064 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7066 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7067 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7068 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7070 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7071 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
7073 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7074 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7075 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
7076 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
7078 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7079 *r->out.resume_handle = *r->in.resume_handle;
7080 NDR_PULL_ALLOC(ndr, r->out.sam);
7081 ZERO_STRUCTP(r->out.sam);
7082 NDR_PULL_ALLOC(ndr, r->out.num_entries);
7083 ZERO_STRUCTP(r->out.num_entries);
7085 if (flags & NDR_OUT) {
7086 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7087 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
7089 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7090 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
7091 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
7092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
7093 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7094 NDR_PULL_ALLOC(ndr, r->out.sam);
7096 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
7097 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
7098 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
7099 if (_ptr_sam) {
7100 NDR_PULL_ALLOC(ndr, *r->out.sam);
7101 } else {
7102 *r->out.sam = NULL;
7104 if (*r->out.sam) {
7105 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
7106 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
7107 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
7108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
7110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
7111 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7112 NDR_PULL_ALLOC(ndr, r->out.num_entries);
7114 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
7115 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
7116 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
7117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
7118 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7120 return NDR_ERR_SUCCESS;
7123 _PUBLIC_ void ndr_print_samr_EnumDomainAliases(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainAliases *r)
7125 ndr_print_struct(ndr, name, "samr_EnumDomainAliases");
7126 ndr->depth++;
7127 if (flags & NDR_SET_VALUES) {
7128 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7130 if (flags & NDR_IN) {
7131 ndr_print_struct(ndr, "in", "samr_EnumDomainAliases");
7132 ndr->depth++;
7133 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7134 ndr->depth++;
7135 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7136 ndr->depth--;
7137 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
7138 ndr->depth++;
7139 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
7140 ndr->depth--;
7141 ndr_print_uint32(ndr, "max_size", r->in.max_size);
7142 ndr->depth--;
7144 if (flags & NDR_OUT) {
7145 ndr_print_struct(ndr, "out", "samr_EnumDomainAliases");
7146 ndr->depth++;
7147 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
7148 ndr->depth++;
7149 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
7150 ndr->depth--;
7151 ndr_print_ptr(ndr, "sam", r->out.sam);
7152 ndr->depth++;
7153 ndr_print_ptr(ndr, "sam", *r->out.sam);
7154 ndr->depth++;
7155 if (*r->out.sam) {
7156 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
7158 ndr->depth--;
7159 ndr->depth--;
7160 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
7161 ndr->depth++;
7162 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
7163 ndr->depth--;
7164 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7165 ndr->depth--;
7167 ndr->depth--;
7170 static enum ndr_err_code ndr_push_samr_GetAliasMembership(struct ndr_push *ndr, int flags, const struct samr_GetAliasMembership *r)
7172 if (flags & NDR_IN) {
7173 if (r->in.domain_handle == NULL) {
7174 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7176 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7177 if (r->in.sids == NULL) {
7178 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7180 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7182 if (flags & NDR_OUT) {
7183 if (r->out.rids == NULL) {
7184 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7186 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7187 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7189 return NDR_ERR_SUCCESS;
7192 static enum ndr_err_code ndr_pull_samr_GetAliasMembership(struct ndr_pull *ndr, int flags, struct samr_GetAliasMembership *r)
7194 TALLOC_CTX *_mem_save_domain_handle_0;
7195 TALLOC_CTX *_mem_save_sids_0;
7196 TALLOC_CTX *_mem_save_rids_0;
7197 if (flags & NDR_IN) {
7198 ZERO_STRUCT(r->out);
7200 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7201 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7203 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7204 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7205 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7207 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7208 NDR_PULL_ALLOC(ndr, r->in.sids);
7210 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7211 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
7212 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
7214 NDR_PULL_ALLOC(ndr, r->out.rids);
7215 ZERO_STRUCTP(r->out.rids);
7217 if (flags & NDR_OUT) {
7218 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7219 NDR_PULL_ALLOC(ndr, r->out.rids);
7221 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7222 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7223 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7224 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7225 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7227 return NDR_ERR_SUCCESS;
7230 _PUBLIC_ void ndr_print_samr_GetAliasMembership(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetAliasMembership *r)
7232 ndr_print_struct(ndr, name, "samr_GetAliasMembership");
7233 ndr->depth++;
7234 if (flags & NDR_SET_VALUES) {
7235 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7237 if (flags & NDR_IN) {
7238 ndr_print_struct(ndr, "in", "samr_GetAliasMembership");
7239 ndr->depth++;
7240 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7241 ndr->depth++;
7242 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7243 ndr->depth--;
7244 ndr_print_ptr(ndr, "sids", r->in.sids);
7245 ndr->depth++;
7246 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
7247 ndr->depth--;
7248 ndr->depth--;
7250 if (flags & NDR_OUT) {
7251 ndr_print_struct(ndr, "out", "samr_GetAliasMembership");
7252 ndr->depth++;
7253 ndr_print_ptr(ndr, "rids", r->out.rids);
7254 ndr->depth++;
7255 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
7256 ndr->depth--;
7257 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7258 ndr->depth--;
7260 ndr->depth--;
7263 _PUBLIC_ enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int flags, const struct samr_LookupNames *r)
7265 uint32_t cntr_names_0;
7266 if (flags & NDR_IN) {
7267 if (r->in.domain_handle == NULL) {
7268 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7270 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7271 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
7272 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
7273 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7274 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
7275 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7276 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7278 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7279 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7282 if (flags & NDR_OUT) {
7283 if (r->out.rids == NULL) {
7284 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7286 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7287 if (r->out.types == NULL) {
7288 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7290 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7291 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7293 return NDR_ERR_SUCCESS;
7296 _PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r)
7298 uint32_t cntr_names_0;
7299 TALLOC_CTX *_mem_save_domain_handle_0;
7300 TALLOC_CTX *_mem_save_names_0;
7301 TALLOC_CTX *_mem_save_rids_0;
7302 TALLOC_CTX *_mem_save_types_0;
7303 if (flags & NDR_IN) {
7304 ZERO_STRUCT(r->out);
7306 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7307 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7309 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7310 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7311 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7313 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
7314 if (r->in.num_names > 1000) {
7315 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7317 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
7318 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names));
7319 if (ndr_get_array_length(ndr, &r->in.names) > ndr_get_array_size(ndr, &r->in.names)) {
7320 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));
7322 NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names));
7323 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
7324 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
7325 for (cntr_names_0 = 0; cntr_names_0 < ndr_get_array_length(ndr, &r->in.names); cntr_names_0++) {
7326 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7328 for (cntr_names_0 = 0; cntr_names_0 < ndr_get_array_length(ndr, &r->in.names); cntr_names_0++) {
7329 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7331 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
7332 NDR_PULL_ALLOC(ndr, r->out.rids);
7333 ZERO_STRUCTP(r->out.rids);
7334 NDR_PULL_ALLOC(ndr, r->out.types);
7335 ZERO_STRUCTP(r->out.types);
7336 if (r->in.names) {
7337 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, 1000));
7339 if (r->in.names) {
7340 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.names, r->in.num_names));
7343 if (flags & NDR_OUT) {
7344 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7345 NDR_PULL_ALLOC(ndr, r->out.rids);
7347 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7348 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7349 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7350 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7351 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7352 NDR_PULL_ALLOC(ndr, r->out.types);
7354 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
7355 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
7356 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
7358 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7360 return NDR_ERR_SUCCESS;
7363 _PUBLIC_ void ndr_print_samr_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupNames *r)
7365 uint32_t cntr_names_0;
7366 ndr_print_struct(ndr, name, "samr_LookupNames");
7367 ndr->depth++;
7368 if (flags & NDR_SET_VALUES) {
7369 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7371 if (flags & NDR_IN) {
7372 ndr_print_struct(ndr, "in", "samr_LookupNames");
7373 ndr->depth++;
7374 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7375 ndr->depth++;
7376 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7377 ndr->depth--;
7378 ndr_print_uint32(ndr, "num_names", r->in.num_names);
7379 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
7380 ndr->depth++;
7381 for (cntr_names_0=0;cntr_names_0<r->in.num_names;cntr_names_0++) {
7382 char *idx_0=NULL;
7383 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
7384 ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
7385 free(idx_0);
7388 ndr->depth--;
7389 ndr->depth--;
7391 if (flags & NDR_OUT) {
7392 ndr_print_struct(ndr, "out", "samr_LookupNames");
7393 ndr->depth++;
7394 ndr_print_ptr(ndr, "rids", r->out.rids);
7395 ndr->depth++;
7396 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
7397 ndr->depth--;
7398 ndr_print_ptr(ndr, "types", r->out.types);
7399 ndr->depth++;
7400 ndr_print_samr_Ids(ndr, "types", r->out.types);
7401 ndr->depth--;
7402 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7403 ndr->depth--;
7405 ndr->depth--;
7408 static enum ndr_err_code ndr_push_samr_LookupRids(struct ndr_push *ndr, int flags, const struct samr_LookupRids *r)
7410 uint32_t cntr_rids_0;
7411 if (flags & NDR_IN) {
7412 if (r->in.domain_handle == NULL) {
7413 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7415 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7416 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids));
7417 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 1000));
7418 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
7419 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_rids));
7420 for (cntr_rids_0 = 0; cntr_rids_0 < r->in.num_rids; cntr_rids_0++) {
7421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rids[cntr_rids_0]));
7424 if (flags & NDR_OUT) {
7425 if (r->out.names == NULL) {
7426 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7428 NDR_CHECK(ndr_push_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
7429 if (r->out.types == NULL) {
7430 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7432 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7433 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7435 return NDR_ERR_SUCCESS;
7438 static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r)
7440 uint32_t cntr_rids_0;
7441 TALLOC_CTX *_mem_save_domain_handle_0;
7442 TALLOC_CTX *_mem_save_rids_0;
7443 TALLOC_CTX *_mem_save_names_0;
7444 TALLOC_CTX *_mem_save_types_0;
7445 if (flags & NDR_IN) {
7446 ZERO_STRUCT(r->out);
7448 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7449 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7451 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7452 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7453 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7454 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7455 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_rids));
7456 if (r->in.num_rids > 1000) {
7457 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7459 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids));
7460 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids));
7461 if (ndr_get_array_length(ndr, &r->in.rids) > ndr_get_array_size(ndr, &r->in.rids)) {
7462 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));
7464 NDR_PULL_ALLOC_N(ndr, r->in.rids, ndr_get_array_size(ndr, &r->in.rids));
7465 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7466 NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0);
7467 for (cntr_rids_0 = 0; cntr_rids_0 < ndr_get_array_length(ndr, &r->in.rids); cntr_rids_0++) {
7468 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0]));
7470 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
7471 NDR_PULL_ALLOC(ndr, r->out.names);
7472 ZERO_STRUCTP(r->out.names);
7473 NDR_PULL_ALLOC(ndr, r->out.types);
7474 ZERO_STRUCTP(r->out.types);
7475 if (r->in.rids) {
7476 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.rids, 1000));
7478 if (r->in.rids) {
7479 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.rids, r->in.num_rids));
7482 if (flags & NDR_OUT) {
7483 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7484 NDR_PULL_ALLOC(ndr, r->out.names);
7486 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
7487 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
7488 NDR_CHECK(ndr_pull_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
7489 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
7490 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7491 NDR_PULL_ALLOC(ndr, r->out.types);
7493 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
7494 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
7495 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7496 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
7497 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7499 return NDR_ERR_SUCCESS;
7502 _PUBLIC_ void ndr_print_samr_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupRids *r)
7504 uint32_t cntr_rids_0;
7505 ndr_print_struct(ndr, name, "samr_LookupRids");
7506 ndr->depth++;
7507 if (flags & NDR_SET_VALUES) {
7508 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7510 if (flags & NDR_IN) {
7511 ndr_print_struct(ndr, "in", "samr_LookupRids");
7512 ndr->depth++;
7513 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7514 ndr->depth++;
7515 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7516 ndr->depth--;
7517 ndr_print_uint32(ndr, "num_rids", r->in.num_rids);
7518 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->in.num_rids);
7519 ndr->depth++;
7520 for (cntr_rids_0=0;cntr_rids_0<r->in.num_rids;cntr_rids_0++) {
7521 char *idx_0=NULL;
7522 if (asprintf(&idx_0, "[%d]", cntr_rids_0) != -1) {
7523 ndr_print_uint32(ndr, "rids", r->in.rids[cntr_rids_0]);
7524 free(idx_0);
7527 ndr->depth--;
7528 ndr->depth--;
7530 if (flags & NDR_OUT) {
7531 ndr_print_struct(ndr, "out", "samr_LookupRids");
7532 ndr->depth++;
7533 ndr_print_ptr(ndr, "names", r->out.names);
7534 ndr->depth++;
7535 ndr_print_lsa_Strings(ndr, "names", r->out.names);
7536 ndr->depth--;
7537 ndr_print_ptr(ndr, "types", r->out.types);
7538 ndr->depth++;
7539 ndr_print_samr_Ids(ndr, "types", r->out.types);
7540 ndr->depth--;
7541 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7542 ndr->depth--;
7544 ndr->depth--;
7547 static enum ndr_err_code ndr_push_samr_OpenGroup(struct ndr_push *ndr, int flags, const struct samr_OpenGroup *r)
7549 if (flags & NDR_IN) {
7550 if (r->in.domain_handle == NULL) {
7551 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7553 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7554 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7555 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7557 if (flags & NDR_OUT) {
7558 if (r->out.group_handle == NULL) {
7559 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7561 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7562 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7564 return NDR_ERR_SUCCESS;
7567 static enum ndr_err_code ndr_pull_samr_OpenGroup(struct ndr_pull *ndr, int flags, struct samr_OpenGroup *r)
7569 TALLOC_CTX *_mem_save_domain_handle_0;
7570 TALLOC_CTX *_mem_save_group_handle_0;
7571 if (flags & NDR_IN) {
7572 ZERO_STRUCT(r->out);
7574 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7575 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7577 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7578 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7579 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7581 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7582 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7583 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7584 ZERO_STRUCTP(r->out.group_handle);
7586 if (flags & NDR_OUT) {
7587 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7588 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7590 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7591 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
7592 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7594 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7596 return NDR_ERR_SUCCESS;
7599 _PUBLIC_ void ndr_print_samr_OpenGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenGroup *r)
7601 ndr_print_struct(ndr, name, "samr_OpenGroup");
7602 ndr->depth++;
7603 if (flags & NDR_SET_VALUES) {
7604 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7606 if (flags & NDR_IN) {
7607 ndr_print_struct(ndr, "in", "samr_OpenGroup");
7608 ndr->depth++;
7609 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7610 ndr->depth++;
7611 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7612 ndr->depth--;
7613 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
7614 ndr_print_uint32(ndr, "rid", r->in.rid);
7615 ndr->depth--;
7617 if (flags & NDR_OUT) {
7618 ndr_print_struct(ndr, "out", "samr_OpenGroup");
7619 ndr->depth++;
7620 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
7621 ndr->depth++;
7622 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
7623 ndr->depth--;
7624 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7625 ndr->depth--;
7627 ndr->depth--;
7630 static enum ndr_err_code ndr_push_samr_QueryGroupInfo(struct ndr_push *ndr, int flags, const struct samr_QueryGroupInfo *r)
7632 if (flags & NDR_IN) {
7633 if (r->in.group_handle == NULL) {
7634 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7636 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7637 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
7639 if (flags & NDR_OUT) {
7640 if (r->out.info == NULL) {
7641 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7643 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
7644 if (*r->out.info) {
7645 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
7646 NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
7648 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7650 return NDR_ERR_SUCCESS;
7653 static enum ndr_err_code ndr_pull_samr_QueryGroupInfo(struct ndr_pull *ndr, int flags, struct samr_QueryGroupInfo *r)
7655 uint32_t _ptr_info;
7656 TALLOC_CTX *_mem_save_group_handle_0;
7657 TALLOC_CTX *_mem_save_info_0;
7658 TALLOC_CTX *_mem_save_info_1;
7659 if (flags & NDR_IN) {
7660 ZERO_STRUCT(r->out);
7662 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7663 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7665 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7666 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7667 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7669 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
7670 NDR_PULL_ALLOC(ndr, r->out.info);
7671 ZERO_STRUCTP(r->out.info);
7673 if (flags & NDR_OUT) {
7674 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7675 NDR_PULL_ALLOC(ndr, r->out.info);
7677 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7678 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
7679 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
7680 if (_ptr_info) {
7681 NDR_PULL_ALLOC(ndr, *r->out.info);
7682 } else {
7683 *r->out.info = NULL;
7685 if (*r->out.info) {
7686 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
7687 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
7688 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
7689 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
7690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
7692 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
7693 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7695 return NDR_ERR_SUCCESS;
7698 _PUBLIC_ void ndr_print_samr_QueryGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupInfo *r)
7700 ndr_print_struct(ndr, name, "samr_QueryGroupInfo");
7701 ndr->depth++;
7702 if (flags & NDR_SET_VALUES) {
7703 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7705 if (flags & NDR_IN) {
7706 ndr_print_struct(ndr, "in", "samr_QueryGroupInfo");
7707 ndr->depth++;
7708 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7709 ndr->depth++;
7710 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7711 ndr->depth--;
7712 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
7713 ndr->depth--;
7715 if (flags & NDR_OUT) {
7716 ndr_print_struct(ndr, "out", "samr_QueryGroupInfo");
7717 ndr->depth++;
7718 ndr_print_ptr(ndr, "info", r->out.info);
7719 ndr->depth++;
7720 ndr_print_ptr(ndr, "info", *r->out.info);
7721 ndr->depth++;
7722 if (*r->out.info) {
7723 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
7724 ndr_print_samr_GroupInfo(ndr, "info", *r->out.info);
7726 ndr->depth--;
7727 ndr->depth--;
7728 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7729 ndr->depth--;
7731 ndr->depth--;
7734 static enum ndr_err_code ndr_push_samr_SetGroupInfo(struct ndr_push *ndr, int flags, const struct samr_SetGroupInfo *r)
7736 if (flags & NDR_IN) {
7737 if (r->in.group_handle == NULL) {
7738 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7740 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7741 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
7742 if (r->in.info == NULL) {
7743 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7745 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
7746 NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
7748 if (flags & NDR_OUT) {
7749 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7751 return NDR_ERR_SUCCESS;
7754 static enum ndr_err_code ndr_pull_samr_SetGroupInfo(struct ndr_pull *ndr, int flags, struct samr_SetGroupInfo *r)
7756 TALLOC_CTX *_mem_save_group_handle_0;
7757 TALLOC_CTX *_mem_save_info_0;
7758 if (flags & NDR_IN) {
7759 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7760 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7762 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7763 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7764 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7766 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
7767 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7768 NDR_PULL_ALLOC(ndr, r->in.info);
7770 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7771 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
7772 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
7773 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
7774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
7776 if (flags & NDR_OUT) {
7777 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7779 return NDR_ERR_SUCCESS;
7782 _PUBLIC_ void ndr_print_samr_SetGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetGroupInfo *r)
7784 ndr_print_struct(ndr, name, "samr_SetGroupInfo");
7785 ndr->depth++;
7786 if (flags & NDR_SET_VALUES) {
7787 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7789 if (flags & NDR_IN) {
7790 ndr_print_struct(ndr, "in", "samr_SetGroupInfo");
7791 ndr->depth++;
7792 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7793 ndr->depth++;
7794 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7795 ndr->depth--;
7796 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
7797 ndr_print_ptr(ndr, "info", r->in.info);
7798 ndr->depth++;
7799 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
7800 ndr_print_samr_GroupInfo(ndr, "info", r->in.info);
7801 ndr->depth--;
7802 ndr->depth--;
7804 if (flags & NDR_OUT) {
7805 ndr_print_struct(ndr, "out", "samr_SetGroupInfo");
7806 ndr->depth++;
7807 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7808 ndr->depth--;
7810 ndr->depth--;
7813 static enum ndr_err_code ndr_push_samr_AddGroupMember(struct ndr_push *ndr, int flags, const struct samr_AddGroupMember *r)
7815 if (flags & NDR_IN) {
7816 if (r->in.group_handle == NULL) {
7817 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7819 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7820 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7821 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
7823 if (flags & NDR_OUT) {
7824 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7826 return NDR_ERR_SUCCESS;
7829 static enum ndr_err_code ndr_pull_samr_AddGroupMember(struct ndr_pull *ndr, int flags, struct samr_AddGroupMember *r)
7831 TALLOC_CTX *_mem_save_group_handle_0;
7832 if (flags & NDR_IN) {
7833 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7834 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7836 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7837 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7838 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7839 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7840 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7841 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
7843 if (flags & NDR_OUT) {
7844 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7846 return NDR_ERR_SUCCESS;
7849 _PUBLIC_ void ndr_print_samr_AddGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddGroupMember *r)
7851 ndr_print_struct(ndr, name, "samr_AddGroupMember");
7852 ndr->depth++;
7853 if (flags & NDR_SET_VALUES) {
7854 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7856 if (flags & NDR_IN) {
7857 ndr_print_struct(ndr, "in", "samr_AddGroupMember");
7858 ndr->depth++;
7859 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7860 ndr->depth++;
7861 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7862 ndr->depth--;
7863 ndr_print_uint32(ndr, "rid", r->in.rid);
7864 ndr_print_uint32(ndr, "flags", r->in.flags);
7865 ndr->depth--;
7867 if (flags & NDR_OUT) {
7868 ndr_print_struct(ndr, "out", "samr_AddGroupMember");
7869 ndr->depth++;
7870 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7871 ndr->depth--;
7873 ndr->depth--;
7876 static enum ndr_err_code ndr_push_samr_DeleteDomainGroup(struct ndr_push *ndr, int flags, const struct samr_DeleteDomainGroup *r)
7878 if (flags & NDR_IN) {
7879 if (r->in.group_handle == NULL) {
7880 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7882 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7884 if (flags & NDR_OUT) {
7885 if (r->out.group_handle == NULL) {
7886 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7888 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7889 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7891 return NDR_ERR_SUCCESS;
7894 static enum ndr_err_code ndr_pull_samr_DeleteDomainGroup(struct ndr_pull *ndr, int flags, struct samr_DeleteDomainGroup *r)
7896 TALLOC_CTX *_mem_save_group_handle_0;
7897 if (flags & NDR_IN) {
7898 ZERO_STRUCT(r->out);
7900 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7901 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7903 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7904 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7905 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7906 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7907 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7908 *r->out.group_handle = *r->in.group_handle;
7910 if (flags & NDR_OUT) {
7911 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7912 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7914 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7915 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
7916 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7918 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7920 return NDR_ERR_SUCCESS;
7923 _PUBLIC_ void ndr_print_samr_DeleteDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomainGroup *r)
7925 ndr_print_struct(ndr, name, "samr_DeleteDomainGroup");
7926 ndr->depth++;
7927 if (flags & NDR_SET_VALUES) {
7928 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7930 if (flags & NDR_IN) {
7931 ndr_print_struct(ndr, "in", "samr_DeleteDomainGroup");
7932 ndr->depth++;
7933 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7934 ndr->depth++;
7935 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7936 ndr->depth--;
7937 ndr->depth--;
7939 if (flags & NDR_OUT) {
7940 ndr_print_struct(ndr, "out", "samr_DeleteDomainGroup");
7941 ndr->depth++;
7942 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
7943 ndr->depth++;
7944 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
7945 ndr->depth--;
7946 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7947 ndr->depth--;
7949 ndr->depth--;
7952 static enum ndr_err_code ndr_push_samr_DeleteGroupMember(struct ndr_push *ndr, int flags, const struct samr_DeleteGroupMember *r)
7954 if (flags & NDR_IN) {
7955 if (r->in.group_handle == NULL) {
7956 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7958 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7959 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7961 if (flags & NDR_OUT) {
7962 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7964 return NDR_ERR_SUCCESS;
7967 static enum ndr_err_code ndr_pull_samr_DeleteGroupMember(struct ndr_pull *ndr, int flags, struct samr_DeleteGroupMember *r)
7969 TALLOC_CTX *_mem_save_group_handle_0;
7970 if (flags & NDR_IN) {
7971 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7972 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7974 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7975 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7976 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7977 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7980 if (flags & NDR_OUT) {
7981 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7983 return NDR_ERR_SUCCESS;
7986 _PUBLIC_ void ndr_print_samr_DeleteGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteGroupMember *r)
7988 ndr_print_struct(ndr, name, "samr_DeleteGroupMember");
7989 ndr->depth++;
7990 if (flags & NDR_SET_VALUES) {
7991 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7993 if (flags & NDR_IN) {
7994 ndr_print_struct(ndr, "in", "samr_DeleteGroupMember");
7995 ndr->depth++;
7996 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7997 ndr->depth++;
7998 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7999 ndr->depth--;
8000 ndr_print_uint32(ndr, "rid", r->in.rid);
8001 ndr->depth--;
8003 if (flags & NDR_OUT) {
8004 ndr_print_struct(ndr, "out", "samr_DeleteGroupMember");
8005 ndr->depth++;
8006 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8007 ndr->depth--;
8009 ndr->depth--;
8012 static enum ndr_err_code ndr_push_samr_QueryGroupMember(struct ndr_push *ndr, int flags, const struct samr_QueryGroupMember *r)
8014 if (flags & NDR_IN) {
8015 if (r->in.group_handle == NULL) {
8016 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8018 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8020 if (flags & NDR_OUT) {
8021 if (r->out.rids == NULL) {
8022 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8024 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
8025 if (*r->out.rids) {
8026 NDR_CHECK(ndr_push_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
8028 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8030 return NDR_ERR_SUCCESS;
8033 static enum ndr_err_code ndr_pull_samr_QueryGroupMember(struct ndr_pull *ndr, int flags, struct samr_QueryGroupMember *r)
8035 uint32_t _ptr_rids;
8036 TALLOC_CTX *_mem_save_group_handle_0;
8037 TALLOC_CTX *_mem_save_rids_0;
8038 TALLOC_CTX *_mem_save_rids_1;
8039 if (flags & NDR_IN) {
8040 ZERO_STRUCT(r->out);
8042 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8043 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8045 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8046 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8047 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8048 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8049 NDR_PULL_ALLOC(ndr, r->out.rids);
8050 ZERO_STRUCTP(r->out.rids);
8052 if (flags & NDR_OUT) {
8053 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8054 NDR_PULL_ALLOC(ndr, r->out.rids);
8056 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
8057 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
8058 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
8059 if (_ptr_rids) {
8060 NDR_PULL_ALLOC(ndr, *r->out.rids);
8061 } else {
8062 *r->out.rids = NULL;
8064 if (*r->out.rids) {
8065 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
8066 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
8067 NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
8068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
8070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
8071 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8073 return NDR_ERR_SUCCESS;
8076 _PUBLIC_ void ndr_print_samr_QueryGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupMember *r)
8078 ndr_print_struct(ndr, name, "samr_QueryGroupMember");
8079 ndr->depth++;
8080 if (flags & NDR_SET_VALUES) {
8081 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8083 if (flags & NDR_IN) {
8084 ndr_print_struct(ndr, "in", "samr_QueryGroupMember");
8085 ndr->depth++;
8086 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8087 ndr->depth++;
8088 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8089 ndr->depth--;
8090 ndr->depth--;
8092 if (flags & NDR_OUT) {
8093 ndr_print_struct(ndr, "out", "samr_QueryGroupMember");
8094 ndr->depth++;
8095 ndr_print_ptr(ndr, "rids", r->out.rids);
8096 ndr->depth++;
8097 ndr_print_ptr(ndr, "rids", *r->out.rids);
8098 ndr->depth++;
8099 if (*r->out.rids) {
8100 ndr_print_samr_RidTypeArray(ndr, "rids", *r->out.rids);
8102 ndr->depth--;
8103 ndr->depth--;
8104 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8105 ndr->depth--;
8107 ndr->depth--;
8110 static enum ndr_err_code ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push *ndr, int flags, const struct samr_SetMemberAttributesOfGroup *r)
8112 if (flags & NDR_IN) {
8113 if (r->in.group_handle == NULL) {
8114 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8116 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8117 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
8118 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
8120 if (flags & NDR_OUT) {
8121 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8123 return NDR_ERR_SUCCESS;
8126 static enum ndr_err_code ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull *ndr, int flags, struct samr_SetMemberAttributesOfGroup *r)
8128 TALLOC_CTX *_mem_save_group_handle_0;
8129 if (flags & NDR_IN) {
8130 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8131 NDR_PULL_ALLOC(ndr, r->in.group_handle);
8133 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8134 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
8135 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
8136 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
8137 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
8138 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
8140 if (flags & NDR_OUT) {
8141 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8143 return NDR_ERR_SUCCESS;
8146 _PUBLIC_ void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetMemberAttributesOfGroup *r)
8148 ndr_print_struct(ndr, name, "samr_SetMemberAttributesOfGroup");
8149 ndr->depth++;
8150 if (flags & NDR_SET_VALUES) {
8151 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8153 if (flags & NDR_IN) {
8154 ndr_print_struct(ndr, "in", "samr_SetMemberAttributesOfGroup");
8155 ndr->depth++;
8156 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
8157 ndr->depth++;
8158 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
8159 ndr->depth--;
8160 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
8161 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
8162 ndr->depth--;
8164 if (flags & NDR_OUT) {
8165 ndr_print_struct(ndr, "out", "samr_SetMemberAttributesOfGroup");
8166 ndr->depth++;
8167 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8168 ndr->depth--;
8170 ndr->depth--;
8173 static enum ndr_err_code ndr_push_samr_OpenAlias(struct ndr_push *ndr, int flags, const struct samr_OpenAlias *r)
8175 if (flags & NDR_IN) {
8176 if (r->in.domain_handle == NULL) {
8177 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8179 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8180 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
8181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8183 if (flags & NDR_OUT) {
8184 if (r->out.alias_handle == NULL) {
8185 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8187 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8188 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8190 return NDR_ERR_SUCCESS;
8193 static enum ndr_err_code ndr_pull_samr_OpenAlias(struct ndr_pull *ndr, int flags, struct samr_OpenAlias *r)
8195 TALLOC_CTX *_mem_save_domain_handle_0;
8196 TALLOC_CTX *_mem_save_alias_handle_0;
8197 if (flags & NDR_IN) {
8198 ZERO_STRUCT(r->out);
8200 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8201 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8203 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8204 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8205 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8207 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8208 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8209 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8210 ZERO_STRUCTP(r->out.alias_handle);
8212 if (flags & NDR_OUT) {
8213 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8214 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8216 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8217 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8218 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8220 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8222 return NDR_ERR_SUCCESS;
8225 _PUBLIC_ void ndr_print_samr_OpenAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenAlias *r)
8227 ndr_print_struct(ndr, name, "samr_OpenAlias");
8228 ndr->depth++;
8229 if (flags & NDR_SET_VALUES) {
8230 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8232 if (flags & NDR_IN) {
8233 ndr_print_struct(ndr, "in", "samr_OpenAlias");
8234 ndr->depth++;
8235 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8236 ndr->depth++;
8237 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8238 ndr->depth--;
8239 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
8240 ndr_print_uint32(ndr, "rid", r->in.rid);
8241 ndr->depth--;
8243 if (flags & NDR_OUT) {
8244 ndr_print_struct(ndr, "out", "samr_OpenAlias");
8245 ndr->depth++;
8246 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
8247 ndr->depth++;
8248 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
8249 ndr->depth--;
8250 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8251 ndr->depth--;
8253 ndr->depth--;
8256 static enum ndr_err_code ndr_push_samr_QueryAliasInfo(struct ndr_push *ndr, int flags, const struct samr_QueryAliasInfo *r)
8258 if (flags & NDR_IN) {
8259 if (r->in.alias_handle == NULL) {
8260 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8262 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8263 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
8265 if (flags & NDR_OUT) {
8266 if (r->out.info == NULL) {
8267 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8269 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8270 if (*r->out.info) {
8271 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8272 NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8274 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8276 return NDR_ERR_SUCCESS;
8279 static enum ndr_err_code ndr_pull_samr_QueryAliasInfo(struct ndr_pull *ndr, int flags, struct samr_QueryAliasInfo *r)
8281 uint32_t _ptr_info;
8282 TALLOC_CTX *_mem_save_alias_handle_0;
8283 TALLOC_CTX *_mem_save_info_0;
8284 TALLOC_CTX *_mem_save_info_1;
8285 if (flags & NDR_IN) {
8286 ZERO_STRUCT(r->out);
8288 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8289 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8291 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8292 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8293 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8294 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8295 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8296 NDR_PULL_ALLOC(ndr, r->out.info);
8297 ZERO_STRUCTP(r->out.info);
8299 if (flags & NDR_OUT) {
8300 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8301 NDR_PULL_ALLOC(ndr, r->out.info);
8303 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8304 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8306 if (_ptr_info) {
8307 NDR_PULL_ALLOC(ndr, *r->out.info);
8308 } else {
8309 *r->out.info = NULL;
8311 if (*r->out.info) {
8312 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8313 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8314 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
8315 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8319 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8321 return NDR_ERR_SUCCESS;
8324 _PUBLIC_ void ndr_print_samr_QueryAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryAliasInfo *r)
8326 ndr_print_struct(ndr, name, "samr_QueryAliasInfo");
8327 ndr->depth++;
8328 if (flags & NDR_SET_VALUES) {
8329 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8331 if (flags & NDR_IN) {
8332 ndr_print_struct(ndr, "in", "samr_QueryAliasInfo");
8333 ndr->depth++;
8334 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8335 ndr->depth++;
8336 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8337 ndr->depth--;
8338 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
8339 ndr->depth--;
8341 if (flags & NDR_OUT) {
8342 ndr_print_struct(ndr, "out", "samr_QueryAliasInfo");
8343 ndr->depth++;
8344 ndr_print_ptr(ndr, "info", r->out.info);
8345 ndr->depth++;
8346 ndr_print_ptr(ndr, "info", *r->out.info);
8347 ndr->depth++;
8348 if (*r->out.info) {
8349 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
8350 ndr_print_samr_AliasInfo(ndr, "info", *r->out.info);
8352 ndr->depth--;
8353 ndr->depth--;
8354 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8355 ndr->depth--;
8357 ndr->depth--;
8360 static enum ndr_err_code ndr_push_samr_SetAliasInfo(struct ndr_push *ndr, int flags, const struct samr_SetAliasInfo *r)
8362 if (flags & NDR_IN) {
8363 if (r->in.alias_handle == NULL) {
8364 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8366 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8367 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
8368 if (r->in.info == NULL) {
8369 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8371 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
8372 NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8374 if (flags & NDR_OUT) {
8375 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8377 return NDR_ERR_SUCCESS;
8380 static enum ndr_err_code ndr_pull_samr_SetAliasInfo(struct ndr_pull *ndr, int flags, struct samr_SetAliasInfo *r)
8382 TALLOC_CTX *_mem_save_alias_handle_0;
8383 TALLOC_CTX *_mem_save_info_0;
8384 if (flags & NDR_IN) {
8385 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8386 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8388 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8389 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8390 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8391 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8392 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8393 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8394 NDR_PULL_ALLOC(ndr, r->in.info);
8396 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8397 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
8398 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
8399 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8402 if (flags & NDR_OUT) {
8403 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8405 return NDR_ERR_SUCCESS;
8408 _PUBLIC_ void ndr_print_samr_SetAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetAliasInfo *r)
8410 ndr_print_struct(ndr, name, "samr_SetAliasInfo");
8411 ndr->depth++;
8412 if (flags & NDR_SET_VALUES) {
8413 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8415 if (flags & NDR_IN) {
8416 ndr_print_struct(ndr, "in", "samr_SetAliasInfo");
8417 ndr->depth++;
8418 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8419 ndr->depth++;
8420 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8421 ndr->depth--;
8422 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
8423 ndr_print_ptr(ndr, "info", r->in.info);
8424 ndr->depth++;
8425 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
8426 ndr_print_samr_AliasInfo(ndr, "info", r->in.info);
8427 ndr->depth--;
8428 ndr->depth--;
8430 if (flags & NDR_OUT) {
8431 ndr_print_struct(ndr, "out", "samr_SetAliasInfo");
8432 ndr->depth++;
8433 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8434 ndr->depth--;
8436 ndr->depth--;
8439 static enum ndr_err_code ndr_push_samr_DeleteDomAlias(struct ndr_push *ndr, int flags, const struct samr_DeleteDomAlias *r)
8441 if (flags & NDR_IN) {
8442 if (r->in.alias_handle == NULL) {
8443 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8445 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8447 if (flags & NDR_OUT) {
8448 if (r->out.alias_handle == NULL) {
8449 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8451 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8452 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8454 return NDR_ERR_SUCCESS;
8457 static enum ndr_err_code ndr_pull_samr_DeleteDomAlias(struct ndr_pull *ndr, int flags, struct samr_DeleteDomAlias *r)
8459 TALLOC_CTX *_mem_save_alias_handle_0;
8460 if (flags & NDR_IN) {
8461 ZERO_STRUCT(r->out);
8463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8464 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8466 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8467 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8468 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8469 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8470 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8471 *r->out.alias_handle = *r->in.alias_handle;
8473 if (flags & NDR_OUT) {
8474 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8475 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8477 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8478 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8479 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8481 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8483 return NDR_ERR_SUCCESS;
8486 _PUBLIC_ void ndr_print_samr_DeleteDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomAlias *r)
8488 ndr_print_struct(ndr, name, "samr_DeleteDomAlias");
8489 ndr->depth++;
8490 if (flags & NDR_SET_VALUES) {
8491 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8493 if (flags & NDR_IN) {
8494 ndr_print_struct(ndr, "in", "samr_DeleteDomAlias");
8495 ndr->depth++;
8496 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8497 ndr->depth++;
8498 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8499 ndr->depth--;
8500 ndr->depth--;
8502 if (flags & NDR_OUT) {
8503 ndr_print_struct(ndr, "out", "samr_DeleteDomAlias");
8504 ndr->depth++;
8505 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
8506 ndr->depth++;
8507 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
8508 ndr->depth--;
8509 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8510 ndr->depth--;
8512 ndr->depth--;
8515 static enum ndr_err_code ndr_push_samr_AddAliasMember(struct ndr_push *ndr, int flags, const struct samr_AddAliasMember *r)
8517 if (flags & NDR_IN) {
8518 if (r->in.alias_handle == NULL) {
8519 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8521 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8522 if (r->in.sid == NULL) {
8523 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8525 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8527 if (flags & NDR_OUT) {
8528 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8530 return NDR_ERR_SUCCESS;
8533 static enum ndr_err_code ndr_pull_samr_AddAliasMember(struct ndr_pull *ndr, int flags, struct samr_AddAliasMember *r)
8535 TALLOC_CTX *_mem_save_alias_handle_0;
8536 TALLOC_CTX *_mem_save_sid_0;
8537 if (flags & NDR_IN) {
8538 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8539 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8541 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8542 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8543 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8544 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8545 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8546 NDR_PULL_ALLOC(ndr, r->in.sid);
8548 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8549 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
8550 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8551 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
8553 if (flags & NDR_OUT) {
8554 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8556 return NDR_ERR_SUCCESS;
8559 _PUBLIC_ void ndr_print_samr_AddAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddAliasMember *r)
8561 ndr_print_struct(ndr, name, "samr_AddAliasMember");
8562 ndr->depth++;
8563 if (flags & NDR_SET_VALUES) {
8564 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8566 if (flags & NDR_IN) {
8567 ndr_print_struct(ndr, "in", "samr_AddAliasMember");
8568 ndr->depth++;
8569 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8570 ndr->depth++;
8571 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8572 ndr->depth--;
8573 ndr_print_ptr(ndr, "sid", r->in.sid);
8574 ndr->depth++;
8575 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
8576 ndr->depth--;
8577 ndr->depth--;
8579 if (flags & NDR_OUT) {
8580 ndr_print_struct(ndr, "out", "samr_AddAliasMember");
8581 ndr->depth++;
8582 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8583 ndr->depth--;
8585 ndr->depth--;
8588 static enum ndr_err_code ndr_push_samr_DeleteAliasMember(struct ndr_push *ndr, int flags, const struct samr_DeleteAliasMember *r)
8590 if (flags & NDR_IN) {
8591 if (r->in.alias_handle == NULL) {
8592 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8594 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8595 if (r->in.sid == NULL) {
8596 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8598 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8600 if (flags & NDR_OUT) {
8601 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8603 return NDR_ERR_SUCCESS;
8606 static enum ndr_err_code ndr_pull_samr_DeleteAliasMember(struct ndr_pull *ndr, int flags, struct samr_DeleteAliasMember *r)
8608 TALLOC_CTX *_mem_save_alias_handle_0;
8609 TALLOC_CTX *_mem_save_sid_0;
8610 if (flags & NDR_IN) {
8611 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8612 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8614 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8615 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8616 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8617 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8618 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8619 NDR_PULL_ALLOC(ndr, r->in.sid);
8621 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8622 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
8623 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8624 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
8626 if (flags & NDR_OUT) {
8627 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8629 return NDR_ERR_SUCCESS;
8632 _PUBLIC_ void ndr_print_samr_DeleteAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteAliasMember *r)
8634 ndr_print_struct(ndr, name, "samr_DeleteAliasMember");
8635 ndr->depth++;
8636 if (flags & NDR_SET_VALUES) {
8637 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8639 if (flags & NDR_IN) {
8640 ndr_print_struct(ndr, "in", "samr_DeleteAliasMember");
8641 ndr->depth++;
8642 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8643 ndr->depth++;
8644 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8645 ndr->depth--;
8646 ndr_print_ptr(ndr, "sid", r->in.sid);
8647 ndr->depth++;
8648 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
8649 ndr->depth--;
8650 ndr->depth--;
8652 if (flags & NDR_OUT) {
8653 ndr_print_struct(ndr, "out", "samr_DeleteAliasMember");
8654 ndr->depth++;
8655 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8656 ndr->depth--;
8658 ndr->depth--;
8661 static enum ndr_err_code ndr_push_samr_GetMembersInAlias(struct ndr_push *ndr, int flags, const struct samr_GetMembersInAlias *r)
8663 if (flags & NDR_IN) {
8664 if (r->in.alias_handle == NULL) {
8665 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8667 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8669 if (flags & NDR_OUT) {
8670 if (r->out.sids == NULL) {
8671 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8673 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
8674 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8676 return NDR_ERR_SUCCESS;
8679 static enum ndr_err_code ndr_pull_samr_GetMembersInAlias(struct ndr_pull *ndr, int flags, struct samr_GetMembersInAlias *r)
8681 TALLOC_CTX *_mem_save_alias_handle_0;
8682 TALLOC_CTX *_mem_save_sids_0;
8683 if (flags & NDR_IN) {
8684 ZERO_STRUCT(r->out);
8686 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8687 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8689 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8690 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8691 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8692 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8693 NDR_PULL_ALLOC(ndr, r->out.sids);
8694 ZERO_STRUCTP(r->out.sids);
8696 if (flags & NDR_OUT) {
8697 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8698 NDR_PULL_ALLOC(ndr, r->out.sids);
8700 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
8701 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
8702 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
8703 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
8704 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8706 return NDR_ERR_SUCCESS;
8709 _PUBLIC_ void ndr_print_samr_GetMembersInAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetMembersInAlias *r)
8711 ndr_print_struct(ndr, name, "samr_GetMembersInAlias");
8712 ndr->depth++;
8713 if (flags & NDR_SET_VALUES) {
8714 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8716 if (flags & NDR_IN) {
8717 ndr_print_struct(ndr, "in", "samr_GetMembersInAlias");
8718 ndr->depth++;
8719 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8720 ndr->depth++;
8721 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8722 ndr->depth--;
8723 ndr->depth--;
8725 if (flags & NDR_OUT) {
8726 ndr_print_struct(ndr, "out", "samr_GetMembersInAlias");
8727 ndr->depth++;
8728 ndr_print_ptr(ndr, "sids", r->out.sids);
8729 ndr->depth++;
8730 ndr_print_lsa_SidArray(ndr, "sids", r->out.sids);
8731 ndr->depth--;
8732 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8733 ndr->depth--;
8735 ndr->depth--;
8738 _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenUser(struct ndr_push *ndr, int flags, const struct samr_OpenUser *r)
8740 if (flags & NDR_IN) {
8741 if (r->in.domain_handle == NULL) {
8742 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8744 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8745 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
8746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8748 if (flags & NDR_OUT) {
8749 if (r->out.user_handle == NULL) {
8750 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8752 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8753 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8755 return NDR_ERR_SUCCESS;
8758 _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenUser(struct ndr_pull *ndr, int flags, struct samr_OpenUser *r)
8760 TALLOC_CTX *_mem_save_domain_handle_0;
8761 TALLOC_CTX *_mem_save_user_handle_0;
8762 if (flags & NDR_IN) {
8763 ZERO_STRUCT(r->out);
8765 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8766 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8768 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8769 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8770 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8772 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8773 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8774 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8775 ZERO_STRUCTP(r->out.user_handle);
8777 if (flags & NDR_OUT) {
8778 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8779 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8781 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8782 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
8783 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8784 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8785 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8787 return NDR_ERR_SUCCESS;
8790 _PUBLIC_ void ndr_print_samr_OpenUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenUser *r)
8792 ndr_print_struct(ndr, name, "samr_OpenUser");
8793 ndr->depth++;
8794 if (flags & NDR_SET_VALUES) {
8795 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8797 if (flags & NDR_IN) {
8798 ndr_print_struct(ndr, "in", "samr_OpenUser");
8799 ndr->depth++;
8800 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8801 ndr->depth++;
8802 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8803 ndr->depth--;
8804 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
8805 ndr_print_uint32(ndr, "rid", r->in.rid);
8806 ndr->depth--;
8808 if (flags & NDR_OUT) {
8809 ndr_print_struct(ndr, "out", "samr_OpenUser");
8810 ndr->depth++;
8811 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
8812 ndr->depth++;
8813 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
8814 ndr->depth--;
8815 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8816 ndr->depth--;
8818 ndr->depth--;
8821 static enum ndr_err_code ndr_push_samr_DeleteUser(struct ndr_push *ndr, int flags, const struct samr_DeleteUser *r)
8823 if (flags & NDR_IN) {
8824 if (r->in.user_handle == NULL) {
8825 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8827 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8829 if (flags & NDR_OUT) {
8830 if (r->out.user_handle == NULL) {
8831 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8833 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8834 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8836 return NDR_ERR_SUCCESS;
8839 static enum ndr_err_code ndr_pull_samr_DeleteUser(struct ndr_pull *ndr, int flags, struct samr_DeleteUser *r)
8841 TALLOC_CTX *_mem_save_user_handle_0;
8842 if (flags & NDR_IN) {
8843 ZERO_STRUCT(r->out);
8845 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8846 NDR_PULL_ALLOC(ndr, r->in.user_handle);
8848 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8849 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
8850 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8851 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8852 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8853 *r->out.user_handle = *r->in.user_handle;
8855 if (flags & NDR_OUT) {
8856 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8857 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8859 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8860 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
8861 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8863 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8865 return NDR_ERR_SUCCESS;
8868 _PUBLIC_ void ndr_print_samr_DeleteUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteUser *r)
8870 ndr_print_struct(ndr, name, "samr_DeleteUser");
8871 ndr->depth++;
8872 if (flags & NDR_SET_VALUES) {
8873 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8875 if (flags & NDR_IN) {
8876 ndr_print_struct(ndr, "in", "samr_DeleteUser");
8877 ndr->depth++;
8878 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
8879 ndr->depth++;
8880 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
8881 ndr->depth--;
8882 ndr->depth--;
8884 if (flags & NDR_OUT) {
8885 ndr_print_struct(ndr, "out", "samr_DeleteUser");
8886 ndr->depth++;
8887 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
8888 ndr->depth++;
8889 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
8890 ndr->depth--;
8891 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8892 ndr->depth--;
8894 ndr->depth--;
8897 _PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo *r)
8899 if (flags & NDR_IN) {
8900 if (r->in.user_handle == NULL) {
8901 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8903 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8904 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
8906 if (flags & NDR_OUT) {
8907 if (r->out.info == NULL) {
8908 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8910 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8911 if (*r->out.info) {
8912 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8913 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8915 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8917 return NDR_ERR_SUCCESS;
8920 _PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r)
8922 uint32_t _ptr_info;
8923 TALLOC_CTX *_mem_save_user_handle_0;
8924 TALLOC_CTX *_mem_save_info_0;
8925 TALLOC_CTX *_mem_save_info_1;
8926 if (flags & NDR_IN) {
8927 ZERO_STRUCT(r->out);
8929 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8930 NDR_PULL_ALLOC(ndr, r->in.user_handle);
8932 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8933 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
8934 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8935 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8936 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
8937 NDR_PULL_ALLOC(ndr, r->out.info);
8938 ZERO_STRUCTP(r->out.info);
8940 if (flags & NDR_OUT) {
8941 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8942 NDR_PULL_ALLOC(ndr, r->out.info);
8944 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8945 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8946 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8947 if (_ptr_info) {
8948 NDR_PULL_ALLOC(ndr, *r->out.info);
8949 } else {
8950 *r->out.info = NULL;
8952 if (*r->out.info) {
8953 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8954 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8955 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
8956 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8960 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8962 return NDR_ERR_SUCCESS;
8965 _PUBLIC_ void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo *r)
8967 ndr_print_struct(ndr, name, "samr_QueryUserInfo");
8968 ndr->depth++;
8969 if (flags & NDR_SET_VALUES) {
8970 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8972 if (flags & NDR_IN) {
8973 ndr_print_struct(ndr, "in", "samr_QueryUserInfo");
8974 ndr->depth++;
8975 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
8976 ndr->depth++;
8977 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
8978 ndr->depth--;
8979 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
8980 ndr->depth--;
8982 if (flags & NDR_OUT) {
8983 ndr_print_struct(ndr, "out", "samr_QueryUserInfo");
8984 ndr->depth++;
8985 ndr_print_ptr(ndr, "info", r->out.info);
8986 ndr->depth++;
8987 ndr_print_ptr(ndr, "info", *r->out.info);
8988 ndr->depth++;
8989 if (*r->out.info) {
8990 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
8991 ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
8993 ndr->depth--;
8994 ndr->depth--;
8995 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8996 ndr->depth--;
8998 ndr->depth--;
9001 _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo *r)
9003 if (flags & NDR_IN) {
9004 if (r->in.user_handle == NULL) {
9005 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9007 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9008 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
9009 if (r->in.info == NULL) {
9010 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9012 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
9013 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9015 if (flags & NDR_OUT) {
9016 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9018 return NDR_ERR_SUCCESS;
9021 _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo *r)
9023 TALLOC_CTX *_mem_save_user_handle_0;
9024 TALLOC_CTX *_mem_save_info_0;
9025 if (flags & NDR_IN) {
9026 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9027 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9029 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9030 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9031 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9033 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
9034 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9035 NDR_PULL_ALLOC(ndr, r->in.info);
9037 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9038 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
9039 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
9040 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9043 if (flags & NDR_OUT) {
9044 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9046 return NDR_ERR_SUCCESS;
9049 _PUBLIC_ void ndr_print_samr_SetUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo *r)
9051 ndr_print_struct(ndr, name, "samr_SetUserInfo");
9052 ndr->depth++;
9053 if (flags & NDR_SET_VALUES) {
9054 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9056 if (flags & NDR_IN) {
9057 ndr_print_struct(ndr, "in", "samr_SetUserInfo");
9058 ndr->depth++;
9059 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9060 ndr->depth++;
9061 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9062 ndr->depth--;
9063 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
9064 ndr_print_ptr(ndr, "info", r->in.info);
9065 ndr->depth++;
9066 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
9067 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
9068 ndr->depth--;
9069 ndr->depth--;
9071 if (flags & NDR_OUT) {
9072 ndr_print_struct(ndr, "out", "samr_SetUserInfo");
9073 ndr->depth++;
9074 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9075 ndr->depth--;
9077 ndr->depth--;
9080 static enum ndr_err_code ndr_push_samr_ChangePasswordUser(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser *r)
9082 if (flags & NDR_IN) {
9083 if (r->in.user_handle == NULL) {
9084 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9086 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9087 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_present));
9088 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_lm_crypted));
9089 if (r->in.old_lm_crypted) {
9090 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
9092 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_lm_crypted));
9093 if (r->in.new_lm_crypted) {
9094 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
9096 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.nt_present));
9097 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_nt_crypted));
9098 if (r->in.old_nt_crypted) {
9099 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
9101 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_nt_crypted));
9102 if (r->in.new_nt_crypted) {
9103 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
9105 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross1_present));
9106 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_cross));
9107 if (r->in.nt_cross) {
9108 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
9110 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross2_present));
9111 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_cross));
9112 if (r->in.lm_cross) {
9113 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
9116 if (flags & NDR_OUT) {
9117 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9119 return NDR_ERR_SUCCESS;
9122 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser *r)
9124 uint32_t _ptr_old_lm_crypted;
9125 uint32_t _ptr_new_lm_crypted;
9126 uint32_t _ptr_old_nt_crypted;
9127 uint32_t _ptr_new_nt_crypted;
9128 uint32_t _ptr_nt_cross;
9129 uint32_t _ptr_lm_cross;
9130 TALLOC_CTX *_mem_save_user_handle_0;
9131 TALLOC_CTX *_mem_save_old_lm_crypted_0;
9132 TALLOC_CTX *_mem_save_new_lm_crypted_0;
9133 TALLOC_CTX *_mem_save_old_nt_crypted_0;
9134 TALLOC_CTX *_mem_save_new_nt_crypted_0;
9135 TALLOC_CTX *_mem_save_nt_cross_0;
9136 TALLOC_CTX *_mem_save_lm_cross_0;
9137 if (flags & NDR_IN) {
9138 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9139 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9141 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9142 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9143 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9144 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9145 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_present));
9146 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_lm_crypted));
9147 if (_ptr_old_lm_crypted) {
9148 NDR_PULL_ALLOC(ndr, r->in.old_lm_crypted);
9149 } else {
9150 r->in.old_lm_crypted = NULL;
9152 if (r->in.old_lm_crypted) {
9153 _mem_save_old_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9154 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_lm_crypted, 0);
9155 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
9156 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_lm_crypted_0, 0);
9158 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_lm_crypted));
9159 if (_ptr_new_lm_crypted) {
9160 NDR_PULL_ALLOC(ndr, r->in.new_lm_crypted);
9161 } else {
9162 r->in.new_lm_crypted = NULL;
9164 if (r->in.new_lm_crypted) {
9165 _mem_save_new_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9166 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_lm_crypted, 0);
9167 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
9168 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_lm_crypted_0, 0);
9170 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.nt_present));
9171 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_nt_crypted));
9172 if (_ptr_old_nt_crypted) {
9173 NDR_PULL_ALLOC(ndr, r->in.old_nt_crypted);
9174 } else {
9175 r->in.old_nt_crypted = NULL;
9177 if (r->in.old_nt_crypted) {
9178 _mem_save_old_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9179 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_nt_crypted, 0);
9180 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
9181 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_nt_crypted_0, 0);
9183 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_nt_crypted));
9184 if (_ptr_new_nt_crypted) {
9185 NDR_PULL_ALLOC(ndr, r->in.new_nt_crypted);
9186 } else {
9187 r->in.new_nt_crypted = NULL;
9189 if (r->in.new_nt_crypted) {
9190 _mem_save_new_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9191 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_nt_crypted, 0);
9192 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
9193 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_nt_crypted_0, 0);
9195 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross1_present));
9196 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_cross));
9197 if (_ptr_nt_cross) {
9198 NDR_PULL_ALLOC(ndr, r->in.nt_cross);
9199 } else {
9200 r->in.nt_cross = NULL;
9202 if (r->in.nt_cross) {
9203 _mem_save_nt_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
9204 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_cross, 0);
9205 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
9206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_cross_0, 0);
9208 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross2_present));
9209 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_cross));
9210 if (_ptr_lm_cross) {
9211 NDR_PULL_ALLOC(ndr, r->in.lm_cross);
9212 } else {
9213 r->in.lm_cross = NULL;
9215 if (r->in.lm_cross) {
9216 _mem_save_lm_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
9217 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_cross, 0);
9218 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
9219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_cross_0, 0);
9222 if (flags & NDR_OUT) {
9223 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9225 return NDR_ERR_SUCCESS;
9228 _PUBLIC_ void ndr_print_samr_ChangePasswordUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser *r)
9230 ndr_print_struct(ndr, name, "samr_ChangePasswordUser");
9231 ndr->depth++;
9232 if (flags & NDR_SET_VALUES) {
9233 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9235 if (flags & NDR_IN) {
9236 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser");
9237 ndr->depth++;
9238 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9239 ndr->depth++;
9240 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9241 ndr->depth--;
9242 ndr_print_uint8(ndr, "lm_present", r->in.lm_present);
9243 ndr_print_ptr(ndr, "old_lm_crypted", r->in.old_lm_crypted);
9244 ndr->depth++;
9245 if (r->in.old_lm_crypted) {
9246 ndr_print_samr_Password(ndr, "old_lm_crypted", r->in.old_lm_crypted);
9248 ndr->depth--;
9249 ndr_print_ptr(ndr, "new_lm_crypted", r->in.new_lm_crypted);
9250 ndr->depth++;
9251 if (r->in.new_lm_crypted) {
9252 ndr_print_samr_Password(ndr, "new_lm_crypted", r->in.new_lm_crypted);
9254 ndr->depth--;
9255 ndr_print_uint8(ndr, "nt_present", r->in.nt_present);
9256 ndr_print_ptr(ndr, "old_nt_crypted", r->in.old_nt_crypted);
9257 ndr->depth++;
9258 if (r->in.old_nt_crypted) {
9259 ndr_print_samr_Password(ndr, "old_nt_crypted", r->in.old_nt_crypted);
9261 ndr->depth--;
9262 ndr_print_ptr(ndr, "new_nt_crypted", r->in.new_nt_crypted);
9263 ndr->depth++;
9264 if (r->in.new_nt_crypted) {
9265 ndr_print_samr_Password(ndr, "new_nt_crypted", r->in.new_nt_crypted);
9267 ndr->depth--;
9268 ndr_print_uint8(ndr, "cross1_present", r->in.cross1_present);
9269 ndr_print_ptr(ndr, "nt_cross", r->in.nt_cross);
9270 ndr->depth++;
9271 if (r->in.nt_cross) {
9272 ndr_print_samr_Password(ndr, "nt_cross", r->in.nt_cross);
9274 ndr->depth--;
9275 ndr_print_uint8(ndr, "cross2_present", r->in.cross2_present);
9276 ndr_print_ptr(ndr, "lm_cross", r->in.lm_cross);
9277 ndr->depth++;
9278 if (r->in.lm_cross) {
9279 ndr_print_samr_Password(ndr, "lm_cross", r->in.lm_cross);
9281 ndr->depth--;
9282 ndr->depth--;
9284 if (flags & NDR_OUT) {
9285 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser");
9286 ndr->depth++;
9287 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9288 ndr->depth--;
9290 ndr->depth--;
9293 static enum ndr_err_code ndr_push_samr_GetGroupsForUser(struct ndr_push *ndr, int flags, const struct samr_GetGroupsForUser *r)
9295 if (flags & NDR_IN) {
9296 if (r->in.user_handle == NULL) {
9297 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9299 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9301 if (flags & NDR_OUT) {
9302 if (r->out.rids == NULL) {
9303 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9305 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
9306 if (*r->out.rids) {
9307 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
9309 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9311 return NDR_ERR_SUCCESS;
9314 static enum ndr_err_code ndr_pull_samr_GetGroupsForUser(struct ndr_pull *ndr, int flags, struct samr_GetGroupsForUser *r)
9316 uint32_t _ptr_rids;
9317 TALLOC_CTX *_mem_save_user_handle_0;
9318 TALLOC_CTX *_mem_save_rids_0;
9319 TALLOC_CTX *_mem_save_rids_1;
9320 if (flags & NDR_IN) {
9321 ZERO_STRUCT(r->out);
9323 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9324 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9326 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9327 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9328 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9329 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9330 NDR_PULL_ALLOC(ndr, r->out.rids);
9331 ZERO_STRUCTP(r->out.rids);
9333 if (flags & NDR_OUT) {
9334 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9335 NDR_PULL_ALLOC(ndr, r->out.rids);
9337 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
9338 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
9339 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
9340 if (_ptr_rids) {
9341 NDR_PULL_ALLOC(ndr, *r->out.rids);
9342 } else {
9343 *r->out.rids = NULL;
9345 if (*r->out.rids) {
9346 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
9347 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
9348 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
9349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
9351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
9352 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9354 return NDR_ERR_SUCCESS;
9357 _PUBLIC_ void ndr_print_samr_GetGroupsForUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetGroupsForUser *r)
9359 ndr_print_struct(ndr, name, "samr_GetGroupsForUser");
9360 ndr->depth++;
9361 if (flags & NDR_SET_VALUES) {
9362 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9364 if (flags & NDR_IN) {
9365 ndr_print_struct(ndr, "in", "samr_GetGroupsForUser");
9366 ndr->depth++;
9367 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9368 ndr->depth++;
9369 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9370 ndr->depth--;
9371 ndr->depth--;
9373 if (flags & NDR_OUT) {
9374 ndr_print_struct(ndr, "out", "samr_GetGroupsForUser");
9375 ndr->depth++;
9376 ndr_print_ptr(ndr, "rids", r->out.rids);
9377 ndr->depth++;
9378 ndr_print_ptr(ndr, "rids", *r->out.rids);
9379 ndr->depth++;
9380 if (*r->out.rids) {
9381 ndr_print_samr_RidWithAttributeArray(ndr, "rids", *r->out.rids);
9383 ndr->depth--;
9384 ndr->depth--;
9385 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9386 ndr->depth--;
9388 ndr->depth--;
9391 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo *r)
9393 if (flags & NDR_IN) {
9394 if (r->in.domain_handle == NULL) {
9395 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9397 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9398 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9399 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
9400 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
9401 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
9403 if (flags & NDR_OUT) {
9404 if (r->out.total_size == NULL) {
9405 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
9408 if (r->out.returned_size == 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.returned_size));
9412 if (r->out.info == NULL) {
9413 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9415 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
9416 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9417 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9419 return NDR_ERR_SUCCESS;
9422 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo *r)
9424 TALLOC_CTX *_mem_save_domain_handle_0;
9425 TALLOC_CTX *_mem_save_total_size_0;
9426 TALLOC_CTX *_mem_save_returned_size_0;
9427 TALLOC_CTX *_mem_save_info_0;
9428 if (flags & NDR_IN) {
9429 ZERO_STRUCT(r->out);
9431 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9432 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9434 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9435 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9436 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9438 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9439 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
9440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
9441 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
9442 NDR_PULL_ALLOC(ndr, r->out.total_size);
9443 ZERO_STRUCTP(r->out.total_size);
9444 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9445 ZERO_STRUCTP(r->out.returned_size);
9446 NDR_PULL_ALLOC(ndr, r->out.info);
9447 ZERO_STRUCTP(r->out.info);
9449 if (flags & NDR_OUT) {
9450 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9451 NDR_PULL_ALLOC(ndr, r->out.total_size);
9453 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9454 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
9455 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
9456 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
9457 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9458 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9460 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9461 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
9462 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
9463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
9464 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9465 NDR_PULL_ALLOC(ndr, r->out.info);
9467 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9468 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9469 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
9470 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9471 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9472 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9474 return NDR_ERR_SUCCESS;
9477 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo *r)
9479 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo");
9480 ndr->depth++;
9481 if (flags & NDR_SET_VALUES) {
9482 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9484 if (flags & NDR_IN) {
9485 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo");
9486 ndr->depth++;
9487 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9488 ndr->depth++;
9489 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9490 ndr->depth--;
9491 ndr_print_uint16(ndr, "level", r->in.level);
9492 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
9493 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
9494 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
9495 ndr->depth--;
9497 if (flags & NDR_OUT) {
9498 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo");
9499 ndr->depth++;
9500 ndr_print_ptr(ndr, "total_size", r->out.total_size);
9501 ndr->depth++;
9502 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
9503 ndr->depth--;
9504 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
9505 ndr->depth++;
9506 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
9507 ndr->depth--;
9508 ndr_print_ptr(ndr, "info", r->out.info);
9509 ndr->depth++;
9510 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
9511 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
9512 ndr->depth--;
9513 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9514 ndr->depth--;
9516 ndr->depth--;
9519 static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex *r)
9521 if (flags & NDR_IN) {
9522 if (r->in.domain_handle == NULL) {
9523 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9525 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9526 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9527 if (r->in.name == NULL) {
9528 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9530 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9532 if (flags & NDR_OUT) {
9533 if (r->out.idx == NULL) {
9534 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
9537 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9539 return NDR_ERR_SUCCESS;
9542 static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex *r)
9544 TALLOC_CTX *_mem_save_domain_handle_0;
9545 TALLOC_CTX *_mem_save_name_0;
9546 TALLOC_CTX *_mem_save_idx_0;
9547 if (flags & NDR_IN) {
9548 ZERO_STRUCT(r->out);
9550 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9551 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9553 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9554 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9555 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9556 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9557 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9558 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9559 NDR_PULL_ALLOC(ndr, r->in.name);
9561 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9562 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
9563 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9564 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
9565 NDR_PULL_ALLOC(ndr, r->out.idx);
9566 ZERO_STRUCTP(r->out.idx);
9568 if (flags & NDR_OUT) {
9569 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9570 NDR_PULL_ALLOC(ndr, r->out.idx);
9572 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
9573 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
9574 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
9575 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
9576 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9578 return NDR_ERR_SUCCESS;
9581 _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex *r)
9583 ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex");
9584 ndr->depth++;
9585 if (flags & NDR_SET_VALUES) {
9586 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9588 if (flags & NDR_IN) {
9589 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex");
9590 ndr->depth++;
9591 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9592 ndr->depth++;
9593 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9594 ndr->depth--;
9595 ndr_print_uint16(ndr, "level", r->in.level);
9596 ndr_print_ptr(ndr, "name", r->in.name);
9597 ndr->depth++;
9598 ndr_print_lsa_String(ndr, "name", r->in.name);
9599 ndr->depth--;
9600 ndr->depth--;
9602 if (flags & NDR_OUT) {
9603 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex");
9604 ndr->depth++;
9605 ndr_print_ptr(ndr, "idx", r->out.idx);
9606 ndr->depth++;
9607 ndr_print_uint32(ndr, "idx", *r->out.idx);
9608 ndr->depth--;
9609 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9610 ndr->depth--;
9612 ndr->depth--;
9615 static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsDomain *r)
9617 if (flags & NDR_IN) {
9618 if (r->in.domain_handle == NULL) {
9619 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9621 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9623 if (flags & NDR_OUT) {
9624 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9626 return NDR_ERR_SUCCESS;
9629 static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsDomain *r)
9631 TALLOC_CTX *_mem_save_domain_handle_0;
9632 if (flags & NDR_IN) {
9633 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9634 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9636 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9637 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9638 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9639 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9641 if (flags & NDR_OUT) {
9642 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9644 return NDR_ERR_SUCCESS;
9647 _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsDomain *r)
9649 ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsDomain");
9650 ndr->depth++;
9651 if (flags & NDR_SET_VALUES) {
9652 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9654 if (flags & NDR_IN) {
9655 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsDomain");
9656 ndr->depth++;
9657 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9658 ndr->depth++;
9659 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9660 ndr->depth--;
9661 ndr->depth--;
9663 if (flags & NDR_OUT) {
9664 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsDomain");
9665 ndr->depth++;
9666 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9667 ndr->depth--;
9669 ndr->depth--;
9672 static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsUser *r)
9674 if (flags & NDR_IN) {
9675 if (r->in.user_handle == NULL) {
9676 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9678 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9680 if (flags & NDR_OUT) {
9681 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9683 return NDR_ERR_SUCCESS;
9686 static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsUser *r)
9688 TALLOC_CTX *_mem_save_user_handle_0;
9689 if (flags & NDR_IN) {
9690 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9691 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9693 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9694 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9695 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9696 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9698 if (flags & NDR_OUT) {
9699 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9701 return NDR_ERR_SUCCESS;
9704 _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsUser *r)
9706 ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsUser");
9707 ndr->depth++;
9708 if (flags & NDR_SET_VALUES) {
9709 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9711 if (flags & NDR_IN) {
9712 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsUser");
9713 ndr->depth++;
9714 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9715 ndr->depth++;
9716 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9717 ndr->depth--;
9718 ndr->depth--;
9720 if (flags & NDR_OUT) {
9721 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsUser");
9722 ndr->depth++;
9723 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9724 ndr->depth--;
9726 ndr->depth--;
9729 _PUBLIC_ enum ndr_err_code ndr_push_samr_GetUserPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetUserPwInfo *r)
9731 if (flags & NDR_IN) {
9732 if (r->in.user_handle == NULL) {
9733 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9735 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9737 if (flags & NDR_OUT) {
9738 if (r->out.info == NULL) {
9739 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9741 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
9742 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9744 return NDR_ERR_SUCCESS;
9747 _PUBLIC_ enum ndr_err_code ndr_pull_samr_GetUserPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetUserPwInfo *r)
9749 TALLOC_CTX *_mem_save_user_handle_0;
9750 TALLOC_CTX *_mem_save_info_0;
9751 if (flags & NDR_IN) {
9752 ZERO_STRUCT(r->out);
9754 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9755 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9757 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9758 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9759 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9761 NDR_PULL_ALLOC(ndr, r->out.info);
9762 ZERO_STRUCTP(r->out.info);
9764 if (flags & NDR_OUT) {
9765 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9766 NDR_PULL_ALLOC(ndr, r->out.info);
9768 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9769 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9770 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
9771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9772 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9774 return NDR_ERR_SUCCESS;
9777 _PUBLIC_ void ndr_print_samr_GetUserPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetUserPwInfo *r)
9779 ndr_print_struct(ndr, name, "samr_GetUserPwInfo");
9780 ndr->depth++;
9781 if (flags & NDR_SET_VALUES) {
9782 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9784 if (flags & NDR_IN) {
9785 ndr_print_struct(ndr, "in", "samr_GetUserPwInfo");
9786 ndr->depth++;
9787 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9788 ndr->depth++;
9789 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9790 ndr->depth--;
9791 ndr->depth--;
9793 if (flags & NDR_OUT) {
9794 ndr_print_struct(ndr, "out", "samr_GetUserPwInfo");
9795 ndr->depth++;
9796 ndr_print_ptr(ndr, "info", r->out.info);
9797 ndr->depth++;
9798 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
9799 ndr->depth--;
9800 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9801 ndr->depth--;
9803 ndr->depth--;
9806 static enum ndr_err_code ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push *ndr, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
9808 if (flags & NDR_IN) {
9809 if (r->in.domain_handle == NULL) {
9810 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9812 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9813 if (r->in.sid == NULL) {
9814 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9816 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9818 if (flags & NDR_OUT) {
9819 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9821 return NDR_ERR_SUCCESS;
9824 static enum ndr_err_code ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull *ndr, int flags, struct samr_RemoveMemberFromForeignDomain *r)
9826 TALLOC_CTX *_mem_save_domain_handle_0;
9827 TALLOC_CTX *_mem_save_sid_0;
9828 if (flags & NDR_IN) {
9829 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9830 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9832 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9833 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9834 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9836 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9837 NDR_PULL_ALLOC(ndr, r->in.sid);
9839 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9840 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
9841 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9842 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
9844 if (flags & NDR_OUT) {
9845 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9847 return NDR_ERR_SUCCESS;
9850 _PUBLIC_ void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
9852 ndr_print_struct(ndr, name, "samr_RemoveMemberFromForeignDomain");
9853 ndr->depth++;
9854 if (flags & NDR_SET_VALUES) {
9855 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9857 if (flags & NDR_IN) {
9858 ndr_print_struct(ndr, "in", "samr_RemoveMemberFromForeignDomain");
9859 ndr->depth++;
9860 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9861 ndr->depth++;
9862 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9863 ndr->depth--;
9864 ndr_print_ptr(ndr, "sid", r->in.sid);
9865 ndr->depth++;
9866 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
9867 ndr->depth--;
9868 ndr->depth--;
9870 if (flags & NDR_OUT) {
9871 ndr_print_struct(ndr, "out", "samr_RemoveMemberFromForeignDomain");
9872 ndr->depth++;
9873 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9874 ndr->depth--;
9876 ndr->depth--;
9879 static enum ndr_err_code ndr_push_samr_QueryDomainInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo2 *r)
9881 if (flags & NDR_IN) {
9882 if (r->in.domain_handle == NULL) {
9883 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9885 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9886 NDR_CHECK(ndr_push_samr_DomainInfoClass(ndr, NDR_SCALARS, r->in.level));
9888 if (flags & NDR_OUT) {
9889 if (r->out.info == NULL) {
9890 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9892 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9893 if (*r->out.info) {
9894 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
9895 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9897 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9899 return NDR_ERR_SUCCESS;
9902 static enum ndr_err_code ndr_pull_samr_QueryDomainInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo2 *r)
9904 uint32_t _ptr_info;
9905 TALLOC_CTX *_mem_save_domain_handle_0;
9906 TALLOC_CTX *_mem_save_info_0;
9907 TALLOC_CTX *_mem_save_info_1;
9908 if (flags & NDR_IN) {
9909 ZERO_STRUCT(r->out);
9911 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9912 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9914 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9915 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9916 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9917 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9918 NDR_CHECK(ndr_pull_samr_DomainInfoClass(ndr, NDR_SCALARS, &r->in.level));
9919 NDR_PULL_ALLOC(ndr, r->out.info);
9920 ZERO_STRUCTP(r->out.info);
9922 if (flags & NDR_OUT) {
9923 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9924 NDR_PULL_ALLOC(ndr, r->out.info);
9926 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9927 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9928 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9929 if (_ptr_info) {
9930 NDR_PULL_ALLOC(ndr, *r->out.info);
9931 } else {
9932 *r->out.info = NULL;
9934 if (*r->out.info) {
9935 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9936 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9937 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
9938 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9939 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9942 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9944 return NDR_ERR_SUCCESS;
9947 _PUBLIC_ void ndr_print_samr_QueryDomainInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo2 *r)
9949 ndr_print_struct(ndr, name, "samr_QueryDomainInfo2");
9950 ndr->depth++;
9951 if (flags & NDR_SET_VALUES) {
9952 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9954 if (flags & NDR_IN) {
9955 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo2");
9956 ndr->depth++;
9957 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9958 ndr->depth++;
9959 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9960 ndr->depth--;
9961 ndr_print_samr_DomainInfoClass(ndr, "level", r->in.level);
9962 ndr->depth--;
9964 if (flags & NDR_OUT) {
9965 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo2");
9966 ndr->depth++;
9967 ndr_print_ptr(ndr, "info", r->out.info);
9968 ndr->depth++;
9969 ndr_print_ptr(ndr, "info", *r->out.info);
9970 ndr->depth++;
9971 if (*r->out.info) {
9972 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
9973 ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
9975 ndr->depth--;
9976 ndr->depth--;
9977 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9978 ndr->depth--;
9980 ndr->depth--;
9983 static enum ndr_err_code ndr_push_samr_QueryUserInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo2 *r)
9985 if (flags & NDR_IN) {
9986 if (r->in.user_handle == NULL) {
9987 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9989 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9990 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
9992 if (flags & NDR_OUT) {
9993 if (r->out.info == NULL) {
9994 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9996 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9997 if (*r->out.info) {
9998 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
9999 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10001 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10003 return NDR_ERR_SUCCESS;
10006 static enum ndr_err_code ndr_pull_samr_QueryUserInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo2 *r)
10008 uint32_t _ptr_info;
10009 TALLOC_CTX *_mem_save_user_handle_0;
10010 TALLOC_CTX *_mem_save_info_0;
10011 TALLOC_CTX *_mem_save_info_1;
10012 if (flags & NDR_IN) {
10013 ZERO_STRUCT(r->out);
10015 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10016 NDR_PULL_ALLOC(ndr, r->in.user_handle);
10018 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10019 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
10020 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
10021 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10022 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
10023 NDR_PULL_ALLOC(ndr, r->out.info);
10024 ZERO_STRUCTP(r->out.info);
10026 if (flags & NDR_OUT) {
10027 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10028 NDR_PULL_ALLOC(ndr, r->out.info);
10030 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10031 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10032 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10033 if (_ptr_info) {
10034 NDR_PULL_ALLOC(ndr, *r->out.info);
10035 } else {
10036 *r->out.info = NULL;
10038 if (*r->out.info) {
10039 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
10040 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
10041 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
10042 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10043 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
10045 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10046 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10048 return NDR_ERR_SUCCESS;
10051 _PUBLIC_ void ndr_print_samr_QueryUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo2 *r)
10053 ndr_print_struct(ndr, name, "samr_QueryUserInfo2");
10054 ndr->depth++;
10055 if (flags & NDR_SET_VALUES) {
10056 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10058 if (flags & NDR_IN) {
10059 ndr_print_struct(ndr, "in", "samr_QueryUserInfo2");
10060 ndr->depth++;
10061 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
10062 ndr->depth++;
10063 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
10064 ndr->depth--;
10065 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
10066 ndr->depth--;
10068 if (flags & NDR_OUT) {
10069 ndr_print_struct(ndr, "out", "samr_QueryUserInfo2");
10070 ndr->depth++;
10071 ndr_print_ptr(ndr, "info", r->out.info);
10072 ndr->depth++;
10073 ndr_print_ptr(ndr, "info", *r->out.info);
10074 ndr->depth++;
10075 if (*r->out.info) {
10076 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
10077 ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
10079 ndr->depth--;
10080 ndr->depth--;
10081 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10082 ndr->depth--;
10084 ndr->depth--;
10087 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo2 *r)
10089 if (flags & NDR_IN) {
10090 if (r->in.domain_handle == NULL) {
10091 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10093 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10094 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10095 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
10096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
10097 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
10099 if (flags & NDR_OUT) {
10100 if (r->out.total_size == NULL) {
10101 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10103 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
10104 if (r->out.returned_size == 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.returned_size));
10108 if (r->out.info == NULL) {
10109 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10111 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10112 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10113 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10115 return NDR_ERR_SUCCESS;
10118 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo2 *r)
10120 TALLOC_CTX *_mem_save_domain_handle_0;
10121 TALLOC_CTX *_mem_save_total_size_0;
10122 TALLOC_CTX *_mem_save_returned_size_0;
10123 TALLOC_CTX *_mem_save_info_0;
10124 if (flags & NDR_IN) {
10125 ZERO_STRUCT(r->out);
10127 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10128 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10130 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10131 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10132 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10134 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
10136 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
10137 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
10138 NDR_PULL_ALLOC(ndr, r->out.total_size);
10139 ZERO_STRUCTP(r->out.total_size);
10140 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10141 ZERO_STRUCTP(r->out.returned_size);
10142 NDR_PULL_ALLOC(ndr, r->out.info);
10143 ZERO_STRUCTP(r->out.info);
10145 if (flags & NDR_OUT) {
10146 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10147 NDR_PULL_ALLOC(ndr, r->out.total_size);
10149 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10150 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
10151 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
10152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
10153 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10154 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10156 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10157 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
10158 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
10159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
10160 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10161 NDR_PULL_ALLOC(ndr, r->out.info);
10163 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10164 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10165 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10166 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10167 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10168 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10170 return NDR_ERR_SUCCESS;
10173 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo2 *r)
10175 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo2");
10176 ndr->depth++;
10177 if (flags & NDR_SET_VALUES) {
10178 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10180 if (flags & NDR_IN) {
10181 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo2");
10182 ndr->depth++;
10183 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10184 ndr->depth++;
10185 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10186 ndr->depth--;
10187 ndr_print_uint16(ndr, "level", r->in.level);
10188 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
10189 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
10190 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
10191 ndr->depth--;
10193 if (flags & NDR_OUT) {
10194 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo2");
10195 ndr->depth++;
10196 ndr_print_ptr(ndr, "total_size", r->out.total_size);
10197 ndr->depth++;
10198 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
10199 ndr->depth--;
10200 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
10201 ndr->depth++;
10202 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
10203 ndr->depth--;
10204 ndr_print_ptr(ndr, "info", r->out.info);
10205 ndr->depth++;
10206 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10207 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
10208 ndr->depth--;
10209 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10210 ndr->depth--;
10212 ndr->depth--;
10215 static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
10217 if (flags & NDR_IN) {
10218 if (r->in.domain_handle == NULL) {
10219 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10221 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10222 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10223 if (r->in.name == NULL) {
10224 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10226 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10228 if (flags & NDR_OUT) {
10229 if (r->out.idx == NULL) {
10230 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
10233 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10235 return NDR_ERR_SUCCESS;
10238 static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex2 *r)
10240 TALLOC_CTX *_mem_save_domain_handle_0;
10241 TALLOC_CTX *_mem_save_name_0;
10242 TALLOC_CTX *_mem_save_idx_0;
10243 if (flags & NDR_IN) {
10244 ZERO_STRUCT(r->out);
10246 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10247 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10249 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10250 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10251 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10252 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10253 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10254 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10255 NDR_PULL_ALLOC(ndr, r->in.name);
10257 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10258 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
10259 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10260 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
10261 NDR_PULL_ALLOC(ndr, r->out.idx);
10262 ZERO_STRUCTP(r->out.idx);
10264 if (flags & NDR_OUT) {
10265 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10266 NDR_PULL_ALLOC(ndr, r->out.idx);
10268 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
10269 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
10270 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
10271 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
10272 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10274 return NDR_ERR_SUCCESS;
10277 _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
10279 ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex2");
10280 ndr->depth++;
10281 if (flags & NDR_SET_VALUES) {
10282 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10284 if (flags & NDR_IN) {
10285 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex2");
10286 ndr->depth++;
10287 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10288 ndr->depth++;
10289 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10290 ndr->depth--;
10291 ndr_print_uint16(ndr, "level", r->in.level);
10292 ndr_print_ptr(ndr, "name", r->in.name);
10293 ndr->depth++;
10294 ndr_print_lsa_String(ndr, "name", r->in.name);
10295 ndr->depth--;
10296 ndr->depth--;
10298 if (flags & NDR_OUT) {
10299 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex2");
10300 ndr->depth++;
10301 ndr_print_ptr(ndr, "idx", r->out.idx);
10302 ndr->depth++;
10303 ndr_print_uint32(ndr, "idx", *r->out.idx);
10304 ndr->depth--;
10305 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10306 ndr->depth--;
10308 ndr->depth--;
10311 static enum ndr_err_code ndr_push_samr_CreateUser2(struct ndr_push *ndr, int flags, const struct samr_CreateUser2 *r)
10313 if (flags & NDR_IN) {
10314 if (r->in.domain_handle == NULL) {
10315 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10317 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10318 if (r->in.account_name == NULL) {
10319 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10321 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
10322 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
10323 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
10325 if (flags & NDR_OUT) {
10326 if (r->out.user_handle == NULL) {
10327 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10329 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
10330 if (r->out.access_granted == NULL) {
10331 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.access_granted));
10334 if (r->out.rid == 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.rid));
10338 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10340 return NDR_ERR_SUCCESS;
10343 static enum ndr_err_code ndr_pull_samr_CreateUser2(struct ndr_pull *ndr, int flags, struct samr_CreateUser2 *r)
10345 TALLOC_CTX *_mem_save_domain_handle_0;
10346 TALLOC_CTX *_mem_save_account_name_0;
10347 TALLOC_CTX *_mem_save_user_handle_0;
10348 TALLOC_CTX *_mem_save_access_granted_0;
10349 TALLOC_CTX *_mem_save_rid_0;
10350 if (flags & NDR_IN) {
10351 ZERO_STRUCT(r->out);
10353 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10354 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10356 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10357 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10358 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10360 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10361 NDR_PULL_ALLOC(ndr, r->in.account_name);
10363 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10364 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
10365 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
10366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
10367 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
10368 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
10369 NDR_PULL_ALLOC(ndr, r->out.user_handle);
10370 ZERO_STRUCTP(r->out.user_handle);
10371 NDR_PULL_ALLOC(ndr, r->out.access_granted);
10372 ZERO_STRUCTP(r->out.access_granted);
10373 NDR_PULL_ALLOC(ndr, r->out.rid);
10374 ZERO_STRUCTP(r->out.rid);
10376 if (flags & NDR_OUT) {
10377 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10378 NDR_PULL_ALLOC(ndr, r->out.user_handle);
10380 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10381 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
10382 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
10383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10384 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10385 NDR_PULL_ALLOC(ndr, r->out.access_granted);
10387 _mem_save_access_granted_0 = NDR_PULL_GET_MEM_CTX(ndr);
10388 NDR_PULL_SET_MEM_CTX(ndr, r->out.access_granted, LIBNDR_FLAG_REF_ALLOC);
10389 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.access_granted));
10390 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_granted_0, LIBNDR_FLAG_REF_ALLOC);
10391 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10392 NDR_PULL_ALLOC(ndr, r->out.rid);
10394 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10395 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
10396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
10397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
10398 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10400 return NDR_ERR_SUCCESS;
10403 _PUBLIC_ void ndr_print_samr_CreateUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser2 *r)
10405 ndr_print_struct(ndr, name, "samr_CreateUser2");
10406 ndr->depth++;
10407 if (flags & NDR_SET_VALUES) {
10408 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10410 if (flags & NDR_IN) {
10411 ndr_print_struct(ndr, "in", "samr_CreateUser2");
10412 ndr->depth++;
10413 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10414 ndr->depth++;
10415 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10416 ndr->depth--;
10417 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10418 ndr->depth++;
10419 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
10420 ndr->depth--;
10421 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
10422 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
10423 ndr->depth--;
10425 if (flags & NDR_OUT) {
10426 ndr_print_struct(ndr, "out", "samr_CreateUser2");
10427 ndr->depth++;
10428 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
10429 ndr->depth++;
10430 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
10431 ndr->depth--;
10432 ndr_print_ptr(ndr, "access_granted", r->out.access_granted);
10433 ndr->depth++;
10434 ndr_print_uint32(ndr, "access_granted", *r->out.access_granted);
10435 ndr->depth--;
10436 ndr_print_ptr(ndr, "rid", r->out.rid);
10437 ndr->depth++;
10438 ndr_print_uint32(ndr, "rid", *r->out.rid);
10439 ndr->depth--;
10440 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10441 ndr->depth--;
10443 ndr->depth--;
10446 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo3(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo3 *r)
10448 if (flags & NDR_IN) {
10449 if (r->in.domain_handle == NULL) {
10450 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10452 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10453 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10454 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
10455 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
10456 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
10458 if (flags & NDR_OUT) {
10459 if (r->out.total_size == NULL) {
10460 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
10463 if (r->out.returned_size == NULL) {
10464 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10466 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
10467 if (r->out.info == NULL) {
10468 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10470 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10471 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10472 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10474 return NDR_ERR_SUCCESS;
10477 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo3 *r)
10479 TALLOC_CTX *_mem_save_domain_handle_0;
10480 TALLOC_CTX *_mem_save_total_size_0;
10481 TALLOC_CTX *_mem_save_returned_size_0;
10482 TALLOC_CTX *_mem_save_info_0;
10483 if (flags & NDR_IN) {
10484 ZERO_STRUCT(r->out);
10486 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10487 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10489 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10490 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10491 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10492 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10493 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10494 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
10495 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
10496 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
10497 NDR_PULL_ALLOC(ndr, r->out.total_size);
10498 ZERO_STRUCTP(r->out.total_size);
10499 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10500 ZERO_STRUCTP(r->out.returned_size);
10501 NDR_PULL_ALLOC(ndr, r->out.info);
10502 ZERO_STRUCTP(r->out.info);
10504 if (flags & NDR_OUT) {
10505 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10506 NDR_PULL_ALLOC(ndr, r->out.total_size);
10508 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10509 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
10510 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
10511 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
10512 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10513 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10515 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10516 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
10517 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
10518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
10519 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10520 NDR_PULL_ALLOC(ndr, r->out.info);
10522 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10523 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10524 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10525 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10526 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10527 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10529 return NDR_ERR_SUCCESS;
10532 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo3(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo3 *r)
10534 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo3");
10535 ndr->depth++;
10536 if (flags & NDR_SET_VALUES) {
10537 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10539 if (flags & NDR_IN) {
10540 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo3");
10541 ndr->depth++;
10542 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10543 ndr->depth++;
10544 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10545 ndr->depth--;
10546 ndr_print_uint16(ndr, "level", r->in.level);
10547 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
10548 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
10549 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
10550 ndr->depth--;
10552 if (flags & NDR_OUT) {
10553 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo3");
10554 ndr->depth++;
10555 ndr_print_ptr(ndr, "total_size", r->out.total_size);
10556 ndr->depth++;
10557 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
10558 ndr->depth--;
10559 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
10560 ndr->depth++;
10561 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
10562 ndr->depth--;
10563 ndr_print_ptr(ndr, "info", r->out.info);
10564 ndr->depth++;
10565 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10566 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
10567 ndr->depth--;
10568 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10569 ndr->depth--;
10571 ndr->depth--;
10574 static enum ndr_err_code ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push *ndr, int flags, const struct samr_AddMultipleMembersToAlias *r)
10576 if (flags & NDR_IN) {
10577 if (r->in.alias_handle == NULL) {
10578 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10580 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10581 if (r->in.sids == NULL) {
10582 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10584 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10586 if (flags & NDR_OUT) {
10587 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10589 return NDR_ERR_SUCCESS;
10592 static enum ndr_err_code ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull *ndr, int flags, struct samr_AddMultipleMembersToAlias *r)
10594 TALLOC_CTX *_mem_save_alias_handle_0;
10595 TALLOC_CTX *_mem_save_sids_0;
10596 if (flags & NDR_IN) {
10597 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10598 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
10600 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10601 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
10602 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10603 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
10604 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10605 NDR_PULL_ALLOC(ndr, r->in.sids);
10607 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
10608 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
10609 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10610 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
10612 if (flags & NDR_OUT) {
10613 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10615 return NDR_ERR_SUCCESS;
10618 _PUBLIC_ void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddMultipleMembersToAlias *r)
10620 ndr_print_struct(ndr, name, "samr_AddMultipleMembersToAlias");
10621 ndr->depth++;
10622 if (flags & NDR_SET_VALUES) {
10623 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10625 if (flags & NDR_IN) {
10626 ndr_print_struct(ndr, "in", "samr_AddMultipleMembersToAlias");
10627 ndr->depth++;
10628 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
10629 ndr->depth++;
10630 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
10631 ndr->depth--;
10632 ndr_print_ptr(ndr, "sids", r->in.sids);
10633 ndr->depth++;
10634 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
10635 ndr->depth--;
10636 ndr->depth--;
10638 if (flags & NDR_OUT) {
10639 ndr_print_struct(ndr, "out", "samr_AddMultipleMembersToAlias");
10640 ndr->depth++;
10641 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10642 ndr->depth--;
10644 ndr->depth--;
10647 static enum ndr_err_code ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push *ndr, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
10649 if (flags & NDR_IN) {
10650 if (r->in.alias_handle == NULL) {
10651 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10653 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10654 if (r->in.sids == NULL) {
10655 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10657 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10659 if (flags & NDR_OUT) {
10660 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10662 return NDR_ERR_SUCCESS;
10665 static enum ndr_err_code ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull *ndr, int flags, struct samr_RemoveMultipleMembersFromAlias *r)
10667 TALLOC_CTX *_mem_save_alias_handle_0;
10668 TALLOC_CTX *_mem_save_sids_0;
10669 if (flags & NDR_IN) {
10670 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10671 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
10673 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10674 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
10675 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10676 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
10677 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10678 NDR_PULL_ALLOC(ndr, r->in.sids);
10680 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
10681 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
10682 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
10685 if (flags & NDR_OUT) {
10686 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10688 return NDR_ERR_SUCCESS;
10691 _PUBLIC_ void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
10693 ndr_print_struct(ndr, name, "samr_RemoveMultipleMembersFromAlias");
10694 ndr->depth++;
10695 if (flags & NDR_SET_VALUES) {
10696 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10698 if (flags & NDR_IN) {
10699 ndr_print_struct(ndr, "in", "samr_RemoveMultipleMembersFromAlias");
10700 ndr->depth++;
10701 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
10702 ndr->depth++;
10703 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
10704 ndr->depth--;
10705 ndr_print_ptr(ndr, "sids", r->in.sids);
10706 ndr->depth++;
10707 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
10708 ndr->depth--;
10709 ndr->depth--;
10711 if (flags & NDR_OUT) {
10712 ndr_print_struct(ndr, "out", "samr_RemoveMultipleMembersFromAlias");
10713 ndr->depth++;
10714 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10715 ndr->depth--;
10717 ndr->depth--;
10720 static enum ndr_err_code ndr_push_samr_OemChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_OemChangePasswordUser2 *r)
10722 if (flags & NDR_IN) {
10723 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
10724 if (r->in.server) {
10725 NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10727 if (r->in.account == NULL) {
10728 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10730 NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10731 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
10732 if (r->in.password) {
10733 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
10735 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
10736 if (r->in.hash) {
10737 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
10740 if (flags & NDR_OUT) {
10741 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10743 return NDR_ERR_SUCCESS;
10746 static enum ndr_err_code ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_OemChangePasswordUser2 *r)
10748 uint32_t _ptr_server;
10749 uint32_t _ptr_password;
10750 uint32_t _ptr_hash;
10751 TALLOC_CTX *_mem_save_server_0;
10752 TALLOC_CTX *_mem_save_account_0;
10753 TALLOC_CTX *_mem_save_password_0;
10754 TALLOC_CTX *_mem_save_hash_0;
10755 if (flags & NDR_IN) {
10756 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
10757 if (_ptr_server) {
10758 NDR_PULL_ALLOC(ndr, r->in.server);
10759 } else {
10760 r->in.server = NULL;
10762 if (r->in.server) {
10763 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10764 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
10765 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10766 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
10768 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10769 NDR_PULL_ALLOC(ndr, r->in.account);
10771 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
10772 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
10773 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
10775 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
10776 if (_ptr_password) {
10777 NDR_PULL_ALLOC(ndr, r->in.password);
10778 } else {
10779 r->in.password = NULL;
10781 if (r->in.password) {
10782 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10783 NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
10784 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
10785 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
10787 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
10788 if (_ptr_hash) {
10789 NDR_PULL_ALLOC(ndr, r->in.hash);
10790 } else {
10791 r->in.hash = NULL;
10793 if (r->in.hash) {
10794 _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
10795 NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
10796 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
10797 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
10800 if (flags & NDR_OUT) {
10801 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10803 return NDR_ERR_SUCCESS;
10806 _PUBLIC_ void ndr_print_samr_OemChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_OemChangePasswordUser2 *r)
10808 ndr_print_struct(ndr, name, "samr_OemChangePasswordUser2");
10809 ndr->depth++;
10810 if (flags & NDR_SET_VALUES) {
10811 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10813 if (flags & NDR_IN) {
10814 ndr_print_struct(ndr, "in", "samr_OemChangePasswordUser2");
10815 ndr->depth++;
10816 ndr_print_ptr(ndr, "server", r->in.server);
10817 ndr->depth++;
10818 if (r->in.server) {
10819 ndr_print_lsa_AsciiString(ndr, "server", r->in.server);
10821 ndr->depth--;
10822 ndr_print_ptr(ndr, "account", r->in.account);
10823 ndr->depth++;
10824 ndr_print_lsa_AsciiString(ndr, "account", r->in.account);
10825 ndr->depth--;
10826 ndr_print_ptr(ndr, "password", r->in.password);
10827 ndr->depth++;
10828 if (r->in.password) {
10829 ndr_print_samr_CryptPassword(ndr, "password", r->in.password);
10831 ndr->depth--;
10832 ndr_print_ptr(ndr, "hash", r->in.hash);
10833 ndr->depth++;
10834 if (r->in.hash) {
10835 ndr_print_samr_Password(ndr, "hash", r->in.hash);
10837 ndr->depth--;
10838 ndr->depth--;
10840 if (flags & NDR_OUT) {
10841 ndr_print_struct(ndr, "out", "samr_OemChangePasswordUser2");
10842 ndr->depth++;
10843 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10844 ndr->depth--;
10846 ndr->depth--;
10849 static enum ndr_err_code ndr_push_samr_ChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser2 *r)
10851 if (flags & NDR_IN) {
10852 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
10853 if (r->in.server) {
10854 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10856 if (r->in.account == NULL) {
10857 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10859 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10860 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
10861 if (r->in.nt_password) {
10862 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
10864 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
10865 if (r->in.nt_verifier) {
10866 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
10868 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
10869 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
10870 if (r->in.lm_password) {
10871 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
10873 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
10874 if (r->in.lm_verifier) {
10875 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
10878 if (flags & NDR_OUT) {
10879 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10881 return NDR_ERR_SUCCESS;
10884 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser2 *r)
10886 uint32_t _ptr_server;
10887 uint32_t _ptr_nt_password;
10888 uint32_t _ptr_nt_verifier;
10889 uint32_t _ptr_lm_password;
10890 uint32_t _ptr_lm_verifier;
10891 TALLOC_CTX *_mem_save_server_0;
10892 TALLOC_CTX *_mem_save_account_0;
10893 TALLOC_CTX *_mem_save_nt_password_0;
10894 TALLOC_CTX *_mem_save_nt_verifier_0;
10895 TALLOC_CTX *_mem_save_lm_password_0;
10896 TALLOC_CTX *_mem_save_lm_verifier_0;
10897 if (flags & NDR_IN) {
10898 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
10899 if (_ptr_server) {
10900 NDR_PULL_ALLOC(ndr, r->in.server);
10901 } else {
10902 r->in.server = NULL;
10904 if (r->in.server) {
10905 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10906 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
10907 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
10910 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10911 NDR_PULL_ALLOC(ndr, r->in.account);
10913 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
10914 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
10915 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
10917 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
10918 if (_ptr_nt_password) {
10919 NDR_PULL_ALLOC(ndr, r->in.nt_password);
10920 } else {
10921 r->in.nt_password = NULL;
10923 if (r->in.nt_password) {
10924 _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10925 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
10926 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
10927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
10929 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
10930 if (_ptr_nt_verifier) {
10931 NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
10932 } else {
10933 r->in.nt_verifier = NULL;
10935 if (r->in.nt_verifier) {
10936 _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
10937 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
10938 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
10939 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
10941 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
10942 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
10943 if (_ptr_lm_password) {
10944 NDR_PULL_ALLOC(ndr, r->in.lm_password);
10945 } else {
10946 r->in.lm_password = NULL;
10948 if (r->in.lm_password) {
10949 _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10950 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
10951 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
10952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
10954 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
10955 if (_ptr_lm_verifier) {
10956 NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
10957 } else {
10958 r->in.lm_verifier = NULL;
10960 if (r->in.lm_verifier) {
10961 _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
10962 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
10963 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
10964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
10967 if (flags & NDR_OUT) {
10968 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10970 return NDR_ERR_SUCCESS;
10973 _PUBLIC_ void ndr_print_samr_ChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser2 *r)
10975 ndr_print_struct(ndr, name, "samr_ChangePasswordUser2");
10976 ndr->depth++;
10977 if (flags & NDR_SET_VALUES) {
10978 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10980 if (flags & NDR_IN) {
10981 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser2");
10982 ndr->depth++;
10983 ndr_print_ptr(ndr, "server", r->in.server);
10984 ndr->depth++;
10985 if (r->in.server) {
10986 ndr_print_lsa_String(ndr, "server", r->in.server);
10988 ndr->depth--;
10989 ndr_print_ptr(ndr, "account", r->in.account);
10990 ndr->depth++;
10991 ndr_print_lsa_String(ndr, "account", r->in.account);
10992 ndr->depth--;
10993 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
10994 ndr->depth++;
10995 if (r->in.nt_password) {
10996 ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
10998 ndr->depth--;
10999 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
11000 ndr->depth++;
11001 if (r->in.nt_verifier) {
11002 ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
11004 ndr->depth--;
11005 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
11006 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
11007 ndr->depth++;
11008 if (r->in.lm_password) {
11009 ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
11011 ndr->depth--;
11012 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
11013 ndr->depth++;
11014 if (r->in.lm_verifier) {
11015 ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
11017 ndr->depth--;
11018 ndr->depth--;
11020 if (flags & NDR_OUT) {
11021 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser2");
11022 ndr->depth++;
11023 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11024 ndr->depth--;
11026 ndr->depth--;
11029 static enum ndr_err_code ndr_push_samr_GetDomPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetDomPwInfo *r)
11031 if (flags & NDR_IN) {
11032 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
11033 if (r->in.domain_name) {
11034 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
11037 if (flags & NDR_OUT) {
11038 if (r->out.info == NULL) {
11039 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11041 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
11042 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11044 return NDR_ERR_SUCCESS;
11047 static enum ndr_err_code ndr_pull_samr_GetDomPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetDomPwInfo *r)
11049 uint32_t _ptr_domain_name;
11050 TALLOC_CTX *_mem_save_domain_name_0;
11051 TALLOC_CTX *_mem_save_info_0;
11052 if (flags & NDR_IN) {
11053 ZERO_STRUCT(r->out);
11055 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
11056 if (_ptr_domain_name) {
11057 NDR_PULL_ALLOC(ndr, r->in.domain_name);
11058 } else {
11059 r->in.domain_name = NULL;
11061 if (r->in.domain_name) {
11062 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11063 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
11064 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
11065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
11067 NDR_PULL_ALLOC(ndr, r->out.info);
11068 ZERO_STRUCTP(r->out.info);
11070 if (flags & NDR_OUT) {
11071 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11072 NDR_PULL_ALLOC(ndr, r->out.info);
11074 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11075 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
11076 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
11077 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11078 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11080 return NDR_ERR_SUCCESS;
11083 _PUBLIC_ void ndr_print_samr_GetDomPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDomPwInfo *r)
11085 ndr_print_struct(ndr, name, "samr_GetDomPwInfo");
11086 ndr->depth++;
11087 if (flags & NDR_SET_VALUES) {
11088 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11090 if (flags & NDR_IN) {
11091 ndr_print_struct(ndr, "in", "samr_GetDomPwInfo");
11092 ndr->depth++;
11093 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
11094 ndr->depth++;
11095 if (r->in.domain_name) {
11096 ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
11098 ndr->depth--;
11099 ndr->depth--;
11101 if (flags & NDR_OUT) {
11102 ndr_print_struct(ndr, "out", "samr_GetDomPwInfo");
11103 ndr->depth++;
11104 ndr_print_ptr(ndr, "info", r->out.info);
11105 ndr->depth++;
11106 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
11107 ndr->depth--;
11108 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11109 ndr->depth--;
11111 ndr->depth--;
11114 static enum ndr_err_code ndr_push_samr_Connect2(struct ndr_push *ndr, int flags, const struct samr_Connect2 *r)
11116 if (flags & NDR_IN) {
11117 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11118 if (r->in.system_name) {
11119 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11120 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11121 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11122 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));
11124 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11126 if (flags & NDR_OUT) {
11127 if (r->out.connect_handle == NULL) {
11128 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11130 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11131 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11133 return NDR_ERR_SUCCESS;
11136 static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags, struct samr_Connect2 *r)
11138 uint32_t _ptr_system_name;
11139 TALLOC_CTX *_mem_save_system_name_0;
11140 TALLOC_CTX *_mem_save_connect_handle_0;
11141 if (flags & NDR_IN) {
11142 ZERO_STRUCT(r->out);
11144 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11145 if (_ptr_system_name) {
11146 NDR_PULL_ALLOC(ndr, r->in.system_name);
11147 } else {
11148 r->in.system_name = NULL;
11150 if (r->in.system_name) {
11151 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11152 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11153 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11154 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11155 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11156 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));
11158 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11159 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));
11160 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11162 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11163 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11164 ZERO_STRUCTP(r->out.connect_handle);
11166 if (flags & NDR_OUT) {
11167 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11168 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11170 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11171 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11172 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11174 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11176 return NDR_ERR_SUCCESS;
11179 _PUBLIC_ void ndr_print_samr_Connect2(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect2 *r)
11181 ndr_print_struct(ndr, name, "samr_Connect2");
11182 ndr->depth++;
11183 if (flags & NDR_SET_VALUES) {
11184 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11186 if (flags & NDR_IN) {
11187 ndr_print_struct(ndr, "in", "samr_Connect2");
11188 ndr->depth++;
11189 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11190 ndr->depth++;
11191 if (r->in.system_name) {
11192 ndr_print_string(ndr, "system_name", r->in.system_name);
11194 ndr->depth--;
11195 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11196 ndr->depth--;
11198 if (flags & NDR_OUT) {
11199 ndr_print_struct(ndr, "out", "samr_Connect2");
11200 ndr->depth++;
11201 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11202 ndr->depth++;
11203 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11204 ndr->depth--;
11205 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11206 ndr->depth--;
11208 ndr->depth--;
11211 _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo2(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo2 *r)
11213 if (flags & NDR_IN) {
11214 if (r->in.user_handle == NULL) {
11215 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11217 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
11218 NDR_CHECK(ndr_push_samr_UserInfoLevel(ndr, NDR_SCALARS, r->in.level));
11219 if (r->in.info == NULL) {
11220 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11222 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
11223 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11225 if (flags & NDR_OUT) {
11226 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11228 return NDR_ERR_SUCCESS;
11231 _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo2(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo2 *r)
11233 TALLOC_CTX *_mem_save_user_handle_0;
11234 TALLOC_CTX *_mem_save_info_0;
11235 if (flags & NDR_IN) {
11236 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11237 NDR_PULL_ALLOC(ndr, r->in.user_handle);
11239 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11240 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
11241 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
11242 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
11243 NDR_CHECK(ndr_pull_samr_UserInfoLevel(ndr, NDR_SCALARS, &r->in.level));
11244 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11245 NDR_PULL_ALLOC(ndr, r->in.info);
11247 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11248 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
11249 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
11250 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11251 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11253 if (flags & NDR_OUT) {
11254 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11256 return NDR_ERR_SUCCESS;
11259 _PUBLIC_ void ndr_print_samr_SetUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo2 *r)
11261 ndr_print_struct(ndr, name, "samr_SetUserInfo2");
11262 ndr->depth++;
11263 if (flags & NDR_SET_VALUES) {
11264 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11266 if (flags & NDR_IN) {
11267 ndr_print_struct(ndr, "in", "samr_SetUserInfo2");
11268 ndr->depth++;
11269 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
11270 ndr->depth++;
11271 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
11272 ndr->depth--;
11273 ndr_print_samr_UserInfoLevel(ndr, "level", r->in.level);
11274 ndr_print_ptr(ndr, "info", r->in.info);
11275 ndr->depth++;
11276 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
11277 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
11278 ndr->depth--;
11279 ndr->depth--;
11281 if (flags & NDR_OUT) {
11282 ndr_print_struct(ndr, "out", "samr_SetUserInfo2");
11283 ndr->depth++;
11284 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11285 ndr->depth--;
11287 ndr->depth--;
11290 static enum ndr_err_code ndr_push_samr_SetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_SetBootKeyInformation *r)
11292 if (flags & NDR_IN) {
11293 if (r->in.connect_handle == NULL) {
11294 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11296 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
11297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
11298 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
11299 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3));
11301 if (flags & NDR_OUT) {
11302 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11304 return NDR_ERR_SUCCESS;
11307 static enum ndr_err_code ndr_pull_samr_SetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_SetBootKeyInformation *r)
11309 TALLOC_CTX *_mem_save_connect_handle_0;
11310 if (flags & NDR_IN) {
11311 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11312 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
11314 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11315 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11316 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
11317 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11318 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
11319 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
11320 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
11322 if (flags & NDR_OUT) {
11323 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11325 return NDR_ERR_SUCCESS;
11328 _PUBLIC_ void ndr_print_samr_SetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetBootKeyInformation *r)
11330 ndr_print_struct(ndr, name, "samr_SetBootKeyInformation");
11331 ndr->depth++;
11332 if (flags & NDR_SET_VALUES) {
11333 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11335 if (flags & NDR_IN) {
11336 ndr_print_struct(ndr, "in", "samr_SetBootKeyInformation");
11337 ndr->depth++;
11338 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
11339 ndr->depth++;
11340 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
11341 ndr->depth--;
11342 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
11343 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
11344 ndr_print_uint32(ndr, "unknown3", r->in.unknown3);
11345 ndr->depth--;
11347 if (flags & NDR_OUT) {
11348 ndr_print_struct(ndr, "out", "samr_SetBootKeyInformation");
11349 ndr->depth++;
11350 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11351 ndr->depth--;
11353 ndr->depth--;
11356 static enum ndr_err_code ndr_push_samr_GetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_GetBootKeyInformation *r)
11358 if (flags & NDR_IN) {
11359 if (r->in.domain_handle == NULL) {
11360 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11362 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11364 if (flags & NDR_OUT) {
11365 if (r->out.unknown == NULL) {
11366 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown));
11369 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11371 return NDR_ERR_SUCCESS;
11374 static enum ndr_err_code ndr_pull_samr_GetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_GetBootKeyInformation *r)
11376 TALLOC_CTX *_mem_save_domain_handle_0;
11377 TALLOC_CTX *_mem_save_unknown_0;
11378 if (flags & NDR_IN) {
11379 ZERO_STRUCT(r->out);
11381 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11382 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11384 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11385 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11386 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11388 NDR_PULL_ALLOC(ndr, r->out.unknown);
11389 ZERO_STRUCTP(r->out.unknown);
11391 if (flags & NDR_OUT) {
11392 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11393 NDR_PULL_ALLOC(ndr, r->out.unknown);
11395 _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
11396 NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown, LIBNDR_FLAG_REF_ALLOC);
11397 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown));
11398 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, LIBNDR_FLAG_REF_ALLOC);
11399 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11401 return NDR_ERR_SUCCESS;
11404 _PUBLIC_ void ndr_print_samr_GetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetBootKeyInformation *r)
11406 ndr_print_struct(ndr, name, "samr_GetBootKeyInformation");
11407 ndr->depth++;
11408 if (flags & NDR_SET_VALUES) {
11409 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11411 if (flags & NDR_IN) {
11412 ndr_print_struct(ndr, "in", "samr_GetBootKeyInformation");
11413 ndr->depth++;
11414 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11415 ndr->depth++;
11416 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11417 ndr->depth--;
11418 ndr->depth--;
11420 if (flags & NDR_OUT) {
11421 ndr_print_struct(ndr, "out", "samr_GetBootKeyInformation");
11422 ndr->depth++;
11423 ndr_print_ptr(ndr, "unknown", r->out.unknown);
11424 ndr->depth++;
11425 ndr_print_uint32(ndr, "unknown", *r->out.unknown);
11426 ndr->depth--;
11427 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11428 ndr->depth--;
11430 ndr->depth--;
11433 static enum ndr_err_code ndr_push_samr_Connect3(struct ndr_push *ndr, int flags, const struct samr_Connect3 *r)
11435 if (flags & NDR_IN) {
11436 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11437 if (r->in.system_name) {
11438 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11439 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11440 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11441 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));
11443 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
11444 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11446 if (flags & NDR_OUT) {
11447 if (r->out.connect_handle == NULL) {
11448 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11450 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11451 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11453 return NDR_ERR_SUCCESS;
11456 static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags, struct samr_Connect3 *r)
11458 uint32_t _ptr_system_name;
11459 TALLOC_CTX *_mem_save_system_name_0;
11460 TALLOC_CTX *_mem_save_connect_handle_0;
11461 if (flags & NDR_IN) {
11462 ZERO_STRUCT(r->out);
11464 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11465 if (_ptr_system_name) {
11466 NDR_PULL_ALLOC(ndr, r->in.system_name);
11467 } else {
11468 r->in.system_name = NULL;
11470 if (r->in.system_name) {
11471 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11472 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11473 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11474 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11475 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11476 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));
11478 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11479 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));
11480 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11482 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
11483 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11484 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11485 ZERO_STRUCTP(r->out.connect_handle);
11487 if (flags & NDR_OUT) {
11488 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11489 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11491 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11492 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11493 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11494 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11495 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11497 return NDR_ERR_SUCCESS;
11500 _PUBLIC_ void ndr_print_samr_Connect3(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect3 *r)
11502 ndr_print_struct(ndr, name, "samr_Connect3");
11503 ndr->depth++;
11504 if (flags & NDR_SET_VALUES) {
11505 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11507 if (flags & NDR_IN) {
11508 ndr_print_struct(ndr, "in", "samr_Connect3");
11509 ndr->depth++;
11510 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11511 ndr->depth++;
11512 if (r->in.system_name) {
11513 ndr_print_string(ndr, "system_name", r->in.system_name);
11515 ndr->depth--;
11516 ndr_print_uint32(ndr, "unknown", r->in.unknown);
11517 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11518 ndr->depth--;
11520 if (flags & NDR_OUT) {
11521 ndr_print_struct(ndr, "out", "samr_Connect3");
11522 ndr->depth++;
11523 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11524 ndr->depth++;
11525 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11526 ndr->depth--;
11527 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11528 ndr->depth--;
11530 ndr->depth--;
11533 static enum ndr_err_code ndr_push_samr_Connect4(struct ndr_push *ndr, int flags, const struct samr_Connect4 *r)
11535 if (flags & NDR_IN) {
11536 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11537 if (r->in.system_name) {
11538 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11539 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11540 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11541 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));
11543 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->in.client_version));
11544 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11546 if (flags & NDR_OUT) {
11547 if (r->out.connect_handle == NULL) {
11548 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11550 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11551 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11553 return NDR_ERR_SUCCESS;
11556 static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags, struct samr_Connect4 *r)
11558 uint32_t _ptr_system_name;
11559 TALLOC_CTX *_mem_save_system_name_0;
11560 TALLOC_CTX *_mem_save_connect_handle_0;
11561 if (flags & NDR_IN) {
11562 ZERO_STRUCT(r->out);
11564 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11565 if (_ptr_system_name) {
11566 NDR_PULL_ALLOC(ndr, r->in.system_name);
11567 } else {
11568 r->in.system_name = NULL;
11570 if (r->in.system_name) {
11571 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11572 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11573 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11574 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11575 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11576 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));
11578 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11579 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));
11580 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11582 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->in.client_version));
11583 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11584 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11585 ZERO_STRUCTP(r->out.connect_handle);
11587 if (flags & NDR_OUT) {
11588 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11589 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11591 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11592 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11593 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11594 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11595 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11597 return NDR_ERR_SUCCESS;
11600 _PUBLIC_ void ndr_print_samr_Connect4(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect4 *r)
11602 ndr_print_struct(ndr, name, "samr_Connect4");
11603 ndr->depth++;
11604 if (flags & NDR_SET_VALUES) {
11605 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11607 if (flags & NDR_IN) {
11608 ndr_print_struct(ndr, "in", "samr_Connect4");
11609 ndr->depth++;
11610 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11611 ndr->depth++;
11612 if (r->in.system_name) {
11613 ndr_print_string(ndr, "system_name", r->in.system_name);
11615 ndr->depth--;
11616 ndr_print_samr_ConnectVersion(ndr, "client_version", r->in.client_version);
11617 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11618 ndr->depth--;
11620 if (flags & NDR_OUT) {
11621 ndr_print_struct(ndr, "out", "samr_Connect4");
11622 ndr->depth++;
11623 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11624 ndr->depth++;
11625 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11626 ndr->depth--;
11627 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11628 ndr->depth--;
11630 ndr->depth--;
11633 static enum ndr_err_code ndr_push_samr_ChangePasswordUser3(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser3 *r)
11635 if (flags & NDR_IN) {
11636 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
11637 if (r->in.server) {
11638 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11640 if (r->in.account == NULL) {
11641 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11643 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11644 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
11645 if (r->in.nt_password) {
11646 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11648 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
11649 if (r->in.nt_verifier) {
11650 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11652 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
11653 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
11654 if (r->in.lm_password) {
11655 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11657 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
11658 if (r->in.lm_verifier) {
11659 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11661 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password3));
11662 if (r->in.password3) {
11663 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
11666 if (flags & NDR_OUT) {
11667 if (r->out.dominfo == NULL) {
11668 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11670 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo));
11671 if (*r->out.dominfo) {
11672 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
11674 if (r->out.reject == NULL) {
11675 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11677 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.reject));
11678 if (*r->out.reject) {
11679 NDR_CHECK(ndr_push_samr_ChangeReject(ndr, NDR_SCALARS, *r->out.reject));
11681 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11683 return NDR_ERR_SUCCESS;
11686 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser3(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser3 *r)
11688 uint32_t _ptr_server;
11689 uint32_t _ptr_nt_password;
11690 uint32_t _ptr_nt_verifier;
11691 uint32_t _ptr_lm_password;
11692 uint32_t _ptr_lm_verifier;
11693 uint32_t _ptr_password3;
11694 uint32_t _ptr_dominfo;
11695 uint32_t _ptr_reject;
11696 TALLOC_CTX *_mem_save_server_0;
11697 TALLOC_CTX *_mem_save_account_0;
11698 TALLOC_CTX *_mem_save_nt_password_0;
11699 TALLOC_CTX *_mem_save_nt_verifier_0;
11700 TALLOC_CTX *_mem_save_lm_password_0;
11701 TALLOC_CTX *_mem_save_lm_verifier_0;
11702 TALLOC_CTX *_mem_save_password3_0;
11703 TALLOC_CTX *_mem_save_dominfo_0;
11704 TALLOC_CTX *_mem_save_dominfo_1;
11705 TALLOC_CTX *_mem_save_reject_0;
11706 TALLOC_CTX *_mem_save_reject_1;
11707 if (flags & NDR_IN) {
11708 ZERO_STRUCT(r->out);
11710 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
11711 if (_ptr_server) {
11712 NDR_PULL_ALLOC(ndr, r->in.server);
11713 } else {
11714 r->in.server = NULL;
11716 if (r->in.server) {
11717 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11718 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
11719 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
11722 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11723 NDR_PULL_ALLOC(ndr, r->in.account);
11725 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
11726 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
11727 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11728 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
11729 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
11730 if (_ptr_nt_password) {
11731 NDR_PULL_ALLOC(ndr, r->in.nt_password);
11732 } else {
11733 r->in.nt_password = NULL;
11735 if (r->in.nt_password) {
11736 _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11737 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
11738 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
11741 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
11742 if (_ptr_nt_verifier) {
11743 NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
11744 } else {
11745 r->in.nt_verifier = NULL;
11747 if (r->in.nt_verifier) {
11748 _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11749 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
11750 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11751 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
11753 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
11754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
11755 if (_ptr_lm_password) {
11756 NDR_PULL_ALLOC(ndr, r->in.lm_password);
11757 } else {
11758 r->in.lm_password = NULL;
11760 if (r->in.lm_password) {
11761 _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11762 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
11763 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11764 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
11766 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
11767 if (_ptr_lm_verifier) {
11768 NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
11769 } else {
11770 r->in.lm_verifier = NULL;
11772 if (r->in.lm_verifier) {
11773 _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11774 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
11775 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11776 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
11778 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password3));
11779 if (_ptr_password3) {
11780 NDR_PULL_ALLOC(ndr, r->in.password3);
11781 } else {
11782 r->in.password3 = NULL;
11784 if (r->in.password3) {
11785 _mem_save_password3_0 = NDR_PULL_GET_MEM_CTX(ndr);
11786 NDR_PULL_SET_MEM_CTX(ndr, r->in.password3, 0);
11787 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
11788 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password3_0, 0);
11790 NDR_PULL_ALLOC(ndr, r->out.dominfo);
11791 ZERO_STRUCTP(r->out.dominfo);
11792 NDR_PULL_ALLOC(ndr, r->out.reject);
11793 ZERO_STRUCTP(r->out.reject);
11795 if (flags & NDR_OUT) {
11796 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11797 NDR_PULL_ALLOC(ndr, r->out.dominfo);
11799 _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
11800 NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC);
11801 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo));
11802 if (_ptr_dominfo) {
11803 NDR_PULL_ALLOC(ndr, *r->out.dominfo);
11804 } else {
11805 *r->out.dominfo = NULL;
11807 if (*r->out.dominfo) {
11808 _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr);
11809 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0);
11810 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
11811 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0);
11813 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC);
11814 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11815 NDR_PULL_ALLOC(ndr, r->out.reject);
11817 _mem_save_reject_0 = NDR_PULL_GET_MEM_CTX(ndr);
11818 NDR_PULL_SET_MEM_CTX(ndr, r->out.reject, LIBNDR_FLAG_REF_ALLOC);
11819 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_reject));
11820 if (_ptr_reject) {
11821 NDR_PULL_ALLOC(ndr, *r->out.reject);
11822 } else {
11823 *r->out.reject = NULL;
11825 if (*r->out.reject) {
11826 _mem_save_reject_1 = NDR_PULL_GET_MEM_CTX(ndr);
11827 NDR_PULL_SET_MEM_CTX(ndr, *r->out.reject, 0);
11828 NDR_CHECK(ndr_pull_samr_ChangeReject(ndr, NDR_SCALARS, *r->out.reject));
11829 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_1, 0);
11831 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_0, LIBNDR_FLAG_REF_ALLOC);
11832 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11834 return NDR_ERR_SUCCESS;
11837 _PUBLIC_ void ndr_print_samr_ChangePasswordUser3(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser3 *r)
11839 ndr_print_struct(ndr, name, "samr_ChangePasswordUser3");
11840 ndr->depth++;
11841 if (flags & NDR_SET_VALUES) {
11842 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11844 if (flags & NDR_IN) {
11845 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser3");
11846 ndr->depth++;
11847 ndr_print_ptr(ndr, "server", r->in.server);
11848 ndr->depth++;
11849 if (r->in.server) {
11850 ndr_print_lsa_String(ndr, "server", r->in.server);
11852 ndr->depth--;
11853 ndr_print_ptr(ndr, "account", r->in.account);
11854 ndr->depth++;
11855 ndr_print_lsa_String(ndr, "account", r->in.account);
11856 ndr->depth--;
11857 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
11858 ndr->depth++;
11859 if (r->in.nt_password) {
11860 ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
11862 ndr->depth--;
11863 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
11864 ndr->depth++;
11865 if (r->in.nt_verifier) {
11866 ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
11868 ndr->depth--;
11869 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
11870 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
11871 ndr->depth++;
11872 if (r->in.lm_password) {
11873 ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
11875 ndr->depth--;
11876 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
11877 ndr->depth++;
11878 if (r->in.lm_verifier) {
11879 ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
11881 ndr->depth--;
11882 ndr_print_ptr(ndr, "password3", r->in.password3);
11883 ndr->depth++;
11884 if (r->in.password3) {
11885 ndr_print_samr_CryptPassword(ndr, "password3", r->in.password3);
11887 ndr->depth--;
11888 ndr->depth--;
11890 if (flags & NDR_OUT) {
11891 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser3");
11892 ndr->depth++;
11893 ndr_print_ptr(ndr, "dominfo", r->out.dominfo);
11894 ndr->depth++;
11895 ndr_print_ptr(ndr, "dominfo", *r->out.dominfo);
11896 ndr->depth++;
11897 if (*r->out.dominfo) {
11898 ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo);
11900 ndr->depth--;
11901 ndr->depth--;
11902 ndr_print_ptr(ndr, "reject", r->out.reject);
11903 ndr->depth++;
11904 ndr_print_ptr(ndr, "reject", *r->out.reject);
11905 ndr->depth++;
11906 if (*r->out.reject) {
11907 ndr_print_samr_ChangeReject(ndr, "reject", *r->out.reject);
11909 ndr->depth--;
11910 ndr->depth--;
11911 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11912 ndr->depth--;
11914 ndr->depth--;
11917 _PUBLIC_ enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flags, const struct samr_Connect5 *r)
11919 if (flags & NDR_IN) {
11920 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11921 if (r->in.system_name) {
11922 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11923 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
11924 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11925 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));
11927 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11928 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level_in));
11929 if (r->in.info_in == NULL) {
11930 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11932 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info_in, r->in.level_in));
11933 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
11935 if (flags & NDR_OUT) {
11936 if (r->out.level_out == NULL) {
11937 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11939 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
11940 if (r->out.info_out == NULL) {
11941 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11943 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
11944 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
11945 if (r->out.connect_handle == NULL) {
11946 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11948 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11949 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11951 return NDR_ERR_SUCCESS;
11954 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r)
11956 uint32_t _ptr_system_name;
11957 TALLOC_CTX *_mem_save_system_name_0;
11958 TALLOC_CTX *_mem_save_info_in_0;
11959 TALLOC_CTX *_mem_save_level_out_0;
11960 TALLOC_CTX *_mem_save_info_out_0;
11961 TALLOC_CTX *_mem_save_connect_handle_0;
11962 if (flags & NDR_IN) {
11963 ZERO_STRUCT(r->out);
11965 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11966 if (_ptr_system_name) {
11967 NDR_PULL_ALLOC(ndr, r->in.system_name);
11968 } else {
11969 r->in.system_name = NULL;
11971 if (r->in.system_name) {
11972 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11973 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11974 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11975 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11976 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11977 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));
11979 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11980 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));
11981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11983 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11984 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level_in));
11985 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11986 NDR_PULL_ALLOC(ndr, r->in.info_in);
11988 _mem_save_info_in_0 = NDR_PULL_GET_MEM_CTX(ndr);
11989 NDR_PULL_SET_MEM_CTX(ndr, r->in.info_in, LIBNDR_FLAG_REF_ALLOC);
11990 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info_in, r->in.level_in));
11991 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
11992 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_in_0, LIBNDR_FLAG_REF_ALLOC);
11993 NDR_PULL_ALLOC(ndr, r->out.level_out);
11994 ZERO_STRUCTP(r->out.level_out);
11995 NDR_PULL_ALLOC(ndr, r->out.info_out);
11996 ZERO_STRUCTP(r->out.info_out);
11997 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11998 ZERO_STRUCTP(r->out.connect_handle);
12000 if (flags & NDR_OUT) {
12001 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12002 NDR_PULL_ALLOC(ndr, r->out.level_out);
12004 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
12005 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
12006 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
12007 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
12008 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12009 NDR_PULL_ALLOC(ndr, r->out.info_out);
12011 _mem_save_info_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
12012 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_out, LIBNDR_FLAG_REF_ALLOC);
12013 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
12014 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
12015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_out_0, LIBNDR_FLAG_REF_ALLOC);
12016 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12017 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
12019 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12020 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
12021 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
12022 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
12023 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12025 return NDR_ERR_SUCCESS;
12028 _PUBLIC_ void ndr_print_samr_Connect5(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect5 *r)
12030 ndr_print_struct(ndr, name, "samr_Connect5");
12031 ndr->depth++;
12032 if (flags & NDR_SET_VALUES) {
12033 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12035 if (flags & NDR_IN) {
12036 ndr_print_struct(ndr, "in", "samr_Connect5");
12037 ndr->depth++;
12038 ndr_print_ptr(ndr, "system_name", r->in.system_name);
12039 ndr->depth++;
12040 if (r->in.system_name) {
12041 ndr_print_string(ndr, "system_name", r->in.system_name);
12043 ndr->depth--;
12044 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
12045 ndr_print_uint32(ndr, "level_in", r->in.level_in);
12046 ndr_print_ptr(ndr, "info_in", r->in.info_in);
12047 ndr->depth++;
12048 ndr_print_set_switch_value(ndr, r->in.info_in, r->in.level_in);
12049 ndr_print_samr_ConnectInfo(ndr, "info_in", r->in.info_in);
12050 ndr->depth--;
12051 ndr->depth--;
12053 if (flags & NDR_OUT) {
12054 ndr_print_struct(ndr, "out", "samr_Connect5");
12055 ndr->depth++;
12056 ndr_print_ptr(ndr, "level_out", r->out.level_out);
12057 ndr->depth++;
12058 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
12059 ndr->depth--;
12060 ndr_print_ptr(ndr, "info_out", r->out.info_out);
12061 ndr->depth++;
12062 ndr_print_set_switch_value(ndr, r->out.info_out, *r->out.level_out);
12063 ndr_print_samr_ConnectInfo(ndr, "info_out", r->out.info_out);
12064 ndr->depth--;
12065 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
12066 ndr->depth++;
12067 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
12068 ndr->depth--;
12069 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12070 ndr->depth--;
12072 ndr->depth--;
12075 static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags, const struct samr_RidToSid *r)
12077 if (flags & NDR_IN) {
12078 if (r->in.domain_handle == NULL) {
12079 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12081 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
12082 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
12084 if (flags & NDR_OUT) {
12085 if (r->out.sid == NULL) {
12086 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12088 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
12089 if (*r->out.sid) {
12090 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
12092 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12094 return NDR_ERR_SUCCESS;
12097 static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags, struct samr_RidToSid *r)
12099 uint32_t _ptr_sid;
12100 TALLOC_CTX *_mem_save_domain_handle_0;
12101 TALLOC_CTX *_mem_save_sid_0;
12102 TALLOC_CTX *_mem_save_sid_1;
12103 if (flags & NDR_IN) {
12104 ZERO_STRUCT(r->out);
12106 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12107 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
12109 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12110 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
12111 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
12112 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
12113 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
12114 NDR_PULL_ALLOC(ndr, r->out.sid);
12115 ZERO_STRUCTP(r->out.sid);
12117 if (flags & NDR_OUT) {
12118 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12119 NDR_PULL_ALLOC(ndr, r->out.sid);
12121 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
12122 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
12123 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
12124 if (_ptr_sid) {
12125 NDR_PULL_ALLOC(ndr, *r->out.sid);
12126 } else {
12127 *r->out.sid = NULL;
12129 if (*r->out.sid) {
12130 _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
12131 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
12132 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
12133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
12135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
12136 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12138 return NDR_ERR_SUCCESS;
12141 _PUBLIC_ void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, int flags, const struct samr_RidToSid *r)
12143 ndr_print_struct(ndr, name, "samr_RidToSid");
12144 ndr->depth++;
12145 if (flags & NDR_SET_VALUES) {
12146 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12148 if (flags & NDR_IN) {
12149 ndr_print_struct(ndr, "in", "samr_RidToSid");
12150 ndr->depth++;
12151 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
12152 ndr->depth++;
12153 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
12154 ndr->depth--;
12155 ndr_print_uint32(ndr, "rid", r->in.rid);
12156 ndr->depth--;
12158 if (flags & NDR_OUT) {
12159 ndr_print_struct(ndr, "out", "samr_RidToSid");
12160 ndr->depth++;
12161 ndr_print_ptr(ndr, "sid", r->out.sid);
12162 ndr->depth++;
12163 ndr_print_ptr(ndr, "sid", *r->out.sid);
12164 ndr->depth++;
12165 if (*r->out.sid) {
12166 ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
12168 ndr->depth--;
12169 ndr->depth--;
12170 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12171 ndr->depth--;
12173 ndr->depth--;
12176 static enum ndr_err_code ndr_push_samr_SetDsrmPassword(struct ndr_push *ndr, int flags, const struct samr_SetDsrmPassword *r)
12178 if (flags & NDR_IN) {
12179 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name));
12180 if (r->in.name) {
12181 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
12183 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
12184 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
12185 if (r->in.hash) {
12186 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
12189 if (flags & NDR_OUT) {
12190 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12192 return NDR_ERR_SUCCESS;
12195 static enum ndr_err_code ndr_pull_samr_SetDsrmPassword(struct ndr_pull *ndr, int flags, struct samr_SetDsrmPassword *r)
12197 uint32_t _ptr_name;
12198 uint32_t _ptr_hash;
12199 TALLOC_CTX *_mem_save_name_0;
12200 TALLOC_CTX *_mem_save_hash_0;
12201 if (flags & NDR_IN) {
12202 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
12203 if (_ptr_name) {
12204 NDR_PULL_ALLOC(ndr, r->in.name);
12205 } else {
12206 r->in.name = NULL;
12208 if (r->in.name) {
12209 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12210 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0);
12211 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
12212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
12214 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
12215 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
12216 if (_ptr_hash) {
12217 NDR_PULL_ALLOC(ndr, r->in.hash);
12218 } else {
12219 r->in.hash = NULL;
12221 if (r->in.hash) {
12222 _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
12223 NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
12224 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
12225 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
12228 if (flags & NDR_OUT) {
12229 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12231 return NDR_ERR_SUCCESS;
12234 _PUBLIC_ void ndr_print_samr_SetDsrmPassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDsrmPassword *r)
12236 ndr_print_struct(ndr, name, "samr_SetDsrmPassword");
12237 ndr->depth++;
12238 if (flags & NDR_SET_VALUES) {
12239 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12241 if (flags & NDR_IN) {
12242 ndr_print_struct(ndr, "in", "samr_SetDsrmPassword");
12243 ndr->depth++;
12244 ndr_print_ptr(ndr, "name", r->in.name);
12245 ndr->depth++;
12246 if (r->in.name) {
12247 ndr_print_lsa_String(ndr, "name", r->in.name);
12249 ndr->depth--;
12250 ndr_print_uint32(ndr, "unknown", r->in.unknown);
12251 ndr_print_ptr(ndr, "hash", r->in.hash);
12252 ndr->depth++;
12253 if (r->in.hash) {
12254 ndr_print_samr_Password(ndr, "hash", r->in.hash);
12256 ndr->depth--;
12257 ndr->depth--;
12259 if (flags & NDR_OUT) {
12260 ndr_print_struct(ndr, "out", "samr_SetDsrmPassword");
12261 ndr->depth++;
12262 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12263 ndr->depth--;
12265 ndr->depth--;
12268 static enum ndr_err_code ndr_push_samr_ValidatePassword(struct ndr_push *ndr, int flags, const struct samr_ValidatePassword *r)
12270 if (flags & NDR_IN) {
12271 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, r->in.level));
12272 if (r->in.req == NULL) {
12273 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12275 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
12276 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12278 if (flags & NDR_OUT) {
12279 if (r->out.rep == NULL) {
12280 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12282 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rep));
12283 if (*r->out.rep) {
12284 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.rep, r->in.level));
12285 NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
12287 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12289 return NDR_ERR_SUCCESS;
12292 static enum ndr_err_code ndr_pull_samr_ValidatePassword(struct ndr_pull *ndr, int flags, struct samr_ValidatePassword *r)
12294 uint32_t _ptr_rep;
12295 TALLOC_CTX *_mem_save_req_0;
12296 TALLOC_CTX *_mem_save_rep_0;
12297 TALLOC_CTX *_mem_save_rep_1;
12298 if (flags & NDR_IN) {
12299 ZERO_STRUCT(r->out);
12301 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, &r->in.level));
12302 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12303 NDR_PULL_ALLOC(ndr, r->in.req);
12305 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
12306 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
12307 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
12308 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12309 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
12310 NDR_PULL_ALLOC(ndr, r->out.rep);
12311 ZERO_STRUCTP(r->out.rep);
12313 if (flags & NDR_OUT) {
12314 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12315 NDR_PULL_ALLOC(ndr, r->out.rep);
12317 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
12318 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
12319 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rep));
12320 if (_ptr_rep) {
12321 NDR_PULL_ALLOC(ndr, *r->out.rep);
12322 } else {
12323 *r->out.rep = NULL;
12325 if (*r->out.rep) {
12326 _mem_save_rep_1 = NDR_PULL_GET_MEM_CTX(ndr);
12327 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rep, 0);
12328 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.rep, r->in.level));
12329 NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
12330 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_1, 0);
12332 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
12333 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12335 return NDR_ERR_SUCCESS;
12338 _PUBLIC_ void ndr_print_samr_ValidatePassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_ValidatePassword *r)
12340 ndr_print_struct(ndr, name, "samr_ValidatePassword");
12341 ndr->depth++;
12342 if (flags & NDR_SET_VALUES) {
12343 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12345 if (flags & NDR_IN) {
12346 ndr_print_struct(ndr, "in", "samr_ValidatePassword");
12347 ndr->depth++;
12348 ndr_print_samr_ValidatePasswordLevel(ndr, "level", r->in.level);
12349 ndr_print_ptr(ndr, "req", r->in.req);
12350 ndr->depth++;
12351 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
12352 ndr_print_samr_ValidatePasswordReq(ndr, "req", r->in.req);
12353 ndr->depth--;
12354 ndr->depth--;
12356 if (flags & NDR_OUT) {
12357 ndr_print_struct(ndr, "out", "samr_ValidatePassword");
12358 ndr->depth++;
12359 ndr_print_ptr(ndr, "rep", r->out.rep);
12360 ndr->depth++;
12361 ndr_print_ptr(ndr, "rep", *r->out.rep);
12362 ndr->depth++;
12363 if (*r->out.rep) {
12364 ndr_print_set_switch_value(ndr, *r->out.rep, r->in.level);
12365 ndr_print_samr_ValidatePasswordRep(ndr, "rep", *r->out.rep);
12367 ndr->depth--;
12368 ndr->depth--;
12369 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12370 ndr->depth--;
12372 ndr->depth--;
12375 static const struct ndr_interface_call samr_calls[] = {
12377 "samr_Connect",
12378 sizeof(struct samr_Connect),
12379 (ndr_push_flags_fn_t) ndr_push_samr_Connect,
12380 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect,
12381 (ndr_print_function_t) ndr_print_samr_Connect,
12382 false,
12385 "samr_Close",
12386 sizeof(struct samr_Close),
12387 (ndr_push_flags_fn_t) ndr_push_samr_Close,
12388 (ndr_pull_flags_fn_t) ndr_pull_samr_Close,
12389 (ndr_print_function_t) ndr_print_samr_Close,
12390 false,
12393 "samr_SetSecurity",
12394 sizeof(struct samr_SetSecurity),
12395 (ndr_push_flags_fn_t) ndr_push_samr_SetSecurity,
12396 (ndr_pull_flags_fn_t) ndr_pull_samr_SetSecurity,
12397 (ndr_print_function_t) ndr_print_samr_SetSecurity,
12398 false,
12401 "samr_QuerySecurity",
12402 sizeof(struct samr_QuerySecurity),
12403 (ndr_push_flags_fn_t) ndr_push_samr_QuerySecurity,
12404 (ndr_pull_flags_fn_t) ndr_pull_samr_QuerySecurity,
12405 (ndr_print_function_t) ndr_print_samr_QuerySecurity,
12406 false,
12409 "samr_Shutdown",
12410 sizeof(struct samr_Shutdown),
12411 (ndr_push_flags_fn_t) ndr_push_samr_Shutdown,
12412 (ndr_pull_flags_fn_t) ndr_pull_samr_Shutdown,
12413 (ndr_print_function_t) ndr_print_samr_Shutdown,
12414 false,
12417 "samr_LookupDomain",
12418 sizeof(struct samr_LookupDomain),
12419 (ndr_push_flags_fn_t) ndr_push_samr_LookupDomain,
12420 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupDomain,
12421 (ndr_print_function_t) ndr_print_samr_LookupDomain,
12422 false,
12425 "samr_EnumDomains",
12426 sizeof(struct samr_EnumDomains),
12427 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomains,
12428 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomains,
12429 (ndr_print_function_t) ndr_print_samr_EnumDomains,
12430 false,
12433 "samr_OpenDomain",
12434 sizeof(struct samr_OpenDomain),
12435 (ndr_push_flags_fn_t) ndr_push_samr_OpenDomain,
12436 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenDomain,
12437 (ndr_print_function_t) ndr_print_samr_OpenDomain,
12438 false,
12441 "samr_QueryDomainInfo",
12442 sizeof(struct samr_QueryDomainInfo),
12443 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo,
12444 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo,
12445 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo,
12446 false,
12449 "samr_SetDomainInfo",
12450 sizeof(struct samr_SetDomainInfo),
12451 (ndr_push_flags_fn_t) ndr_push_samr_SetDomainInfo,
12452 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDomainInfo,
12453 (ndr_print_function_t) ndr_print_samr_SetDomainInfo,
12454 false,
12457 "samr_CreateDomainGroup",
12458 sizeof(struct samr_CreateDomainGroup),
12459 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomainGroup,
12460 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomainGroup,
12461 (ndr_print_function_t) ndr_print_samr_CreateDomainGroup,
12462 false,
12465 "samr_EnumDomainGroups",
12466 sizeof(struct samr_EnumDomainGroups),
12467 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainGroups,
12468 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainGroups,
12469 (ndr_print_function_t) ndr_print_samr_EnumDomainGroups,
12470 false,
12473 "samr_CreateUser",
12474 sizeof(struct samr_CreateUser),
12475 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser,
12476 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser,
12477 (ndr_print_function_t) ndr_print_samr_CreateUser,
12478 false,
12481 "samr_EnumDomainUsers",
12482 sizeof(struct samr_EnumDomainUsers),
12483 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainUsers,
12484 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainUsers,
12485 (ndr_print_function_t) ndr_print_samr_EnumDomainUsers,
12486 false,
12489 "samr_CreateDomAlias",
12490 sizeof(struct samr_CreateDomAlias),
12491 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomAlias,
12492 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomAlias,
12493 (ndr_print_function_t) ndr_print_samr_CreateDomAlias,
12494 false,
12497 "samr_EnumDomainAliases",
12498 sizeof(struct samr_EnumDomainAliases),
12499 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainAliases,
12500 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainAliases,
12501 (ndr_print_function_t) ndr_print_samr_EnumDomainAliases,
12502 false,
12505 "samr_GetAliasMembership",
12506 sizeof(struct samr_GetAliasMembership),
12507 (ndr_push_flags_fn_t) ndr_push_samr_GetAliasMembership,
12508 (ndr_pull_flags_fn_t) ndr_pull_samr_GetAliasMembership,
12509 (ndr_print_function_t) ndr_print_samr_GetAliasMembership,
12510 false,
12513 "samr_LookupNames",
12514 sizeof(struct samr_LookupNames),
12515 (ndr_push_flags_fn_t) ndr_push_samr_LookupNames,
12516 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupNames,
12517 (ndr_print_function_t) ndr_print_samr_LookupNames,
12518 false,
12521 "samr_LookupRids",
12522 sizeof(struct samr_LookupRids),
12523 (ndr_push_flags_fn_t) ndr_push_samr_LookupRids,
12524 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupRids,
12525 (ndr_print_function_t) ndr_print_samr_LookupRids,
12526 false,
12529 "samr_OpenGroup",
12530 sizeof(struct samr_OpenGroup),
12531 (ndr_push_flags_fn_t) ndr_push_samr_OpenGroup,
12532 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenGroup,
12533 (ndr_print_function_t) ndr_print_samr_OpenGroup,
12534 false,
12537 "samr_QueryGroupInfo",
12538 sizeof(struct samr_QueryGroupInfo),
12539 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupInfo,
12540 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupInfo,
12541 (ndr_print_function_t) ndr_print_samr_QueryGroupInfo,
12542 false,
12545 "samr_SetGroupInfo",
12546 sizeof(struct samr_SetGroupInfo),
12547 (ndr_push_flags_fn_t) ndr_push_samr_SetGroupInfo,
12548 (ndr_pull_flags_fn_t) ndr_pull_samr_SetGroupInfo,
12549 (ndr_print_function_t) ndr_print_samr_SetGroupInfo,
12550 false,
12553 "samr_AddGroupMember",
12554 sizeof(struct samr_AddGroupMember),
12555 (ndr_push_flags_fn_t) ndr_push_samr_AddGroupMember,
12556 (ndr_pull_flags_fn_t) ndr_pull_samr_AddGroupMember,
12557 (ndr_print_function_t) ndr_print_samr_AddGroupMember,
12558 false,
12561 "samr_DeleteDomainGroup",
12562 sizeof(struct samr_DeleteDomainGroup),
12563 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomainGroup,
12564 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomainGroup,
12565 (ndr_print_function_t) ndr_print_samr_DeleteDomainGroup,
12566 false,
12569 "samr_DeleteGroupMember",
12570 sizeof(struct samr_DeleteGroupMember),
12571 (ndr_push_flags_fn_t) ndr_push_samr_DeleteGroupMember,
12572 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteGroupMember,
12573 (ndr_print_function_t) ndr_print_samr_DeleteGroupMember,
12574 false,
12577 "samr_QueryGroupMember",
12578 sizeof(struct samr_QueryGroupMember),
12579 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupMember,
12580 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupMember,
12581 (ndr_print_function_t) ndr_print_samr_QueryGroupMember,
12582 false,
12585 "samr_SetMemberAttributesOfGroup",
12586 sizeof(struct samr_SetMemberAttributesOfGroup),
12587 (ndr_push_flags_fn_t) ndr_push_samr_SetMemberAttributesOfGroup,
12588 (ndr_pull_flags_fn_t) ndr_pull_samr_SetMemberAttributesOfGroup,
12589 (ndr_print_function_t) ndr_print_samr_SetMemberAttributesOfGroup,
12590 false,
12593 "samr_OpenAlias",
12594 sizeof(struct samr_OpenAlias),
12595 (ndr_push_flags_fn_t) ndr_push_samr_OpenAlias,
12596 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenAlias,
12597 (ndr_print_function_t) ndr_print_samr_OpenAlias,
12598 false,
12601 "samr_QueryAliasInfo",
12602 sizeof(struct samr_QueryAliasInfo),
12603 (ndr_push_flags_fn_t) ndr_push_samr_QueryAliasInfo,
12604 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryAliasInfo,
12605 (ndr_print_function_t) ndr_print_samr_QueryAliasInfo,
12606 false,
12609 "samr_SetAliasInfo",
12610 sizeof(struct samr_SetAliasInfo),
12611 (ndr_push_flags_fn_t) ndr_push_samr_SetAliasInfo,
12612 (ndr_pull_flags_fn_t) ndr_pull_samr_SetAliasInfo,
12613 (ndr_print_function_t) ndr_print_samr_SetAliasInfo,
12614 false,
12617 "samr_DeleteDomAlias",
12618 sizeof(struct samr_DeleteDomAlias),
12619 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomAlias,
12620 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomAlias,
12621 (ndr_print_function_t) ndr_print_samr_DeleteDomAlias,
12622 false,
12625 "samr_AddAliasMember",
12626 sizeof(struct samr_AddAliasMember),
12627 (ndr_push_flags_fn_t) ndr_push_samr_AddAliasMember,
12628 (ndr_pull_flags_fn_t) ndr_pull_samr_AddAliasMember,
12629 (ndr_print_function_t) ndr_print_samr_AddAliasMember,
12630 false,
12633 "samr_DeleteAliasMember",
12634 sizeof(struct samr_DeleteAliasMember),
12635 (ndr_push_flags_fn_t) ndr_push_samr_DeleteAliasMember,
12636 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteAliasMember,
12637 (ndr_print_function_t) ndr_print_samr_DeleteAliasMember,
12638 false,
12641 "samr_GetMembersInAlias",
12642 sizeof(struct samr_GetMembersInAlias),
12643 (ndr_push_flags_fn_t) ndr_push_samr_GetMembersInAlias,
12644 (ndr_pull_flags_fn_t) ndr_pull_samr_GetMembersInAlias,
12645 (ndr_print_function_t) ndr_print_samr_GetMembersInAlias,
12646 false,
12649 "samr_OpenUser",
12650 sizeof(struct samr_OpenUser),
12651 (ndr_push_flags_fn_t) ndr_push_samr_OpenUser,
12652 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenUser,
12653 (ndr_print_function_t) ndr_print_samr_OpenUser,
12654 false,
12657 "samr_DeleteUser",
12658 sizeof(struct samr_DeleteUser),
12659 (ndr_push_flags_fn_t) ndr_push_samr_DeleteUser,
12660 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteUser,
12661 (ndr_print_function_t) ndr_print_samr_DeleteUser,
12662 false,
12665 "samr_QueryUserInfo",
12666 sizeof(struct samr_QueryUserInfo),
12667 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo,
12668 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo,
12669 (ndr_print_function_t) ndr_print_samr_QueryUserInfo,
12670 false,
12673 "samr_SetUserInfo",
12674 sizeof(struct samr_SetUserInfo),
12675 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo,
12676 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo,
12677 (ndr_print_function_t) ndr_print_samr_SetUserInfo,
12678 false,
12681 "samr_ChangePasswordUser",
12682 sizeof(struct samr_ChangePasswordUser),
12683 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser,
12684 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser,
12685 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser,
12686 false,
12689 "samr_GetGroupsForUser",
12690 sizeof(struct samr_GetGroupsForUser),
12691 (ndr_push_flags_fn_t) ndr_push_samr_GetGroupsForUser,
12692 (ndr_pull_flags_fn_t) ndr_pull_samr_GetGroupsForUser,
12693 (ndr_print_function_t) ndr_print_samr_GetGroupsForUser,
12694 false,
12697 "samr_QueryDisplayInfo",
12698 sizeof(struct samr_QueryDisplayInfo),
12699 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo,
12700 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo,
12701 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo,
12702 false,
12705 "samr_GetDisplayEnumerationIndex",
12706 sizeof(struct samr_GetDisplayEnumerationIndex),
12707 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex,
12708 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex,
12709 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex,
12710 false,
12713 "samr_TestPrivateFunctionsDomain",
12714 sizeof(struct samr_TestPrivateFunctionsDomain),
12715 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsDomain,
12716 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsDomain,
12717 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsDomain,
12718 false,
12721 "samr_TestPrivateFunctionsUser",
12722 sizeof(struct samr_TestPrivateFunctionsUser),
12723 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsUser,
12724 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsUser,
12725 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsUser,
12726 false,
12729 "samr_GetUserPwInfo",
12730 sizeof(struct samr_GetUserPwInfo),
12731 (ndr_push_flags_fn_t) ndr_push_samr_GetUserPwInfo,
12732 (ndr_pull_flags_fn_t) ndr_pull_samr_GetUserPwInfo,
12733 (ndr_print_function_t) ndr_print_samr_GetUserPwInfo,
12734 false,
12737 "samr_RemoveMemberFromForeignDomain",
12738 sizeof(struct samr_RemoveMemberFromForeignDomain),
12739 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMemberFromForeignDomain,
12740 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMemberFromForeignDomain,
12741 (ndr_print_function_t) ndr_print_samr_RemoveMemberFromForeignDomain,
12742 false,
12745 "samr_QueryDomainInfo2",
12746 sizeof(struct samr_QueryDomainInfo2),
12747 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo2,
12748 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo2,
12749 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo2,
12750 false,
12753 "samr_QueryUserInfo2",
12754 sizeof(struct samr_QueryUserInfo2),
12755 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo2,
12756 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo2,
12757 (ndr_print_function_t) ndr_print_samr_QueryUserInfo2,
12758 false,
12761 "samr_QueryDisplayInfo2",
12762 sizeof(struct samr_QueryDisplayInfo2),
12763 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo2,
12764 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo2,
12765 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo2,
12766 false,
12769 "samr_GetDisplayEnumerationIndex2",
12770 sizeof(struct samr_GetDisplayEnumerationIndex2),
12771 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex2,
12772 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex2,
12773 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex2,
12774 false,
12777 "samr_CreateUser2",
12778 sizeof(struct samr_CreateUser2),
12779 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser2,
12780 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser2,
12781 (ndr_print_function_t) ndr_print_samr_CreateUser2,
12782 false,
12785 "samr_QueryDisplayInfo3",
12786 sizeof(struct samr_QueryDisplayInfo3),
12787 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo3,
12788 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo3,
12789 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo3,
12790 false,
12793 "samr_AddMultipleMembersToAlias",
12794 sizeof(struct samr_AddMultipleMembersToAlias),
12795 (ndr_push_flags_fn_t) ndr_push_samr_AddMultipleMembersToAlias,
12796 (ndr_pull_flags_fn_t) ndr_pull_samr_AddMultipleMembersToAlias,
12797 (ndr_print_function_t) ndr_print_samr_AddMultipleMembersToAlias,
12798 false,
12801 "samr_RemoveMultipleMembersFromAlias",
12802 sizeof(struct samr_RemoveMultipleMembersFromAlias),
12803 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMultipleMembersFromAlias,
12804 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMultipleMembersFromAlias,
12805 (ndr_print_function_t) ndr_print_samr_RemoveMultipleMembersFromAlias,
12806 false,
12809 "samr_OemChangePasswordUser2",
12810 sizeof(struct samr_OemChangePasswordUser2),
12811 (ndr_push_flags_fn_t) ndr_push_samr_OemChangePasswordUser2,
12812 (ndr_pull_flags_fn_t) ndr_pull_samr_OemChangePasswordUser2,
12813 (ndr_print_function_t) ndr_print_samr_OemChangePasswordUser2,
12814 false,
12817 "samr_ChangePasswordUser2",
12818 sizeof(struct samr_ChangePasswordUser2),
12819 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser2,
12820 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser2,
12821 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser2,
12822 false,
12825 "samr_GetDomPwInfo",
12826 sizeof(struct samr_GetDomPwInfo),
12827 (ndr_push_flags_fn_t) ndr_push_samr_GetDomPwInfo,
12828 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDomPwInfo,
12829 (ndr_print_function_t) ndr_print_samr_GetDomPwInfo,
12830 false,
12833 "samr_Connect2",
12834 sizeof(struct samr_Connect2),
12835 (ndr_push_flags_fn_t) ndr_push_samr_Connect2,
12836 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect2,
12837 (ndr_print_function_t) ndr_print_samr_Connect2,
12838 false,
12841 "samr_SetUserInfo2",
12842 sizeof(struct samr_SetUserInfo2),
12843 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo2,
12844 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo2,
12845 (ndr_print_function_t) ndr_print_samr_SetUserInfo2,
12846 false,
12849 "samr_SetBootKeyInformation",
12850 sizeof(struct samr_SetBootKeyInformation),
12851 (ndr_push_flags_fn_t) ndr_push_samr_SetBootKeyInformation,
12852 (ndr_pull_flags_fn_t) ndr_pull_samr_SetBootKeyInformation,
12853 (ndr_print_function_t) ndr_print_samr_SetBootKeyInformation,
12854 false,
12857 "samr_GetBootKeyInformation",
12858 sizeof(struct samr_GetBootKeyInformation),
12859 (ndr_push_flags_fn_t) ndr_push_samr_GetBootKeyInformation,
12860 (ndr_pull_flags_fn_t) ndr_pull_samr_GetBootKeyInformation,
12861 (ndr_print_function_t) ndr_print_samr_GetBootKeyInformation,
12862 false,
12865 "samr_Connect3",
12866 sizeof(struct samr_Connect3),
12867 (ndr_push_flags_fn_t) ndr_push_samr_Connect3,
12868 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect3,
12869 (ndr_print_function_t) ndr_print_samr_Connect3,
12870 false,
12873 "samr_Connect4",
12874 sizeof(struct samr_Connect4),
12875 (ndr_push_flags_fn_t) ndr_push_samr_Connect4,
12876 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect4,
12877 (ndr_print_function_t) ndr_print_samr_Connect4,
12878 false,
12881 "samr_ChangePasswordUser3",
12882 sizeof(struct samr_ChangePasswordUser3),
12883 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser3,
12884 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser3,
12885 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser3,
12886 false,
12889 "samr_Connect5",
12890 sizeof(struct samr_Connect5),
12891 (ndr_push_flags_fn_t) ndr_push_samr_Connect5,
12892 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect5,
12893 (ndr_print_function_t) ndr_print_samr_Connect5,
12894 false,
12897 "samr_RidToSid",
12898 sizeof(struct samr_RidToSid),
12899 (ndr_push_flags_fn_t) ndr_push_samr_RidToSid,
12900 (ndr_pull_flags_fn_t) ndr_pull_samr_RidToSid,
12901 (ndr_print_function_t) ndr_print_samr_RidToSid,
12902 false,
12905 "samr_SetDsrmPassword",
12906 sizeof(struct samr_SetDsrmPassword),
12907 (ndr_push_flags_fn_t) ndr_push_samr_SetDsrmPassword,
12908 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDsrmPassword,
12909 (ndr_print_function_t) ndr_print_samr_SetDsrmPassword,
12910 false,
12913 "samr_ValidatePassword",
12914 sizeof(struct samr_ValidatePassword),
12915 (ndr_push_flags_fn_t) ndr_push_samr_ValidatePassword,
12916 (ndr_pull_flags_fn_t) ndr_pull_samr_ValidatePassword,
12917 (ndr_print_function_t) ndr_print_samr_ValidatePassword,
12918 false,
12920 { NULL, 0, NULL, NULL, NULL, false }
12923 static const char * const samr_endpoint_strings[] = {
12924 "ncacn_np:[\\pipe\\samr]",
12925 "ncacn_ip_tcp:",
12926 "ncalrpc:",
12929 static const struct ndr_interface_string_array samr_endpoints = {
12930 .count = 3,
12931 .names = samr_endpoint_strings
12934 static const char * const samr_authservice_strings[] = {
12935 "host",
12938 static const struct ndr_interface_string_array samr_authservices = {
12939 .count = 1,
12940 .names = samr_authservice_strings
12944 const struct ndr_interface_table ndr_table_samr = {
12945 .name = "samr",
12946 .syntax_id = {
12947 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
12948 NDR_SAMR_VERSION
12950 .helpstring = NDR_SAMR_HELPSTRING,
12951 .num_calls = 68,
12952 .calls = samr_calls,
12953 .endpoints = &samr_endpoints,
12954 .authservices = &samr_authservices