3.3 samr bug 6301: fix samr_ConnectVersion enum which is 32bit not 16bit.
[Samba/bb.git] / source / librpc / gen_ndr / ndr_samr.c
blobae3605bceba625a1b1c30bc357b0c3f99c2ae9ee
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_samr_AcctFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
11 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
12 return NDR_ERR_SUCCESS;
15 _PUBLIC_ enum ndr_err_code ndr_pull_samr_AcctFlags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
17 uint32_t v;
18 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
19 *r = v;
20 return NDR_ERR_SUCCESS;
23 _PUBLIC_ void ndr_print_samr_AcctFlags(struct ndr_print *ndr, const char *name, uint32_t r)
25 ndr_print_uint32(ndr, name, r);
26 ndr->depth++;
27 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DISABLED", ACB_DISABLED, r);
28 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_HOMDIRREQ", ACB_HOMDIRREQ, r);
29 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOTREQ", ACB_PWNOTREQ, r);
30 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TEMPDUP", ACB_TEMPDUP, r);
31 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NORMAL", ACB_NORMAL, r);
32 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_MNS", ACB_MNS, r);
33 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DOMTRUST", ACB_DOMTRUST, r);
34 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_WSTRUST", ACB_WSTRUST, r);
35 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SVRTRUST", ACB_SVRTRUST, r);
36 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PWNOEXP", ACB_PWNOEXP, r);
37 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_AUTOLOCK", ACB_AUTOLOCK, r);
38 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_ENC_TXT_PWD_ALLOWED", ACB_ENC_TXT_PWD_ALLOWED, r);
39 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_SMARTCARD_REQUIRED", ACB_SMARTCARD_REQUIRED, r);
40 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_TRUSTED_FOR_DELEGATION", ACB_TRUSTED_FOR_DELEGATION, r);
41 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NOT_DELEGATED", ACB_NOT_DELEGATED, r);
42 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_USE_DES_KEY_ONLY", ACB_USE_DES_KEY_ONLY, r);
43 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_DONT_REQUIRE_PREAUTH", ACB_DONT_REQUIRE_PREAUTH, r);
44 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_PW_EXPIRED", ACB_PW_EXPIRED, r);
45 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "ACB_NO_AUTH_DATA_REQD", ACB_NO_AUTH_DATA_REQD, r);
46 ndr->depth--;
49 static enum ndr_err_code ndr_push_samr_ConnectAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
51 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
52 return NDR_ERR_SUCCESS;
55 static enum ndr_err_code ndr_pull_samr_ConnectAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
57 uint32_t v;
58 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
59 *r = v;
60 return NDR_ERR_SUCCESS;
63 _PUBLIC_ void ndr_print_samr_ConnectAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
65 ndr_print_uint32(ndr, name, r);
66 ndr->depth++;
67 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CONNECT_TO_SERVER", SAMR_ACCESS_CONNECT_TO_SERVER, r);
68 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_SHUTDOWN_SERVER", SAMR_ACCESS_SHUTDOWN_SERVER, r);
69 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_INITIALIZE_SERVER", SAMR_ACCESS_INITIALIZE_SERVER, r);
70 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_CREATE_DOMAIN", SAMR_ACCESS_CREATE_DOMAIN, r);
71 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_ENUM_DOMAINS", SAMR_ACCESS_ENUM_DOMAINS, r);
72 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ACCESS_LOOKUP_DOMAIN", SAMR_ACCESS_LOOKUP_DOMAIN, r);
73 ndr->depth--;
76 static enum ndr_err_code ndr_push_samr_UserAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
78 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
79 return NDR_ERR_SUCCESS;
82 static enum ndr_err_code ndr_pull_samr_UserAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
84 uint32_t v;
85 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
86 *r = v;
87 return NDR_ERR_SUCCESS;
90 _PUBLIC_ void ndr_print_samr_UserAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
92 ndr_print_uint32(ndr, name, r);
93 ndr->depth++;
94 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_NAME_ETC", SAMR_USER_ACCESS_GET_NAME_ETC, r);
95 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOCALE", SAMR_USER_ACCESS_GET_LOCALE, r);
96 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_LOC_COM", SAMR_USER_ACCESS_SET_LOC_COM, r);
97 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_LOGONINFO", SAMR_USER_ACCESS_GET_LOGONINFO, r);
98 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_ATTRIBUTES", SAMR_USER_ACCESS_GET_ATTRIBUTES, r);
99 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_ATTRIBUTES", SAMR_USER_ACCESS_SET_ATTRIBUTES, r);
100 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_PASSWORD", SAMR_USER_ACCESS_CHANGE_PASSWORD, r);
101 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_SET_PASSWORD", SAMR_USER_ACCESS_SET_PASSWORD, r);
102 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUPS", SAMR_USER_ACCESS_GET_GROUPS, r);
103 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP, r);
104 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP, r);
105 ndr->depth--;
108 static enum ndr_err_code ndr_push_samr_DomainAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
110 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
111 return NDR_ERR_SUCCESS;
114 static enum ndr_err_code ndr_pull_samr_DomainAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
116 uint32_t v;
117 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
118 *r = v;
119 return NDR_ERR_SUCCESS;
122 _PUBLIC_ void ndr_print_samr_DomainAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
124 ndr_print_uint32(ndr, name, r);
125 ndr->depth++;
126 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1, r);
127 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_1", SAMR_DOMAIN_ACCESS_SET_INFO_1, r);
128 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2, r);
129 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_2", SAMR_DOMAIN_ACCESS_SET_INFO_2, r);
130 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_USER", SAMR_DOMAIN_ACCESS_CREATE_USER, r);
131 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_GROUP", SAMR_DOMAIN_ACCESS_CREATE_GROUP, r);
132 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_CREATE_ALIAS", SAMR_DOMAIN_ACCESS_CREATE_ALIAS, r);
133 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS, r);
134 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS, r);
135 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT, r);
136 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_DOMAIN_ACCESS_SET_INFO_3", SAMR_DOMAIN_ACCESS_SET_INFO_3, r);
137 ndr->depth--;
140 static enum ndr_err_code ndr_push_samr_GroupAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
142 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
143 return NDR_ERR_SUCCESS;
146 static enum ndr_err_code ndr_pull_samr_GroupAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
148 uint32_t v;
149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
150 *r = v;
151 return NDR_ERR_SUCCESS;
154 _PUBLIC_ void ndr_print_samr_GroupAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
156 ndr_print_uint32(ndr, name, r);
157 ndr->depth++;
158 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_LOOKUP_INFO", SAMR_GROUP_ACCESS_LOOKUP_INFO, r);
159 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_SET_INFO", SAMR_GROUP_ACCESS_SET_INFO, r);
160 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_ADD_MEMBER", SAMR_GROUP_ACCESS_ADD_MEMBER, r);
161 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_REMOVE_MEMBER", SAMR_GROUP_ACCESS_REMOVE_MEMBER, r);
162 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_GROUP_ACCESS_GET_MEMBERS", SAMR_GROUP_ACCESS_GET_MEMBERS, r);
163 ndr->depth--;
166 static enum ndr_err_code ndr_push_samr_AliasAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
169 return NDR_ERR_SUCCESS;
172 static enum ndr_err_code ndr_pull_samr_AliasAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
174 uint32_t v;
175 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
176 *r = v;
177 return NDR_ERR_SUCCESS;
180 _PUBLIC_ void ndr_print_samr_AliasAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
182 ndr_print_uint32(ndr, name, r);
183 ndr->depth++;
184 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_ADD_MEMBER", SAMR_ALIAS_ACCESS_ADD_MEMBER, r);
185 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_REMOVE_MEMBER", SAMR_ALIAS_ACCESS_REMOVE_MEMBER, r);
186 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_GET_MEMBERS", SAMR_ALIAS_ACCESS_GET_MEMBERS, r);
187 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_LOOKUP_INFO", SAMR_ALIAS_ACCESS_LOOKUP_INFO, r);
188 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_ALIAS_ACCESS_SET_INFO", SAMR_ALIAS_ACCESS_SET_INFO, r);
189 ndr->depth--;
192 static enum ndr_err_code ndr_push_samr_SamEntry(struct ndr_push *ndr, int ndr_flags, const struct samr_SamEntry *r)
194 if (ndr_flags & NDR_SCALARS) {
195 NDR_CHECK(ndr_push_align(ndr, 4));
196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
197 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
199 if (ndr_flags & NDR_BUFFERS) {
200 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
202 return NDR_ERR_SUCCESS;
205 static enum ndr_err_code ndr_pull_samr_SamEntry(struct ndr_pull *ndr, int ndr_flags, struct samr_SamEntry *r)
207 if (ndr_flags & NDR_SCALARS) {
208 NDR_CHECK(ndr_pull_align(ndr, 4));
209 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
210 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
212 if (ndr_flags & NDR_BUFFERS) {
213 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
215 return NDR_ERR_SUCCESS;
218 _PUBLIC_ void ndr_print_samr_SamEntry(struct ndr_print *ndr, const char *name, const struct samr_SamEntry *r)
220 ndr_print_struct(ndr, name, "samr_SamEntry");
221 ndr->depth++;
222 ndr_print_uint32(ndr, "idx", r->idx);
223 ndr_print_lsa_String(ndr, "name", &r->name);
224 ndr->depth--;
227 static enum ndr_err_code ndr_push_samr_SamArray(struct ndr_push *ndr, int ndr_flags, const struct samr_SamArray *r)
229 uint32_t cntr_entries_1;
230 if (ndr_flags & NDR_SCALARS) {
231 NDR_CHECK(ndr_push_align(ndr, 4));
232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
233 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
235 if (ndr_flags & NDR_BUFFERS) {
236 if (r->entries) {
237 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
238 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
239 NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
241 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
242 NDR_CHECK(ndr_push_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
246 return NDR_ERR_SUCCESS;
249 static enum ndr_err_code ndr_pull_samr_SamArray(struct ndr_pull *ndr, int ndr_flags, struct samr_SamArray *r)
251 uint32_t _ptr_entries;
252 uint32_t cntr_entries_1;
253 TALLOC_CTX *_mem_save_entries_0;
254 TALLOC_CTX *_mem_save_entries_1;
255 if (ndr_flags & NDR_SCALARS) {
256 NDR_CHECK(ndr_pull_align(ndr, 4));
257 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
258 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
259 if (_ptr_entries) {
260 NDR_PULL_ALLOC(ndr, r->entries);
261 } else {
262 r->entries = NULL;
265 if (ndr_flags & NDR_BUFFERS) {
266 if (r->entries) {
267 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
268 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
269 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
270 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
271 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
272 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
273 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
274 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
276 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
277 NDR_CHECK(ndr_pull_samr_SamEntry(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
282 if (r->entries) {
283 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
286 return NDR_ERR_SUCCESS;
289 _PUBLIC_ void ndr_print_samr_SamArray(struct ndr_print *ndr, const char *name, const struct samr_SamArray *r)
291 uint32_t cntr_entries_1;
292 ndr_print_struct(ndr, name, "samr_SamArray");
293 ndr->depth++;
294 ndr_print_uint32(ndr, "count", r->count);
295 ndr_print_ptr(ndr, "entries", r->entries);
296 ndr->depth++;
297 if (r->entries) {
298 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
299 ndr->depth++;
300 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
301 char *idx_1=NULL;
302 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
303 ndr_print_samr_SamEntry(ndr, "entries", &r->entries[cntr_entries_1]);
304 free(idx_1);
307 ndr->depth--;
309 ndr->depth--;
310 ndr->depth--;
313 static enum ndr_err_code ndr_push_samr_Role(struct ndr_push *ndr, int ndr_flags, enum samr_Role r)
315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
316 return NDR_ERR_SUCCESS;
319 static enum ndr_err_code ndr_pull_samr_Role(struct ndr_pull *ndr, int ndr_flags, enum samr_Role *r)
321 uint32_t v;
322 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
323 *r = v;
324 return NDR_ERR_SUCCESS;
327 _PUBLIC_ void ndr_print_samr_Role(struct ndr_print *ndr, const char *name, enum samr_Role r)
329 const char *val = NULL;
331 switch (r) {
332 case SAMR_ROLE_STANDALONE: val = "SAMR_ROLE_STANDALONE"; break;
333 case SAMR_ROLE_DOMAIN_MEMBER: val = "SAMR_ROLE_DOMAIN_MEMBER"; break;
334 case SAMR_ROLE_DOMAIN_BDC: val = "SAMR_ROLE_DOMAIN_BDC"; break;
335 case SAMR_ROLE_DOMAIN_PDC: val = "SAMR_ROLE_DOMAIN_PDC"; break;
337 ndr_print_enum(ndr, name, "ENUM", val, r);
340 _PUBLIC_ enum ndr_err_code ndr_push_samr_PasswordProperties(struct ndr_push *ndr, int ndr_flags, uint32_t r)
342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
343 return NDR_ERR_SUCCESS;
346 _PUBLIC_ enum ndr_err_code ndr_pull_samr_PasswordProperties(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
348 uint32_t v;
349 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
350 *r = v;
351 return NDR_ERR_SUCCESS;
354 _PUBLIC_ void ndr_print_samr_PasswordProperties(struct ndr_print *ndr, const char *name, uint32_t r)
356 ndr_print_uint32(ndr, name, r);
357 ndr->depth++;
358 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_COMPLEX", DOMAIN_PASSWORD_COMPLEX, r);
359 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_ANON_CHANGE", DOMAIN_PASSWORD_NO_ANON_CHANGE, r);
360 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_NO_CLEAR_CHANGE", DOMAIN_PASSWORD_NO_CLEAR_CHANGE, r);
361 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_LOCKOUT_ADMINS", DOMAIN_PASSWORD_LOCKOUT_ADMINS, r);
362 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_PASSWORD_STORE_CLEARTEXT", DOMAIN_PASSWORD_STORE_CLEARTEXT, r);
363 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DOMAIN_REFUSE_PASSWORD_CHANGE", DOMAIN_REFUSE_PASSWORD_CHANGE, r);
364 ndr->depth--;
367 static enum ndr_err_code ndr_push_samr_DomInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo1 *r)
369 if (ndr_flags & NDR_SCALARS) {
370 NDR_CHECK(ndr_push_align(ndr, 4));
371 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
372 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->password_history_length));
373 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
374 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->max_password_age));
375 NDR_CHECK(ndr_push_dlong(ndr, NDR_SCALARS, r->min_password_age));
377 if (ndr_flags & NDR_BUFFERS) {
379 return NDR_ERR_SUCCESS;
382 static enum ndr_err_code ndr_pull_samr_DomInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo1 *r)
384 if (ndr_flags & NDR_SCALARS) {
385 NDR_CHECK(ndr_pull_align(ndr, 4));
386 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
387 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->password_history_length));
388 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
389 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->max_password_age));
390 NDR_CHECK(ndr_pull_dlong(ndr, NDR_SCALARS, &r->min_password_age));
392 if (ndr_flags & NDR_BUFFERS) {
394 return NDR_ERR_SUCCESS;
397 _PUBLIC_ void ndr_print_samr_DomInfo1(struct ndr_print *ndr, const char *name, const struct samr_DomInfo1 *r)
399 ndr_print_struct(ndr, name, "samr_DomInfo1");
400 ndr->depth++;
401 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
402 ndr_print_uint16(ndr, "password_history_length", r->password_history_length);
403 ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
404 ndr_print_dlong(ndr, "max_password_age", r->max_password_age);
405 ndr_print_dlong(ndr, "min_password_age", r->min_password_age);
406 ndr->depth--;
409 static enum ndr_err_code ndr_push_samr_DomInfo2(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo2 *r)
411 if (ndr_flags & NDR_SCALARS) {
412 NDR_CHECK(ndr_push_align(ndr, 4));
413 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
414 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
415 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
416 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
417 NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->sequence_num));
418 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
419 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
420 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown3));
421 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_users));
422 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_groups));
423 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_aliases));
425 if (ndr_flags & NDR_BUFFERS) {
426 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
427 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
428 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
430 return NDR_ERR_SUCCESS;
433 static enum ndr_err_code ndr_pull_samr_DomInfo2(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo2 *r)
435 if (ndr_flags & NDR_SCALARS) {
436 NDR_CHECK(ndr_pull_align(ndr, 4));
437 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
438 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
439 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
440 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
441 NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->sequence_num));
442 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
443 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
444 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown3));
445 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_users));
446 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_groups));
447 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aliases));
449 if (ndr_flags & NDR_BUFFERS) {
450 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
451 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
452 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
454 return NDR_ERR_SUCCESS;
457 _PUBLIC_ void ndr_print_samr_DomInfo2(struct ndr_print *ndr, const char *name, const struct samr_DomInfo2 *r)
459 ndr_print_struct(ndr, name, "samr_DomInfo2");
460 ndr->depth++;
461 ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
462 ndr_print_lsa_String(ndr, "comment", &r->comment);
463 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
464 ndr_print_lsa_String(ndr, "primary", &r->primary);
465 ndr_print_udlong(ndr, "sequence_num", r->sequence_num);
466 ndr_print_uint32(ndr, "unknown2", r->unknown2);
467 ndr_print_samr_Role(ndr, "role", r->role);
468 ndr_print_uint32(ndr, "unknown3", r->unknown3);
469 ndr_print_uint32(ndr, "num_users", r->num_users);
470 ndr_print_uint32(ndr, "num_groups", r->num_groups);
471 ndr_print_uint32(ndr, "num_aliases", r->num_aliases);
472 ndr->depth--;
475 static enum ndr_err_code ndr_push_samr_DomInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo3 *r)
477 if (ndr_flags & NDR_SCALARS) {
478 NDR_CHECK(ndr_push_align(ndr, 4));
479 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_logoff_time));
481 if (ndr_flags & NDR_BUFFERS) {
483 return NDR_ERR_SUCCESS;
486 static enum ndr_err_code ndr_pull_samr_DomInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo3 *r)
488 if (ndr_flags & NDR_SCALARS) {
489 NDR_CHECK(ndr_pull_align(ndr, 4));
490 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_logoff_time));
492 if (ndr_flags & NDR_BUFFERS) {
494 return NDR_ERR_SUCCESS;
497 _PUBLIC_ void ndr_print_samr_DomInfo3(struct ndr_print *ndr, const char *name, const struct samr_DomInfo3 *r)
499 ndr_print_struct(ndr, name, "samr_DomInfo3");
500 ndr->depth++;
501 ndr_print_NTTIME(ndr, "force_logoff_time", r->force_logoff_time);
502 ndr->depth--;
505 static enum ndr_err_code ndr_push_samr_DomInfo4(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo4 *r)
507 if (ndr_flags & NDR_SCALARS) {
508 NDR_CHECK(ndr_push_align(ndr, 4));
509 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
511 if (ndr_flags & NDR_BUFFERS) {
512 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
514 return NDR_ERR_SUCCESS;
517 static enum ndr_err_code ndr_pull_samr_DomInfo4(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo4 *r)
519 if (ndr_flags & NDR_SCALARS) {
520 NDR_CHECK(ndr_pull_align(ndr, 4));
521 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
523 if (ndr_flags & NDR_BUFFERS) {
524 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
526 return NDR_ERR_SUCCESS;
529 _PUBLIC_ void ndr_print_samr_DomInfo4(struct ndr_print *ndr, const char *name, const struct samr_DomInfo4 *r)
531 ndr_print_struct(ndr, name, "samr_DomInfo4");
532 ndr->depth++;
533 ndr_print_lsa_String(ndr, "comment", &r->comment);
534 ndr->depth--;
537 static enum ndr_err_code ndr_push_samr_DomInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo5 *r)
539 if (ndr_flags & NDR_SCALARS) {
540 NDR_CHECK(ndr_push_align(ndr, 4));
541 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
543 if (ndr_flags & NDR_BUFFERS) {
544 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
546 return NDR_ERR_SUCCESS;
549 static enum ndr_err_code ndr_pull_samr_DomInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo5 *r)
551 if (ndr_flags & NDR_SCALARS) {
552 NDR_CHECK(ndr_pull_align(ndr, 4));
553 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->domain_name));
555 if (ndr_flags & NDR_BUFFERS) {
556 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->domain_name));
558 return NDR_ERR_SUCCESS;
561 _PUBLIC_ void ndr_print_samr_DomInfo5(struct ndr_print *ndr, const char *name, const struct samr_DomInfo5 *r)
563 ndr_print_struct(ndr, name, "samr_DomInfo5");
564 ndr->depth++;
565 ndr_print_lsa_String(ndr, "domain_name", &r->domain_name);
566 ndr->depth--;
569 static enum ndr_err_code ndr_push_samr_DomInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo6 *r)
571 if (ndr_flags & NDR_SCALARS) {
572 NDR_CHECK(ndr_push_align(ndr, 4));
573 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->primary));
575 if (ndr_flags & NDR_BUFFERS) {
576 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->primary));
578 return NDR_ERR_SUCCESS;
581 static enum ndr_err_code ndr_pull_samr_DomInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo6 *r)
583 if (ndr_flags & NDR_SCALARS) {
584 NDR_CHECK(ndr_pull_align(ndr, 4));
585 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->primary));
587 if (ndr_flags & NDR_BUFFERS) {
588 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->primary));
590 return NDR_ERR_SUCCESS;
593 _PUBLIC_ void ndr_print_samr_DomInfo6(struct ndr_print *ndr, const char *name, const struct samr_DomInfo6 *r)
595 ndr_print_struct(ndr, name, "samr_DomInfo6");
596 ndr->depth++;
597 ndr_print_lsa_String(ndr, "primary", &r->primary);
598 ndr->depth--;
601 static enum ndr_err_code ndr_push_samr_DomInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo7 *r)
603 if (ndr_flags & NDR_SCALARS) {
604 NDR_CHECK(ndr_push_align(ndr, 4));
605 NDR_CHECK(ndr_push_samr_Role(ndr, NDR_SCALARS, r->role));
607 if (ndr_flags & NDR_BUFFERS) {
609 return NDR_ERR_SUCCESS;
612 static enum ndr_err_code ndr_pull_samr_DomInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo7 *r)
614 if (ndr_flags & NDR_SCALARS) {
615 NDR_CHECK(ndr_pull_align(ndr, 4));
616 NDR_CHECK(ndr_pull_samr_Role(ndr, NDR_SCALARS, &r->role));
618 if (ndr_flags & NDR_BUFFERS) {
620 return NDR_ERR_SUCCESS;
623 _PUBLIC_ void ndr_print_samr_DomInfo7(struct ndr_print *ndr, const char *name, const struct samr_DomInfo7 *r)
625 ndr_print_struct(ndr, name, "samr_DomInfo7");
626 ndr->depth++;
627 ndr_print_samr_Role(ndr, "role", r->role);
628 ndr->depth--;
631 static enum ndr_err_code ndr_push_samr_DomInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo8 *r)
633 if (ndr_flags & NDR_SCALARS) {
634 NDR_CHECK(ndr_push_align(ndr, 8));
635 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
636 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
638 if (ndr_flags & NDR_BUFFERS) {
640 return NDR_ERR_SUCCESS;
643 static enum ndr_err_code ndr_pull_samr_DomInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo8 *r)
645 if (ndr_flags & NDR_SCALARS) {
646 NDR_CHECK(ndr_pull_align(ndr, 8));
647 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
648 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
650 if (ndr_flags & NDR_BUFFERS) {
652 return NDR_ERR_SUCCESS;
655 _PUBLIC_ void ndr_print_samr_DomInfo8(struct ndr_print *ndr, const char *name, const struct samr_DomInfo8 *r)
657 ndr_print_struct(ndr, name, "samr_DomInfo8");
658 ndr->depth++;
659 ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
660 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
661 ndr->depth--;
664 static enum ndr_err_code ndr_push_samr_DomInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo9 *r)
666 if (ndr_flags & NDR_SCALARS) {
667 NDR_CHECK(ndr_push_align(ndr, 4));
668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
670 if (ndr_flags & NDR_BUFFERS) {
672 return NDR_ERR_SUCCESS;
675 static enum ndr_err_code ndr_pull_samr_DomInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo9 *r)
677 if (ndr_flags & NDR_SCALARS) {
678 NDR_CHECK(ndr_pull_align(ndr, 4));
679 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
681 if (ndr_flags & NDR_BUFFERS) {
683 return NDR_ERR_SUCCESS;
686 _PUBLIC_ void ndr_print_samr_DomInfo9(struct ndr_print *ndr, const char *name, const struct samr_DomInfo9 *r)
688 ndr_print_struct(ndr, name, "samr_DomInfo9");
689 ndr->depth++;
690 ndr_print_uint32(ndr, "unknown", r->unknown);
691 ndr->depth--;
694 static enum ndr_err_code ndr_push_samr_DomInfo11(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo11 *r)
696 if (ndr_flags & NDR_SCALARS) {
697 NDR_CHECK(ndr_push_align(ndr, 8));
698 NDR_CHECK(ndr_push_samr_DomInfo2(ndr, NDR_SCALARS, &r->info2));
699 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
700 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
701 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
703 if (ndr_flags & NDR_BUFFERS) {
704 NDR_CHECK(ndr_push_samr_DomInfo2(ndr, NDR_BUFFERS, &r->info2));
706 return NDR_ERR_SUCCESS;
709 static enum ndr_err_code ndr_pull_samr_DomInfo11(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo11 *r)
711 if (ndr_flags & NDR_SCALARS) {
712 NDR_CHECK(ndr_pull_align(ndr, 8));
713 NDR_CHECK(ndr_pull_samr_DomInfo2(ndr, NDR_SCALARS, &r->info2));
714 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
715 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
716 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
718 if (ndr_flags & NDR_BUFFERS) {
719 NDR_CHECK(ndr_pull_samr_DomInfo2(ndr, NDR_BUFFERS, &r->info2));
721 return NDR_ERR_SUCCESS;
724 _PUBLIC_ void ndr_print_samr_DomInfo11(struct ndr_print *ndr, const char *name, const struct samr_DomInfo11 *r)
726 ndr_print_struct(ndr, name, "samr_DomInfo11");
727 ndr->depth++;
728 ndr_print_samr_DomInfo2(ndr, "info2", &r->info2);
729 ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
730 ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
731 ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
732 ndr->depth--;
735 static enum ndr_err_code ndr_push_samr_DomInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo12 *r)
737 if (ndr_flags & NDR_SCALARS) {
738 NDR_CHECK(ndr_push_align(ndr, 8));
739 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_duration));
740 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->lockout_window));
741 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lockout_threshold));
743 if (ndr_flags & NDR_BUFFERS) {
745 return NDR_ERR_SUCCESS;
748 static enum ndr_err_code ndr_pull_samr_DomInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo12 *r)
750 if (ndr_flags & NDR_SCALARS) {
751 NDR_CHECK(ndr_pull_align(ndr, 8));
752 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_duration));
753 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->lockout_window));
754 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lockout_threshold));
756 if (ndr_flags & NDR_BUFFERS) {
758 return NDR_ERR_SUCCESS;
761 _PUBLIC_ void ndr_print_samr_DomInfo12(struct ndr_print *ndr, const char *name, const struct samr_DomInfo12 *r)
763 ndr_print_struct(ndr, name, "samr_DomInfo12");
764 ndr->depth++;
765 ndr_print_hyper(ndr, "lockout_duration", r->lockout_duration);
766 ndr_print_hyper(ndr, "lockout_window", r->lockout_window);
767 ndr_print_uint16(ndr, "lockout_threshold", r->lockout_threshold);
768 ndr->depth--;
771 static enum ndr_err_code ndr_push_samr_DomInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_DomInfo13 *r)
773 if (ndr_flags & NDR_SCALARS) {
774 NDR_CHECK(ndr_push_align(ndr, 8));
775 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->sequence_num));
776 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->domain_create_time));
777 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_count_at_last_promotion));
779 if (ndr_flags & NDR_BUFFERS) {
781 return NDR_ERR_SUCCESS;
784 static enum ndr_err_code ndr_pull_samr_DomInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_DomInfo13 *r)
786 if (ndr_flags & NDR_SCALARS) {
787 NDR_CHECK(ndr_pull_align(ndr, 8));
788 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->sequence_num));
789 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->domain_create_time));
790 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_count_at_last_promotion));
792 if (ndr_flags & NDR_BUFFERS) {
794 return NDR_ERR_SUCCESS;
797 _PUBLIC_ void ndr_print_samr_DomInfo13(struct ndr_print *ndr, const char *name, const struct samr_DomInfo13 *r)
799 ndr_print_struct(ndr, name, "samr_DomInfo13");
800 ndr->depth++;
801 ndr_print_hyper(ndr, "sequence_num", r->sequence_num);
802 ndr_print_NTTIME(ndr, "domain_create_time", r->domain_create_time);
803 ndr_print_hyper(ndr, "modified_count_at_last_promotion", r->modified_count_at_last_promotion);
804 ndr->depth--;
807 static enum ndr_err_code ndr_push_samr_DomainInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DomainInfo *r)
809 if (ndr_flags & NDR_SCALARS) {
810 int level = ndr_push_get_switch_value(ndr, r);
811 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
812 switch (level) {
813 case 1: {
814 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
815 break; }
817 case 2: {
818 NDR_CHECK(ndr_push_samr_DomInfo2(ndr, NDR_SCALARS, &r->info2));
819 break; }
821 case 3: {
822 NDR_CHECK(ndr_push_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
823 break; }
825 case 4: {
826 NDR_CHECK(ndr_push_samr_DomInfo4(ndr, NDR_SCALARS, &r->info4));
827 break; }
829 case 5: {
830 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
831 break; }
833 case 6: {
834 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
835 break; }
837 case 7: {
838 NDR_CHECK(ndr_push_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
839 break; }
841 case 8: {
842 NDR_CHECK(ndr_push_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
843 break; }
845 case 9: {
846 NDR_CHECK(ndr_push_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
847 break; }
849 case 11: {
850 NDR_CHECK(ndr_push_samr_DomInfo11(ndr, NDR_SCALARS, &r->info11));
851 break; }
853 case 12: {
854 NDR_CHECK(ndr_push_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
855 break; }
857 case 13: {
858 NDR_CHECK(ndr_push_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
859 break; }
861 default:
862 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
865 if (ndr_flags & NDR_BUFFERS) {
866 int level = ndr_push_get_switch_value(ndr, r);
867 switch (level) {
868 case 1:
869 break;
871 case 2:
872 NDR_CHECK(ndr_push_samr_DomInfo2(ndr, NDR_BUFFERS, &r->info2));
873 break;
875 case 3:
876 break;
878 case 4:
879 NDR_CHECK(ndr_push_samr_DomInfo4(ndr, NDR_BUFFERS, &r->info4));
880 break;
882 case 5:
883 NDR_CHECK(ndr_push_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
884 break;
886 case 6:
887 NDR_CHECK(ndr_push_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
888 break;
890 case 7:
891 break;
893 case 8:
894 break;
896 case 9:
897 break;
899 case 11:
900 NDR_CHECK(ndr_push_samr_DomInfo11(ndr, NDR_BUFFERS, &r->info11));
901 break;
903 case 12:
904 break;
906 case 13:
907 break;
909 default:
910 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
913 return NDR_ERR_SUCCESS;
916 static enum ndr_err_code ndr_pull_samr_DomainInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DomainInfo *r)
918 int level;
919 uint16_t _level;
920 level = ndr_pull_get_switch_value(ndr, r);
921 if (ndr_flags & NDR_SCALARS) {
922 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
923 if (_level != level) {
924 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
926 switch (level) {
927 case 1: {
928 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, &r->info1));
929 break; }
931 case 2: {
932 NDR_CHECK(ndr_pull_samr_DomInfo2(ndr, NDR_SCALARS, &r->info2));
933 break; }
935 case 3: {
936 NDR_CHECK(ndr_pull_samr_DomInfo3(ndr, NDR_SCALARS, &r->info3));
937 break; }
939 case 4: {
940 NDR_CHECK(ndr_pull_samr_DomInfo4(ndr, NDR_SCALARS, &r->info4));
941 break; }
943 case 5: {
944 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_SCALARS, &r->info5));
945 break; }
947 case 6: {
948 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_SCALARS, &r->info6));
949 break; }
951 case 7: {
952 NDR_CHECK(ndr_pull_samr_DomInfo7(ndr, NDR_SCALARS, &r->info7));
953 break; }
955 case 8: {
956 NDR_CHECK(ndr_pull_samr_DomInfo8(ndr, NDR_SCALARS, &r->info8));
957 break; }
959 case 9: {
960 NDR_CHECK(ndr_pull_samr_DomInfo9(ndr, NDR_SCALARS, &r->info9));
961 break; }
963 case 11: {
964 NDR_CHECK(ndr_pull_samr_DomInfo11(ndr, NDR_SCALARS, &r->info11));
965 break; }
967 case 12: {
968 NDR_CHECK(ndr_pull_samr_DomInfo12(ndr, NDR_SCALARS, &r->info12));
969 break; }
971 case 13: {
972 NDR_CHECK(ndr_pull_samr_DomInfo13(ndr, NDR_SCALARS, &r->info13));
973 break; }
975 default:
976 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
979 if (ndr_flags & NDR_BUFFERS) {
980 switch (level) {
981 case 1:
982 break;
984 case 2:
985 NDR_CHECK(ndr_pull_samr_DomInfo2(ndr, NDR_BUFFERS, &r->info2));
986 break;
988 case 3:
989 break;
991 case 4:
992 NDR_CHECK(ndr_pull_samr_DomInfo4(ndr, NDR_BUFFERS, &r->info4));
993 break;
995 case 5:
996 NDR_CHECK(ndr_pull_samr_DomInfo5(ndr, NDR_BUFFERS, &r->info5));
997 break;
999 case 6:
1000 NDR_CHECK(ndr_pull_samr_DomInfo6(ndr, NDR_BUFFERS, &r->info6));
1001 break;
1003 case 7:
1004 break;
1006 case 8:
1007 break;
1009 case 9:
1010 break;
1012 case 11:
1013 NDR_CHECK(ndr_pull_samr_DomInfo11(ndr, NDR_BUFFERS, &r->info11));
1014 break;
1016 case 12:
1017 break;
1019 case 13:
1020 break;
1022 default:
1023 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1026 return NDR_ERR_SUCCESS;
1029 _PUBLIC_ void ndr_print_samr_DomainInfo(struct ndr_print *ndr, const char *name, const union samr_DomainInfo *r)
1031 int level;
1032 level = ndr_print_get_switch_value(ndr, r);
1033 ndr_print_union(ndr, name, level, "samr_DomainInfo");
1034 switch (level) {
1035 case 1:
1036 ndr_print_samr_DomInfo1(ndr, "info1", &r->info1);
1037 break;
1039 case 2:
1040 ndr_print_samr_DomInfo2(ndr, "info2", &r->info2);
1041 break;
1043 case 3:
1044 ndr_print_samr_DomInfo3(ndr, "info3", &r->info3);
1045 break;
1047 case 4:
1048 ndr_print_samr_DomInfo4(ndr, "info4", &r->info4);
1049 break;
1051 case 5:
1052 ndr_print_samr_DomInfo5(ndr, "info5", &r->info5);
1053 break;
1055 case 6:
1056 ndr_print_samr_DomInfo6(ndr, "info6", &r->info6);
1057 break;
1059 case 7:
1060 ndr_print_samr_DomInfo7(ndr, "info7", &r->info7);
1061 break;
1063 case 8:
1064 ndr_print_samr_DomInfo8(ndr, "info8", &r->info8);
1065 break;
1067 case 9:
1068 ndr_print_samr_DomInfo9(ndr, "info9", &r->info9);
1069 break;
1071 case 11:
1072 ndr_print_samr_DomInfo11(ndr, "info11", &r->info11);
1073 break;
1075 case 12:
1076 ndr_print_samr_DomInfo12(ndr, "info12", &r->info12);
1077 break;
1079 case 13:
1080 ndr_print_samr_DomInfo13(ndr, "info13", &r->info13);
1081 break;
1083 default:
1084 ndr_print_bad_level(ndr, name, level);
1088 static enum ndr_err_code ndr_push_samr_Ids(struct ndr_push *ndr, int ndr_flags, const struct samr_Ids *r)
1090 uint32_t cntr_ids_1;
1091 if (ndr_flags & NDR_SCALARS) {
1092 NDR_CHECK(ndr_push_align(ndr, 4));
1093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1094 NDR_CHECK(ndr_push_unique_ptr(ndr, r->ids));
1096 if (ndr_flags & NDR_BUFFERS) {
1097 if (r->ids) {
1098 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1099 for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
1100 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ids[cntr_ids_1]));
1104 return NDR_ERR_SUCCESS;
1107 static enum ndr_err_code ndr_pull_samr_Ids(struct ndr_pull *ndr, int ndr_flags, struct samr_Ids *r)
1109 uint32_t _ptr_ids;
1110 uint32_t cntr_ids_1;
1111 TALLOC_CTX *_mem_save_ids_0;
1112 TALLOC_CTX *_mem_save_ids_1;
1113 if (ndr_flags & NDR_SCALARS) {
1114 NDR_CHECK(ndr_pull_align(ndr, 4));
1115 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1116 if (r->count < 0 || r->count > 1024) {
1117 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1119 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_ids));
1120 if (_ptr_ids) {
1121 NDR_PULL_ALLOC(ndr, r->ids);
1122 } else {
1123 r->ids = NULL;
1126 if (ndr_flags & NDR_BUFFERS) {
1127 if (r->ids) {
1128 _mem_save_ids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1129 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1130 NDR_CHECK(ndr_pull_array_size(ndr, &r->ids));
1131 NDR_PULL_ALLOC_N(ndr, r->ids, ndr_get_array_size(ndr, &r->ids));
1132 _mem_save_ids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1133 NDR_PULL_SET_MEM_CTX(ndr, r->ids, 0);
1134 for (cntr_ids_1 = 0; cntr_ids_1 < r->count; cntr_ids_1++) {
1135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ids[cntr_ids_1]));
1137 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_1, 0);
1138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ids_0, 0);
1140 if (r->ids) {
1141 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->ids, r->count));
1144 return NDR_ERR_SUCCESS;
1147 _PUBLIC_ void ndr_print_samr_Ids(struct ndr_print *ndr, const char *name, const struct samr_Ids *r)
1149 uint32_t cntr_ids_1;
1150 ndr_print_struct(ndr, name, "samr_Ids");
1151 ndr->depth++;
1152 ndr_print_uint32(ndr, "count", r->count);
1153 ndr_print_ptr(ndr, "ids", r->ids);
1154 ndr->depth++;
1155 if (r->ids) {
1156 ndr->print(ndr, "%s: ARRAY(%d)", "ids", (int)r->count);
1157 ndr->depth++;
1158 for (cntr_ids_1=0;cntr_ids_1<r->count;cntr_ids_1++) {
1159 char *idx_1=NULL;
1160 if (asprintf(&idx_1, "[%d]", cntr_ids_1) != -1) {
1161 ndr_print_uint32(ndr, "ids", r->ids[cntr_ids_1]);
1162 free(idx_1);
1165 ndr->depth--;
1167 ndr->depth--;
1168 ndr->depth--;
1171 _PUBLIC_ enum ndr_err_code ndr_push_samr_GroupAttrs(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1174 return NDR_ERR_SUCCESS;
1177 _PUBLIC_ enum ndr_err_code ndr_pull_samr_GroupAttrs(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1179 uint32_t v;
1180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1181 *r = v;
1182 return NDR_ERR_SUCCESS;
1185 _PUBLIC_ void ndr_print_samr_GroupAttrs(struct ndr_print *ndr, const char *name, uint32_t r)
1187 ndr_print_uint32(ndr, name, r);
1188 ndr->depth++;
1189 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_MANDATORY", SE_GROUP_MANDATORY, r);
1190 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED_BY_DEFAULT", SE_GROUP_ENABLED_BY_DEFAULT, r);
1191 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_ENABLED", SE_GROUP_ENABLED, r);
1192 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_OWNER", SE_GROUP_OWNER, r);
1193 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_USE_FOR_DENY_ONLY", SE_GROUP_USE_FOR_DENY_ONLY, r);
1194 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_RESOURCE", SE_GROUP_RESOURCE, r);
1195 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SE_GROUP_LOGON_ID", SE_GROUP_LOGON_ID, r);
1196 ndr->depth--;
1199 static enum ndr_err_code ndr_push_samr_GroupInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAll *r)
1201 if (ndr_flags & NDR_SCALARS) {
1202 NDR_CHECK(ndr_push_align(ndr, 4));
1203 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1204 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1205 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1206 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1208 if (ndr_flags & NDR_BUFFERS) {
1209 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1210 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1212 return NDR_ERR_SUCCESS;
1215 static enum ndr_err_code ndr_pull_samr_GroupInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAll *r)
1217 if (ndr_flags & NDR_SCALARS) {
1218 NDR_CHECK(ndr_pull_align(ndr, 4));
1219 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1220 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1221 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1222 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1224 if (ndr_flags & NDR_BUFFERS) {
1225 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1226 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1228 return NDR_ERR_SUCCESS;
1231 _PUBLIC_ void ndr_print_samr_GroupInfoAll(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAll *r)
1233 ndr_print_struct(ndr, name, "samr_GroupInfoAll");
1234 ndr->depth++;
1235 ndr_print_lsa_String(ndr, "name", &r->name);
1236 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1237 ndr_print_uint32(ndr, "num_members", r->num_members);
1238 ndr_print_lsa_String(ndr, "description", &r->description);
1239 ndr->depth--;
1242 static enum ndr_err_code ndr_push_samr_GroupInfoAttributes(struct ndr_push *ndr, int ndr_flags, const struct samr_GroupInfoAttributes *r)
1244 if (ndr_flags & NDR_SCALARS) {
1245 NDR_CHECK(ndr_push_align(ndr, 4));
1246 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
1248 if (ndr_flags & NDR_BUFFERS) {
1250 return NDR_ERR_SUCCESS;
1253 static enum ndr_err_code ndr_pull_samr_GroupInfoAttributes(struct ndr_pull *ndr, int ndr_flags, struct samr_GroupInfoAttributes *r)
1255 if (ndr_flags & NDR_SCALARS) {
1256 NDR_CHECK(ndr_pull_align(ndr, 4));
1257 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
1259 if (ndr_flags & NDR_BUFFERS) {
1261 return NDR_ERR_SUCCESS;
1264 _PUBLIC_ void ndr_print_samr_GroupInfoAttributes(struct ndr_print *ndr, const char *name, const struct samr_GroupInfoAttributes *r)
1266 ndr_print_struct(ndr, name, "samr_GroupInfoAttributes");
1267 ndr->depth++;
1268 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
1269 ndr->depth--;
1272 static enum ndr_err_code ndr_push_samr_GroupInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_GroupInfoEnum r)
1274 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1275 return NDR_ERR_SUCCESS;
1278 static enum ndr_err_code ndr_pull_samr_GroupInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_GroupInfoEnum *r)
1280 uint16_t v;
1281 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1282 *r = v;
1283 return NDR_ERR_SUCCESS;
1286 _PUBLIC_ void ndr_print_samr_GroupInfoEnum(struct ndr_print *ndr, const char *name, enum samr_GroupInfoEnum r)
1288 const char *val = NULL;
1290 switch (r) {
1291 case GROUPINFOALL: val = "GROUPINFOALL"; break;
1292 case GROUPINFONAME: val = "GROUPINFONAME"; break;
1293 case GROUPINFOATTRIBUTES: val = "GROUPINFOATTRIBUTES"; break;
1294 case GROUPINFODESCRIPTION: val = "GROUPINFODESCRIPTION"; break;
1295 case GROUPINFOALL2: val = "GROUPINFOALL2"; break;
1297 ndr_print_enum(ndr, name, "ENUM", val, r);
1300 static enum ndr_err_code ndr_push_samr_GroupInfo(struct ndr_push *ndr, int ndr_flags, const union samr_GroupInfo *r)
1302 if (ndr_flags & NDR_SCALARS) {
1303 int level = ndr_push_get_switch_value(ndr, r);
1304 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, level));
1305 switch (level) {
1306 case GROUPINFOALL: {
1307 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1308 break; }
1310 case GROUPINFONAME: {
1311 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1312 break; }
1314 case GROUPINFOATTRIBUTES: {
1315 NDR_CHECK(ndr_push_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1316 break; }
1318 case GROUPINFODESCRIPTION: {
1319 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1320 break; }
1322 case GROUPINFOALL2: {
1323 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1324 break; }
1326 default:
1327 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1330 if (ndr_flags & NDR_BUFFERS) {
1331 int level = ndr_push_get_switch_value(ndr, r);
1332 switch (level) {
1333 case GROUPINFOALL:
1334 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1335 break;
1337 case GROUPINFONAME:
1338 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1339 break;
1341 case GROUPINFOATTRIBUTES:
1342 break;
1344 case GROUPINFODESCRIPTION:
1345 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1346 break;
1348 case GROUPINFOALL2:
1349 NDR_CHECK(ndr_push_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1350 break;
1352 default:
1353 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1356 return NDR_ERR_SUCCESS;
1359 static enum ndr_err_code ndr_pull_samr_GroupInfo(struct ndr_pull *ndr, int ndr_flags, union samr_GroupInfo *r)
1361 int level;
1362 uint16_t _level;
1363 level = ndr_pull_get_switch_value(ndr, r);
1364 if (ndr_flags & NDR_SCALARS) {
1365 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1366 if (_level != level) {
1367 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1369 switch (level) {
1370 case GROUPINFOALL: {
1371 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all));
1372 break; }
1374 case GROUPINFONAME: {
1375 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1376 break; }
1378 case GROUPINFOATTRIBUTES: {
1379 NDR_CHECK(ndr_pull_samr_GroupInfoAttributes(ndr, NDR_SCALARS, &r->attributes));
1380 break; }
1382 case GROUPINFODESCRIPTION: {
1383 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1384 break; }
1386 case GROUPINFOALL2: {
1387 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_SCALARS, &r->all2));
1388 break; }
1390 default:
1391 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1394 if (ndr_flags & NDR_BUFFERS) {
1395 switch (level) {
1396 case GROUPINFOALL:
1397 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all));
1398 break;
1400 case GROUPINFONAME:
1401 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1402 break;
1404 case GROUPINFOATTRIBUTES:
1405 break;
1407 case GROUPINFODESCRIPTION:
1408 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1409 break;
1411 case GROUPINFOALL2:
1412 NDR_CHECK(ndr_pull_samr_GroupInfoAll(ndr, NDR_BUFFERS, &r->all2));
1413 break;
1415 default:
1416 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1419 return NDR_ERR_SUCCESS;
1422 _PUBLIC_ void ndr_print_samr_GroupInfo(struct ndr_print *ndr, const char *name, const union samr_GroupInfo *r)
1424 int level;
1425 level = ndr_print_get_switch_value(ndr, r);
1426 ndr_print_union(ndr, name, level, "samr_GroupInfo");
1427 switch (level) {
1428 case GROUPINFOALL:
1429 ndr_print_samr_GroupInfoAll(ndr, "all", &r->all);
1430 break;
1432 case GROUPINFONAME:
1433 ndr_print_lsa_String(ndr, "name", &r->name);
1434 break;
1436 case GROUPINFOATTRIBUTES:
1437 ndr_print_samr_GroupInfoAttributes(ndr, "attributes", &r->attributes);
1438 break;
1440 case GROUPINFODESCRIPTION:
1441 ndr_print_lsa_String(ndr, "description", &r->description);
1442 break;
1444 case GROUPINFOALL2:
1445 ndr_print_samr_GroupInfoAll(ndr, "all2", &r->all2);
1446 break;
1448 default:
1449 ndr_print_bad_level(ndr, name, level);
1453 static enum ndr_err_code ndr_push_samr_RidTypeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidTypeArray *r)
1455 uint32_t cntr_rids_1;
1456 uint32_t cntr_types_1;
1457 if (ndr_flags & NDR_SCALARS) {
1458 NDR_CHECK(ndr_push_align(ndr, 4));
1459 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1460 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
1461 NDR_CHECK(ndr_push_unique_ptr(ndr, r->types));
1463 if (ndr_flags & NDR_BUFFERS) {
1464 if (r->rids) {
1465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1466 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
1467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_1]));
1470 if (r->types) {
1471 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1472 for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
1473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->types[cntr_types_1]));
1477 return NDR_ERR_SUCCESS;
1480 static enum ndr_err_code ndr_pull_samr_RidTypeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidTypeArray *r)
1482 uint32_t _ptr_rids;
1483 uint32_t cntr_rids_1;
1484 TALLOC_CTX *_mem_save_rids_0;
1485 TALLOC_CTX *_mem_save_rids_1;
1486 uint32_t _ptr_types;
1487 uint32_t cntr_types_1;
1488 TALLOC_CTX *_mem_save_types_0;
1489 TALLOC_CTX *_mem_save_types_1;
1490 if (ndr_flags & NDR_SCALARS) {
1491 NDR_CHECK(ndr_pull_align(ndr, 4));
1492 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1493 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
1494 if (_ptr_rids) {
1495 NDR_PULL_ALLOC(ndr, r->rids);
1496 } else {
1497 r->rids = NULL;
1499 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_types));
1500 if (_ptr_types) {
1501 NDR_PULL_ALLOC(ndr, r->types);
1502 } else {
1503 r->types = NULL;
1506 if (ndr_flags & NDR_BUFFERS) {
1507 if (r->rids) {
1508 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1509 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1510 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
1511 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
1512 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1513 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1514 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
1515 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
1517 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
1518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
1520 if (r->types) {
1521 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
1522 NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
1523 NDR_CHECK(ndr_pull_array_size(ndr, &r->types));
1524 NDR_PULL_ALLOC_N(ndr, r->types, ndr_get_array_size(ndr, &r->types));
1525 _mem_save_types_1 = NDR_PULL_GET_MEM_CTX(ndr);
1526 NDR_PULL_SET_MEM_CTX(ndr, r->types, 0);
1527 for (cntr_types_1 = 0; cntr_types_1 < r->count; cntr_types_1++) {
1528 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->types[cntr_types_1]));
1530 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_1, 0);
1531 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, 0);
1533 if (r->rids) {
1534 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
1536 if (r->types) {
1537 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->types, r->count));
1540 return NDR_ERR_SUCCESS;
1543 _PUBLIC_ void ndr_print_samr_RidTypeArray(struct ndr_print *ndr, const char *name, const struct samr_RidTypeArray *r)
1545 uint32_t cntr_rids_1;
1546 uint32_t cntr_types_1;
1547 ndr_print_struct(ndr, name, "samr_RidTypeArray");
1548 ndr->depth++;
1549 ndr_print_uint32(ndr, "count", r->count);
1550 ndr_print_ptr(ndr, "rids", r->rids);
1551 ndr->depth++;
1552 if (r->rids) {
1553 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
1554 ndr->depth++;
1555 for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
1556 char *idx_1=NULL;
1557 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
1558 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_1]);
1559 free(idx_1);
1562 ndr->depth--;
1564 ndr->depth--;
1565 ndr_print_ptr(ndr, "types", r->types);
1566 ndr->depth++;
1567 if (r->types) {
1568 ndr->print(ndr, "%s: ARRAY(%d)", "types", (int)r->count);
1569 ndr->depth++;
1570 for (cntr_types_1=0;cntr_types_1<r->count;cntr_types_1++) {
1571 char *idx_1=NULL;
1572 if (asprintf(&idx_1, "[%d]", cntr_types_1) != -1) {
1573 ndr_print_uint32(ndr, "types", r->types[cntr_types_1]);
1574 free(idx_1);
1577 ndr->depth--;
1579 ndr->depth--;
1580 ndr->depth--;
1583 static enum ndr_err_code ndr_push_samr_AliasInfoAll(struct ndr_push *ndr, int ndr_flags, const struct samr_AliasInfoAll *r)
1585 if (ndr_flags & NDR_SCALARS) {
1586 NDR_CHECK(ndr_push_align(ndr, 4));
1587 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_members));
1589 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1591 if (ndr_flags & NDR_BUFFERS) {
1592 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1593 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1595 return NDR_ERR_SUCCESS;
1598 static enum ndr_err_code ndr_pull_samr_AliasInfoAll(struct ndr_pull *ndr, int ndr_flags, struct samr_AliasInfoAll *r)
1600 if (ndr_flags & NDR_SCALARS) {
1601 NDR_CHECK(ndr_pull_align(ndr, 4));
1602 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1603 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_members));
1604 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1606 if (ndr_flags & NDR_BUFFERS) {
1607 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1608 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1610 return NDR_ERR_SUCCESS;
1613 _PUBLIC_ void ndr_print_samr_AliasInfoAll(struct ndr_print *ndr, const char *name, const struct samr_AliasInfoAll *r)
1615 ndr_print_struct(ndr, name, "samr_AliasInfoAll");
1616 ndr->depth++;
1617 ndr_print_lsa_String(ndr, "name", &r->name);
1618 ndr_print_uint32(ndr, "num_members", r->num_members);
1619 ndr_print_lsa_String(ndr, "description", &r->description);
1620 ndr->depth--;
1623 static enum ndr_err_code ndr_push_samr_AliasInfoEnum(struct ndr_push *ndr, int ndr_flags, enum samr_AliasInfoEnum r)
1625 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1626 return NDR_ERR_SUCCESS;
1629 static enum ndr_err_code ndr_pull_samr_AliasInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum samr_AliasInfoEnum *r)
1631 uint16_t v;
1632 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1633 *r = v;
1634 return NDR_ERR_SUCCESS;
1637 _PUBLIC_ void ndr_print_samr_AliasInfoEnum(struct ndr_print *ndr, const char *name, enum samr_AliasInfoEnum r)
1639 const char *val = NULL;
1641 switch (r) {
1642 case ALIASINFOALL: val = "ALIASINFOALL"; break;
1643 case ALIASINFONAME: val = "ALIASINFONAME"; break;
1644 case ALIASINFODESCRIPTION: val = "ALIASINFODESCRIPTION"; break;
1646 ndr_print_enum(ndr, name, "ENUM", val, r);
1649 static enum ndr_err_code ndr_push_samr_AliasInfo(struct ndr_push *ndr, int ndr_flags, const union samr_AliasInfo *r)
1651 if (ndr_flags & NDR_SCALARS) {
1652 int level = ndr_push_get_switch_value(ndr, r);
1653 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, level));
1654 switch (level) {
1655 case ALIASINFOALL: {
1656 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1657 break; }
1659 case ALIASINFONAME: {
1660 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1661 break; }
1663 case ALIASINFODESCRIPTION: {
1664 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1665 break; }
1667 default:
1668 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1671 if (ndr_flags & NDR_BUFFERS) {
1672 int level = ndr_push_get_switch_value(ndr, r);
1673 switch (level) {
1674 case ALIASINFOALL:
1675 NDR_CHECK(ndr_push_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1676 break;
1678 case ALIASINFONAME:
1679 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1680 break;
1682 case ALIASINFODESCRIPTION:
1683 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1684 break;
1686 default:
1687 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1690 return NDR_ERR_SUCCESS;
1693 static enum ndr_err_code ndr_pull_samr_AliasInfo(struct ndr_pull *ndr, int ndr_flags, union samr_AliasInfo *r)
1695 int level;
1696 uint16_t _level;
1697 level = ndr_pull_get_switch_value(ndr, r);
1698 if (ndr_flags & NDR_SCALARS) {
1699 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1700 if (_level != level) {
1701 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1703 switch (level) {
1704 case ALIASINFOALL: {
1705 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_SCALARS, &r->all));
1706 break; }
1708 case ALIASINFONAME: {
1709 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1710 break; }
1712 case ALIASINFODESCRIPTION: {
1713 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1714 break; }
1716 default:
1717 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1720 if (ndr_flags & NDR_BUFFERS) {
1721 switch (level) {
1722 case ALIASINFOALL:
1723 NDR_CHECK(ndr_pull_samr_AliasInfoAll(ndr, NDR_BUFFERS, &r->all));
1724 break;
1726 case ALIASINFONAME:
1727 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1728 break;
1730 case ALIASINFODESCRIPTION:
1731 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1732 break;
1734 default:
1735 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1738 return NDR_ERR_SUCCESS;
1741 _PUBLIC_ void ndr_print_samr_AliasInfo(struct ndr_print *ndr, const char *name, const union samr_AliasInfo *r)
1743 int level;
1744 level = ndr_print_get_switch_value(ndr, r);
1745 ndr_print_union(ndr, name, level, "samr_AliasInfo");
1746 switch (level) {
1747 case ALIASINFOALL:
1748 ndr_print_samr_AliasInfoAll(ndr, "all", &r->all);
1749 break;
1751 case ALIASINFONAME:
1752 ndr_print_lsa_String(ndr, "name", &r->name);
1753 break;
1755 case ALIASINFODESCRIPTION:
1756 ndr_print_lsa_String(ndr, "description", &r->description);
1757 break;
1759 default:
1760 ndr_print_bad_level(ndr, name, level);
1764 static enum ndr_err_code ndr_push_samr_UserInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo1 *r)
1766 if (ndr_flags & NDR_SCALARS) {
1767 NDR_CHECK(ndr_push_align(ndr, 4));
1768 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1769 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1771 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
1772 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
1774 if (ndr_flags & NDR_BUFFERS) {
1775 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1776 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1777 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
1778 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1780 return NDR_ERR_SUCCESS;
1783 static enum ndr_err_code ndr_pull_samr_UserInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo1 *r)
1785 if (ndr_flags & NDR_SCALARS) {
1786 NDR_CHECK(ndr_pull_align(ndr, 4));
1787 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1788 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1789 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1790 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
1791 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
1793 if (ndr_flags & NDR_BUFFERS) {
1794 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1795 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1796 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
1797 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1799 return NDR_ERR_SUCCESS;
1802 _PUBLIC_ void ndr_print_samr_UserInfo1(struct ndr_print *ndr, const char *name, const struct samr_UserInfo1 *r)
1804 ndr_print_struct(ndr, name, "samr_UserInfo1");
1805 ndr->depth++;
1806 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
1807 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
1808 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1809 ndr_print_lsa_String(ndr, "description", &r->description);
1810 ndr_print_lsa_String(ndr, "comment", &r->comment);
1811 ndr->depth--;
1814 static enum ndr_err_code ndr_push_samr_UserInfo2(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo2 *r)
1816 if (ndr_flags & NDR_SCALARS) {
1817 NDR_CHECK(ndr_push_align(ndr, 4));
1818 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
1819 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown));
1820 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
1821 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
1823 if (ndr_flags & NDR_BUFFERS) {
1824 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1825 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown));
1827 return NDR_ERR_SUCCESS;
1830 static enum ndr_err_code ndr_pull_samr_UserInfo2(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo2 *r)
1832 if (ndr_flags & NDR_SCALARS) {
1833 NDR_CHECK(ndr_pull_align(ndr, 4));
1834 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
1835 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown));
1836 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
1837 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
1839 if (ndr_flags & NDR_BUFFERS) {
1840 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
1841 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown));
1843 return NDR_ERR_SUCCESS;
1846 _PUBLIC_ void ndr_print_samr_UserInfo2(struct ndr_print *ndr, const char *name, const struct samr_UserInfo2 *r)
1848 ndr_print_struct(ndr, name, "samr_UserInfo2");
1849 ndr->depth++;
1850 ndr_print_lsa_String(ndr, "comment", &r->comment);
1851 ndr_print_lsa_String(ndr, "unknown", &r->unknown);
1852 ndr_print_uint16(ndr, "country_code", r->country_code);
1853 ndr_print_uint16(ndr, "code_page", r->code_page);
1854 ndr->depth--;
1857 _PUBLIC_ enum ndr_err_code ndr_push_samr_LogonHours(struct ndr_push *ndr, int ndr_flags, const struct samr_LogonHours *r)
1860 uint32_t _flags_save_STRUCT = ndr->flags;
1861 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1862 if (ndr_flags & NDR_SCALARS) {
1863 NDR_CHECK(ndr_push_align(ndr, 4));
1864 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->units_per_week));
1865 NDR_CHECK(ndr_push_unique_ptr(ndr, r->bits));
1867 if (ndr_flags & NDR_BUFFERS) {
1868 if (r->bits) {
1869 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1260));
1870 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1871 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->units_per_week / 8));
1872 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->bits, r->units_per_week / 8));
1875 ndr->flags = _flags_save_STRUCT;
1877 return NDR_ERR_SUCCESS;
1880 _PUBLIC_ enum ndr_err_code ndr_pull_samr_LogonHours(struct ndr_pull *ndr, int ndr_flags, struct samr_LogonHours *r)
1882 uint32_t _ptr_bits;
1883 TALLOC_CTX *_mem_save_bits_0;
1885 uint32_t _flags_save_STRUCT = ndr->flags;
1886 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1887 if (ndr_flags & NDR_SCALARS) {
1888 NDR_CHECK(ndr_pull_align(ndr, 4));
1889 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->units_per_week));
1890 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_bits));
1891 if (_ptr_bits) {
1892 NDR_PULL_ALLOC(ndr, r->bits);
1893 } else {
1894 r->bits = NULL;
1897 if (ndr_flags & NDR_BUFFERS) {
1898 if (r->bits) {
1899 _mem_save_bits_0 = NDR_PULL_GET_MEM_CTX(ndr);
1900 NDR_PULL_SET_MEM_CTX(ndr, r->bits, 0);
1901 NDR_CHECK(ndr_pull_array_size(ndr, &r->bits));
1902 NDR_CHECK(ndr_pull_array_length(ndr, &r->bits));
1903 if (ndr_get_array_length(ndr, &r->bits) > ndr_get_array_size(ndr, &r->bits)) {
1904 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));
1906 NDR_PULL_ALLOC_N(ndr, r->bits, ndr_get_array_size(ndr, &r->bits));
1907 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->bits, ndr_get_array_length(ndr, &r->bits)));
1908 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bits_0, 0);
1910 if (r->bits) {
1911 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->bits, 1260));
1913 if (r->bits) {
1914 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->bits, r->units_per_week / 8));
1917 ndr->flags = _flags_save_STRUCT;
1919 return NDR_ERR_SUCCESS;
1922 _PUBLIC_ void ndr_print_samr_LogonHours(struct ndr_print *ndr, const char *name, const struct samr_LogonHours *r)
1924 ndr_print_struct(ndr, name, "samr_LogonHours");
1926 uint32_t _flags_save_STRUCT = ndr->flags;
1927 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
1928 ndr->depth++;
1929 ndr_print_uint16(ndr, "units_per_week", r->units_per_week);
1930 ndr_print_ptr(ndr, "bits", r->bits);
1931 ndr->depth++;
1932 if (r->bits) {
1933 ndr_print_array_uint8(ndr, "bits", r->bits, r->units_per_week / 8);
1935 ndr->depth--;
1936 ndr->depth--;
1937 ndr->flags = _flags_save_STRUCT;
1941 static enum ndr_err_code ndr_push_samr_UserInfo3(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo3 *r)
1943 if (ndr_flags & NDR_SCALARS) {
1944 NDR_CHECK(ndr_push_align(ndr, 4));
1945 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1946 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1947 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
1948 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1949 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1950 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1951 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1952 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1953 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
1954 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
1955 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
1956 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
1957 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
1958 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
1959 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
1960 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
1961 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
1962 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
1964 if (ndr_flags & NDR_BUFFERS) {
1965 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
1966 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
1967 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
1968 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
1969 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
1970 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
1971 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
1972 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
1974 return NDR_ERR_SUCCESS;
1977 static enum ndr_err_code ndr_pull_samr_UserInfo3(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo3 *r)
1979 if (ndr_flags & NDR_SCALARS) {
1980 NDR_CHECK(ndr_pull_align(ndr, 4));
1981 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
1982 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
1983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1984 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1985 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
1986 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
1987 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
1988 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
1989 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
1990 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
1991 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
1992 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
1993 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
1994 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
1995 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
1996 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
1997 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
1998 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2000 if (ndr_flags & NDR_BUFFERS) {
2001 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2002 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2003 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2004 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2005 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2006 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2007 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2008 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2010 return NDR_ERR_SUCCESS;
2013 _PUBLIC_ void ndr_print_samr_UserInfo3(struct ndr_print *ndr, const char *name, const struct samr_UserInfo3 *r)
2015 ndr_print_struct(ndr, name, "samr_UserInfo3");
2016 ndr->depth++;
2017 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2018 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2019 ndr_print_uint32(ndr, "rid", r->rid);
2020 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2021 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2022 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2023 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2024 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2025 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2026 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2027 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2028 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2029 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
2030 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
2031 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2032 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2033 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2034 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2035 ndr->depth--;
2038 static enum ndr_err_code ndr_push_samr_UserInfo4(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo4 *r)
2040 if (ndr_flags & NDR_SCALARS) {
2041 NDR_CHECK(ndr_push_align(ndr, 4));
2042 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2044 if (ndr_flags & NDR_BUFFERS) {
2045 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2047 return NDR_ERR_SUCCESS;
2050 static enum ndr_err_code ndr_pull_samr_UserInfo4(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo4 *r)
2052 if (ndr_flags & NDR_SCALARS) {
2053 NDR_CHECK(ndr_pull_align(ndr, 4));
2054 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2056 if (ndr_flags & NDR_BUFFERS) {
2057 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2059 return NDR_ERR_SUCCESS;
2062 _PUBLIC_ void ndr_print_samr_UserInfo4(struct ndr_print *ndr, const char *name, const struct samr_UserInfo4 *r)
2064 ndr_print_struct(ndr, name, "samr_UserInfo4");
2065 ndr->depth++;
2066 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2067 ndr->depth--;
2070 static enum ndr_err_code ndr_push_samr_UserInfo5(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo5 *r)
2072 if (ndr_flags & NDR_SCALARS) {
2073 NDR_CHECK(ndr_push_align(ndr, 4));
2074 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2075 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2076 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2078 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2079 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2080 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2081 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2082 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2083 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2084 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2085 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2086 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2087 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2088 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2089 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2090 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2091 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2093 if (ndr_flags & NDR_BUFFERS) {
2094 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2095 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2096 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2097 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2098 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2099 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2100 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2101 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2102 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2104 return NDR_ERR_SUCCESS;
2107 static enum ndr_err_code ndr_pull_samr_UserInfo5(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo5 *r)
2109 if (ndr_flags & NDR_SCALARS) {
2110 NDR_CHECK(ndr_pull_align(ndr, 4));
2111 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2112 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2113 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2114 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2115 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2116 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2117 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2118 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2119 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2120 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2121 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2122 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2123 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2124 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2125 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2126 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2127 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2128 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2130 if (ndr_flags & NDR_BUFFERS) {
2131 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2132 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2133 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2134 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2135 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2136 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2137 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2138 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2139 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2141 return NDR_ERR_SUCCESS;
2144 _PUBLIC_ void ndr_print_samr_UserInfo5(struct ndr_print *ndr, const char *name, const struct samr_UserInfo5 *r)
2146 ndr_print_struct(ndr, name, "samr_UserInfo5");
2147 ndr->depth++;
2148 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2149 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2150 ndr_print_uint32(ndr, "rid", r->rid);
2151 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2152 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2153 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2154 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2155 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2156 ndr_print_lsa_String(ndr, "description", &r->description);
2157 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2158 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2159 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2160 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2161 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2162 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2163 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2164 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2165 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2166 ndr->depth--;
2169 static enum ndr_err_code ndr_push_samr_UserInfo6(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo6 *r)
2171 if (ndr_flags & NDR_SCALARS) {
2172 NDR_CHECK(ndr_push_align(ndr, 4));
2173 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2174 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2176 if (ndr_flags & NDR_BUFFERS) {
2177 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2178 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2180 return NDR_ERR_SUCCESS;
2183 static enum ndr_err_code ndr_pull_samr_UserInfo6(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo6 *r)
2185 if (ndr_flags & NDR_SCALARS) {
2186 NDR_CHECK(ndr_pull_align(ndr, 4));
2187 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2188 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2190 if (ndr_flags & NDR_BUFFERS) {
2191 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2192 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2194 return NDR_ERR_SUCCESS;
2197 _PUBLIC_ void ndr_print_samr_UserInfo6(struct ndr_print *ndr, const char *name, const struct samr_UserInfo6 *r)
2199 ndr_print_struct(ndr, name, "samr_UserInfo6");
2200 ndr->depth++;
2201 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2202 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2203 ndr->depth--;
2206 static enum ndr_err_code ndr_push_samr_UserInfo7(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo7 *r)
2208 if (ndr_flags & NDR_SCALARS) {
2209 NDR_CHECK(ndr_push_align(ndr, 4));
2210 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2212 if (ndr_flags & NDR_BUFFERS) {
2213 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2215 return NDR_ERR_SUCCESS;
2218 static enum ndr_err_code ndr_pull_samr_UserInfo7(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo7 *r)
2220 if (ndr_flags & NDR_SCALARS) {
2221 NDR_CHECK(ndr_pull_align(ndr, 4));
2222 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2224 if (ndr_flags & NDR_BUFFERS) {
2225 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2227 return NDR_ERR_SUCCESS;
2230 _PUBLIC_ void ndr_print_samr_UserInfo7(struct ndr_print *ndr, const char *name, const struct samr_UserInfo7 *r)
2232 ndr_print_struct(ndr, name, "samr_UserInfo7");
2233 ndr->depth++;
2234 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2235 ndr->depth--;
2238 static enum ndr_err_code ndr_push_samr_UserInfo8(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo8 *r)
2240 if (ndr_flags & NDR_SCALARS) {
2241 NDR_CHECK(ndr_push_align(ndr, 4));
2242 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2244 if (ndr_flags & NDR_BUFFERS) {
2245 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2247 return NDR_ERR_SUCCESS;
2250 static enum ndr_err_code ndr_pull_samr_UserInfo8(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo8 *r)
2252 if (ndr_flags & NDR_SCALARS) {
2253 NDR_CHECK(ndr_pull_align(ndr, 4));
2254 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2256 if (ndr_flags & NDR_BUFFERS) {
2257 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2259 return NDR_ERR_SUCCESS;
2262 _PUBLIC_ void ndr_print_samr_UserInfo8(struct ndr_print *ndr, const char *name, const struct samr_UserInfo8 *r)
2264 ndr_print_struct(ndr, name, "samr_UserInfo8");
2265 ndr->depth++;
2266 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2267 ndr->depth--;
2270 static enum ndr_err_code ndr_push_samr_UserInfo9(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo9 *r)
2272 if (ndr_flags & NDR_SCALARS) {
2273 NDR_CHECK(ndr_push_align(ndr, 4));
2274 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2276 if (ndr_flags & NDR_BUFFERS) {
2278 return NDR_ERR_SUCCESS;
2281 static enum ndr_err_code ndr_pull_samr_UserInfo9(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo9 *r)
2283 if (ndr_flags & NDR_SCALARS) {
2284 NDR_CHECK(ndr_pull_align(ndr, 4));
2285 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2287 if (ndr_flags & NDR_BUFFERS) {
2289 return NDR_ERR_SUCCESS;
2292 _PUBLIC_ void ndr_print_samr_UserInfo9(struct ndr_print *ndr, const char *name, const struct samr_UserInfo9 *r)
2294 ndr_print_struct(ndr, name, "samr_UserInfo9");
2295 ndr->depth++;
2296 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2297 ndr->depth--;
2300 static enum ndr_err_code ndr_push_samr_UserInfo10(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo10 *r)
2302 if (ndr_flags & NDR_SCALARS) {
2303 NDR_CHECK(ndr_push_align(ndr, 4));
2304 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2305 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2307 if (ndr_flags & NDR_BUFFERS) {
2308 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2309 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2311 return NDR_ERR_SUCCESS;
2314 static enum ndr_err_code ndr_pull_samr_UserInfo10(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo10 *r)
2316 if (ndr_flags & NDR_SCALARS) {
2317 NDR_CHECK(ndr_pull_align(ndr, 4));
2318 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2319 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2321 if (ndr_flags & NDR_BUFFERS) {
2322 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2323 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2325 return NDR_ERR_SUCCESS;
2328 _PUBLIC_ void ndr_print_samr_UserInfo10(struct ndr_print *ndr, const char *name, const struct samr_UserInfo10 *r)
2330 ndr_print_struct(ndr, name, "samr_UserInfo10");
2331 ndr->depth++;
2332 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2333 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2334 ndr->depth--;
2337 static enum ndr_err_code ndr_push_samr_UserInfo11(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo11 *r)
2339 if (ndr_flags & NDR_SCALARS) {
2340 NDR_CHECK(ndr_push_align(ndr, 4));
2341 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2343 if (ndr_flags & NDR_BUFFERS) {
2344 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2346 return NDR_ERR_SUCCESS;
2349 static enum ndr_err_code ndr_pull_samr_UserInfo11(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo11 *r)
2351 if (ndr_flags & NDR_SCALARS) {
2352 NDR_CHECK(ndr_pull_align(ndr, 4));
2353 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2355 if (ndr_flags & NDR_BUFFERS) {
2356 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2358 return NDR_ERR_SUCCESS;
2361 _PUBLIC_ void ndr_print_samr_UserInfo11(struct ndr_print *ndr, const char *name, const struct samr_UserInfo11 *r)
2363 ndr_print_struct(ndr, name, "samr_UserInfo11");
2364 ndr->depth++;
2365 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2366 ndr->depth--;
2369 static enum ndr_err_code ndr_push_samr_UserInfo12(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo12 *r)
2371 if (ndr_flags & NDR_SCALARS) {
2372 NDR_CHECK(ndr_push_align(ndr, 4));
2373 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2375 if (ndr_flags & NDR_BUFFERS) {
2376 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2378 return NDR_ERR_SUCCESS;
2381 static enum ndr_err_code ndr_pull_samr_UserInfo12(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo12 *r)
2383 if (ndr_flags & NDR_SCALARS) {
2384 NDR_CHECK(ndr_pull_align(ndr, 4));
2385 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2387 if (ndr_flags & NDR_BUFFERS) {
2388 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2390 return NDR_ERR_SUCCESS;
2393 _PUBLIC_ void ndr_print_samr_UserInfo12(struct ndr_print *ndr, const char *name, const struct samr_UserInfo12 *r)
2395 ndr_print_struct(ndr, name, "samr_UserInfo12");
2396 ndr->depth++;
2397 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2398 ndr->depth--;
2401 static enum ndr_err_code ndr_push_samr_UserInfo13(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo13 *r)
2403 if (ndr_flags & NDR_SCALARS) {
2404 NDR_CHECK(ndr_push_align(ndr, 4));
2405 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2407 if (ndr_flags & NDR_BUFFERS) {
2408 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2410 return NDR_ERR_SUCCESS;
2413 static enum ndr_err_code ndr_pull_samr_UserInfo13(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo13 *r)
2415 if (ndr_flags & NDR_SCALARS) {
2416 NDR_CHECK(ndr_pull_align(ndr, 4));
2417 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2419 if (ndr_flags & NDR_BUFFERS) {
2420 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2422 return NDR_ERR_SUCCESS;
2425 _PUBLIC_ void ndr_print_samr_UserInfo13(struct ndr_print *ndr, const char *name, const struct samr_UserInfo13 *r)
2427 ndr_print_struct(ndr, name, "samr_UserInfo13");
2428 ndr->depth++;
2429 ndr_print_lsa_String(ndr, "description", &r->description);
2430 ndr->depth--;
2433 static enum ndr_err_code ndr_push_samr_UserInfo14(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo14 *r)
2435 if (ndr_flags & NDR_SCALARS) {
2436 NDR_CHECK(ndr_push_align(ndr, 4));
2437 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2439 if (ndr_flags & NDR_BUFFERS) {
2440 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2442 return NDR_ERR_SUCCESS;
2445 static enum ndr_err_code ndr_pull_samr_UserInfo14(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo14 *r)
2447 if (ndr_flags & NDR_SCALARS) {
2448 NDR_CHECK(ndr_pull_align(ndr, 4));
2449 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2451 if (ndr_flags & NDR_BUFFERS) {
2452 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2454 return NDR_ERR_SUCCESS;
2457 _PUBLIC_ void ndr_print_samr_UserInfo14(struct ndr_print *ndr, const char *name, const struct samr_UserInfo14 *r)
2459 ndr_print_struct(ndr, name, "samr_UserInfo14");
2460 ndr->depth++;
2461 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2462 ndr->depth--;
2465 static enum ndr_err_code ndr_push_samr_UserInfo16(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo16 *r)
2467 if (ndr_flags & NDR_SCALARS) {
2468 NDR_CHECK(ndr_push_align(ndr, 4));
2469 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2471 if (ndr_flags & NDR_BUFFERS) {
2473 return NDR_ERR_SUCCESS;
2476 static enum ndr_err_code ndr_pull_samr_UserInfo16(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo16 *r)
2478 if (ndr_flags & NDR_SCALARS) {
2479 NDR_CHECK(ndr_pull_align(ndr, 4));
2480 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2482 if (ndr_flags & NDR_BUFFERS) {
2484 return NDR_ERR_SUCCESS;
2487 _PUBLIC_ void ndr_print_samr_UserInfo16(struct ndr_print *ndr, const char *name, const struct samr_UserInfo16 *r)
2489 ndr_print_struct(ndr, name, "samr_UserInfo16");
2490 ndr->depth++;
2491 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2492 ndr->depth--;
2495 static enum ndr_err_code ndr_push_samr_UserInfo17(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo17 *r)
2497 if (ndr_flags & NDR_SCALARS) {
2498 NDR_CHECK(ndr_push_align(ndr, 4));
2499 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2501 if (ndr_flags & NDR_BUFFERS) {
2503 return NDR_ERR_SUCCESS;
2506 static enum ndr_err_code ndr_pull_samr_UserInfo17(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo17 *r)
2508 if (ndr_flags & NDR_SCALARS) {
2509 NDR_CHECK(ndr_pull_align(ndr, 4));
2510 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2512 if (ndr_flags & NDR_BUFFERS) {
2514 return NDR_ERR_SUCCESS;
2517 _PUBLIC_ void ndr_print_samr_UserInfo17(struct ndr_print *ndr, const char *name, const struct samr_UserInfo17 *r)
2519 ndr_print_struct(ndr, name, "samr_UserInfo17");
2520 ndr->depth++;
2521 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2522 ndr->depth--;
2525 _PUBLIC_ enum ndr_err_code ndr_push_samr_Password(struct ndr_push *ndr, int ndr_flags, const struct samr_Password *r)
2528 uint32_t _flags_save_STRUCT = ndr->flags;
2529 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2530 if (ndr_flags & NDR_SCALARS) {
2531 NDR_CHECK(ndr_push_align(ndr, 1));
2532 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2534 if (ndr_flags & NDR_BUFFERS) {
2536 ndr->flags = _flags_save_STRUCT;
2538 return NDR_ERR_SUCCESS;
2541 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Password(struct ndr_pull *ndr, int ndr_flags, struct samr_Password *r)
2544 uint32_t _flags_save_STRUCT = ndr->flags;
2545 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2546 if (ndr_flags & NDR_SCALARS) {
2547 NDR_CHECK(ndr_pull_align(ndr, 1));
2548 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->hash, 16));
2550 if (ndr_flags & NDR_BUFFERS) {
2552 ndr->flags = _flags_save_STRUCT;
2554 return NDR_ERR_SUCCESS;
2557 _PUBLIC_ void ndr_print_samr_Password(struct ndr_print *ndr, const char *name, const struct samr_Password *r)
2559 ndr_print_struct(ndr, name, "samr_Password");
2561 uint32_t _flags_save_STRUCT = ndr->flags;
2562 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2563 ndr->depth++;
2564 ndr_print_array_uint8(ndr, "hash", r->hash, 16);
2565 ndr->depth--;
2566 ndr->flags = _flags_save_STRUCT;
2570 static enum ndr_err_code ndr_push_samr_UserInfo18(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo18 *r)
2572 if (ndr_flags & NDR_SCALARS) {
2573 NDR_CHECK(ndr_push_align(ndr, 1));
2574 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2575 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2576 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_pwd_active));
2577 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_pwd_active));
2578 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2580 if (ndr_flags & NDR_BUFFERS) {
2582 return NDR_ERR_SUCCESS;
2585 static enum ndr_err_code ndr_pull_samr_UserInfo18(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo18 *r)
2587 if (ndr_flags & NDR_SCALARS) {
2588 NDR_CHECK(ndr_pull_align(ndr, 1));
2589 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_pwd));
2590 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_pwd));
2591 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_pwd_active));
2592 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_pwd_active));
2593 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2595 if (ndr_flags & NDR_BUFFERS) {
2597 return NDR_ERR_SUCCESS;
2600 _PUBLIC_ void ndr_print_samr_UserInfo18(struct ndr_print *ndr, const char *name, const struct samr_UserInfo18 *r)
2602 ndr_print_struct(ndr, name, "samr_UserInfo18");
2603 ndr->depth++;
2604 ndr_print_samr_Password(ndr, "nt_pwd", &r->nt_pwd);
2605 ndr_print_samr_Password(ndr, "lm_pwd", &r->lm_pwd);
2606 ndr_print_uint8(ndr, "nt_pwd_active", r->nt_pwd_active);
2607 ndr_print_uint8(ndr, "lm_pwd_active", r->lm_pwd_active);
2608 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2609 ndr->depth--;
2612 static enum ndr_err_code ndr_push_samr_UserInfo20(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo20 *r)
2614 if (ndr_flags & NDR_SCALARS) {
2615 NDR_CHECK(ndr_push_align(ndr, 4));
2616 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2618 if (ndr_flags & NDR_BUFFERS) {
2619 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2621 return NDR_ERR_SUCCESS;
2624 static enum ndr_err_code ndr_pull_samr_UserInfo20(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo20 *r)
2626 if (ndr_flags & NDR_SCALARS) {
2627 NDR_CHECK(ndr_pull_align(ndr, 4));
2628 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2630 if (ndr_flags & NDR_BUFFERS) {
2631 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2633 return NDR_ERR_SUCCESS;
2636 _PUBLIC_ void ndr_print_samr_UserInfo20(struct ndr_print *ndr, const char *name, const struct samr_UserInfo20 *r)
2638 ndr_print_struct(ndr, name, "samr_UserInfo20");
2639 ndr->depth++;
2640 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2641 ndr->depth--;
2644 static enum ndr_err_code ndr_push_samr_FieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2647 return NDR_ERR_SUCCESS;
2650 static enum ndr_err_code ndr_pull_samr_FieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2652 uint32_t v;
2653 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2654 *r = v;
2655 return NDR_ERR_SUCCESS;
2658 _PUBLIC_ void ndr_print_samr_FieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
2660 ndr_print_uint32(ndr, name, r);
2661 ndr->depth++;
2662 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCOUNT_NAME", SAMR_FIELD_ACCOUNT_NAME, r);
2663 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FULL_NAME", SAMR_FIELD_FULL_NAME, r);
2664 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_RID", SAMR_FIELD_RID, r);
2665 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIMARY_GID", SAMR_FIELD_PRIMARY_GID, r);
2666 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_DESCRIPTION", SAMR_FIELD_DESCRIPTION, r);
2667 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COMMENT", SAMR_FIELD_COMMENT, r);
2668 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DIRECTORY", SAMR_FIELD_HOME_DIRECTORY, r);
2669 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_HOME_DRIVE", SAMR_FIELD_HOME_DRIVE, r);
2670 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_SCRIPT", SAMR_FIELD_LOGON_SCRIPT, r);
2671 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PROFILE_PATH", SAMR_FIELD_PROFILE_PATH, r);
2672 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_WORKSTATIONS", SAMR_FIELD_WORKSTATIONS, r);
2673 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGON", SAMR_FIELD_LAST_LOGON, r);
2674 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_LOGOFF", SAMR_FIELD_LAST_LOGOFF, r);
2675 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LOGON_HOURS", SAMR_FIELD_LOGON_HOURS, r);
2676 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_BAD_PWD_COUNT", SAMR_FIELD_BAD_PWD_COUNT, r);
2677 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NUM_LOGONS", SAMR_FIELD_NUM_LOGONS, r);
2678 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ALLOW_PWD_CHANGE", SAMR_FIELD_ALLOW_PWD_CHANGE, r);
2679 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_FORCE_PWD_CHANGE", SAMR_FIELD_FORCE_PWD_CHANGE, r);
2680 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LAST_PWD_CHANGE", SAMR_FIELD_LAST_PWD_CHANGE, r);
2681 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_EXPIRY", SAMR_FIELD_ACCT_EXPIRY, r);
2682 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_ACCT_FLAGS", SAMR_FIELD_ACCT_FLAGS, r);
2683 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PARAMETERS", SAMR_FIELD_PARAMETERS, r);
2684 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_COUNTRY_CODE", SAMR_FIELD_COUNTRY_CODE, r);
2685 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_CODE_PAGE", SAMR_FIELD_CODE_PAGE, r);
2686 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_NT_PASSWORD_PRESENT", SAMR_FIELD_NT_PASSWORD_PRESENT, r);
2687 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_LM_PASSWORD_PRESENT", SAMR_FIELD_LM_PASSWORD_PRESENT, r);
2688 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_PRIVATE_DATA", SAMR_FIELD_PRIVATE_DATA, r);
2689 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_EXPIRED_FLAG", SAMR_FIELD_EXPIRED_FLAG, r);
2690 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_SEC_DESC", SAMR_FIELD_SEC_DESC, r);
2691 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_FIELD_OWF_PWD", SAMR_FIELD_OWF_PWD, r);
2692 ndr->depth--;
2695 static enum ndr_err_code ndr_push_samr_UserInfo21(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo21 *r)
2697 if (ndr_flags & NDR_SCALARS) {
2698 NDR_CHECK(ndr_push_align(ndr, 4));
2699 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logon));
2700 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_logoff));
2701 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->last_password_change));
2702 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->acct_expiry));
2703 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->allow_password_change));
2704 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->force_password_change));
2705 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2706 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2707 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2708 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2709 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2710 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2711 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
2712 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2713 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->comment));
2714 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2715 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
2716 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
2717 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count));
2719 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buffer));
2720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
2722 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
2723 NDR_CHECK(ndr_push_samr_FieldsPresent(ndr, NDR_SCALARS, r->fields_present));
2724 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2725 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->bad_password_count));
2726 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logon_count));
2727 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->country_code));
2728 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->code_page));
2729 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->lm_password_set));
2730 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->nt_password_set));
2731 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2732 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->unknown4));
2734 if (ndr_flags & NDR_BUFFERS) {
2735 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2736 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2737 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2738 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2739 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2740 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2741 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
2742 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2743 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2744 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2745 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
2746 NDR_CHECK(ndr_push_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
2747 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2748 if (r->buffer) {
2749 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->buf_count));
2750 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->buffer, r->buf_count));
2752 NDR_CHECK(ndr_push_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2754 return NDR_ERR_SUCCESS;
2757 static enum ndr_err_code ndr_pull_samr_UserInfo21(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo21 *r)
2759 uint32_t _ptr_buffer;
2760 TALLOC_CTX *_mem_save_buffer_0;
2761 if (ndr_flags & NDR_SCALARS) {
2762 NDR_CHECK(ndr_pull_align(ndr, 4));
2763 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logon));
2764 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_logoff));
2765 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->last_password_change));
2766 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->acct_expiry));
2767 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->allow_password_change));
2768 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->force_password_change));
2769 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
2770 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
2771 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_directory));
2772 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->home_drive));
2773 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->logon_script));
2774 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->profile_path));
2775 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
2776 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->workstations));
2777 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->comment));
2778 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->parameters));
2779 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->lm_owf_password));
2780 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_SCALARS, &r->nt_owf_password));
2781 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->unknown3));
2782 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->buf_count));
2783 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
2784 if (_ptr_buffer) {
2785 NDR_PULL_ALLOC(ndr, r->buffer);
2786 } else {
2787 r->buffer = NULL;
2789 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2790 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
2791 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
2792 NDR_CHECK(ndr_pull_samr_FieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
2793 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_SCALARS, &r->logon_hours));
2794 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->bad_password_count));
2795 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logon_count));
2796 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->country_code));
2797 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->code_page));
2798 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->lm_password_set));
2799 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->nt_password_set));
2800 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2801 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->unknown4));
2803 if (ndr_flags & NDR_BUFFERS) {
2804 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
2805 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
2806 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_directory));
2807 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->home_drive));
2808 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->logon_script));
2809 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->profile_path));
2810 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
2811 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->workstations));
2812 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->comment));
2813 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->parameters));
2814 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->lm_owf_password));
2815 NDR_CHECK(ndr_pull_lsa_BinaryString(ndr, NDR_BUFFERS, &r->nt_owf_password));
2816 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->unknown3));
2817 if (r->buffer) {
2818 _mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
2819 NDR_PULL_SET_MEM_CTX(ndr, r->buffer, 0);
2820 NDR_CHECK(ndr_pull_array_size(ndr, &r->buffer));
2821 NDR_PULL_ALLOC_N(ndr, r->buffer, ndr_get_array_size(ndr, &r->buffer));
2822 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->buffer, ndr_get_array_size(ndr, &r->buffer)));
2823 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
2825 NDR_CHECK(ndr_pull_samr_LogonHours(ndr, NDR_BUFFERS, &r->logon_hours));
2826 if (r->buffer) {
2827 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->buffer, r->buf_count));
2830 return NDR_ERR_SUCCESS;
2833 _PUBLIC_ void ndr_print_samr_UserInfo21(struct ndr_print *ndr, const char *name, const struct samr_UserInfo21 *r)
2835 ndr_print_struct(ndr, name, "samr_UserInfo21");
2836 ndr->depth++;
2837 ndr_print_NTTIME(ndr, "last_logon", r->last_logon);
2838 ndr_print_NTTIME(ndr, "last_logoff", r->last_logoff);
2839 ndr_print_NTTIME(ndr, "last_password_change", r->last_password_change);
2840 ndr_print_NTTIME(ndr, "acct_expiry", r->acct_expiry);
2841 ndr_print_NTTIME(ndr, "allow_password_change", r->allow_password_change);
2842 ndr_print_NTTIME(ndr, "force_password_change", r->force_password_change);
2843 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
2844 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
2845 ndr_print_lsa_String(ndr, "home_directory", &r->home_directory);
2846 ndr_print_lsa_String(ndr, "home_drive", &r->home_drive);
2847 ndr_print_lsa_String(ndr, "logon_script", &r->logon_script);
2848 ndr_print_lsa_String(ndr, "profile_path", &r->profile_path);
2849 ndr_print_lsa_String(ndr, "description", &r->description);
2850 ndr_print_lsa_String(ndr, "workstations", &r->workstations);
2851 ndr_print_lsa_String(ndr, "comment", &r->comment);
2852 ndr_print_lsa_BinaryString(ndr, "parameters", &r->parameters);
2853 ndr_print_lsa_BinaryString(ndr, "lm_owf_password", &r->lm_owf_password);
2854 ndr_print_lsa_BinaryString(ndr, "nt_owf_password", &r->nt_owf_password);
2855 ndr_print_lsa_String(ndr, "unknown3", &r->unknown3);
2856 ndr_print_uint32(ndr, "buf_count", r->buf_count);
2857 ndr_print_ptr(ndr, "buffer", r->buffer);
2858 ndr->depth++;
2859 if (r->buffer) {
2860 ndr_print_array_uint8(ndr, "buffer", r->buffer, r->buf_count);
2862 ndr->depth--;
2863 ndr_print_uint32(ndr, "rid", r->rid);
2864 ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
2865 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
2866 ndr_print_samr_FieldsPresent(ndr, "fields_present", r->fields_present);
2867 ndr_print_samr_LogonHours(ndr, "logon_hours", &r->logon_hours);
2868 ndr_print_uint16(ndr, "bad_password_count", r->bad_password_count);
2869 ndr_print_uint16(ndr, "logon_count", r->logon_count);
2870 ndr_print_uint16(ndr, "country_code", r->country_code);
2871 ndr_print_uint16(ndr, "code_page", r->code_page);
2872 ndr_print_uint8(ndr, "lm_password_set", r->lm_password_set);
2873 ndr_print_uint8(ndr, "nt_password_set", r->nt_password_set);
2874 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2875 ndr_print_uint8(ndr, "unknown4", r->unknown4);
2876 ndr->depth--;
2879 _PUBLIC_ enum ndr_err_code ndr_push_samr_CryptPassword(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPassword *r)
2882 uint32_t _flags_save_STRUCT = ndr->flags;
2883 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2884 if (ndr_flags & NDR_SCALARS) {
2885 NDR_CHECK(ndr_push_align(ndr, 1));
2886 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 516));
2888 if (ndr_flags & NDR_BUFFERS) {
2890 ndr->flags = _flags_save_STRUCT;
2892 return NDR_ERR_SUCCESS;
2895 _PUBLIC_ enum ndr_err_code ndr_pull_samr_CryptPassword(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPassword *r)
2898 uint32_t _flags_save_STRUCT = ndr->flags;
2899 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2900 if (ndr_flags & NDR_SCALARS) {
2901 NDR_CHECK(ndr_pull_align(ndr, 1));
2902 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 516));
2904 if (ndr_flags & NDR_BUFFERS) {
2906 ndr->flags = _flags_save_STRUCT;
2908 return NDR_ERR_SUCCESS;
2911 _PUBLIC_ void ndr_print_samr_CryptPassword(struct ndr_print *ndr, const char *name, const struct samr_CryptPassword *r)
2913 ndr_print_struct(ndr, name, "samr_CryptPassword");
2915 uint32_t _flags_save_STRUCT = ndr->flags;
2916 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2917 ndr->depth++;
2918 ndr_print_array_uint8(ndr, "data", r->data, 516);
2919 ndr->depth--;
2920 ndr->flags = _flags_save_STRUCT;
2924 static enum ndr_err_code ndr_push_samr_UserInfo23(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo23 *r)
2926 if (ndr_flags & NDR_SCALARS) {
2927 NDR_CHECK(ndr_push_align(ndr, 4));
2928 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
2929 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
2931 if (ndr_flags & NDR_BUFFERS) {
2932 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
2934 return NDR_ERR_SUCCESS;
2937 static enum ndr_err_code ndr_pull_samr_UserInfo23(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo23 *r)
2939 if (ndr_flags & NDR_SCALARS) {
2940 NDR_CHECK(ndr_pull_align(ndr, 4));
2941 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
2942 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
2944 if (ndr_flags & NDR_BUFFERS) {
2945 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
2947 return NDR_ERR_SUCCESS;
2950 _PUBLIC_ void ndr_print_samr_UserInfo23(struct ndr_print *ndr, const char *name, const struct samr_UserInfo23 *r)
2952 ndr_print_struct(ndr, name, "samr_UserInfo23");
2953 ndr->depth++;
2954 ndr_print_samr_UserInfo21(ndr, "info", &r->info);
2955 ndr_print_samr_CryptPassword(ndr, "password", &r->password);
2956 ndr->depth--;
2959 static enum ndr_err_code ndr_push_samr_UserInfo24(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo24 *r)
2961 if (ndr_flags & NDR_SCALARS) {
2962 NDR_CHECK(ndr_push_align(ndr, 1));
2963 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
2964 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
2966 if (ndr_flags & NDR_BUFFERS) {
2968 return NDR_ERR_SUCCESS;
2971 static enum ndr_err_code ndr_pull_samr_UserInfo24(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo24 *r)
2973 if (ndr_flags & NDR_SCALARS) {
2974 NDR_CHECK(ndr_pull_align(ndr, 1));
2975 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, &r->password));
2976 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
2978 if (ndr_flags & NDR_BUFFERS) {
2980 return NDR_ERR_SUCCESS;
2983 _PUBLIC_ void ndr_print_samr_UserInfo24(struct ndr_print *ndr, const char *name, const struct samr_UserInfo24 *r)
2985 ndr_print_struct(ndr, name, "samr_UserInfo24");
2986 ndr->depth++;
2987 ndr_print_samr_CryptPassword(ndr, "password", &r->password);
2988 ndr_print_uint8(ndr, "password_expired", r->password_expired);
2989 ndr->depth--;
2992 static enum ndr_err_code ndr_push_samr_CryptPasswordEx(struct ndr_push *ndr, int ndr_flags, const struct samr_CryptPasswordEx *r)
2995 uint32_t _flags_save_STRUCT = ndr->flags;
2996 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2997 if (ndr_flags & NDR_SCALARS) {
2998 NDR_CHECK(ndr_push_align(ndr, 1));
2999 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, 532));
3001 if (ndr_flags & NDR_BUFFERS) {
3003 ndr->flags = _flags_save_STRUCT;
3005 return NDR_ERR_SUCCESS;
3008 static enum ndr_err_code ndr_pull_samr_CryptPasswordEx(struct ndr_pull *ndr, int ndr_flags, struct samr_CryptPasswordEx *r)
3011 uint32_t _flags_save_STRUCT = ndr->flags;
3012 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3013 if (ndr_flags & NDR_SCALARS) {
3014 NDR_CHECK(ndr_pull_align(ndr, 1));
3015 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, 532));
3017 if (ndr_flags & NDR_BUFFERS) {
3019 ndr->flags = _flags_save_STRUCT;
3021 return NDR_ERR_SUCCESS;
3024 _PUBLIC_ void ndr_print_samr_CryptPasswordEx(struct ndr_print *ndr, const char *name, const struct samr_CryptPasswordEx *r)
3026 ndr_print_struct(ndr, name, "samr_CryptPasswordEx");
3028 uint32_t _flags_save_STRUCT = ndr->flags;
3029 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
3030 ndr->depth++;
3031 ndr_print_array_uint8(ndr, "data", r->data, 532);
3032 ndr->depth--;
3033 ndr->flags = _flags_save_STRUCT;
3037 static enum ndr_err_code ndr_push_samr_UserInfo25(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo25 *r)
3039 if (ndr_flags & NDR_SCALARS) {
3040 NDR_CHECK(ndr_push_align(ndr, 4));
3041 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3042 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3044 if (ndr_flags & NDR_BUFFERS) {
3045 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3047 return NDR_ERR_SUCCESS;
3050 static enum ndr_err_code ndr_pull_samr_UserInfo25(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo25 *r)
3052 if (ndr_flags & NDR_SCALARS) {
3053 NDR_CHECK(ndr_pull_align(ndr, 4));
3054 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info));
3055 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3057 if (ndr_flags & NDR_BUFFERS) {
3058 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info));
3060 return NDR_ERR_SUCCESS;
3063 _PUBLIC_ void ndr_print_samr_UserInfo25(struct ndr_print *ndr, const char *name, const struct samr_UserInfo25 *r)
3065 ndr_print_struct(ndr, name, "samr_UserInfo25");
3066 ndr->depth++;
3067 ndr_print_samr_UserInfo21(ndr, "info", &r->info);
3068 ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3069 ndr->depth--;
3072 static enum ndr_err_code ndr_push_samr_UserInfo26(struct ndr_push *ndr, int ndr_flags, const struct samr_UserInfo26 *r)
3074 if (ndr_flags & NDR_SCALARS) {
3075 NDR_CHECK(ndr_push_align(ndr, 1));
3076 NDR_CHECK(ndr_push_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3077 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_expired));
3079 if (ndr_flags & NDR_BUFFERS) {
3081 return NDR_ERR_SUCCESS;
3084 static enum ndr_err_code ndr_pull_samr_UserInfo26(struct ndr_pull *ndr, int ndr_flags, struct samr_UserInfo26 *r)
3086 if (ndr_flags & NDR_SCALARS) {
3087 NDR_CHECK(ndr_pull_align(ndr, 1));
3088 NDR_CHECK(ndr_pull_samr_CryptPasswordEx(ndr, NDR_SCALARS, &r->password));
3089 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_expired));
3091 if (ndr_flags & NDR_BUFFERS) {
3093 return NDR_ERR_SUCCESS;
3096 _PUBLIC_ void ndr_print_samr_UserInfo26(struct ndr_print *ndr, const char *name, const struct samr_UserInfo26 *r)
3098 ndr_print_struct(ndr, name, "samr_UserInfo26");
3099 ndr->depth++;
3100 ndr_print_samr_CryptPasswordEx(ndr, "password", &r->password);
3101 ndr_print_uint8(ndr, "password_expired", r->password_expired);
3102 ndr->depth--;
3105 static enum ndr_err_code ndr_push_samr_UserInfo(struct ndr_push *ndr, int ndr_flags, const union samr_UserInfo *r)
3107 if (ndr_flags & NDR_SCALARS) {
3108 int level = ndr_push_get_switch_value(ndr, r);
3109 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
3110 switch (level) {
3111 case 1: {
3112 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3113 break; }
3115 case 2: {
3116 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3117 break; }
3119 case 3: {
3120 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3121 break; }
3123 case 4: {
3124 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3125 break; }
3127 case 5: {
3128 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3129 break; }
3131 case 6: {
3132 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3133 break; }
3135 case 7: {
3136 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3137 break; }
3139 case 8: {
3140 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3141 break; }
3143 case 9: {
3144 NDR_CHECK(ndr_push_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3145 break; }
3147 case 10: {
3148 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3149 break; }
3151 case 11: {
3152 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3153 break; }
3155 case 12: {
3156 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3157 break; }
3159 case 13: {
3160 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3161 break; }
3163 case 14: {
3164 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3165 break; }
3167 case 16: {
3168 NDR_CHECK(ndr_push_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3169 break; }
3171 case 17: {
3172 NDR_CHECK(ndr_push_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3173 break; }
3175 case 18: {
3176 NDR_CHECK(ndr_push_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3177 break; }
3179 case 20: {
3180 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3181 break; }
3183 case 21: {
3184 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3185 break; }
3187 case 23: {
3188 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3189 break; }
3191 case 24: {
3192 NDR_CHECK(ndr_push_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3193 break; }
3195 case 25: {
3196 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3197 break; }
3199 case 26: {
3200 NDR_CHECK(ndr_push_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3201 break; }
3203 default:
3204 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3207 if (ndr_flags & NDR_BUFFERS) {
3208 int level = ndr_push_get_switch_value(ndr, r);
3209 switch (level) {
3210 case 1:
3211 NDR_CHECK(ndr_push_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3212 break;
3214 case 2:
3215 NDR_CHECK(ndr_push_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3216 break;
3218 case 3:
3219 NDR_CHECK(ndr_push_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3220 break;
3222 case 4:
3223 NDR_CHECK(ndr_push_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3224 break;
3226 case 5:
3227 NDR_CHECK(ndr_push_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3228 break;
3230 case 6:
3231 NDR_CHECK(ndr_push_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3232 break;
3234 case 7:
3235 NDR_CHECK(ndr_push_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3236 break;
3238 case 8:
3239 NDR_CHECK(ndr_push_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3240 break;
3242 case 9:
3243 break;
3245 case 10:
3246 NDR_CHECK(ndr_push_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3247 break;
3249 case 11:
3250 NDR_CHECK(ndr_push_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3251 break;
3253 case 12:
3254 NDR_CHECK(ndr_push_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3255 break;
3257 case 13:
3258 NDR_CHECK(ndr_push_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3259 break;
3261 case 14:
3262 NDR_CHECK(ndr_push_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3263 break;
3265 case 16:
3266 break;
3268 case 17:
3269 break;
3271 case 18:
3272 break;
3274 case 20:
3275 NDR_CHECK(ndr_push_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3276 break;
3278 case 21:
3279 NDR_CHECK(ndr_push_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3280 break;
3282 case 23:
3283 NDR_CHECK(ndr_push_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3284 break;
3286 case 24:
3287 break;
3289 case 25:
3290 NDR_CHECK(ndr_push_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3291 break;
3293 case 26:
3294 break;
3296 default:
3297 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3300 return NDR_ERR_SUCCESS;
3303 static enum ndr_err_code ndr_pull_samr_UserInfo(struct ndr_pull *ndr, int ndr_flags, union samr_UserInfo *r)
3305 int level;
3306 uint16_t _level;
3307 level = ndr_pull_get_switch_value(ndr, r);
3308 if (ndr_flags & NDR_SCALARS) {
3309 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
3310 if (_level != level) {
3311 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3313 switch (level) {
3314 case 1: {
3315 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_SCALARS, &r->info1));
3316 break; }
3318 case 2: {
3319 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_SCALARS, &r->info2));
3320 break; }
3322 case 3: {
3323 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_SCALARS, &r->info3));
3324 break; }
3326 case 4: {
3327 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_SCALARS, &r->info4));
3328 break; }
3330 case 5: {
3331 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_SCALARS, &r->info5));
3332 break; }
3334 case 6: {
3335 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_SCALARS, &r->info6));
3336 break; }
3338 case 7: {
3339 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_SCALARS, &r->info7));
3340 break; }
3342 case 8: {
3343 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_SCALARS, &r->info8));
3344 break; }
3346 case 9: {
3347 NDR_CHECK(ndr_pull_samr_UserInfo9(ndr, NDR_SCALARS, &r->info9));
3348 break; }
3350 case 10: {
3351 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_SCALARS, &r->info10));
3352 break; }
3354 case 11: {
3355 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_SCALARS, &r->info11));
3356 break; }
3358 case 12: {
3359 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_SCALARS, &r->info12));
3360 break; }
3362 case 13: {
3363 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_SCALARS, &r->info13));
3364 break; }
3366 case 14: {
3367 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_SCALARS, &r->info14));
3368 break; }
3370 case 16: {
3371 NDR_CHECK(ndr_pull_samr_UserInfo16(ndr, NDR_SCALARS, &r->info16));
3372 break; }
3374 case 17: {
3375 NDR_CHECK(ndr_pull_samr_UserInfo17(ndr, NDR_SCALARS, &r->info17));
3376 break; }
3378 case 18: {
3379 NDR_CHECK(ndr_pull_samr_UserInfo18(ndr, NDR_SCALARS, &r->info18));
3380 break; }
3382 case 20: {
3383 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_SCALARS, &r->info20));
3384 break; }
3386 case 21: {
3387 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_SCALARS, &r->info21));
3388 break; }
3390 case 23: {
3391 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_SCALARS, &r->info23));
3392 break; }
3394 case 24: {
3395 NDR_CHECK(ndr_pull_samr_UserInfo24(ndr, NDR_SCALARS, &r->info24));
3396 break; }
3398 case 25: {
3399 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_SCALARS, &r->info25));
3400 break; }
3402 case 26: {
3403 NDR_CHECK(ndr_pull_samr_UserInfo26(ndr, NDR_SCALARS, &r->info26));
3404 break; }
3406 default:
3407 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3410 if (ndr_flags & NDR_BUFFERS) {
3411 switch (level) {
3412 case 1:
3413 NDR_CHECK(ndr_pull_samr_UserInfo1(ndr, NDR_BUFFERS, &r->info1));
3414 break;
3416 case 2:
3417 NDR_CHECK(ndr_pull_samr_UserInfo2(ndr, NDR_BUFFERS, &r->info2));
3418 break;
3420 case 3:
3421 NDR_CHECK(ndr_pull_samr_UserInfo3(ndr, NDR_BUFFERS, &r->info3));
3422 break;
3424 case 4:
3425 NDR_CHECK(ndr_pull_samr_UserInfo4(ndr, NDR_BUFFERS, &r->info4));
3426 break;
3428 case 5:
3429 NDR_CHECK(ndr_pull_samr_UserInfo5(ndr, NDR_BUFFERS, &r->info5));
3430 break;
3432 case 6:
3433 NDR_CHECK(ndr_pull_samr_UserInfo6(ndr, NDR_BUFFERS, &r->info6));
3434 break;
3436 case 7:
3437 NDR_CHECK(ndr_pull_samr_UserInfo7(ndr, NDR_BUFFERS, &r->info7));
3438 break;
3440 case 8:
3441 NDR_CHECK(ndr_pull_samr_UserInfo8(ndr, NDR_BUFFERS, &r->info8));
3442 break;
3444 case 9:
3445 break;
3447 case 10:
3448 NDR_CHECK(ndr_pull_samr_UserInfo10(ndr, NDR_BUFFERS, &r->info10));
3449 break;
3451 case 11:
3452 NDR_CHECK(ndr_pull_samr_UserInfo11(ndr, NDR_BUFFERS, &r->info11));
3453 break;
3455 case 12:
3456 NDR_CHECK(ndr_pull_samr_UserInfo12(ndr, NDR_BUFFERS, &r->info12));
3457 break;
3459 case 13:
3460 NDR_CHECK(ndr_pull_samr_UserInfo13(ndr, NDR_BUFFERS, &r->info13));
3461 break;
3463 case 14:
3464 NDR_CHECK(ndr_pull_samr_UserInfo14(ndr, NDR_BUFFERS, &r->info14));
3465 break;
3467 case 16:
3468 break;
3470 case 17:
3471 break;
3473 case 18:
3474 break;
3476 case 20:
3477 NDR_CHECK(ndr_pull_samr_UserInfo20(ndr, NDR_BUFFERS, &r->info20));
3478 break;
3480 case 21:
3481 NDR_CHECK(ndr_pull_samr_UserInfo21(ndr, NDR_BUFFERS, &r->info21));
3482 break;
3484 case 23:
3485 NDR_CHECK(ndr_pull_samr_UserInfo23(ndr, NDR_BUFFERS, &r->info23));
3486 break;
3488 case 24:
3489 break;
3491 case 25:
3492 NDR_CHECK(ndr_pull_samr_UserInfo25(ndr, NDR_BUFFERS, &r->info25));
3493 break;
3495 case 26:
3496 break;
3498 default:
3499 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3502 return NDR_ERR_SUCCESS;
3505 _PUBLIC_ void ndr_print_samr_UserInfo(struct ndr_print *ndr, const char *name, const union samr_UserInfo *r)
3507 int level;
3508 level = ndr_print_get_switch_value(ndr, r);
3509 ndr_print_union(ndr, name, level, "samr_UserInfo");
3510 switch (level) {
3511 case 1:
3512 ndr_print_samr_UserInfo1(ndr, "info1", &r->info1);
3513 break;
3515 case 2:
3516 ndr_print_samr_UserInfo2(ndr, "info2", &r->info2);
3517 break;
3519 case 3:
3520 ndr_print_samr_UserInfo3(ndr, "info3", &r->info3);
3521 break;
3523 case 4:
3524 ndr_print_samr_UserInfo4(ndr, "info4", &r->info4);
3525 break;
3527 case 5:
3528 ndr_print_samr_UserInfo5(ndr, "info5", &r->info5);
3529 break;
3531 case 6:
3532 ndr_print_samr_UserInfo6(ndr, "info6", &r->info6);
3533 break;
3535 case 7:
3536 ndr_print_samr_UserInfo7(ndr, "info7", &r->info7);
3537 break;
3539 case 8:
3540 ndr_print_samr_UserInfo8(ndr, "info8", &r->info8);
3541 break;
3543 case 9:
3544 ndr_print_samr_UserInfo9(ndr, "info9", &r->info9);
3545 break;
3547 case 10:
3548 ndr_print_samr_UserInfo10(ndr, "info10", &r->info10);
3549 break;
3551 case 11:
3552 ndr_print_samr_UserInfo11(ndr, "info11", &r->info11);
3553 break;
3555 case 12:
3556 ndr_print_samr_UserInfo12(ndr, "info12", &r->info12);
3557 break;
3559 case 13:
3560 ndr_print_samr_UserInfo13(ndr, "info13", &r->info13);
3561 break;
3563 case 14:
3564 ndr_print_samr_UserInfo14(ndr, "info14", &r->info14);
3565 break;
3567 case 16:
3568 ndr_print_samr_UserInfo16(ndr, "info16", &r->info16);
3569 break;
3571 case 17:
3572 ndr_print_samr_UserInfo17(ndr, "info17", &r->info17);
3573 break;
3575 case 18:
3576 ndr_print_samr_UserInfo18(ndr, "info18", &r->info18);
3577 break;
3579 case 20:
3580 ndr_print_samr_UserInfo20(ndr, "info20", &r->info20);
3581 break;
3583 case 21:
3584 ndr_print_samr_UserInfo21(ndr, "info21", &r->info21);
3585 break;
3587 case 23:
3588 ndr_print_samr_UserInfo23(ndr, "info23", &r->info23);
3589 break;
3591 case 24:
3592 ndr_print_samr_UserInfo24(ndr, "info24", &r->info24);
3593 break;
3595 case 25:
3596 ndr_print_samr_UserInfo25(ndr, "info25", &r->info25);
3597 break;
3599 case 26:
3600 ndr_print_samr_UserInfo26(ndr, "info26", &r->info26);
3601 break;
3603 default:
3604 ndr_print_bad_level(ndr, name, level);
3608 _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttribute(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttribute *r)
3610 if (ndr_flags & NDR_SCALARS) {
3611 NDR_CHECK(ndr_push_align(ndr, 4));
3612 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3613 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->attributes));
3615 if (ndr_flags & NDR_BUFFERS) {
3617 return NDR_ERR_SUCCESS;
3620 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttribute(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttribute *r)
3622 if (ndr_flags & NDR_SCALARS) {
3623 NDR_CHECK(ndr_pull_align(ndr, 4));
3624 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3625 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->attributes));
3627 if (ndr_flags & NDR_BUFFERS) {
3629 return NDR_ERR_SUCCESS;
3632 _PUBLIC_ void ndr_print_samr_RidWithAttribute(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttribute *r)
3634 ndr_print_struct(ndr, name, "samr_RidWithAttribute");
3635 ndr->depth++;
3636 ndr_print_uint32(ndr, "rid", r->rid);
3637 ndr_print_samr_GroupAttrs(ndr, "attributes", r->attributes);
3638 ndr->depth--;
3641 _PUBLIC_ enum ndr_err_code ndr_push_samr_RidWithAttributeArray(struct ndr_push *ndr, int ndr_flags, const struct samr_RidWithAttributeArray *r)
3643 uint32_t cntr_rids_1;
3644 if (ndr_flags & NDR_SCALARS) {
3645 NDR_CHECK(ndr_push_align(ndr, 4));
3646 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3647 NDR_CHECK(ndr_push_unique_ptr(ndr, r->rids));
3649 if (ndr_flags & NDR_BUFFERS) {
3650 if (r->rids) {
3651 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3652 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
3653 NDR_CHECK(ndr_push_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
3657 return NDR_ERR_SUCCESS;
3660 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RidWithAttributeArray(struct ndr_pull *ndr, int ndr_flags, struct samr_RidWithAttributeArray *r)
3662 uint32_t _ptr_rids;
3663 uint32_t cntr_rids_1;
3664 TALLOC_CTX *_mem_save_rids_0;
3665 TALLOC_CTX *_mem_save_rids_1;
3666 if (ndr_flags & NDR_SCALARS) {
3667 NDR_CHECK(ndr_pull_align(ndr, 4));
3668 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3669 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
3670 if (_ptr_rids) {
3671 NDR_PULL_ALLOC(ndr, r->rids);
3672 } else {
3673 r->rids = NULL;
3676 if (ndr_flags & NDR_BUFFERS) {
3677 if (r->rids) {
3678 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
3679 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3680 NDR_CHECK(ndr_pull_array_size(ndr, &r->rids));
3681 NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids));
3682 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
3683 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
3684 for (cntr_rids_1 = 0; cntr_rids_1 < r->count; cntr_rids_1++) {
3685 NDR_CHECK(ndr_pull_samr_RidWithAttribute(ndr, NDR_SCALARS, &r->rids[cntr_rids_1]));
3687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
3688 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
3690 if (r->rids) {
3691 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->count));
3694 return NDR_ERR_SUCCESS;
3697 _PUBLIC_ void ndr_print_samr_RidWithAttributeArray(struct ndr_print *ndr, const char *name, const struct samr_RidWithAttributeArray *r)
3699 uint32_t cntr_rids_1;
3700 ndr_print_struct(ndr, name, "samr_RidWithAttributeArray");
3701 ndr->depth++;
3702 ndr_print_uint32(ndr, "count", r->count);
3703 ndr_print_ptr(ndr, "rids", r->rids);
3704 ndr->depth++;
3705 if (r->rids) {
3706 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->count);
3707 ndr->depth++;
3708 for (cntr_rids_1=0;cntr_rids_1<r->count;cntr_rids_1++) {
3709 char *idx_1=NULL;
3710 if (asprintf(&idx_1, "[%d]", cntr_rids_1) != -1) {
3711 ndr_print_samr_RidWithAttribute(ndr, "rids", &r->rids[cntr_rids_1]);
3712 free(idx_1);
3715 ndr->depth--;
3717 ndr->depth--;
3718 ndr->depth--;
3721 static enum ndr_err_code ndr_push_samr_DispEntryGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryGeneral *r)
3723 if (ndr_flags & NDR_SCALARS) {
3724 NDR_CHECK(ndr_push_align(ndr, 4));
3725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
3726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3727 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
3728 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3729 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3730 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3732 if (ndr_flags & NDR_BUFFERS) {
3733 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3734 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3735 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3737 return NDR_ERR_SUCCESS;
3740 static enum ndr_err_code ndr_pull_samr_DispEntryGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryGeneral *r)
3742 if (ndr_flags & NDR_SCALARS) {
3743 NDR_CHECK(ndr_pull_align(ndr, 4));
3744 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
3745 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3746 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
3747 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3748 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3749 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->full_name));
3751 if (ndr_flags & NDR_BUFFERS) {
3752 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3753 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3754 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->full_name));
3756 return NDR_ERR_SUCCESS;
3759 _PUBLIC_ void ndr_print_samr_DispEntryGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispEntryGeneral *r)
3761 ndr_print_struct(ndr, name, "samr_DispEntryGeneral");
3762 ndr->depth++;
3763 ndr_print_uint32(ndr, "idx", r->idx);
3764 ndr_print_uint32(ndr, "rid", r->rid);
3765 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
3766 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
3767 ndr_print_lsa_String(ndr, "description", &r->description);
3768 ndr_print_lsa_String(ndr, "full_name", &r->full_name);
3769 ndr->depth--;
3772 static enum ndr_err_code ndr_push_samr_DispInfoGeneral(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoGeneral *r)
3774 uint32_t cntr_entries_1;
3775 if (ndr_flags & NDR_SCALARS) {
3776 NDR_CHECK(ndr_push_align(ndr, 4));
3777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3778 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
3780 if (ndr_flags & NDR_BUFFERS) {
3781 if (r->entries) {
3782 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3783 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3784 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
3786 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3787 NDR_CHECK(ndr_push_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
3791 return NDR_ERR_SUCCESS;
3794 static enum ndr_err_code ndr_pull_samr_DispInfoGeneral(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoGeneral *r)
3796 uint32_t _ptr_entries;
3797 uint32_t cntr_entries_1;
3798 TALLOC_CTX *_mem_save_entries_0;
3799 TALLOC_CTX *_mem_save_entries_1;
3800 if (ndr_flags & NDR_SCALARS) {
3801 NDR_CHECK(ndr_pull_align(ndr, 4));
3802 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3803 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
3804 if (_ptr_entries) {
3805 NDR_PULL_ALLOC(ndr, r->entries);
3806 } else {
3807 r->entries = NULL;
3810 if (ndr_flags & NDR_BUFFERS) {
3811 if (r->entries) {
3812 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
3813 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
3814 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
3815 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
3816 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
3817 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
3818 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3819 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
3821 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3822 NDR_CHECK(ndr_pull_samr_DispEntryGeneral(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
3824 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
3825 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
3827 if (r->entries) {
3828 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
3831 return NDR_ERR_SUCCESS;
3834 _PUBLIC_ void ndr_print_samr_DispInfoGeneral(struct ndr_print *ndr, const char *name, const struct samr_DispInfoGeneral *r)
3836 uint32_t cntr_entries_1;
3837 ndr_print_struct(ndr, name, "samr_DispInfoGeneral");
3838 ndr->depth++;
3839 ndr_print_uint32(ndr, "count", r->count);
3840 ndr_print_ptr(ndr, "entries", r->entries);
3841 ndr->depth++;
3842 if (r->entries) {
3843 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
3844 ndr->depth++;
3845 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
3846 char *idx_1=NULL;
3847 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
3848 ndr_print_samr_DispEntryGeneral(ndr, "entries", &r->entries[cntr_entries_1]);
3849 free(idx_1);
3852 ndr->depth--;
3854 ndr->depth--;
3855 ndr->depth--;
3858 static enum ndr_err_code ndr_push_samr_DispEntryFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFull *r)
3860 if (ndr_flags & NDR_SCALARS) {
3861 NDR_CHECK(ndr_push_align(ndr, 4));
3862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
3863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3864 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->acct_flags));
3865 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3866 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
3868 if (ndr_flags & NDR_BUFFERS) {
3869 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3870 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
3872 return NDR_ERR_SUCCESS;
3875 static enum ndr_err_code ndr_pull_samr_DispEntryFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFull *r)
3877 if (ndr_flags & NDR_SCALARS) {
3878 NDR_CHECK(ndr_pull_align(ndr, 4));
3879 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
3880 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
3881 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->acct_flags));
3882 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3883 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
3885 if (ndr_flags & NDR_BUFFERS) {
3886 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
3887 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
3889 return NDR_ERR_SUCCESS;
3892 _PUBLIC_ void ndr_print_samr_DispEntryFull(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFull *r)
3894 ndr_print_struct(ndr, name, "samr_DispEntryFull");
3895 ndr->depth++;
3896 ndr_print_uint32(ndr, "idx", r->idx);
3897 ndr_print_uint32(ndr, "rid", r->rid);
3898 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->acct_flags);
3899 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
3900 ndr_print_lsa_String(ndr, "description", &r->description);
3901 ndr->depth--;
3904 static enum ndr_err_code ndr_push_samr_DispInfoFull(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFull *r)
3906 uint32_t cntr_entries_1;
3907 if (ndr_flags & NDR_SCALARS) {
3908 NDR_CHECK(ndr_push_align(ndr, 4));
3909 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3910 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
3912 if (ndr_flags & NDR_BUFFERS) {
3913 if (r->entries) {
3914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
3915 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3916 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
3918 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3919 NDR_CHECK(ndr_push_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
3923 return NDR_ERR_SUCCESS;
3926 static enum ndr_err_code ndr_pull_samr_DispInfoFull(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFull *r)
3928 uint32_t _ptr_entries;
3929 uint32_t cntr_entries_1;
3930 TALLOC_CTX *_mem_save_entries_0;
3931 TALLOC_CTX *_mem_save_entries_1;
3932 if (ndr_flags & NDR_SCALARS) {
3933 NDR_CHECK(ndr_pull_align(ndr, 4));
3934 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
3935 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
3936 if (_ptr_entries) {
3937 NDR_PULL_ALLOC(ndr, r->entries);
3938 } else {
3939 r->entries = NULL;
3942 if (ndr_flags & NDR_BUFFERS) {
3943 if (r->entries) {
3944 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
3945 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
3946 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
3947 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
3948 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
3949 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
3950 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3951 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
3953 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
3954 NDR_CHECK(ndr_pull_samr_DispEntryFull(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
3956 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
3957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
3959 if (r->entries) {
3960 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
3963 return NDR_ERR_SUCCESS;
3966 _PUBLIC_ void ndr_print_samr_DispInfoFull(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFull *r)
3968 uint32_t cntr_entries_1;
3969 ndr_print_struct(ndr, name, "samr_DispInfoFull");
3970 ndr->depth++;
3971 ndr_print_uint32(ndr, "count", r->count);
3972 ndr_print_ptr(ndr, "entries", r->entries);
3973 ndr->depth++;
3974 if (r->entries) {
3975 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
3976 ndr->depth++;
3977 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
3978 char *idx_1=NULL;
3979 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
3980 ndr_print_samr_DispEntryFull(ndr, "entries", &r->entries[cntr_entries_1]);
3981 free(idx_1);
3984 ndr->depth--;
3986 ndr->depth--;
3987 ndr->depth--;
3990 static enum ndr_err_code ndr_push_samr_DispEntryFullGroup(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryFullGroup *r)
3992 if (ndr_flags & NDR_SCALARS) {
3993 NDR_CHECK(ndr_push_align(ndr, 4));
3994 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
3995 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
3996 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr, NDR_SCALARS, r->acct_flags));
3997 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account_name));
3998 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->description));
4000 if (ndr_flags & NDR_BUFFERS) {
4001 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4002 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->description));
4004 return NDR_ERR_SUCCESS;
4007 static enum ndr_err_code ndr_pull_samr_DispEntryFullGroup(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryFullGroup *r)
4009 if (ndr_flags & NDR_SCALARS) {
4010 NDR_CHECK(ndr_pull_align(ndr, 4));
4011 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4012 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4013 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr, NDR_SCALARS, &r->acct_flags));
4014 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account_name));
4015 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->description));
4017 if (ndr_flags & NDR_BUFFERS) {
4018 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account_name));
4019 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->description));
4021 return NDR_ERR_SUCCESS;
4024 _PUBLIC_ void ndr_print_samr_DispEntryFullGroup(struct ndr_print *ndr, const char *name, const struct samr_DispEntryFullGroup *r)
4026 ndr_print_struct(ndr, name, "samr_DispEntryFullGroup");
4027 ndr->depth++;
4028 ndr_print_uint32(ndr, "idx", r->idx);
4029 ndr_print_uint32(ndr, "rid", r->rid);
4030 ndr_print_samr_GroupAttrs(ndr, "acct_flags", r->acct_flags);
4031 ndr_print_lsa_String(ndr, "account_name", &r->account_name);
4032 ndr_print_lsa_String(ndr, "description", &r->description);
4033 ndr->depth--;
4036 static enum ndr_err_code ndr_push_samr_DispInfoFullGroups(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoFullGroups *r)
4038 uint32_t cntr_entries_1;
4039 if (ndr_flags & NDR_SCALARS) {
4040 NDR_CHECK(ndr_push_align(ndr, 4));
4041 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4042 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4044 if (ndr_flags & NDR_BUFFERS) {
4045 if (r->entries) {
4046 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4047 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4048 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4050 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4051 NDR_CHECK(ndr_push_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4055 return NDR_ERR_SUCCESS;
4058 static enum ndr_err_code ndr_pull_samr_DispInfoFullGroups(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoFullGroups *r)
4060 uint32_t _ptr_entries;
4061 uint32_t cntr_entries_1;
4062 TALLOC_CTX *_mem_save_entries_0;
4063 TALLOC_CTX *_mem_save_entries_1;
4064 if (ndr_flags & NDR_SCALARS) {
4065 NDR_CHECK(ndr_pull_align(ndr, 4));
4066 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4067 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4068 if (_ptr_entries) {
4069 NDR_PULL_ALLOC(ndr, r->entries);
4070 } else {
4071 r->entries = NULL;
4074 if (ndr_flags & NDR_BUFFERS) {
4075 if (r->entries) {
4076 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4077 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4078 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4079 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
4080 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4081 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4082 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4083 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4085 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4086 NDR_CHECK(ndr_pull_samr_DispEntryFullGroup(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4091 if (r->entries) {
4092 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4095 return NDR_ERR_SUCCESS;
4098 _PUBLIC_ void ndr_print_samr_DispInfoFullGroups(struct ndr_print *ndr, const char *name, const struct samr_DispInfoFullGroups *r)
4100 uint32_t cntr_entries_1;
4101 ndr_print_struct(ndr, name, "samr_DispInfoFullGroups");
4102 ndr->depth++;
4103 ndr_print_uint32(ndr, "count", r->count);
4104 ndr_print_ptr(ndr, "entries", r->entries);
4105 ndr->depth++;
4106 if (r->entries) {
4107 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4108 ndr->depth++;
4109 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4110 char *idx_1=NULL;
4111 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
4112 ndr_print_samr_DispEntryFullGroup(ndr, "entries", &r->entries[cntr_entries_1]);
4113 free(idx_1);
4116 ndr->depth--;
4118 ndr->depth--;
4119 ndr->depth--;
4122 static enum ndr_err_code ndr_push_samr_DispEntryAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispEntryAscii *r)
4124 if (ndr_flags & NDR_SCALARS) {
4125 NDR_CHECK(ndr_push_align(ndr, 4));
4126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->idx));
4127 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4129 if (ndr_flags & NDR_BUFFERS) {
4130 NDR_CHECK(ndr_push_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4132 return NDR_ERR_SUCCESS;
4135 static enum ndr_err_code ndr_pull_samr_DispEntryAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispEntryAscii *r)
4137 if (ndr_flags & NDR_SCALARS) {
4138 NDR_CHECK(ndr_pull_align(ndr, 4));
4139 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->idx));
4140 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_SCALARS, &r->account_name));
4142 if (ndr_flags & NDR_BUFFERS) {
4143 NDR_CHECK(ndr_pull_lsa_AsciiStringLarge(ndr, NDR_BUFFERS, &r->account_name));
4145 return NDR_ERR_SUCCESS;
4148 _PUBLIC_ void ndr_print_samr_DispEntryAscii(struct ndr_print *ndr, const char *name, const struct samr_DispEntryAscii *r)
4150 ndr_print_struct(ndr, name, "samr_DispEntryAscii");
4151 ndr->depth++;
4152 ndr_print_uint32(ndr, "idx", r->idx);
4153 ndr_print_lsa_AsciiStringLarge(ndr, "account_name", &r->account_name);
4154 ndr->depth--;
4157 static enum ndr_err_code ndr_push_samr_DispInfoAscii(struct ndr_push *ndr, int ndr_flags, const struct samr_DispInfoAscii *r)
4159 uint32_t cntr_entries_1;
4160 if (ndr_flags & NDR_SCALARS) {
4161 NDR_CHECK(ndr_push_align(ndr, 4));
4162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4163 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
4165 if (ndr_flags & NDR_BUFFERS) {
4166 if (r->entries) {
4167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4168 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4169 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4171 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4172 NDR_CHECK(ndr_push_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4176 return NDR_ERR_SUCCESS;
4179 static enum ndr_err_code ndr_pull_samr_DispInfoAscii(struct ndr_pull *ndr, int ndr_flags, struct samr_DispInfoAscii *r)
4181 uint32_t _ptr_entries;
4182 uint32_t cntr_entries_1;
4183 TALLOC_CTX *_mem_save_entries_0;
4184 TALLOC_CTX *_mem_save_entries_1;
4185 if (ndr_flags & NDR_SCALARS) {
4186 NDR_CHECK(ndr_pull_align(ndr, 4));
4187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4188 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
4189 if (_ptr_entries) {
4190 NDR_PULL_ALLOC(ndr, r->entries);
4191 } else {
4192 r->entries = NULL;
4195 if (ndr_flags & NDR_BUFFERS) {
4196 if (r->entries) {
4197 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
4198 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4199 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
4200 NDR_PULL_ALLOC_N(ndr, r->entries, ndr_get_array_size(ndr, &r->entries));
4201 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
4202 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
4203 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4204 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_SCALARS, &r->entries[cntr_entries_1]));
4206 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
4207 NDR_CHECK(ndr_pull_samr_DispEntryAscii(ndr, NDR_BUFFERS, &r->entries[cntr_entries_1]));
4209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
4210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
4212 if (r->entries) {
4213 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
4216 return NDR_ERR_SUCCESS;
4219 _PUBLIC_ void ndr_print_samr_DispInfoAscii(struct ndr_print *ndr, const char *name, const struct samr_DispInfoAscii *r)
4221 uint32_t cntr_entries_1;
4222 ndr_print_struct(ndr, name, "samr_DispInfoAscii");
4223 ndr->depth++;
4224 ndr_print_uint32(ndr, "count", r->count);
4225 ndr_print_ptr(ndr, "entries", r->entries);
4226 ndr->depth++;
4227 if (r->entries) {
4228 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
4229 ndr->depth++;
4230 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
4231 char *idx_1=NULL;
4232 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
4233 ndr_print_samr_DispEntryAscii(ndr, "entries", &r->entries[cntr_entries_1]);
4234 free(idx_1);
4237 ndr->depth--;
4239 ndr->depth--;
4240 ndr->depth--;
4243 static enum ndr_err_code ndr_push_samr_DispInfo(struct ndr_push *ndr, int ndr_flags, const union samr_DispInfo *r)
4245 if (ndr_flags & NDR_SCALARS) {
4246 int level = ndr_push_get_switch_value(ndr, r);
4247 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
4248 switch (level) {
4249 case 1: {
4250 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4251 break; }
4253 case 2: {
4254 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4255 break; }
4257 case 3: {
4258 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4259 break; }
4261 case 4: {
4262 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4263 break; }
4265 case 5: {
4266 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4267 break; }
4269 default:
4270 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4273 if (ndr_flags & NDR_BUFFERS) {
4274 int level = ndr_push_get_switch_value(ndr, r);
4275 switch (level) {
4276 case 1:
4277 NDR_CHECK(ndr_push_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4278 break;
4280 case 2:
4281 NDR_CHECK(ndr_push_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4282 break;
4284 case 3:
4285 NDR_CHECK(ndr_push_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4286 break;
4288 case 4:
4289 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4290 break;
4292 case 5:
4293 NDR_CHECK(ndr_push_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4294 break;
4296 default:
4297 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4300 return NDR_ERR_SUCCESS;
4303 static enum ndr_err_code ndr_pull_samr_DispInfo(struct ndr_pull *ndr, int ndr_flags, union samr_DispInfo *r)
4305 int level;
4306 uint16_t _level;
4307 level = ndr_pull_get_switch_value(ndr, r);
4308 if (ndr_flags & NDR_SCALARS) {
4309 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4310 if (_level != level) {
4311 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4313 switch (level) {
4314 case 1: {
4315 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_SCALARS, &r->info1));
4316 break; }
4318 case 2: {
4319 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_SCALARS, &r->info2));
4320 break; }
4322 case 3: {
4323 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_SCALARS, &r->info3));
4324 break; }
4326 case 4: {
4327 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info4));
4328 break; }
4330 case 5: {
4331 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_SCALARS, &r->info5));
4332 break; }
4334 default:
4335 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4338 if (ndr_flags & NDR_BUFFERS) {
4339 switch (level) {
4340 case 1:
4341 NDR_CHECK(ndr_pull_samr_DispInfoGeneral(ndr, NDR_BUFFERS, &r->info1));
4342 break;
4344 case 2:
4345 NDR_CHECK(ndr_pull_samr_DispInfoFull(ndr, NDR_BUFFERS, &r->info2));
4346 break;
4348 case 3:
4349 NDR_CHECK(ndr_pull_samr_DispInfoFullGroups(ndr, NDR_BUFFERS, &r->info3));
4350 break;
4352 case 4:
4353 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info4));
4354 break;
4356 case 5:
4357 NDR_CHECK(ndr_pull_samr_DispInfoAscii(ndr, NDR_BUFFERS, &r->info5));
4358 break;
4360 default:
4361 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4364 return NDR_ERR_SUCCESS;
4367 _PUBLIC_ void ndr_print_samr_DispInfo(struct ndr_print *ndr, const char *name, const union samr_DispInfo *r)
4369 int level;
4370 level = ndr_print_get_switch_value(ndr, r);
4371 ndr_print_union(ndr, name, level, "samr_DispInfo");
4372 switch (level) {
4373 case 1:
4374 ndr_print_samr_DispInfoGeneral(ndr, "info1", &r->info1);
4375 break;
4377 case 2:
4378 ndr_print_samr_DispInfoFull(ndr, "info2", &r->info2);
4379 break;
4381 case 3:
4382 ndr_print_samr_DispInfoFullGroups(ndr, "info3", &r->info3);
4383 break;
4385 case 4:
4386 ndr_print_samr_DispInfoAscii(ndr, "info4", &r->info4);
4387 break;
4389 case 5:
4390 ndr_print_samr_DispInfoAscii(ndr, "info5", &r->info5);
4391 break;
4393 default:
4394 ndr_print_bad_level(ndr, name, level);
4398 static enum ndr_err_code ndr_push_samr_PwInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_PwInfo *r)
4400 if (ndr_flags & NDR_SCALARS) {
4401 NDR_CHECK(ndr_push_align(ndr, 4));
4402 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->min_password_length));
4403 NDR_CHECK(ndr_push_samr_PasswordProperties(ndr, NDR_SCALARS, r->password_properties));
4405 if (ndr_flags & NDR_BUFFERS) {
4407 return NDR_ERR_SUCCESS;
4410 static enum ndr_err_code ndr_pull_samr_PwInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_PwInfo *r)
4412 if (ndr_flags & NDR_SCALARS) {
4413 NDR_CHECK(ndr_pull_align(ndr, 4));
4414 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->min_password_length));
4415 NDR_CHECK(ndr_pull_samr_PasswordProperties(ndr, NDR_SCALARS, &r->password_properties));
4417 if (ndr_flags & NDR_BUFFERS) {
4419 return NDR_ERR_SUCCESS;
4422 _PUBLIC_ void ndr_print_samr_PwInfo(struct ndr_print *ndr, const char *name, const struct samr_PwInfo *r)
4424 ndr_print_struct(ndr, name, "samr_PwInfo");
4425 ndr->depth++;
4426 ndr_print_uint16(ndr, "min_password_length", r->min_password_length);
4427 ndr_print_samr_PasswordProperties(ndr, "password_properties", r->password_properties);
4428 ndr->depth--;
4431 static enum ndr_err_code ndr_push_samr_ConnectVersion(struct ndr_push *ndr, int ndr_flags, enum samr_ConnectVersion r)
4433 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4434 return NDR_ERR_SUCCESS;
4437 static enum ndr_err_code ndr_pull_samr_ConnectVersion(struct ndr_pull *ndr, int ndr_flags, enum samr_ConnectVersion *r)
4439 uint32_t v;
4440 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4441 *r = v;
4442 return NDR_ERR_SUCCESS;
4445 _PUBLIC_ void ndr_print_samr_ConnectVersion(struct ndr_print *ndr, const char *name, enum samr_ConnectVersion r)
4447 const char *val = NULL;
4449 switch (r) {
4450 case SAMR_CONNECT_PRE_W2K: val = "SAMR_CONNECT_PRE_W2K"; break;
4451 case SAMR_CONNECT_W2K: val = "SAMR_CONNECT_W2K"; break;
4452 case SAMR_CONNECT_AFTER_W2K: val = "SAMR_CONNECT_AFTER_W2K"; break;
4454 ndr_print_enum(ndr, name, "ENUM", val, r);
4457 static enum ndr_err_code ndr_push_samr_ChangeReject(struct ndr_push *ndr, int ndr_flags, const struct samr_ChangeReject *r)
4459 if (ndr_flags & NDR_SCALARS) {
4460 NDR_CHECK(ndr_push_align(ndr, 4));
4461 NDR_CHECK(ndr_push_samr_RejectReason(ndr, NDR_SCALARS, r->reason));
4462 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
4463 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4465 if (ndr_flags & NDR_BUFFERS) {
4467 return NDR_ERR_SUCCESS;
4470 static enum ndr_err_code ndr_pull_samr_ChangeReject(struct ndr_pull *ndr, int ndr_flags, struct samr_ChangeReject *r)
4472 if (ndr_flags & NDR_SCALARS) {
4473 NDR_CHECK(ndr_pull_align(ndr, 4));
4474 NDR_CHECK(ndr_pull_samr_RejectReason(ndr, NDR_SCALARS, &r->reason));
4475 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
4476 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4478 if (ndr_flags & NDR_BUFFERS) {
4480 return NDR_ERR_SUCCESS;
4483 _PUBLIC_ void ndr_print_samr_ChangeReject(struct ndr_print *ndr, const char *name, const struct samr_ChangeReject *r)
4485 ndr_print_struct(ndr, name, "samr_ChangeReject");
4486 ndr->depth++;
4487 ndr_print_samr_RejectReason(ndr, "reason", r->reason);
4488 ndr_print_uint32(ndr, "unknown1", r->unknown1);
4489 ndr_print_uint32(ndr, "unknown2", r->unknown2);
4490 ndr->depth--;
4493 static enum ndr_err_code ndr_push_samr_ConnectInfo1(struct ndr_push *ndr, int ndr_flags, const struct samr_ConnectInfo1 *r)
4495 if (ndr_flags & NDR_SCALARS) {
4496 NDR_CHECK(ndr_push_align(ndr, 4));
4497 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->client_version));
4498 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
4500 if (ndr_flags & NDR_BUFFERS) {
4502 return NDR_ERR_SUCCESS;
4505 static enum ndr_err_code ndr_pull_samr_ConnectInfo1(struct ndr_pull *ndr, int ndr_flags, struct samr_ConnectInfo1 *r)
4507 if (ndr_flags & NDR_SCALARS) {
4508 NDR_CHECK(ndr_pull_align(ndr, 4));
4509 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->client_version));
4510 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
4512 if (ndr_flags & NDR_BUFFERS) {
4514 return NDR_ERR_SUCCESS;
4517 _PUBLIC_ void ndr_print_samr_ConnectInfo1(struct ndr_print *ndr, const char *name, const struct samr_ConnectInfo1 *r)
4519 ndr_print_struct(ndr, name, "samr_ConnectInfo1");
4520 ndr->depth++;
4521 ndr_print_samr_ConnectVersion(ndr, "client_version", r->client_version);
4522 ndr_print_uint32(ndr, "unknown2", r->unknown2);
4523 ndr->depth--;
4526 static enum ndr_err_code ndr_push_samr_ConnectInfo(struct ndr_push *ndr, int ndr_flags, const union samr_ConnectInfo *r)
4528 if (ndr_flags & NDR_SCALARS) {
4529 int level = ndr_push_get_switch_value(ndr, r);
4530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
4531 switch (level) {
4532 case 1: {
4533 NDR_CHECK(ndr_push_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
4534 break; }
4536 default:
4537 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4540 if (ndr_flags & NDR_BUFFERS) {
4541 int level = ndr_push_get_switch_value(ndr, r);
4542 switch (level) {
4543 case 1:
4544 break;
4546 default:
4547 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4550 return NDR_ERR_SUCCESS;
4553 static enum ndr_err_code ndr_pull_samr_ConnectInfo(struct ndr_pull *ndr, int ndr_flags, union samr_ConnectInfo *r)
4555 int level;
4556 uint32_t _level;
4557 level = ndr_pull_get_switch_value(ndr, r);
4558 if (ndr_flags & NDR_SCALARS) {
4559 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
4560 if (_level != level) {
4561 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4563 switch (level) {
4564 case 1: {
4565 NDR_CHECK(ndr_pull_samr_ConnectInfo1(ndr, NDR_SCALARS, &r->info1));
4566 break; }
4568 default:
4569 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4572 if (ndr_flags & NDR_BUFFERS) {
4573 switch (level) {
4574 case 1:
4575 break;
4577 default:
4578 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4581 return NDR_ERR_SUCCESS;
4584 _PUBLIC_ void ndr_print_samr_ConnectInfo(struct ndr_print *ndr, const char *name, const union samr_ConnectInfo *r)
4586 int level;
4587 level = ndr_print_get_switch_value(ndr, r);
4588 ndr_print_union(ndr, name, level, "samr_ConnectInfo");
4589 switch (level) {
4590 case 1:
4591 ndr_print_samr_ConnectInfo1(ndr, "info1", &r->info1);
4592 break;
4594 default:
4595 ndr_print_bad_level(ndr, name, level);
4599 static enum ndr_err_code ndr_push_samr_ValidateFieldsPresent(struct ndr_push *ndr, int ndr_flags, uint32_t r)
4601 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
4602 return NDR_ERR_SUCCESS;
4605 static enum ndr_err_code ndr_pull_samr_ValidateFieldsPresent(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
4607 uint32_t v;
4608 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
4609 *r = v;
4610 return NDR_ERR_SUCCESS;
4613 _PUBLIC_ void ndr_print_samr_ValidateFieldsPresent(struct ndr_print *ndr, const char *name, uint32_t r)
4615 ndr_print_uint32(ndr, name, r);
4616 ndr->depth++;
4617 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET, r);
4618 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME, r);
4619 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_LOCKOUT_TIME", SAMR_VALIDATE_FIELD_LOCKOUT_TIME, r);
4620 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT, r);
4621 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH, r);
4622 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", SAMR_VALIDATE_FIELD_PASSWORD_HISTORY, r);
4623 ndr->depth--;
4626 static enum ndr_err_code ndr_push_samr_ValidatePasswordLevel(struct ndr_push *ndr, int ndr_flags, enum samr_ValidatePasswordLevel r)
4628 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
4629 return NDR_ERR_SUCCESS;
4632 static enum ndr_err_code ndr_pull_samr_ValidatePasswordLevel(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidatePasswordLevel *r)
4634 uint16_t v;
4635 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
4636 *r = v;
4637 return NDR_ERR_SUCCESS;
4640 _PUBLIC_ void ndr_print_samr_ValidatePasswordLevel(struct ndr_print *ndr, const char *name, enum samr_ValidatePasswordLevel r)
4642 const char *val = NULL;
4644 switch (r) {
4645 case NetValidateAuthentication: val = "NetValidateAuthentication"; break;
4646 case NetValidatePasswordChange: val = "NetValidatePasswordChange"; break;
4647 case NetValidatePasswordReset: val = "NetValidatePasswordReset"; break;
4649 ndr_print_enum(ndr, name, "ENUM", val, r);
4652 static enum ndr_err_code ndr_push_samr_ValidationStatus(struct ndr_push *ndr, int ndr_flags, enum samr_ValidationStatus r)
4654 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
4655 return NDR_ERR_SUCCESS;
4658 static enum ndr_err_code ndr_pull_samr_ValidationStatus(struct ndr_pull *ndr, int ndr_flags, enum samr_ValidationStatus *r)
4660 uint16_t v;
4661 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
4662 *r = v;
4663 return NDR_ERR_SUCCESS;
4666 _PUBLIC_ void ndr_print_samr_ValidationStatus(struct ndr_print *ndr, const char *name, enum samr_ValidationStatus r)
4668 const char *val = NULL;
4670 switch (r) {
4671 case SAMR_VALIDATION_STATUS_SUCCESS: val = "SAMR_VALIDATION_STATUS_SUCCESS"; break;
4672 case SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE: val = "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE"; break;
4673 case SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT: val = "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT"; break;
4674 case SAMR_VALIDATION_STATUS_BAD_PASSWORD: val = "SAMR_VALIDATION_STATUS_BAD_PASSWORD"; break;
4675 case SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT: val = "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT"; break;
4676 case SAMR_VALIDATION_STATUS_PWD_TOO_SHORT: val = "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT"; break;
4677 case SAMR_VALIDATION_STATUS_PWD_TOO_LONG: val = "SAMR_VALIDATION_STATUS_PWD_TOO_LONG"; break;
4678 case SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH: val = "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH"; break;
4679 case SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT: val = "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT"; break;
4681 ndr_print_enum(ndr, name, "ENUM", val, r);
4684 static enum ndr_err_code ndr_push_samr_ValidationBlob(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidationBlob *r)
4686 if (ndr_flags & NDR_SCALARS) {
4687 NDR_CHECK(ndr_push_align(ndr, 4));
4688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4689 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
4691 if (ndr_flags & NDR_BUFFERS) {
4692 if (r->data) {
4693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4694 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
4697 return NDR_ERR_SUCCESS;
4700 static enum ndr_err_code ndr_pull_samr_ValidationBlob(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidationBlob *r)
4702 uint32_t _ptr_data;
4703 TALLOC_CTX *_mem_save_data_0;
4704 if (ndr_flags & NDR_SCALARS) {
4705 NDR_CHECK(ndr_pull_align(ndr, 4));
4706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
4707 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
4708 if (_ptr_data) {
4709 NDR_PULL_ALLOC(ndr, r->data);
4710 } else {
4711 r->data = NULL;
4714 if (ndr_flags & NDR_BUFFERS) {
4715 if (r->data) {
4716 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
4717 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
4718 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
4719 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
4720 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
4721 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
4723 if (r->data) {
4724 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
4727 return NDR_ERR_SUCCESS;
4730 _PUBLIC_ void ndr_print_samr_ValidationBlob(struct ndr_print *ndr, const char *name, const struct samr_ValidationBlob *r)
4732 ndr_print_struct(ndr, name, "samr_ValidationBlob");
4733 ndr->depth++;
4734 ndr_print_uint32(ndr, "length", r->length);
4735 ndr_print_ptr(ndr, "data", r->data);
4736 ndr->depth++;
4737 if (r->data) {
4738 ndr_print_array_uint8(ndr, "data", r->data, r->length);
4740 ndr->depth--;
4741 ndr->depth--;
4744 static enum ndr_err_code ndr_push_samr_ValidatePasswordInfo(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordInfo *r)
4746 uint32_t cntr_pwd_history_1;
4747 if (ndr_flags & NDR_SCALARS) {
4748 NDR_CHECK(ndr_push_align(ndr, 8));
4749 NDR_CHECK(ndr_push_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, r->fields_present));
4750 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_password_change));
4751 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->bad_password_time));
4752 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->lockout_time));
4753 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bad_pwd_count));
4754 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len));
4755 NDR_CHECK(ndr_push_unique_ptr(ndr, r->pwd_history));
4757 if (ndr_flags & NDR_BUFFERS) {
4758 if (r->pwd_history) {
4759 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pwd_history_len));
4760 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4761 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
4763 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4764 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
4768 return NDR_ERR_SUCCESS;
4771 static enum ndr_err_code ndr_pull_samr_ValidatePasswordInfo(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordInfo *r)
4773 uint32_t _ptr_pwd_history;
4774 uint32_t cntr_pwd_history_1;
4775 TALLOC_CTX *_mem_save_pwd_history_0;
4776 TALLOC_CTX *_mem_save_pwd_history_1;
4777 if (ndr_flags & NDR_SCALARS) {
4778 NDR_CHECK(ndr_pull_align(ndr, 8));
4779 NDR_CHECK(ndr_pull_samr_ValidateFieldsPresent(ndr, NDR_SCALARS, &r->fields_present));
4780 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_password_change));
4781 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->bad_password_time));
4782 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->lockout_time));
4783 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bad_pwd_count));
4784 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pwd_history_len));
4785 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_pwd_history));
4786 if (_ptr_pwd_history) {
4787 NDR_PULL_ALLOC(ndr, r->pwd_history);
4788 } else {
4789 r->pwd_history = NULL;
4792 if (ndr_flags & NDR_BUFFERS) {
4793 if (r->pwd_history) {
4794 _mem_save_pwd_history_0 = NDR_PULL_GET_MEM_CTX(ndr);
4795 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
4796 NDR_CHECK(ndr_pull_array_size(ndr, &r->pwd_history));
4797 NDR_PULL_ALLOC_N(ndr, r->pwd_history, ndr_get_array_size(ndr, &r->pwd_history));
4798 _mem_save_pwd_history_1 = NDR_PULL_GET_MEM_CTX(ndr);
4799 NDR_PULL_SET_MEM_CTX(ndr, r->pwd_history, 0);
4800 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4801 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->pwd_history[cntr_pwd_history_1]));
4803 for (cntr_pwd_history_1 = 0; cntr_pwd_history_1 < r->pwd_history_len; cntr_pwd_history_1++) {
4804 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->pwd_history[cntr_pwd_history_1]));
4806 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_1, 0);
4807 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_pwd_history_0, 0);
4809 if (r->pwd_history) {
4810 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->pwd_history, r->pwd_history_len));
4813 return NDR_ERR_SUCCESS;
4816 _PUBLIC_ void ndr_print_samr_ValidatePasswordInfo(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordInfo *r)
4818 uint32_t cntr_pwd_history_1;
4819 ndr_print_struct(ndr, name, "samr_ValidatePasswordInfo");
4820 ndr->depth++;
4821 ndr_print_samr_ValidateFieldsPresent(ndr, "fields_present", r->fields_present);
4822 ndr_print_NTTIME_hyper(ndr, "last_password_change", r->last_password_change);
4823 ndr_print_NTTIME_hyper(ndr, "bad_password_time", r->bad_password_time);
4824 ndr_print_NTTIME_hyper(ndr, "lockout_time", r->lockout_time);
4825 ndr_print_uint32(ndr, "bad_pwd_count", r->bad_pwd_count);
4826 ndr_print_uint32(ndr, "pwd_history_len", r->pwd_history_len);
4827 ndr_print_ptr(ndr, "pwd_history", r->pwd_history);
4828 ndr->depth++;
4829 if (r->pwd_history) {
4830 ndr->print(ndr, "%s: ARRAY(%d)", "pwd_history", (int)r->pwd_history_len);
4831 ndr->depth++;
4832 for (cntr_pwd_history_1=0;cntr_pwd_history_1<r->pwd_history_len;cntr_pwd_history_1++) {
4833 char *idx_1=NULL;
4834 if (asprintf(&idx_1, "[%d]", cntr_pwd_history_1) != -1) {
4835 ndr_print_samr_ValidationBlob(ndr, "pwd_history", &r->pwd_history[cntr_pwd_history_1]);
4836 free(idx_1);
4839 ndr->depth--;
4841 ndr->depth--;
4842 ndr->depth--;
4845 static enum ndr_err_code ndr_push_samr_ValidatePasswordRepCtr(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordRepCtr *r)
4847 if (ndr_flags & NDR_SCALARS) {
4848 NDR_CHECK(ndr_push_align(ndr, 8));
4849 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
4850 NDR_CHECK(ndr_push_samr_ValidationStatus(ndr, NDR_SCALARS, r->status));
4852 if (ndr_flags & NDR_BUFFERS) {
4853 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
4855 return NDR_ERR_SUCCESS;
4858 static enum ndr_err_code ndr_pull_samr_ValidatePasswordRepCtr(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordRepCtr *r)
4860 if (ndr_flags & NDR_SCALARS) {
4861 NDR_CHECK(ndr_pull_align(ndr, 8));
4862 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
4863 NDR_CHECK(ndr_pull_samr_ValidationStatus(ndr, NDR_SCALARS, &r->status));
4865 if (ndr_flags & NDR_BUFFERS) {
4866 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
4868 return NDR_ERR_SUCCESS;
4871 _PUBLIC_ void ndr_print_samr_ValidatePasswordRepCtr(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordRepCtr *r)
4873 ndr_print_struct(ndr, name, "samr_ValidatePasswordRepCtr");
4874 ndr->depth++;
4875 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
4876 ndr_print_samr_ValidationStatus(ndr, "status", r->status);
4877 ndr->depth--;
4880 static enum ndr_err_code ndr_push_samr_ValidatePasswordRep(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordRep *r)
4882 if (ndr_flags & NDR_SCALARS) {
4883 int level = ndr_push_get_switch_value(ndr, r);
4884 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
4885 switch (level) {
4886 case 1: {
4887 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
4888 break; }
4890 case 2: {
4891 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
4892 break; }
4894 case 3: {
4895 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
4896 break; }
4898 default:
4899 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4902 if (ndr_flags & NDR_BUFFERS) {
4903 int level = ndr_push_get_switch_value(ndr, r);
4904 switch (level) {
4905 case 1:
4906 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
4907 break;
4909 case 2:
4910 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
4911 break;
4913 case 3:
4914 NDR_CHECK(ndr_push_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
4915 break;
4917 default:
4918 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4921 return NDR_ERR_SUCCESS;
4924 static enum ndr_err_code ndr_pull_samr_ValidatePasswordRep(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordRep *r)
4926 int level;
4927 uint16_t _level;
4928 level = ndr_pull_get_switch_value(ndr, r);
4929 if (ndr_flags & NDR_SCALARS) {
4930 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4931 if (_level != level) {
4932 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
4934 switch (level) {
4935 case 1: {
4936 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr1));
4937 break; }
4939 case 2: {
4940 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr2));
4941 break; }
4943 case 3: {
4944 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_SCALARS, &r->ctr3));
4945 break; }
4947 default:
4948 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4951 if (ndr_flags & NDR_BUFFERS) {
4952 switch (level) {
4953 case 1:
4954 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr1));
4955 break;
4957 case 2:
4958 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr2));
4959 break;
4961 case 3:
4962 NDR_CHECK(ndr_pull_samr_ValidatePasswordRepCtr(ndr, NDR_BUFFERS, &r->ctr3));
4963 break;
4965 default:
4966 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
4969 return NDR_ERR_SUCCESS;
4972 _PUBLIC_ void ndr_print_samr_ValidatePasswordRep(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordRep *r)
4974 int level;
4975 level = ndr_print_get_switch_value(ndr, r);
4976 ndr_print_union(ndr, name, level, "samr_ValidatePasswordRep");
4977 switch (level) {
4978 case 1:
4979 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr1", &r->ctr1);
4980 break;
4982 case 2:
4983 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr2", &r->ctr2);
4984 break;
4986 case 3:
4987 ndr_print_samr_ValidatePasswordRepCtr(ndr, "ctr3", &r->ctr3);
4988 break;
4990 default:
4991 ndr_print_bad_level(ndr, name, level);
4995 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq3(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq3 *r)
4997 if (ndr_flags & NDR_SCALARS) {
4998 NDR_CHECK(ndr_push_align(ndr, 8));
4999 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5000 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5001 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5002 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5003 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pwd_must_change_at_next_logon));
5004 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->clear_lockout));
5006 if (ndr_flags & NDR_BUFFERS) {
5007 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5008 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5009 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5010 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5012 return NDR_ERR_SUCCESS;
5015 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq3(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq3 *r)
5017 if (ndr_flags & NDR_SCALARS) {
5018 NDR_CHECK(ndr_pull_align(ndr, 8));
5019 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5020 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5021 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5022 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5023 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pwd_must_change_at_next_logon));
5024 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->clear_lockout));
5026 if (ndr_flags & NDR_BUFFERS) {
5027 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5028 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5029 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5030 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5032 return NDR_ERR_SUCCESS;
5035 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq3(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq3 *r)
5037 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq3");
5038 ndr->depth++;
5039 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5040 ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5041 ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5042 ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5043 ndr_print_uint8(ndr, "pwd_must_change_at_next_logon", r->pwd_must_change_at_next_logon);
5044 ndr_print_uint8(ndr, "clear_lockout", r->clear_lockout);
5045 ndr->depth--;
5048 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq2(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq2 *r)
5050 if (ndr_flags & NDR_SCALARS) {
5051 NDR_CHECK(ndr_push_align(ndr, 8));
5052 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5053 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5054 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5055 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5056 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5058 if (ndr_flags & NDR_BUFFERS) {
5059 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5060 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5061 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5062 NDR_CHECK(ndr_push_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5064 return NDR_ERR_SUCCESS;
5067 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq2(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq2 *r)
5069 if (ndr_flags & NDR_SCALARS) {
5070 NDR_CHECK(ndr_pull_align(ndr, 8));
5071 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5072 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->password));
5073 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->account));
5074 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_SCALARS, &r->hash));
5075 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5077 if (ndr_flags & NDR_BUFFERS) {
5078 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5079 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->password));
5080 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->account));
5081 NDR_CHECK(ndr_pull_samr_ValidationBlob(ndr, NDR_BUFFERS, &r->hash));
5083 return NDR_ERR_SUCCESS;
5086 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq2(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq2 *r)
5088 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq2");
5089 ndr->depth++;
5090 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5091 ndr_print_lsa_StringLarge(ndr, "password", &r->password);
5092 ndr_print_lsa_StringLarge(ndr, "account", &r->account);
5093 ndr_print_samr_ValidationBlob(ndr, "hash", &r->hash);
5094 ndr_print_uint8(ndr, "password_matched", r->password_matched);
5095 ndr->depth--;
5098 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq1(struct ndr_push *ndr, int ndr_flags, const struct samr_ValidatePasswordReq1 *r)
5100 if (ndr_flags & NDR_SCALARS) {
5101 NDR_CHECK(ndr_push_align(ndr, 8));
5102 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5103 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->password_matched));
5105 if (ndr_flags & NDR_BUFFERS) {
5106 NDR_CHECK(ndr_push_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5108 return NDR_ERR_SUCCESS;
5111 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq1(struct ndr_pull *ndr, int ndr_flags, struct samr_ValidatePasswordReq1 *r)
5113 if (ndr_flags & NDR_SCALARS) {
5114 NDR_CHECK(ndr_pull_align(ndr, 8));
5115 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_SCALARS, &r->info));
5116 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->password_matched));
5118 if (ndr_flags & NDR_BUFFERS) {
5119 NDR_CHECK(ndr_pull_samr_ValidatePasswordInfo(ndr, NDR_BUFFERS, &r->info));
5121 return NDR_ERR_SUCCESS;
5124 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq1(struct ndr_print *ndr, const char *name, const struct samr_ValidatePasswordReq1 *r)
5126 ndr_print_struct(ndr, name, "samr_ValidatePasswordReq1");
5127 ndr->depth++;
5128 ndr_print_samr_ValidatePasswordInfo(ndr, "info", &r->info);
5129 ndr_print_uint8(ndr, "password_matched", r->password_matched);
5130 ndr->depth--;
5133 static enum ndr_err_code ndr_push_samr_ValidatePasswordReq(struct ndr_push *ndr, int ndr_flags, const union samr_ValidatePasswordReq *r)
5135 if (ndr_flags & NDR_SCALARS) {
5136 int level = ndr_push_get_switch_value(ndr, r);
5137 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
5138 switch (level) {
5139 case 1: {
5140 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5141 break; }
5143 case 2: {
5144 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5145 break; }
5147 case 3: {
5148 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5149 break; }
5151 default:
5152 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5155 if (ndr_flags & NDR_BUFFERS) {
5156 int level = ndr_push_get_switch_value(ndr, r);
5157 switch (level) {
5158 case 1:
5159 NDR_CHECK(ndr_push_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5160 break;
5162 case 2:
5163 NDR_CHECK(ndr_push_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5164 break;
5166 case 3:
5167 NDR_CHECK(ndr_push_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5168 break;
5170 default:
5171 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5174 return NDR_ERR_SUCCESS;
5177 static enum ndr_err_code ndr_pull_samr_ValidatePasswordReq(struct ndr_pull *ndr, int ndr_flags, union samr_ValidatePasswordReq *r)
5179 int level;
5180 uint16_t _level;
5181 level = ndr_pull_get_switch_value(ndr, r);
5182 if (ndr_flags & NDR_SCALARS) {
5183 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
5184 if (_level != level) {
5185 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
5187 switch (level) {
5188 case 1: {
5189 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_SCALARS, &r->req1));
5190 break; }
5192 case 2: {
5193 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_SCALARS, &r->req2));
5194 break; }
5196 case 3: {
5197 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_SCALARS, &r->req3));
5198 break; }
5200 default:
5201 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5204 if (ndr_flags & NDR_BUFFERS) {
5205 switch (level) {
5206 case 1:
5207 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq1(ndr, NDR_BUFFERS, &r->req1));
5208 break;
5210 case 2:
5211 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq2(ndr, NDR_BUFFERS, &r->req2));
5212 break;
5214 case 3:
5215 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq3(ndr, NDR_BUFFERS, &r->req3));
5216 break;
5218 default:
5219 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
5222 return NDR_ERR_SUCCESS;
5225 _PUBLIC_ void ndr_print_samr_ValidatePasswordReq(struct ndr_print *ndr, const char *name, const union samr_ValidatePasswordReq *r)
5227 int level;
5228 level = ndr_print_get_switch_value(ndr, r);
5229 ndr_print_union(ndr, name, level, "samr_ValidatePasswordReq");
5230 switch (level) {
5231 case 1:
5232 ndr_print_samr_ValidatePasswordReq1(ndr, "req1", &r->req1);
5233 break;
5235 case 2:
5236 ndr_print_samr_ValidatePasswordReq2(ndr, "req2", &r->req2);
5237 break;
5239 case 3:
5240 ndr_print_samr_ValidatePasswordReq3(ndr, "req3", &r->req3);
5241 break;
5243 default:
5244 ndr_print_bad_level(ndr, name, level);
5248 static enum ndr_err_code ndr_push_samr_Connect(struct ndr_push *ndr, int flags, const struct samr_Connect *r)
5250 if (flags & NDR_IN) {
5251 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
5252 if (r->in.system_name) {
5253 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
5255 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
5257 if (flags & NDR_OUT) {
5258 if (r->out.connect_handle == NULL) {
5259 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5261 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5262 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5264 return NDR_ERR_SUCCESS;
5267 static enum ndr_err_code ndr_pull_samr_Connect(struct ndr_pull *ndr, int flags, struct samr_Connect *r)
5269 uint32_t _ptr_system_name;
5270 TALLOC_CTX *_mem_save_system_name_0;
5271 TALLOC_CTX *_mem_save_connect_handle_0;
5272 if (flags & NDR_IN) {
5273 ZERO_STRUCT(r->out);
5275 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
5276 if (_ptr_system_name) {
5277 NDR_PULL_ALLOC(ndr, r->in.system_name);
5278 } else {
5279 r->in.system_name = NULL;
5281 if (r->in.system_name) {
5282 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5283 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
5284 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
5285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
5287 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
5288 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5289 ZERO_STRUCTP(r->out.connect_handle);
5291 if (flags & NDR_OUT) {
5292 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5293 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
5295 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5296 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5297 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
5298 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5299 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5301 return NDR_ERR_SUCCESS;
5304 _PUBLIC_ void ndr_print_samr_Connect(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect *r)
5306 ndr_print_struct(ndr, name, "samr_Connect");
5307 ndr->depth++;
5308 if (flags & NDR_SET_VALUES) {
5309 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5311 if (flags & NDR_IN) {
5312 ndr_print_struct(ndr, "in", "samr_Connect");
5313 ndr->depth++;
5314 ndr_print_ptr(ndr, "system_name", r->in.system_name);
5315 ndr->depth++;
5316 if (r->in.system_name) {
5317 ndr_print_uint16(ndr, "system_name", *r->in.system_name);
5319 ndr->depth--;
5320 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
5321 ndr->depth--;
5323 if (flags & NDR_OUT) {
5324 ndr_print_struct(ndr, "out", "samr_Connect");
5325 ndr->depth++;
5326 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
5327 ndr->depth++;
5328 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
5329 ndr->depth--;
5330 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5331 ndr->depth--;
5333 ndr->depth--;
5336 _PUBLIC_ enum ndr_err_code ndr_push_samr_Close(struct ndr_push *ndr, int flags, const struct samr_Close *r)
5338 if (flags & NDR_IN) {
5339 if (r->in.handle == NULL) {
5340 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5342 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5344 if (flags & NDR_OUT) {
5345 if (r->out.handle == NULL) {
5346 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5348 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5349 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5351 return NDR_ERR_SUCCESS;
5354 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Close(struct ndr_pull *ndr, int flags, struct samr_Close *r)
5356 TALLOC_CTX *_mem_save_handle_0;
5357 if (flags & NDR_IN) {
5358 ZERO_STRUCT(r->out);
5360 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5361 NDR_PULL_ALLOC(ndr, r->in.handle);
5363 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5364 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5365 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5367 NDR_PULL_ALLOC(ndr, r->out.handle);
5368 *r->out.handle = *r->in.handle;
5370 if (flags & NDR_OUT) {
5371 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5372 NDR_PULL_ALLOC(ndr, r->out.handle);
5374 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5375 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
5376 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5378 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5380 return NDR_ERR_SUCCESS;
5383 _PUBLIC_ void ndr_print_samr_Close(struct ndr_print *ndr, const char *name, int flags, const struct samr_Close *r)
5385 ndr_print_struct(ndr, name, "samr_Close");
5386 ndr->depth++;
5387 if (flags & NDR_SET_VALUES) {
5388 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5390 if (flags & NDR_IN) {
5391 ndr_print_struct(ndr, "in", "samr_Close");
5392 ndr->depth++;
5393 ndr_print_ptr(ndr, "handle", r->in.handle);
5394 ndr->depth++;
5395 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5396 ndr->depth--;
5397 ndr->depth--;
5399 if (flags & NDR_OUT) {
5400 ndr_print_struct(ndr, "out", "samr_Close");
5401 ndr->depth++;
5402 ndr_print_ptr(ndr, "handle", r->out.handle);
5403 ndr->depth++;
5404 ndr_print_policy_handle(ndr, "handle", r->out.handle);
5405 ndr->depth--;
5406 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5407 ndr->depth--;
5409 ndr->depth--;
5412 static enum ndr_err_code ndr_push_samr_SetSecurity(struct ndr_push *ndr, int flags, const struct samr_SetSecurity *r)
5414 if (flags & NDR_IN) {
5415 if (r->in.handle == NULL) {
5416 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5418 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5419 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
5420 if (r->in.sdbuf == NULL) {
5421 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5423 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5425 if (flags & NDR_OUT) {
5426 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5428 return NDR_ERR_SUCCESS;
5431 static enum ndr_err_code ndr_pull_samr_SetSecurity(struct ndr_pull *ndr, int flags, struct samr_SetSecurity *r)
5433 TALLOC_CTX *_mem_save_handle_0;
5434 TALLOC_CTX *_mem_save_sdbuf_0;
5435 if (flags & NDR_IN) {
5436 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5437 NDR_PULL_ALLOC(ndr, r->in.handle);
5439 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5440 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5441 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5443 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
5444 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5445 NDR_PULL_ALLOC(ndr, r->in.sdbuf);
5447 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
5448 NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC);
5449 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5450 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
5452 if (flags & NDR_OUT) {
5453 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5455 return NDR_ERR_SUCCESS;
5458 _PUBLIC_ void ndr_print_samr_SetSecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetSecurity *r)
5460 ndr_print_struct(ndr, name, "samr_SetSecurity");
5461 ndr->depth++;
5462 if (flags & NDR_SET_VALUES) {
5463 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5465 if (flags & NDR_IN) {
5466 ndr_print_struct(ndr, "in", "samr_SetSecurity");
5467 ndr->depth++;
5468 ndr_print_ptr(ndr, "handle", r->in.handle);
5469 ndr->depth++;
5470 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5471 ndr->depth--;
5472 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
5473 ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf);
5474 ndr->depth++;
5475 ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf);
5476 ndr->depth--;
5477 ndr->depth--;
5479 if (flags & NDR_OUT) {
5480 ndr_print_struct(ndr, "out", "samr_SetSecurity");
5481 ndr->depth++;
5482 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5483 ndr->depth--;
5485 ndr->depth--;
5488 static enum ndr_err_code ndr_push_samr_QuerySecurity(struct ndr_push *ndr, int flags, const struct samr_QuerySecurity *r)
5490 if (flags & NDR_IN) {
5491 if (r->in.handle == NULL) {
5492 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5494 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5495 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
5497 if (flags & NDR_OUT) {
5498 if (r->out.sdbuf == NULL) {
5499 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5501 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf));
5502 if (*r->out.sdbuf) {
5503 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
5505 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5507 return NDR_ERR_SUCCESS;
5510 static enum ndr_err_code ndr_pull_samr_QuerySecurity(struct ndr_pull *ndr, int flags, struct samr_QuerySecurity *r)
5512 uint32_t _ptr_sdbuf;
5513 TALLOC_CTX *_mem_save_handle_0;
5514 TALLOC_CTX *_mem_save_sdbuf_0;
5515 TALLOC_CTX *_mem_save_sdbuf_1;
5516 if (flags & NDR_IN) {
5517 ZERO_STRUCT(r->out);
5519 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5520 NDR_PULL_ALLOC(ndr, r->in.handle);
5522 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5523 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5524 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5525 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5526 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
5527 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
5528 ZERO_STRUCTP(r->out.sdbuf);
5530 if (flags & NDR_OUT) {
5531 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5532 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
5534 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
5535 NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC);
5536 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf));
5537 if (_ptr_sdbuf) {
5538 NDR_PULL_ALLOC(ndr, *r->out.sdbuf);
5539 } else {
5540 *r->out.sdbuf = NULL;
5542 if (*r->out.sdbuf) {
5543 _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr);
5544 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0);
5545 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
5546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0);
5548 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
5549 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5551 return NDR_ERR_SUCCESS;
5554 _PUBLIC_ void ndr_print_samr_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct samr_QuerySecurity *r)
5556 ndr_print_struct(ndr, name, "samr_QuerySecurity");
5557 ndr->depth++;
5558 if (flags & NDR_SET_VALUES) {
5559 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5561 if (flags & NDR_IN) {
5562 ndr_print_struct(ndr, "in", "samr_QuerySecurity");
5563 ndr->depth++;
5564 ndr_print_ptr(ndr, "handle", r->in.handle);
5565 ndr->depth++;
5566 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5567 ndr->depth--;
5568 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
5569 ndr->depth--;
5571 if (flags & NDR_OUT) {
5572 ndr_print_struct(ndr, "out", "samr_QuerySecurity");
5573 ndr->depth++;
5574 ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf);
5575 ndr->depth++;
5576 ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf);
5577 ndr->depth++;
5578 if (*r->out.sdbuf) {
5579 ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf);
5581 ndr->depth--;
5582 ndr->depth--;
5583 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5584 ndr->depth--;
5586 ndr->depth--;
5589 static enum ndr_err_code ndr_push_samr_Shutdown(struct ndr_push *ndr, int flags, const struct samr_Shutdown *r)
5591 if (flags & NDR_IN) {
5592 if (r->in.connect_handle == NULL) {
5593 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5595 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5597 if (flags & NDR_OUT) {
5598 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5600 return NDR_ERR_SUCCESS;
5603 static enum ndr_err_code ndr_pull_samr_Shutdown(struct ndr_pull *ndr, int flags, struct samr_Shutdown *r)
5605 TALLOC_CTX *_mem_save_connect_handle_0;
5606 if (flags & NDR_IN) {
5607 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5608 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5610 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5611 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5612 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5613 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5615 if (flags & NDR_OUT) {
5616 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5618 return NDR_ERR_SUCCESS;
5621 _PUBLIC_ void ndr_print_samr_Shutdown(struct ndr_print *ndr, const char *name, int flags, const struct samr_Shutdown *r)
5623 ndr_print_struct(ndr, name, "samr_Shutdown");
5624 ndr->depth++;
5625 if (flags & NDR_SET_VALUES) {
5626 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5628 if (flags & NDR_IN) {
5629 ndr_print_struct(ndr, "in", "samr_Shutdown");
5630 ndr->depth++;
5631 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
5632 ndr->depth++;
5633 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
5634 ndr->depth--;
5635 ndr->depth--;
5637 if (flags & NDR_OUT) {
5638 ndr_print_struct(ndr, "out", "samr_Shutdown");
5639 ndr->depth++;
5640 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5641 ndr->depth--;
5643 ndr->depth--;
5646 static enum ndr_err_code ndr_push_samr_LookupDomain(struct ndr_push *ndr, int flags, const struct samr_LookupDomain *r)
5648 if (flags & NDR_IN) {
5649 if (r->in.connect_handle == NULL) {
5650 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5652 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5653 if (r->in.domain_name == NULL) {
5654 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5656 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
5658 if (flags & NDR_OUT) {
5659 if (r->out.sid == NULL) {
5660 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5662 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sid));
5663 if (*r->out.sid) {
5664 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
5666 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5668 return NDR_ERR_SUCCESS;
5671 static enum ndr_err_code ndr_pull_samr_LookupDomain(struct ndr_pull *ndr, int flags, struct samr_LookupDomain *r)
5673 uint32_t _ptr_sid;
5674 TALLOC_CTX *_mem_save_connect_handle_0;
5675 TALLOC_CTX *_mem_save_domain_name_0;
5676 TALLOC_CTX *_mem_save_sid_0;
5677 TALLOC_CTX *_mem_save_sid_1;
5678 if (flags & NDR_IN) {
5679 ZERO_STRUCT(r->out);
5681 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5682 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5684 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5685 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5686 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5687 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5688 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5689 NDR_PULL_ALLOC(ndr, r->in.domain_name);
5691 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5692 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, LIBNDR_FLAG_REF_ALLOC);
5693 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
5694 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
5695 NDR_PULL_ALLOC(ndr, r->out.sid);
5696 ZERO_STRUCTP(r->out.sid);
5698 if (flags & NDR_OUT) {
5699 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5700 NDR_PULL_ALLOC(ndr, r->out.sid);
5702 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5703 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
5704 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
5705 if (_ptr_sid) {
5706 NDR_PULL_ALLOC(ndr, *r->out.sid);
5707 } else {
5708 *r->out.sid = NULL;
5710 if (*r->out.sid) {
5711 _mem_save_sid_1 = NDR_PULL_GET_MEM_CTX(ndr);
5712 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sid, 0);
5713 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sid));
5714 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_1, 0);
5716 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
5717 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5719 return NDR_ERR_SUCCESS;
5722 _PUBLIC_ void ndr_print_samr_LookupDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupDomain *r)
5724 ndr_print_struct(ndr, name, "samr_LookupDomain");
5725 ndr->depth++;
5726 if (flags & NDR_SET_VALUES) {
5727 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5729 if (flags & NDR_IN) {
5730 ndr_print_struct(ndr, "in", "samr_LookupDomain");
5731 ndr->depth++;
5732 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
5733 ndr->depth++;
5734 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
5735 ndr->depth--;
5736 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
5737 ndr->depth++;
5738 ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
5739 ndr->depth--;
5740 ndr->depth--;
5742 if (flags & NDR_OUT) {
5743 ndr_print_struct(ndr, "out", "samr_LookupDomain");
5744 ndr->depth++;
5745 ndr_print_ptr(ndr, "sid", r->out.sid);
5746 ndr->depth++;
5747 ndr_print_ptr(ndr, "sid", *r->out.sid);
5748 ndr->depth++;
5749 if (*r->out.sid) {
5750 ndr_print_dom_sid2(ndr, "sid", *r->out.sid);
5752 ndr->depth--;
5753 ndr->depth--;
5754 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5755 ndr->depth--;
5757 ndr->depth--;
5760 static enum ndr_err_code ndr_push_samr_EnumDomains(struct ndr_push *ndr, int flags, const struct samr_EnumDomains *r)
5762 if (flags & NDR_IN) {
5763 if (r->in.connect_handle == NULL) {
5764 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5766 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5767 if (r->in.resume_handle == NULL) {
5768 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
5771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
5773 if (flags & NDR_OUT) {
5774 if (r->out.resume_handle == NULL) {
5775 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
5778 if (r->out.sam == NULL) {
5779 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5781 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
5782 if (*r->out.sam) {
5783 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
5785 if (r->out.num_entries == NULL) {
5786 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5788 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
5789 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5791 return NDR_ERR_SUCCESS;
5794 static enum ndr_err_code ndr_pull_samr_EnumDomains(struct ndr_pull *ndr, int flags, struct samr_EnumDomains *r)
5796 uint32_t _ptr_sam;
5797 TALLOC_CTX *_mem_save_connect_handle_0;
5798 TALLOC_CTX *_mem_save_resume_handle_0;
5799 TALLOC_CTX *_mem_save_sam_0;
5800 TALLOC_CTX *_mem_save_sam_1;
5801 TALLOC_CTX *_mem_save_num_entries_0;
5802 if (flags & NDR_IN) {
5803 ZERO_STRUCT(r->out);
5805 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5806 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5808 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5809 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5810 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5811 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5812 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5813 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
5815 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5816 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
5817 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
5818 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
5819 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
5820 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
5821 *r->out.resume_handle = *r->in.resume_handle;
5822 NDR_PULL_ALLOC(ndr, r->out.sam);
5823 ZERO_STRUCTP(r->out.sam);
5824 NDR_PULL_ALLOC(ndr, r->out.num_entries);
5825 ZERO_STRUCTP(r->out.num_entries);
5827 if (flags & NDR_OUT) {
5828 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5829 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
5831 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5832 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
5833 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
5834 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
5835 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5836 NDR_PULL_ALLOC(ndr, r->out.sam);
5838 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
5839 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
5840 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
5841 if (_ptr_sam) {
5842 NDR_PULL_ALLOC(ndr, *r->out.sam);
5843 } else {
5844 *r->out.sam = NULL;
5846 if (*r->out.sam) {
5847 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
5848 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
5849 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
5850 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
5852 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
5853 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5854 NDR_PULL_ALLOC(ndr, r->out.num_entries);
5856 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
5857 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
5858 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
5859 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
5860 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5862 return NDR_ERR_SUCCESS;
5865 _PUBLIC_ void ndr_print_samr_EnumDomains(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomains *r)
5867 ndr_print_struct(ndr, name, "samr_EnumDomains");
5868 ndr->depth++;
5869 if (flags & NDR_SET_VALUES) {
5870 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5872 if (flags & NDR_IN) {
5873 ndr_print_struct(ndr, "in", "samr_EnumDomains");
5874 ndr->depth++;
5875 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
5876 ndr->depth++;
5877 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
5878 ndr->depth--;
5879 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
5880 ndr->depth++;
5881 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
5882 ndr->depth--;
5883 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
5884 ndr->depth--;
5886 if (flags & NDR_OUT) {
5887 ndr_print_struct(ndr, "out", "samr_EnumDomains");
5888 ndr->depth++;
5889 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
5890 ndr->depth++;
5891 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
5892 ndr->depth--;
5893 ndr_print_ptr(ndr, "sam", r->out.sam);
5894 ndr->depth++;
5895 ndr_print_ptr(ndr, "sam", *r->out.sam);
5896 ndr->depth++;
5897 if (*r->out.sam) {
5898 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
5900 ndr->depth--;
5901 ndr->depth--;
5902 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
5903 ndr->depth++;
5904 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
5905 ndr->depth--;
5906 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5907 ndr->depth--;
5909 ndr->depth--;
5912 _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenDomain(struct ndr_push *ndr, int flags, const struct samr_OpenDomain *r)
5914 if (flags & NDR_IN) {
5915 if (r->in.connect_handle == NULL) {
5916 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5918 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5919 NDR_CHECK(ndr_push_samr_DomainAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
5920 if (r->in.sid == NULL) {
5921 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5923 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
5925 if (flags & NDR_OUT) {
5926 if (r->out.domain_handle == NULL) {
5927 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5929 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
5930 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5932 return NDR_ERR_SUCCESS;
5935 _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenDomain(struct ndr_pull *ndr, int flags, struct samr_OpenDomain *r)
5937 TALLOC_CTX *_mem_save_connect_handle_0;
5938 TALLOC_CTX *_mem_save_sid_0;
5939 TALLOC_CTX *_mem_save_domain_handle_0;
5940 if (flags & NDR_IN) {
5941 ZERO_STRUCT(r->out);
5943 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5944 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
5946 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5947 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
5948 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
5949 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
5950 NDR_CHECK(ndr_pull_samr_DomainAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
5951 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5952 NDR_PULL_ALLOC(ndr, r->in.sid);
5954 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5955 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
5956 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
5957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
5958 NDR_PULL_ALLOC(ndr, r->out.domain_handle);
5959 ZERO_STRUCTP(r->out.domain_handle);
5961 if (flags & NDR_OUT) {
5962 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5963 NDR_PULL_ALLOC(ndr, r->out.domain_handle);
5965 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5966 NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_handle, LIBNDR_FLAG_REF_ALLOC);
5967 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.domain_handle));
5968 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
5969 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5971 return NDR_ERR_SUCCESS;
5974 _PUBLIC_ void ndr_print_samr_OpenDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenDomain *r)
5976 ndr_print_struct(ndr, name, "samr_OpenDomain");
5977 ndr->depth++;
5978 if (flags & NDR_SET_VALUES) {
5979 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5981 if (flags & NDR_IN) {
5982 ndr_print_struct(ndr, "in", "samr_OpenDomain");
5983 ndr->depth++;
5984 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
5985 ndr->depth++;
5986 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
5987 ndr->depth--;
5988 ndr_print_samr_DomainAccessMask(ndr, "access_mask", r->in.access_mask);
5989 ndr_print_ptr(ndr, "sid", r->in.sid);
5990 ndr->depth++;
5991 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
5992 ndr->depth--;
5993 ndr->depth--;
5995 if (flags & NDR_OUT) {
5996 ndr_print_struct(ndr, "out", "samr_OpenDomain");
5997 ndr->depth++;
5998 ndr_print_ptr(ndr, "domain_handle", r->out.domain_handle);
5999 ndr->depth++;
6000 ndr_print_policy_handle(ndr, "domain_handle", r->out.domain_handle);
6001 ndr->depth--;
6002 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6003 ndr->depth--;
6005 ndr->depth--;
6008 static enum ndr_err_code ndr_push_samr_QueryDomainInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo *r)
6010 if (flags & NDR_IN) {
6011 if (r->in.domain_handle == NULL) {
6012 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6014 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6015 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6017 if (flags & NDR_OUT) {
6018 if (r->out.info == NULL) {
6019 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6021 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
6022 if (*r->out.info) {
6023 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
6024 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6026 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6028 return NDR_ERR_SUCCESS;
6031 static enum ndr_err_code ndr_pull_samr_QueryDomainInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo *r)
6033 uint32_t _ptr_info;
6034 TALLOC_CTX *_mem_save_domain_handle_0;
6035 TALLOC_CTX *_mem_save_info_0;
6036 TALLOC_CTX *_mem_save_info_1;
6037 if (flags & NDR_IN) {
6038 ZERO_STRUCT(r->out);
6040 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6041 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6043 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6044 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6045 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6047 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
6048 NDR_PULL_ALLOC(ndr, r->out.info);
6049 ZERO_STRUCTP(r->out.info);
6051 if (flags & NDR_OUT) {
6052 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6053 NDR_PULL_ALLOC(ndr, r->out.info);
6055 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6056 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
6057 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
6058 if (_ptr_info) {
6059 NDR_PULL_ALLOC(ndr, *r->out.info);
6060 } else {
6061 *r->out.info = NULL;
6063 if (*r->out.info) {
6064 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
6065 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
6066 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
6067 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6068 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
6070 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6071 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6073 return NDR_ERR_SUCCESS;
6076 _PUBLIC_ void ndr_print_samr_QueryDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo *r)
6078 ndr_print_struct(ndr, name, "samr_QueryDomainInfo");
6079 ndr->depth++;
6080 if (flags & NDR_SET_VALUES) {
6081 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6083 if (flags & NDR_IN) {
6084 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo");
6085 ndr->depth++;
6086 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6087 ndr->depth++;
6088 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6089 ndr->depth--;
6090 ndr_print_uint16(ndr, "level", r->in.level);
6091 ndr->depth--;
6093 if (flags & NDR_OUT) {
6094 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo");
6095 ndr->depth++;
6096 ndr_print_ptr(ndr, "info", r->out.info);
6097 ndr->depth++;
6098 ndr_print_ptr(ndr, "info", *r->out.info);
6099 ndr->depth++;
6100 if (*r->out.info) {
6101 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
6102 ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
6104 ndr->depth--;
6105 ndr->depth--;
6106 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6107 ndr->depth--;
6109 ndr->depth--;
6112 static enum ndr_err_code ndr_push_samr_SetDomainInfo(struct ndr_push *ndr, int flags, const struct samr_SetDomainInfo *r)
6114 if (flags & NDR_IN) {
6115 if (r->in.domain_handle == NULL) {
6116 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6118 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6119 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
6120 if (r->in.info == NULL) {
6121 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6123 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
6124 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6126 if (flags & NDR_OUT) {
6127 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6129 return NDR_ERR_SUCCESS;
6132 static enum ndr_err_code ndr_pull_samr_SetDomainInfo(struct ndr_pull *ndr, int flags, struct samr_SetDomainInfo *r)
6134 TALLOC_CTX *_mem_save_domain_handle_0;
6135 TALLOC_CTX *_mem_save_info_0;
6136 if (flags & NDR_IN) {
6137 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6138 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6140 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6141 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6142 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6143 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6144 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
6145 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6146 NDR_PULL_ALLOC(ndr, r->in.info);
6148 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6149 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
6150 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
6151 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6154 if (flags & NDR_OUT) {
6155 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6157 return NDR_ERR_SUCCESS;
6160 _PUBLIC_ void ndr_print_samr_SetDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDomainInfo *r)
6162 ndr_print_struct(ndr, name, "samr_SetDomainInfo");
6163 ndr->depth++;
6164 if (flags & NDR_SET_VALUES) {
6165 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6167 if (flags & NDR_IN) {
6168 ndr_print_struct(ndr, "in", "samr_SetDomainInfo");
6169 ndr->depth++;
6170 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6171 ndr->depth++;
6172 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6173 ndr->depth--;
6174 ndr_print_uint16(ndr, "level", r->in.level);
6175 ndr_print_ptr(ndr, "info", r->in.info);
6176 ndr->depth++;
6177 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
6178 ndr_print_samr_DomainInfo(ndr, "info", r->in.info);
6179 ndr->depth--;
6180 ndr->depth--;
6182 if (flags & NDR_OUT) {
6183 ndr_print_struct(ndr, "out", "samr_SetDomainInfo");
6184 ndr->depth++;
6185 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6186 ndr->depth--;
6188 ndr->depth--;
6191 static enum ndr_err_code ndr_push_samr_CreateDomainGroup(struct ndr_push *ndr, int flags, const struct samr_CreateDomainGroup *r)
6193 if (flags & NDR_IN) {
6194 if (r->in.domain_handle == NULL) {
6195 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6197 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6198 if (r->in.name == NULL) {
6199 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6201 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6202 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6204 if (flags & NDR_OUT) {
6205 if (r->out.group_handle == NULL) {
6206 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6208 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6209 if (r->out.rid == NULL) {
6210 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6212 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6213 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6215 return NDR_ERR_SUCCESS;
6218 static enum ndr_err_code ndr_pull_samr_CreateDomainGroup(struct ndr_pull *ndr, int flags, struct samr_CreateDomainGroup *r)
6220 TALLOC_CTX *_mem_save_domain_handle_0;
6221 TALLOC_CTX *_mem_save_name_0;
6222 TALLOC_CTX *_mem_save_group_handle_0;
6223 TALLOC_CTX *_mem_save_rid_0;
6224 if (flags & NDR_IN) {
6225 ZERO_STRUCT(r->out);
6227 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6228 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6230 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6231 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6232 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6233 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6234 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6235 NDR_PULL_ALLOC(ndr, r->in.name);
6237 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6238 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
6239 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
6240 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
6241 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6242 NDR_PULL_ALLOC(ndr, r->out.group_handle);
6243 ZERO_STRUCTP(r->out.group_handle);
6244 NDR_PULL_ALLOC(ndr, r->out.rid);
6245 ZERO_STRUCTP(r->out.rid);
6247 if (flags & NDR_OUT) {
6248 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6249 NDR_PULL_ALLOC(ndr, r->out.group_handle);
6251 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6252 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
6253 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
6254 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
6255 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6256 NDR_PULL_ALLOC(ndr, r->out.rid);
6258 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6259 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6260 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6261 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6262 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6264 return NDR_ERR_SUCCESS;
6267 _PUBLIC_ void ndr_print_samr_CreateDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomainGroup *r)
6269 ndr_print_struct(ndr, name, "samr_CreateDomainGroup");
6270 ndr->depth++;
6271 if (flags & NDR_SET_VALUES) {
6272 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6274 if (flags & NDR_IN) {
6275 ndr_print_struct(ndr, "in", "samr_CreateDomainGroup");
6276 ndr->depth++;
6277 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6278 ndr->depth++;
6279 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6280 ndr->depth--;
6281 ndr_print_ptr(ndr, "name", r->in.name);
6282 ndr->depth++;
6283 ndr_print_lsa_String(ndr, "name", r->in.name);
6284 ndr->depth--;
6285 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
6286 ndr->depth--;
6288 if (flags & NDR_OUT) {
6289 ndr_print_struct(ndr, "out", "samr_CreateDomainGroup");
6290 ndr->depth++;
6291 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
6292 ndr->depth++;
6293 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
6294 ndr->depth--;
6295 ndr_print_ptr(ndr, "rid", r->out.rid);
6296 ndr->depth++;
6297 ndr_print_uint32(ndr, "rid", *r->out.rid);
6298 ndr->depth--;
6299 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6300 ndr->depth--;
6302 ndr->depth--;
6305 static enum ndr_err_code ndr_push_samr_EnumDomainGroups(struct ndr_push *ndr, int flags, const struct samr_EnumDomainGroups *r)
6307 if (flags & NDR_IN) {
6308 if (r->in.domain_handle == NULL) {
6309 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6311 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6312 if (r->in.resume_handle == NULL) {
6313 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6318 if (flags & NDR_OUT) {
6319 if (r->out.resume_handle == NULL) {
6320 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6322 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6323 if (r->out.sam == NULL) {
6324 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6326 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6327 if (*r->out.sam) {
6328 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6330 if (r->out.num_entries == NULL) {
6331 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6334 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6336 return NDR_ERR_SUCCESS;
6339 static enum ndr_err_code ndr_pull_samr_EnumDomainGroups(struct ndr_pull *ndr, int flags, struct samr_EnumDomainGroups *r)
6341 uint32_t _ptr_sam;
6342 TALLOC_CTX *_mem_save_domain_handle_0;
6343 TALLOC_CTX *_mem_save_resume_handle_0;
6344 TALLOC_CTX *_mem_save_sam_0;
6345 TALLOC_CTX *_mem_save_sam_1;
6346 TALLOC_CTX *_mem_save_num_entries_0;
6347 if (flags & NDR_IN) {
6348 ZERO_STRUCT(r->out);
6350 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6351 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6353 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6354 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6355 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6356 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6357 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6358 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6360 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6361 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6362 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6363 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6364 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6365 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6366 *r->out.resume_handle = *r->in.resume_handle;
6367 NDR_PULL_ALLOC(ndr, r->out.sam);
6368 ZERO_STRUCTP(r->out.sam);
6369 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6370 ZERO_STRUCTP(r->out.num_entries);
6372 if (flags & NDR_OUT) {
6373 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6374 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6376 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6377 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6378 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6379 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6380 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6381 NDR_PULL_ALLOC(ndr, r->out.sam);
6383 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6384 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6385 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6386 if (_ptr_sam) {
6387 NDR_PULL_ALLOC(ndr, *r->out.sam);
6388 } else {
6389 *r->out.sam = NULL;
6391 if (*r->out.sam) {
6392 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6393 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6394 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6395 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6398 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6399 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6401 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6402 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6403 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6404 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6405 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6407 return NDR_ERR_SUCCESS;
6410 _PUBLIC_ void ndr_print_samr_EnumDomainGroups(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainGroups *r)
6412 ndr_print_struct(ndr, name, "samr_EnumDomainGroups");
6413 ndr->depth++;
6414 if (flags & NDR_SET_VALUES) {
6415 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6417 if (flags & NDR_IN) {
6418 ndr_print_struct(ndr, "in", "samr_EnumDomainGroups");
6419 ndr->depth++;
6420 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6421 ndr->depth++;
6422 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6423 ndr->depth--;
6424 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6425 ndr->depth++;
6426 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6427 ndr->depth--;
6428 ndr_print_uint32(ndr, "max_size", r->in.max_size);
6429 ndr->depth--;
6431 if (flags & NDR_OUT) {
6432 ndr_print_struct(ndr, "out", "samr_EnumDomainGroups");
6433 ndr->depth++;
6434 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6435 ndr->depth++;
6436 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6437 ndr->depth--;
6438 ndr_print_ptr(ndr, "sam", r->out.sam);
6439 ndr->depth++;
6440 ndr_print_ptr(ndr, "sam", *r->out.sam);
6441 ndr->depth++;
6442 if (*r->out.sam) {
6443 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6445 ndr->depth--;
6446 ndr->depth--;
6447 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6448 ndr->depth++;
6449 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6450 ndr->depth--;
6451 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6452 ndr->depth--;
6454 ndr->depth--;
6457 static enum ndr_err_code ndr_push_samr_CreateUser(struct ndr_push *ndr, int flags, const struct samr_CreateUser *r)
6459 if (flags & NDR_IN) {
6460 if (r->in.domain_handle == NULL) {
6461 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6463 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6464 if (r->in.account_name == NULL) {
6465 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6467 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
6468 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6470 if (flags & NDR_OUT) {
6471 if (r->out.user_handle == NULL) {
6472 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6474 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
6475 if (r->out.rid == NULL) {
6476 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6479 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6481 return NDR_ERR_SUCCESS;
6484 static enum ndr_err_code ndr_pull_samr_CreateUser(struct ndr_pull *ndr, int flags, struct samr_CreateUser *r)
6486 TALLOC_CTX *_mem_save_domain_handle_0;
6487 TALLOC_CTX *_mem_save_account_name_0;
6488 TALLOC_CTX *_mem_save_user_handle_0;
6489 TALLOC_CTX *_mem_save_rid_0;
6490 if (flags & NDR_IN) {
6491 ZERO_STRUCT(r->out);
6493 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6494 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6496 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6497 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6498 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6499 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6500 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6501 NDR_PULL_ALLOC(ndr, r->in.account_name);
6503 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6504 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
6505 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
6506 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
6507 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6508 NDR_PULL_ALLOC(ndr, r->out.user_handle);
6509 ZERO_STRUCTP(r->out.user_handle);
6510 NDR_PULL_ALLOC(ndr, r->out.rid);
6511 ZERO_STRUCTP(r->out.rid);
6513 if (flags & NDR_OUT) {
6514 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6515 NDR_PULL_ALLOC(ndr, r->out.user_handle);
6517 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6518 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
6519 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
6520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
6521 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6522 NDR_PULL_ALLOC(ndr, r->out.rid);
6524 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6525 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6526 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6527 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6528 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6530 return NDR_ERR_SUCCESS;
6533 _PUBLIC_ void ndr_print_samr_CreateUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser *r)
6535 ndr_print_struct(ndr, name, "samr_CreateUser");
6536 ndr->depth++;
6537 if (flags & NDR_SET_VALUES) {
6538 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6540 if (flags & NDR_IN) {
6541 ndr_print_struct(ndr, "in", "samr_CreateUser");
6542 ndr->depth++;
6543 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6544 ndr->depth++;
6545 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6546 ndr->depth--;
6547 ndr_print_ptr(ndr, "account_name", r->in.account_name);
6548 ndr->depth++;
6549 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
6550 ndr->depth--;
6551 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
6552 ndr->depth--;
6554 if (flags & NDR_OUT) {
6555 ndr_print_struct(ndr, "out", "samr_CreateUser");
6556 ndr->depth++;
6557 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
6558 ndr->depth++;
6559 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
6560 ndr->depth--;
6561 ndr_print_ptr(ndr, "rid", r->out.rid);
6562 ndr->depth++;
6563 ndr_print_uint32(ndr, "rid", *r->out.rid);
6564 ndr->depth--;
6565 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6566 ndr->depth--;
6568 ndr->depth--;
6571 static enum ndr_err_code ndr_push_samr_EnumDomainUsers(struct ndr_push *ndr, int flags, const struct samr_EnumDomainUsers *r)
6573 if (flags & NDR_IN) {
6574 if (r->in.domain_handle == NULL) {
6575 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6577 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6578 if (r->in.resume_handle == NULL) {
6579 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6582 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
6583 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6585 if (flags & NDR_OUT) {
6586 if (r->out.resume_handle == NULL) {
6587 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6589 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6590 if (r->out.sam == NULL) {
6591 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6593 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6594 if (*r->out.sam) {
6595 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6597 if (r->out.num_entries == NULL) {
6598 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6601 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6603 return NDR_ERR_SUCCESS;
6606 static enum ndr_err_code ndr_pull_samr_EnumDomainUsers(struct ndr_pull *ndr, int flags, struct samr_EnumDomainUsers *r)
6608 uint32_t _ptr_sam;
6609 TALLOC_CTX *_mem_save_domain_handle_0;
6610 TALLOC_CTX *_mem_save_resume_handle_0;
6611 TALLOC_CTX *_mem_save_sam_0;
6612 TALLOC_CTX *_mem_save_sam_1;
6613 TALLOC_CTX *_mem_save_num_entries_0;
6614 if (flags & NDR_IN) {
6615 ZERO_STRUCT(r->out);
6617 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6618 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6620 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6621 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6622 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6623 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6624 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6625 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6627 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6628 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6629 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6630 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6631 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
6632 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6633 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6634 *r->out.resume_handle = *r->in.resume_handle;
6635 NDR_PULL_ALLOC(ndr, r->out.sam);
6636 ZERO_STRUCTP(r->out.sam);
6637 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6638 ZERO_STRUCTP(r->out.num_entries);
6640 if (flags & NDR_OUT) {
6641 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6642 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6644 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6645 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6646 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6647 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6648 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6649 NDR_PULL_ALLOC(ndr, r->out.sam);
6651 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6652 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6653 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6654 if (_ptr_sam) {
6655 NDR_PULL_ALLOC(ndr, *r->out.sam);
6656 } else {
6657 *r->out.sam = NULL;
6659 if (*r->out.sam) {
6660 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6661 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6662 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6663 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6665 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6666 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6667 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6669 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6670 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6671 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6672 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6673 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6675 return NDR_ERR_SUCCESS;
6678 _PUBLIC_ void ndr_print_samr_EnumDomainUsers(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainUsers *r)
6680 ndr_print_struct(ndr, name, "samr_EnumDomainUsers");
6681 ndr->depth++;
6682 if (flags & NDR_SET_VALUES) {
6683 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6685 if (flags & NDR_IN) {
6686 ndr_print_struct(ndr, "in", "samr_EnumDomainUsers");
6687 ndr->depth++;
6688 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6689 ndr->depth++;
6690 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6691 ndr->depth--;
6692 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6693 ndr->depth++;
6694 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6695 ndr->depth--;
6696 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
6697 ndr_print_uint32(ndr, "max_size", r->in.max_size);
6698 ndr->depth--;
6700 if (flags & NDR_OUT) {
6701 ndr_print_struct(ndr, "out", "samr_EnumDomainUsers");
6702 ndr->depth++;
6703 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6704 ndr->depth++;
6705 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6706 ndr->depth--;
6707 ndr_print_ptr(ndr, "sam", r->out.sam);
6708 ndr->depth++;
6709 ndr_print_ptr(ndr, "sam", *r->out.sam);
6710 ndr->depth++;
6711 if (*r->out.sam) {
6712 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6714 ndr->depth--;
6715 ndr->depth--;
6716 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6717 ndr->depth++;
6718 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6719 ndr->depth--;
6720 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6721 ndr->depth--;
6723 ndr->depth--;
6726 static enum ndr_err_code ndr_push_samr_CreateDomAlias(struct ndr_push *ndr, int flags, const struct samr_CreateDomAlias *r)
6728 if (flags & NDR_IN) {
6729 if (r->in.domain_handle == NULL) {
6730 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6732 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6733 if (r->in.alias_name == NULL) {
6734 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6736 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
6737 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6739 if (flags & NDR_OUT) {
6740 if (r->out.alias_handle == NULL) {
6741 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6743 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
6744 if (r->out.rid == NULL) {
6745 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6747 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
6748 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6750 return NDR_ERR_SUCCESS;
6753 static enum ndr_err_code ndr_pull_samr_CreateDomAlias(struct ndr_pull *ndr, int flags, struct samr_CreateDomAlias *r)
6755 TALLOC_CTX *_mem_save_domain_handle_0;
6756 TALLOC_CTX *_mem_save_alias_name_0;
6757 TALLOC_CTX *_mem_save_alias_handle_0;
6758 TALLOC_CTX *_mem_save_rid_0;
6759 if (flags & NDR_IN) {
6760 ZERO_STRUCT(r->out);
6762 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6763 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6765 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6766 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6767 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6768 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6769 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6770 NDR_PULL_ALLOC(ndr, r->in.alias_name);
6772 _mem_save_alias_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
6773 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_name, LIBNDR_FLAG_REF_ALLOC);
6774 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.alias_name));
6775 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_name_0, LIBNDR_FLAG_REF_ALLOC);
6776 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6777 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
6778 ZERO_STRUCTP(r->out.alias_handle);
6779 NDR_PULL_ALLOC(ndr, r->out.rid);
6780 ZERO_STRUCTP(r->out.rid);
6782 if (flags & NDR_OUT) {
6783 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6784 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
6786 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6787 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
6788 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
6789 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
6790 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6791 NDR_PULL_ALLOC(ndr, r->out.rid);
6793 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6794 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
6795 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
6796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
6797 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6799 return NDR_ERR_SUCCESS;
6802 _PUBLIC_ void ndr_print_samr_CreateDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateDomAlias *r)
6804 ndr_print_struct(ndr, name, "samr_CreateDomAlias");
6805 ndr->depth++;
6806 if (flags & NDR_SET_VALUES) {
6807 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6809 if (flags & NDR_IN) {
6810 ndr_print_struct(ndr, "in", "samr_CreateDomAlias");
6811 ndr->depth++;
6812 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6813 ndr->depth++;
6814 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6815 ndr->depth--;
6816 ndr_print_ptr(ndr, "alias_name", r->in.alias_name);
6817 ndr->depth++;
6818 ndr_print_lsa_String(ndr, "alias_name", r->in.alias_name);
6819 ndr->depth--;
6820 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
6821 ndr->depth--;
6823 if (flags & NDR_OUT) {
6824 ndr_print_struct(ndr, "out", "samr_CreateDomAlias");
6825 ndr->depth++;
6826 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
6827 ndr->depth++;
6828 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
6829 ndr->depth--;
6830 ndr_print_ptr(ndr, "rid", r->out.rid);
6831 ndr->depth++;
6832 ndr_print_uint32(ndr, "rid", *r->out.rid);
6833 ndr->depth--;
6834 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6835 ndr->depth--;
6837 ndr->depth--;
6840 static enum ndr_err_code ndr_push_samr_EnumDomainAliases(struct ndr_push *ndr, int flags, const struct samr_EnumDomainAliases *r)
6842 if (flags & NDR_IN) {
6843 if (r->in.domain_handle == NULL) {
6844 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6846 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6847 if (r->in.resume_handle == NULL) {
6848 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6853 if (flags & NDR_OUT) {
6854 if (r->out.resume_handle == NULL) {
6855 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6857 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6858 if (r->out.sam == NULL) {
6859 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6861 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sam));
6862 if (*r->out.sam) {
6863 NDR_CHECK(ndr_push_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6865 if (r->out.num_entries == NULL) {
6866 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_entries));
6869 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6871 return NDR_ERR_SUCCESS;
6874 static enum ndr_err_code ndr_pull_samr_EnumDomainAliases(struct ndr_pull *ndr, int flags, struct samr_EnumDomainAliases *r)
6876 uint32_t _ptr_sam;
6877 TALLOC_CTX *_mem_save_domain_handle_0;
6878 TALLOC_CTX *_mem_save_resume_handle_0;
6879 TALLOC_CTX *_mem_save_sam_0;
6880 TALLOC_CTX *_mem_save_sam_1;
6881 TALLOC_CTX *_mem_save_num_entries_0;
6882 if (flags & NDR_IN) {
6883 ZERO_STRUCT(r->out);
6885 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6886 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
6888 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6889 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
6890 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6891 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
6892 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6893 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6895 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6896 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6897 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6898 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6899 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6900 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6901 *r->out.resume_handle = *r->in.resume_handle;
6902 NDR_PULL_ALLOC(ndr, r->out.sam);
6903 ZERO_STRUCTP(r->out.sam);
6904 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6905 ZERO_STRUCTP(r->out.num_entries);
6907 if (flags & NDR_OUT) {
6908 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6909 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6911 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6912 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6914 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6915 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6916 NDR_PULL_ALLOC(ndr, r->out.sam);
6918 _mem_save_sam_0 = NDR_PULL_GET_MEM_CTX(ndr);
6919 NDR_PULL_SET_MEM_CTX(ndr, r->out.sam, LIBNDR_FLAG_REF_ALLOC);
6920 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sam));
6921 if (_ptr_sam) {
6922 NDR_PULL_ALLOC(ndr, *r->out.sam);
6923 } else {
6924 *r->out.sam = NULL;
6926 if (*r->out.sam) {
6927 _mem_save_sam_1 = NDR_PULL_GET_MEM_CTX(ndr);
6928 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sam, 0);
6929 NDR_CHECK(ndr_pull_samr_SamArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sam));
6930 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_1, 0);
6932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sam_0, LIBNDR_FLAG_REF_ALLOC);
6933 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6934 NDR_PULL_ALLOC(ndr, r->out.num_entries);
6936 _mem_save_num_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
6937 NDR_PULL_SET_MEM_CTX(ndr, r->out.num_entries, LIBNDR_FLAG_REF_ALLOC);
6938 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_entries));
6939 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_entries_0, LIBNDR_FLAG_REF_ALLOC);
6940 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6942 return NDR_ERR_SUCCESS;
6945 _PUBLIC_ void ndr_print_samr_EnumDomainAliases(struct ndr_print *ndr, const char *name, int flags, const struct samr_EnumDomainAliases *r)
6947 ndr_print_struct(ndr, name, "samr_EnumDomainAliases");
6948 ndr->depth++;
6949 if (flags & NDR_SET_VALUES) {
6950 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6952 if (flags & NDR_IN) {
6953 ndr_print_struct(ndr, "in", "samr_EnumDomainAliases");
6954 ndr->depth++;
6955 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
6956 ndr->depth++;
6957 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
6958 ndr->depth--;
6959 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6960 ndr->depth++;
6961 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6962 ndr->depth--;
6963 ndr_print_uint32(ndr, "max_size", r->in.max_size);
6964 ndr->depth--;
6966 if (flags & NDR_OUT) {
6967 ndr_print_struct(ndr, "out", "samr_EnumDomainAliases");
6968 ndr->depth++;
6969 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6970 ndr->depth++;
6971 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6972 ndr->depth--;
6973 ndr_print_ptr(ndr, "sam", r->out.sam);
6974 ndr->depth++;
6975 ndr_print_ptr(ndr, "sam", *r->out.sam);
6976 ndr->depth++;
6977 if (*r->out.sam) {
6978 ndr_print_samr_SamArray(ndr, "sam", *r->out.sam);
6980 ndr->depth--;
6981 ndr->depth--;
6982 ndr_print_ptr(ndr, "num_entries", r->out.num_entries);
6983 ndr->depth++;
6984 ndr_print_uint32(ndr, "num_entries", *r->out.num_entries);
6985 ndr->depth--;
6986 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6987 ndr->depth--;
6989 ndr->depth--;
6992 static enum ndr_err_code ndr_push_samr_GetAliasMembership(struct ndr_push *ndr, int flags, const struct samr_GetAliasMembership *r)
6994 if (flags & NDR_IN) {
6995 if (r->in.domain_handle == NULL) {
6996 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6998 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
6999 if (r->in.sids == NULL) {
7000 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7002 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7004 if (flags & NDR_OUT) {
7005 if (r->out.rids == NULL) {
7006 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7008 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7009 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7011 return NDR_ERR_SUCCESS;
7014 static enum ndr_err_code ndr_pull_samr_GetAliasMembership(struct ndr_pull *ndr, int flags, struct samr_GetAliasMembership *r)
7016 TALLOC_CTX *_mem_save_domain_handle_0;
7017 TALLOC_CTX *_mem_save_sids_0;
7018 TALLOC_CTX *_mem_save_rids_0;
7019 if (flags & NDR_IN) {
7020 ZERO_STRUCT(r->out);
7022 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7023 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7025 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7026 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7027 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7029 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7030 NDR_PULL_ALLOC(ndr, r->in.sids);
7032 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7033 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
7034 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
7035 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
7036 NDR_PULL_ALLOC(ndr, r->out.rids);
7037 ZERO_STRUCTP(r->out.rids);
7039 if (flags & NDR_OUT) {
7040 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7041 NDR_PULL_ALLOC(ndr, r->out.rids);
7043 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7044 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7045 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7046 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7047 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7049 return NDR_ERR_SUCCESS;
7052 _PUBLIC_ void ndr_print_samr_GetAliasMembership(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetAliasMembership *r)
7054 ndr_print_struct(ndr, name, "samr_GetAliasMembership");
7055 ndr->depth++;
7056 if (flags & NDR_SET_VALUES) {
7057 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7059 if (flags & NDR_IN) {
7060 ndr_print_struct(ndr, "in", "samr_GetAliasMembership");
7061 ndr->depth++;
7062 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7063 ndr->depth++;
7064 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7065 ndr->depth--;
7066 ndr_print_ptr(ndr, "sids", r->in.sids);
7067 ndr->depth++;
7068 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
7069 ndr->depth--;
7070 ndr->depth--;
7072 if (flags & NDR_OUT) {
7073 ndr_print_struct(ndr, "out", "samr_GetAliasMembership");
7074 ndr->depth++;
7075 ndr_print_ptr(ndr, "rids", r->out.rids);
7076 ndr->depth++;
7077 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
7078 ndr->depth--;
7079 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7080 ndr->depth--;
7082 ndr->depth--;
7085 _PUBLIC_ enum ndr_err_code ndr_push_samr_LookupNames(struct ndr_push *ndr, int flags, const struct samr_LookupNames *r)
7087 uint32_t cntr_names_0;
7088 if (flags & NDR_IN) {
7089 if (r->in.domain_handle == NULL) {
7090 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7092 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
7094 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1000));
7095 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7096 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
7097 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7098 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7100 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7101 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7104 if (flags & NDR_OUT) {
7105 if (r->out.rids == NULL) {
7106 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7108 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7109 if (r->out.types == NULL) {
7110 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7112 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7113 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7115 return NDR_ERR_SUCCESS;
7118 _PUBLIC_ enum ndr_err_code ndr_pull_samr_LookupNames(struct ndr_pull *ndr, int flags, struct samr_LookupNames *r)
7120 uint32_t cntr_names_0;
7121 TALLOC_CTX *_mem_save_domain_handle_0;
7122 TALLOC_CTX *_mem_save_names_0;
7123 TALLOC_CTX *_mem_save_rids_0;
7124 TALLOC_CTX *_mem_save_types_0;
7125 if (flags & NDR_IN) {
7126 ZERO_STRUCT(r->out);
7128 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7129 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7131 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7132 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7133 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
7136 if (r->in.num_names < 0 || r->in.num_names > 1000) {
7137 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7139 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
7140 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.names));
7141 if (ndr_get_array_length(ndr, &r->in.names) > ndr_get_array_size(ndr, &r->in.names)) {
7142 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));
7144 NDR_PULL_ALLOC_N(ndr, r->in.names, ndr_get_array_size(ndr, &r->in.names));
7145 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
7146 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
7147 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7148 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
7150 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
7151 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
7153 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
7154 NDR_PULL_ALLOC(ndr, r->out.rids);
7155 ZERO_STRUCTP(r->out.rids);
7156 NDR_PULL_ALLOC(ndr, r->out.types);
7157 ZERO_STRUCTP(r->out.types);
7158 if (r->in.names) {
7159 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, 1000));
7161 if (r->in.names) {
7162 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.names, r->in.num_names));
7165 if (flags & NDR_OUT) {
7166 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7167 NDR_PULL_ALLOC(ndr, r->out.rids);
7169 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7170 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7171 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rids));
7172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7173 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7174 NDR_PULL_ALLOC(ndr, r->out.types);
7176 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
7177 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
7178 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7179 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
7180 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7182 return NDR_ERR_SUCCESS;
7185 _PUBLIC_ void ndr_print_samr_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupNames *r)
7187 uint32_t cntr_names_0;
7188 ndr_print_struct(ndr, name, "samr_LookupNames");
7189 ndr->depth++;
7190 if (flags & NDR_SET_VALUES) {
7191 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7193 if (flags & NDR_IN) {
7194 ndr_print_struct(ndr, "in", "samr_LookupNames");
7195 ndr->depth++;
7196 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7197 ndr->depth++;
7198 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7199 ndr->depth--;
7200 ndr_print_uint32(ndr, "num_names", r->in.num_names);
7201 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
7202 ndr->depth++;
7203 for (cntr_names_0=0;cntr_names_0<r->in.num_names;cntr_names_0++) {
7204 char *idx_0=NULL;
7205 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
7206 ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
7207 free(idx_0);
7210 ndr->depth--;
7211 ndr->depth--;
7213 if (flags & NDR_OUT) {
7214 ndr_print_struct(ndr, "out", "samr_LookupNames");
7215 ndr->depth++;
7216 ndr_print_ptr(ndr, "rids", r->out.rids);
7217 ndr->depth++;
7218 ndr_print_samr_Ids(ndr, "rids", r->out.rids);
7219 ndr->depth--;
7220 ndr_print_ptr(ndr, "types", r->out.types);
7221 ndr->depth++;
7222 ndr_print_samr_Ids(ndr, "types", r->out.types);
7223 ndr->depth--;
7224 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7225 ndr->depth--;
7227 ndr->depth--;
7230 static enum ndr_err_code ndr_push_samr_LookupRids(struct ndr_push *ndr, int flags, const struct samr_LookupRids *r)
7232 uint32_t cntr_rids_0;
7233 if (flags & NDR_IN) {
7234 if (r->in.domain_handle == NULL) {
7235 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7237 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7238 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids));
7239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1000));
7240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
7241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_rids));
7242 for (cntr_rids_0 = 0; cntr_rids_0 < r->in.num_rids; cntr_rids_0++) {
7243 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rids[cntr_rids_0]));
7246 if (flags & NDR_OUT) {
7247 if (r->out.names == NULL) {
7248 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7250 NDR_CHECK(ndr_push_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
7251 if (r->out.types == NULL) {
7252 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7254 NDR_CHECK(ndr_push_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7255 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7257 return NDR_ERR_SUCCESS;
7260 static enum ndr_err_code ndr_pull_samr_LookupRids(struct ndr_pull *ndr, int flags, struct samr_LookupRids *r)
7262 uint32_t cntr_rids_0;
7263 TALLOC_CTX *_mem_save_domain_handle_0;
7264 TALLOC_CTX *_mem_save_rids_0;
7265 TALLOC_CTX *_mem_save_names_0;
7266 TALLOC_CTX *_mem_save_types_0;
7267 if (flags & NDR_IN) {
7268 ZERO_STRUCT(r->out);
7270 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7271 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7273 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7274 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7275 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_rids));
7278 if (r->in.num_rids < 0 || r->in.num_rids > 1000) {
7279 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
7281 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.rids));
7282 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.rids));
7283 if (ndr_get_array_length(ndr, &r->in.rids) > ndr_get_array_size(ndr, &r->in.rids)) {
7284 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));
7286 NDR_PULL_ALLOC_N(ndr, r->in.rids, ndr_get_array_size(ndr, &r->in.rids));
7287 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7288 NDR_PULL_SET_MEM_CTX(ndr, r->in.rids, 0);
7289 for (cntr_rids_0 = 0; cntr_rids_0 < r->in.num_rids; cntr_rids_0++) {
7290 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rids[cntr_rids_0]));
7292 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
7293 NDR_PULL_ALLOC(ndr, r->out.names);
7294 ZERO_STRUCTP(r->out.names);
7295 NDR_PULL_ALLOC(ndr, r->out.types);
7296 ZERO_STRUCTP(r->out.types);
7297 if (r->in.rids) {
7298 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.rids, 1000));
7300 if (r->in.rids) {
7301 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.rids, r->in.num_rids));
7304 if (flags & NDR_OUT) {
7305 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7306 NDR_PULL_ALLOC(ndr, r->out.names);
7308 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
7309 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
7310 NDR_CHECK(ndr_pull_lsa_Strings(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
7311 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
7312 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7313 NDR_PULL_ALLOC(ndr, r->out.types);
7315 _mem_save_types_0 = NDR_PULL_GET_MEM_CTX(ndr);
7316 NDR_PULL_SET_MEM_CTX(ndr, r->out.types, LIBNDR_FLAG_REF_ALLOC);
7317 NDR_CHECK(ndr_pull_samr_Ids(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.types));
7318 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_types_0, LIBNDR_FLAG_REF_ALLOC);
7319 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7321 return NDR_ERR_SUCCESS;
7324 _PUBLIC_ void ndr_print_samr_LookupRids(struct ndr_print *ndr, const char *name, int flags, const struct samr_LookupRids *r)
7326 uint32_t cntr_rids_0;
7327 ndr_print_struct(ndr, name, "samr_LookupRids");
7328 ndr->depth++;
7329 if (flags & NDR_SET_VALUES) {
7330 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7332 if (flags & NDR_IN) {
7333 ndr_print_struct(ndr, "in", "samr_LookupRids");
7334 ndr->depth++;
7335 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7336 ndr->depth++;
7337 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7338 ndr->depth--;
7339 ndr_print_uint32(ndr, "num_rids", r->in.num_rids);
7340 ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->in.num_rids);
7341 ndr->depth++;
7342 for (cntr_rids_0=0;cntr_rids_0<r->in.num_rids;cntr_rids_0++) {
7343 char *idx_0=NULL;
7344 if (asprintf(&idx_0, "[%d]", cntr_rids_0) != -1) {
7345 ndr_print_uint32(ndr, "rids", r->in.rids[cntr_rids_0]);
7346 free(idx_0);
7349 ndr->depth--;
7350 ndr->depth--;
7352 if (flags & NDR_OUT) {
7353 ndr_print_struct(ndr, "out", "samr_LookupRids");
7354 ndr->depth++;
7355 ndr_print_ptr(ndr, "names", r->out.names);
7356 ndr->depth++;
7357 ndr_print_lsa_Strings(ndr, "names", r->out.names);
7358 ndr->depth--;
7359 ndr_print_ptr(ndr, "types", r->out.types);
7360 ndr->depth++;
7361 ndr_print_samr_Ids(ndr, "types", r->out.types);
7362 ndr->depth--;
7363 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7364 ndr->depth--;
7366 ndr->depth--;
7369 static enum ndr_err_code ndr_push_samr_OpenGroup(struct ndr_push *ndr, int flags, const struct samr_OpenGroup *r)
7371 if (flags & NDR_IN) {
7372 if (r->in.domain_handle == NULL) {
7373 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7375 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7376 NDR_CHECK(ndr_push_samr_GroupAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7379 if (flags & NDR_OUT) {
7380 if (r->out.group_handle == NULL) {
7381 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7383 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7384 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7386 return NDR_ERR_SUCCESS;
7389 static enum ndr_err_code ndr_pull_samr_OpenGroup(struct ndr_pull *ndr, int flags, struct samr_OpenGroup *r)
7391 TALLOC_CTX *_mem_save_domain_handle_0;
7392 TALLOC_CTX *_mem_save_group_handle_0;
7393 if (flags & NDR_IN) {
7394 ZERO_STRUCT(r->out);
7396 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7397 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
7399 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7400 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
7401 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
7402 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
7403 NDR_CHECK(ndr_pull_samr_GroupAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7404 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7405 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7406 ZERO_STRUCTP(r->out.group_handle);
7408 if (flags & NDR_OUT) {
7409 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7410 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7412 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7413 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
7414 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7416 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7418 return NDR_ERR_SUCCESS;
7421 _PUBLIC_ void ndr_print_samr_OpenGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenGroup *r)
7423 ndr_print_struct(ndr, name, "samr_OpenGroup");
7424 ndr->depth++;
7425 if (flags & NDR_SET_VALUES) {
7426 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7428 if (flags & NDR_IN) {
7429 ndr_print_struct(ndr, "in", "samr_OpenGroup");
7430 ndr->depth++;
7431 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
7432 ndr->depth++;
7433 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
7434 ndr->depth--;
7435 ndr_print_samr_GroupAccessMask(ndr, "access_mask", r->in.access_mask);
7436 ndr_print_uint32(ndr, "rid", r->in.rid);
7437 ndr->depth--;
7439 if (flags & NDR_OUT) {
7440 ndr_print_struct(ndr, "out", "samr_OpenGroup");
7441 ndr->depth++;
7442 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
7443 ndr->depth++;
7444 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
7445 ndr->depth--;
7446 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7447 ndr->depth--;
7449 ndr->depth--;
7452 static enum ndr_err_code ndr_push_samr_QueryGroupInfo(struct ndr_push *ndr, int flags, const struct samr_QueryGroupInfo *r)
7454 if (flags & NDR_IN) {
7455 if (r->in.group_handle == NULL) {
7456 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7458 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7459 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
7461 if (flags & NDR_OUT) {
7462 if (r->out.info == NULL) {
7463 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7465 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
7466 if (*r->out.info) {
7467 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
7468 NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
7470 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7472 return NDR_ERR_SUCCESS;
7475 static enum ndr_err_code ndr_pull_samr_QueryGroupInfo(struct ndr_pull *ndr, int flags, struct samr_QueryGroupInfo *r)
7477 uint32_t _ptr_info;
7478 TALLOC_CTX *_mem_save_group_handle_0;
7479 TALLOC_CTX *_mem_save_info_0;
7480 TALLOC_CTX *_mem_save_info_1;
7481 if (flags & NDR_IN) {
7482 ZERO_STRUCT(r->out);
7484 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7485 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7487 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7488 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7489 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7490 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7491 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
7492 NDR_PULL_ALLOC(ndr, r->out.info);
7493 ZERO_STRUCTP(r->out.info);
7495 if (flags & NDR_OUT) {
7496 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7497 NDR_PULL_ALLOC(ndr, r->out.info);
7499 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7500 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
7501 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
7502 if (_ptr_info) {
7503 NDR_PULL_ALLOC(ndr, *r->out.info);
7504 } else {
7505 *r->out.info = NULL;
7507 if (*r->out.info) {
7508 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
7509 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
7510 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
7511 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
7512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
7514 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
7515 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7517 return NDR_ERR_SUCCESS;
7520 _PUBLIC_ void ndr_print_samr_QueryGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupInfo *r)
7522 ndr_print_struct(ndr, name, "samr_QueryGroupInfo");
7523 ndr->depth++;
7524 if (flags & NDR_SET_VALUES) {
7525 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7527 if (flags & NDR_IN) {
7528 ndr_print_struct(ndr, "in", "samr_QueryGroupInfo");
7529 ndr->depth++;
7530 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7531 ndr->depth++;
7532 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7533 ndr->depth--;
7534 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
7535 ndr->depth--;
7537 if (flags & NDR_OUT) {
7538 ndr_print_struct(ndr, "out", "samr_QueryGroupInfo");
7539 ndr->depth++;
7540 ndr_print_ptr(ndr, "info", r->out.info);
7541 ndr->depth++;
7542 ndr_print_ptr(ndr, "info", *r->out.info);
7543 ndr->depth++;
7544 if (*r->out.info) {
7545 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
7546 ndr_print_samr_GroupInfo(ndr, "info", *r->out.info);
7548 ndr->depth--;
7549 ndr->depth--;
7550 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7551 ndr->depth--;
7553 ndr->depth--;
7556 static enum ndr_err_code ndr_push_samr_SetGroupInfo(struct ndr_push *ndr, int flags, const struct samr_SetGroupInfo *r)
7558 if (flags & NDR_IN) {
7559 if (r->in.group_handle == NULL) {
7560 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7562 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7563 NDR_CHECK(ndr_push_samr_GroupInfoEnum(ndr, NDR_SCALARS, r->in.level));
7564 if (r->in.info == NULL) {
7565 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7567 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
7568 NDR_CHECK(ndr_push_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
7570 if (flags & NDR_OUT) {
7571 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7573 return NDR_ERR_SUCCESS;
7576 static enum ndr_err_code ndr_pull_samr_SetGroupInfo(struct ndr_pull *ndr, int flags, struct samr_SetGroupInfo *r)
7578 TALLOC_CTX *_mem_save_group_handle_0;
7579 TALLOC_CTX *_mem_save_info_0;
7580 if (flags & NDR_IN) {
7581 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7582 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7584 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7585 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7586 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7587 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7588 NDR_CHECK(ndr_pull_samr_GroupInfoEnum(ndr, NDR_SCALARS, &r->in.level));
7589 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7590 NDR_PULL_ALLOC(ndr, r->in.info);
7592 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7593 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
7594 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
7595 NDR_CHECK(ndr_pull_samr_GroupInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
7596 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
7598 if (flags & NDR_OUT) {
7599 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7601 return NDR_ERR_SUCCESS;
7604 _PUBLIC_ void ndr_print_samr_SetGroupInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetGroupInfo *r)
7606 ndr_print_struct(ndr, name, "samr_SetGroupInfo");
7607 ndr->depth++;
7608 if (flags & NDR_SET_VALUES) {
7609 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7611 if (flags & NDR_IN) {
7612 ndr_print_struct(ndr, "in", "samr_SetGroupInfo");
7613 ndr->depth++;
7614 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7615 ndr->depth++;
7616 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7617 ndr->depth--;
7618 ndr_print_samr_GroupInfoEnum(ndr, "level", r->in.level);
7619 ndr_print_ptr(ndr, "info", r->in.info);
7620 ndr->depth++;
7621 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
7622 ndr_print_samr_GroupInfo(ndr, "info", r->in.info);
7623 ndr->depth--;
7624 ndr->depth--;
7626 if (flags & NDR_OUT) {
7627 ndr_print_struct(ndr, "out", "samr_SetGroupInfo");
7628 ndr->depth++;
7629 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7630 ndr->depth--;
7632 ndr->depth--;
7635 static enum ndr_err_code ndr_push_samr_AddGroupMember(struct ndr_push *ndr, int flags, const struct samr_AddGroupMember *r)
7637 if (flags & NDR_IN) {
7638 if (r->in.group_handle == NULL) {
7639 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7641 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7642 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7643 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
7645 if (flags & NDR_OUT) {
7646 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7648 return NDR_ERR_SUCCESS;
7651 static enum ndr_err_code ndr_pull_samr_AddGroupMember(struct ndr_pull *ndr, int flags, struct samr_AddGroupMember *r)
7653 TALLOC_CTX *_mem_save_group_handle_0;
7654 if (flags & NDR_IN) {
7655 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7656 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7658 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7659 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7660 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7661 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7662 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7663 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
7665 if (flags & NDR_OUT) {
7666 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7668 return NDR_ERR_SUCCESS;
7671 _PUBLIC_ void ndr_print_samr_AddGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddGroupMember *r)
7673 ndr_print_struct(ndr, name, "samr_AddGroupMember");
7674 ndr->depth++;
7675 if (flags & NDR_SET_VALUES) {
7676 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7678 if (flags & NDR_IN) {
7679 ndr_print_struct(ndr, "in", "samr_AddGroupMember");
7680 ndr->depth++;
7681 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7682 ndr->depth++;
7683 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7684 ndr->depth--;
7685 ndr_print_uint32(ndr, "rid", r->in.rid);
7686 ndr_print_uint32(ndr, "flags", r->in.flags);
7687 ndr->depth--;
7689 if (flags & NDR_OUT) {
7690 ndr_print_struct(ndr, "out", "samr_AddGroupMember");
7691 ndr->depth++;
7692 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7693 ndr->depth--;
7695 ndr->depth--;
7698 static enum ndr_err_code ndr_push_samr_DeleteDomainGroup(struct ndr_push *ndr, int flags, const struct samr_DeleteDomainGroup *r)
7700 if (flags & NDR_IN) {
7701 if (r->in.group_handle == NULL) {
7702 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7704 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7706 if (flags & NDR_OUT) {
7707 if (r->out.group_handle == NULL) {
7708 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7710 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7711 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7713 return NDR_ERR_SUCCESS;
7716 static enum ndr_err_code ndr_pull_samr_DeleteDomainGroup(struct ndr_pull *ndr, int flags, struct samr_DeleteDomainGroup *r)
7718 TALLOC_CTX *_mem_save_group_handle_0;
7719 if (flags & NDR_IN) {
7720 ZERO_STRUCT(r->out);
7722 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7723 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7725 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7726 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7727 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7728 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7729 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7730 *r->out.group_handle = *r->in.group_handle;
7732 if (flags & NDR_OUT) {
7733 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7734 NDR_PULL_ALLOC(ndr, r->out.group_handle);
7736 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7737 NDR_PULL_SET_MEM_CTX(ndr, r->out.group_handle, LIBNDR_FLAG_REF_ALLOC);
7738 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.group_handle));
7739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7740 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7742 return NDR_ERR_SUCCESS;
7745 _PUBLIC_ void ndr_print_samr_DeleteDomainGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomainGroup *r)
7747 ndr_print_struct(ndr, name, "samr_DeleteDomainGroup");
7748 ndr->depth++;
7749 if (flags & NDR_SET_VALUES) {
7750 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7752 if (flags & NDR_IN) {
7753 ndr_print_struct(ndr, "in", "samr_DeleteDomainGroup");
7754 ndr->depth++;
7755 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7756 ndr->depth++;
7757 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7758 ndr->depth--;
7759 ndr->depth--;
7761 if (flags & NDR_OUT) {
7762 ndr_print_struct(ndr, "out", "samr_DeleteDomainGroup");
7763 ndr->depth++;
7764 ndr_print_ptr(ndr, "group_handle", r->out.group_handle);
7765 ndr->depth++;
7766 ndr_print_policy_handle(ndr, "group_handle", r->out.group_handle);
7767 ndr->depth--;
7768 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7769 ndr->depth--;
7771 ndr->depth--;
7774 static enum ndr_err_code ndr_push_samr_DeleteGroupMember(struct ndr_push *ndr, int flags, const struct samr_DeleteGroupMember *r)
7776 if (flags & NDR_IN) {
7777 if (r->in.group_handle == NULL) {
7778 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7780 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
7783 if (flags & NDR_OUT) {
7784 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7786 return NDR_ERR_SUCCESS;
7789 static enum ndr_err_code ndr_pull_samr_DeleteGroupMember(struct ndr_pull *ndr, int flags, struct samr_DeleteGroupMember *r)
7791 TALLOC_CTX *_mem_save_group_handle_0;
7792 if (flags & NDR_IN) {
7793 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7794 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7796 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7797 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7798 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7800 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
7802 if (flags & NDR_OUT) {
7803 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7805 return NDR_ERR_SUCCESS;
7808 _PUBLIC_ void ndr_print_samr_DeleteGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteGroupMember *r)
7810 ndr_print_struct(ndr, name, "samr_DeleteGroupMember");
7811 ndr->depth++;
7812 if (flags & NDR_SET_VALUES) {
7813 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7815 if (flags & NDR_IN) {
7816 ndr_print_struct(ndr, "in", "samr_DeleteGroupMember");
7817 ndr->depth++;
7818 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7819 ndr->depth++;
7820 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7821 ndr->depth--;
7822 ndr_print_uint32(ndr, "rid", r->in.rid);
7823 ndr->depth--;
7825 if (flags & NDR_OUT) {
7826 ndr_print_struct(ndr, "out", "samr_DeleteGroupMember");
7827 ndr->depth++;
7828 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7829 ndr->depth--;
7831 ndr->depth--;
7834 static enum ndr_err_code ndr_push_samr_QueryGroupMember(struct ndr_push *ndr, int flags, const struct samr_QueryGroupMember *r)
7836 if (flags & NDR_IN) {
7837 if (r->in.group_handle == NULL) {
7838 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7840 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7842 if (flags & NDR_OUT) {
7843 if (r->out.rids == NULL) {
7844 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7846 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
7847 if (*r->out.rids) {
7848 NDR_CHECK(ndr_push_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
7850 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7852 return NDR_ERR_SUCCESS;
7855 static enum ndr_err_code ndr_pull_samr_QueryGroupMember(struct ndr_pull *ndr, int flags, struct samr_QueryGroupMember *r)
7857 uint32_t _ptr_rids;
7858 TALLOC_CTX *_mem_save_group_handle_0;
7859 TALLOC_CTX *_mem_save_rids_0;
7860 TALLOC_CTX *_mem_save_rids_1;
7861 if (flags & NDR_IN) {
7862 ZERO_STRUCT(r->out);
7864 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7865 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7867 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7868 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7869 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7871 NDR_PULL_ALLOC(ndr, r->out.rids);
7872 ZERO_STRUCTP(r->out.rids);
7874 if (flags & NDR_OUT) {
7875 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7876 NDR_PULL_ALLOC(ndr, r->out.rids);
7878 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
7879 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
7880 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
7881 if (_ptr_rids) {
7882 NDR_PULL_ALLOC(ndr, *r->out.rids);
7883 } else {
7884 *r->out.rids = NULL;
7886 if (*r->out.rids) {
7887 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
7888 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
7889 NDR_CHECK(ndr_pull_samr_RidTypeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
7890 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
7892 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
7893 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7895 return NDR_ERR_SUCCESS;
7898 _PUBLIC_ void ndr_print_samr_QueryGroupMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryGroupMember *r)
7900 ndr_print_struct(ndr, name, "samr_QueryGroupMember");
7901 ndr->depth++;
7902 if (flags & NDR_SET_VALUES) {
7903 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7905 if (flags & NDR_IN) {
7906 ndr_print_struct(ndr, "in", "samr_QueryGroupMember");
7907 ndr->depth++;
7908 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7909 ndr->depth++;
7910 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7911 ndr->depth--;
7912 ndr->depth--;
7914 if (flags & NDR_OUT) {
7915 ndr_print_struct(ndr, "out", "samr_QueryGroupMember");
7916 ndr->depth++;
7917 ndr_print_ptr(ndr, "rids", r->out.rids);
7918 ndr->depth++;
7919 ndr_print_ptr(ndr, "rids", *r->out.rids);
7920 ndr->depth++;
7921 if (*r->out.rids) {
7922 ndr_print_samr_RidTypeArray(ndr, "rids", *r->out.rids);
7924 ndr->depth--;
7925 ndr->depth--;
7926 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7927 ndr->depth--;
7929 ndr->depth--;
7932 static enum ndr_err_code ndr_push_samr_SetMemberAttributesOfGroup(struct ndr_push *ndr, int flags, const struct samr_SetMemberAttributesOfGroup *r)
7934 if (flags & NDR_IN) {
7935 if (r->in.group_handle == NULL) {
7936 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7938 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7939 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
7940 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
7942 if (flags & NDR_OUT) {
7943 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7945 return NDR_ERR_SUCCESS;
7948 static enum ndr_err_code ndr_pull_samr_SetMemberAttributesOfGroup(struct ndr_pull *ndr, int flags, struct samr_SetMemberAttributesOfGroup *r)
7950 TALLOC_CTX *_mem_save_group_handle_0;
7951 if (flags & NDR_IN) {
7952 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7953 NDR_PULL_ALLOC(ndr, r->in.group_handle);
7955 _mem_save_group_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7956 NDR_PULL_SET_MEM_CTX(ndr, r->in.group_handle, LIBNDR_FLAG_REF_ALLOC);
7957 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.group_handle));
7958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_handle_0, LIBNDR_FLAG_REF_ALLOC);
7959 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
7960 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
7962 if (flags & NDR_OUT) {
7963 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7965 return NDR_ERR_SUCCESS;
7968 _PUBLIC_ void ndr_print_samr_SetMemberAttributesOfGroup(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetMemberAttributesOfGroup *r)
7970 ndr_print_struct(ndr, name, "samr_SetMemberAttributesOfGroup");
7971 ndr->depth++;
7972 if (flags & NDR_SET_VALUES) {
7973 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7975 if (flags & NDR_IN) {
7976 ndr_print_struct(ndr, "in", "samr_SetMemberAttributesOfGroup");
7977 ndr->depth++;
7978 ndr_print_ptr(ndr, "group_handle", r->in.group_handle);
7979 ndr->depth++;
7980 ndr_print_policy_handle(ndr, "group_handle", r->in.group_handle);
7981 ndr->depth--;
7982 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
7983 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
7984 ndr->depth--;
7986 if (flags & NDR_OUT) {
7987 ndr_print_struct(ndr, "out", "samr_SetMemberAttributesOfGroup");
7988 ndr->depth++;
7989 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7990 ndr->depth--;
7992 ndr->depth--;
7995 static enum ndr_err_code ndr_push_samr_OpenAlias(struct ndr_push *ndr, int flags, const struct samr_OpenAlias *r)
7997 if (flags & NDR_IN) {
7998 if (r->in.domain_handle == NULL) {
7999 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8001 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8002 NDR_CHECK(ndr_push_samr_AliasAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
8003 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8005 if (flags & NDR_OUT) {
8006 if (r->out.alias_handle == NULL) {
8007 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8009 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8010 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8012 return NDR_ERR_SUCCESS;
8015 static enum ndr_err_code ndr_pull_samr_OpenAlias(struct ndr_pull *ndr, int flags, struct samr_OpenAlias *r)
8017 TALLOC_CTX *_mem_save_domain_handle_0;
8018 TALLOC_CTX *_mem_save_alias_handle_0;
8019 if (flags & NDR_IN) {
8020 ZERO_STRUCT(r->out);
8022 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8023 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8025 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8026 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8027 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8029 NDR_CHECK(ndr_pull_samr_AliasAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8030 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8031 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8032 ZERO_STRUCTP(r->out.alias_handle);
8034 if (flags & NDR_OUT) {
8035 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8036 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8038 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8039 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8040 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8042 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8044 return NDR_ERR_SUCCESS;
8047 _PUBLIC_ void ndr_print_samr_OpenAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenAlias *r)
8049 ndr_print_struct(ndr, name, "samr_OpenAlias");
8050 ndr->depth++;
8051 if (flags & NDR_SET_VALUES) {
8052 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8054 if (flags & NDR_IN) {
8055 ndr_print_struct(ndr, "in", "samr_OpenAlias");
8056 ndr->depth++;
8057 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8058 ndr->depth++;
8059 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8060 ndr->depth--;
8061 ndr_print_samr_AliasAccessMask(ndr, "access_mask", r->in.access_mask);
8062 ndr_print_uint32(ndr, "rid", r->in.rid);
8063 ndr->depth--;
8065 if (flags & NDR_OUT) {
8066 ndr_print_struct(ndr, "out", "samr_OpenAlias");
8067 ndr->depth++;
8068 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
8069 ndr->depth++;
8070 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
8071 ndr->depth--;
8072 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8073 ndr->depth--;
8075 ndr->depth--;
8078 static enum ndr_err_code ndr_push_samr_QueryAliasInfo(struct ndr_push *ndr, int flags, const struct samr_QueryAliasInfo *r)
8080 if (flags & NDR_IN) {
8081 if (r->in.alias_handle == NULL) {
8082 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8084 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8085 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
8087 if (flags & NDR_OUT) {
8088 if (r->out.info == NULL) {
8089 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8091 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8092 if (*r->out.info) {
8093 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8094 NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8096 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8098 return NDR_ERR_SUCCESS;
8101 static enum ndr_err_code ndr_pull_samr_QueryAliasInfo(struct ndr_pull *ndr, int flags, struct samr_QueryAliasInfo *r)
8103 uint32_t _ptr_info;
8104 TALLOC_CTX *_mem_save_alias_handle_0;
8105 TALLOC_CTX *_mem_save_info_0;
8106 TALLOC_CTX *_mem_save_info_1;
8107 if (flags & NDR_IN) {
8108 ZERO_STRUCT(r->out);
8110 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8111 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8113 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8114 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8115 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8116 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8117 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8118 NDR_PULL_ALLOC(ndr, r->out.info);
8119 ZERO_STRUCTP(r->out.info);
8121 if (flags & NDR_OUT) {
8122 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8123 NDR_PULL_ALLOC(ndr, r->out.info);
8125 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8126 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8127 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8128 if (_ptr_info) {
8129 NDR_PULL_ALLOC(ndr, *r->out.info);
8130 } else {
8131 *r->out.info = NULL;
8133 if (*r->out.info) {
8134 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8135 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8136 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
8137 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8140 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8141 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8143 return NDR_ERR_SUCCESS;
8146 _PUBLIC_ void ndr_print_samr_QueryAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryAliasInfo *r)
8148 ndr_print_struct(ndr, name, "samr_QueryAliasInfo");
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_QueryAliasInfo");
8155 ndr->depth++;
8156 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8157 ndr->depth++;
8158 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8159 ndr->depth--;
8160 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
8161 ndr->depth--;
8163 if (flags & NDR_OUT) {
8164 ndr_print_struct(ndr, "out", "samr_QueryAliasInfo");
8165 ndr->depth++;
8166 ndr_print_ptr(ndr, "info", r->out.info);
8167 ndr->depth++;
8168 ndr_print_ptr(ndr, "info", *r->out.info);
8169 ndr->depth++;
8170 if (*r->out.info) {
8171 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
8172 ndr_print_samr_AliasInfo(ndr, "info", *r->out.info);
8174 ndr->depth--;
8175 ndr->depth--;
8176 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8177 ndr->depth--;
8179 ndr->depth--;
8182 static enum ndr_err_code ndr_push_samr_SetAliasInfo(struct ndr_push *ndr, int flags, const struct samr_SetAliasInfo *r)
8184 if (flags & NDR_IN) {
8185 if (r->in.alias_handle == NULL) {
8186 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8188 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8189 NDR_CHECK(ndr_push_samr_AliasInfoEnum(ndr, NDR_SCALARS, r->in.level));
8190 if (r->in.info == NULL) {
8191 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8193 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
8194 NDR_CHECK(ndr_push_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8196 if (flags & NDR_OUT) {
8197 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8199 return NDR_ERR_SUCCESS;
8202 static enum ndr_err_code ndr_pull_samr_SetAliasInfo(struct ndr_pull *ndr, int flags, struct samr_SetAliasInfo *r)
8204 TALLOC_CTX *_mem_save_alias_handle_0;
8205 TALLOC_CTX *_mem_save_info_0;
8206 if (flags & NDR_IN) {
8207 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8208 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8210 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8211 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8212 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8213 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8214 NDR_CHECK(ndr_pull_samr_AliasInfoEnum(ndr, NDR_SCALARS, &r->in.level));
8215 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8216 NDR_PULL_ALLOC(ndr, r->in.info);
8218 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8219 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
8220 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
8221 NDR_CHECK(ndr_pull_samr_AliasInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8222 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8224 if (flags & NDR_OUT) {
8225 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8227 return NDR_ERR_SUCCESS;
8230 _PUBLIC_ void ndr_print_samr_SetAliasInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetAliasInfo *r)
8232 ndr_print_struct(ndr, name, "samr_SetAliasInfo");
8233 ndr->depth++;
8234 if (flags & NDR_SET_VALUES) {
8235 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8237 if (flags & NDR_IN) {
8238 ndr_print_struct(ndr, "in", "samr_SetAliasInfo");
8239 ndr->depth++;
8240 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8241 ndr->depth++;
8242 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8243 ndr->depth--;
8244 ndr_print_samr_AliasInfoEnum(ndr, "level", r->in.level);
8245 ndr_print_ptr(ndr, "info", r->in.info);
8246 ndr->depth++;
8247 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
8248 ndr_print_samr_AliasInfo(ndr, "info", r->in.info);
8249 ndr->depth--;
8250 ndr->depth--;
8252 if (flags & NDR_OUT) {
8253 ndr_print_struct(ndr, "out", "samr_SetAliasInfo");
8254 ndr->depth++;
8255 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8256 ndr->depth--;
8258 ndr->depth--;
8261 static enum ndr_err_code ndr_push_samr_DeleteDomAlias(struct ndr_push *ndr, int flags, const struct samr_DeleteDomAlias *r)
8263 if (flags & NDR_IN) {
8264 if (r->in.alias_handle == NULL) {
8265 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8267 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8269 if (flags & NDR_OUT) {
8270 if (r->out.alias_handle == NULL) {
8271 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8273 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
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_DeleteDomAlias(struct ndr_pull *ndr, int flags, struct samr_DeleteDomAlias *r)
8281 TALLOC_CTX *_mem_save_alias_handle_0;
8282 if (flags & NDR_IN) {
8283 ZERO_STRUCT(r->out);
8285 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8286 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8288 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8289 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8290 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8292 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8293 *r->out.alias_handle = *r->in.alias_handle;
8295 if (flags & NDR_OUT) {
8296 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8297 NDR_PULL_ALLOC(ndr, r->out.alias_handle);
8299 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8300 NDR_PULL_SET_MEM_CTX(ndr, r->out.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8301 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.alias_handle));
8302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8303 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8305 return NDR_ERR_SUCCESS;
8308 _PUBLIC_ void ndr_print_samr_DeleteDomAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteDomAlias *r)
8310 ndr_print_struct(ndr, name, "samr_DeleteDomAlias");
8311 ndr->depth++;
8312 if (flags & NDR_SET_VALUES) {
8313 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8315 if (flags & NDR_IN) {
8316 ndr_print_struct(ndr, "in", "samr_DeleteDomAlias");
8317 ndr->depth++;
8318 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8319 ndr->depth++;
8320 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8321 ndr->depth--;
8322 ndr->depth--;
8324 if (flags & NDR_OUT) {
8325 ndr_print_struct(ndr, "out", "samr_DeleteDomAlias");
8326 ndr->depth++;
8327 ndr_print_ptr(ndr, "alias_handle", r->out.alias_handle);
8328 ndr->depth++;
8329 ndr_print_policy_handle(ndr, "alias_handle", r->out.alias_handle);
8330 ndr->depth--;
8331 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8332 ndr->depth--;
8334 ndr->depth--;
8337 static enum ndr_err_code ndr_push_samr_AddAliasMember(struct ndr_push *ndr, int flags, const struct samr_AddAliasMember *r)
8339 if (flags & NDR_IN) {
8340 if (r->in.alias_handle == NULL) {
8341 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8343 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8344 if (r->in.sid == NULL) {
8345 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8347 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8349 if (flags & NDR_OUT) {
8350 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8352 return NDR_ERR_SUCCESS;
8355 static enum ndr_err_code ndr_pull_samr_AddAliasMember(struct ndr_pull *ndr, int flags, struct samr_AddAliasMember *r)
8357 TALLOC_CTX *_mem_save_alias_handle_0;
8358 TALLOC_CTX *_mem_save_sid_0;
8359 if (flags & NDR_IN) {
8360 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8361 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8363 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8364 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8365 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8366 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8367 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8368 NDR_PULL_ALLOC(ndr, r->in.sid);
8370 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8371 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
8372 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8373 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
8375 if (flags & NDR_OUT) {
8376 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8378 return NDR_ERR_SUCCESS;
8381 _PUBLIC_ void ndr_print_samr_AddAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddAliasMember *r)
8383 ndr_print_struct(ndr, name, "samr_AddAliasMember");
8384 ndr->depth++;
8385 if (flags & NDR_SET_VALUES) {
8386 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8388 if (flags & NDR_IN) {
8389 ndr_print_struct(ndr, "in", "samr_AddAliasMember");
8390 ndr->depth++;
8391 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8392 ndr->depth++;
8393 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8394 ndr->depth--;
8395 ndr_print_ptr(ndr, "sid", r->in.sid);
8396 ndr->depth++;
8397 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
8398 ndr->depth--;
8399 ndr->depth--;
8401 if (flags & NDR_OUT) {
8402 ndr_print_struct(ndr, "out", "samr_AddAliasMember");
8403 ndr->depth++;
8404 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8405 ndr->depth--;
8407 ndr->depth--;
8410 static enum ndr_err_code ndr_push_samr_DeleteAliasMember(struct ndr_push *ndr, int flags, const struct samr_DeleteAliasMember *r)
8412 if (flags & NDR_IN) {
8413 if (r->in.alias_handle == NULL) {
8414 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8416 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8417 if (r->in.sid == NULL) {
8418 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8420 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8422 if (flags & NDR_OUT) {
8423 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8425 return NDR_ERR_SUCCESS;
8428 static enum ndr_err_code ndr_pull_samr_DeleteAliasMember(struct ndr_pull *ndr, int flags, struct samr_DeleteAliasMember *r)
8430 TALLOC_CTX *_mem_save_alias_handle_0;
8431 TALLOC_CTX *_mem_save_sid_0;
8432 if (flags & NDR_IN) {
8433 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8434 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8436 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8437 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8438 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8439 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8440 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8441 NDR_PULL_ALLOC(ndr, r->in.sid);
8443 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8444 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
8445 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8446 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
8448 if (flags & NDR_OUT) {
8449 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8451 return NDR_ERR_SUCCESS;
8454 _PUBLIC_ void ndr_print_samr_DeleteAliasMember(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteAliasMember *r)
8456 ndr_print_struct(ndr, name, "samr_DeleteAliasMember");
8457 ndr->depth++;
8458 if (flags & NDR_SET_VALUES) {
8459 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8461 if (flags & NDR_IN) {
8462 ndr_print_struct(ndr, "in", "samr_DeleteAliasMember");
8463 ndr->depth++;
8464 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8465 ndr->depth++;
8466 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8467 ndr->depth--;
8468 ndr_print_ptr(ndr, "sid", r->in.sid);
8469 ndr->depth++;
8470 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
8471 ndr->depth--;
8472 ndr->depth--;
8474 if (flags & NDR_OUT) {
8475 ndr_print_struct(ndr, "out", "samr_DeleteAliasMember");
8476 ndr->depth++;
8477 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8478 ndr->depth--;
8480 ndr->depth--;
8483 static enum ndr_err_code ndr_push_samr_GetMembersInAlias(struct ndr_push *ndr, int flags, const struct samr_GetMembersInAlias *r)
8485 if (flags & NDR_IN) {
8486 if (r->in.alias_handle == NULL) {
8487 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8489 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8491 if (flags & NDR_OUT) {
8492 if (r->out.sids == NULL) {
8493 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8495 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
8496 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8498 return NDR_ERR_SUCCESS;
8501 static enum ndr_err_code ndr_pull_samr_GetMembersInAlias(struct ndr_pull *ndr, int flags, struct samr_GetMembersInAlias *r)
8503 TALLOC_CTX *_mem_save_alias_handle_0;
8504 TALLOC_CTX *_mem_save_sids_0;
8505 if (flags & NDR_IN) {
8506 ZERO_STRUCT(r->out);
8508 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8509 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
8511 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8512 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
8513 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
8514 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
8515 NDR_PULL_ALLOC(ndr, r->out.sids);
8516 ZERO_STRUCTP(r->out.sids);
8518 if (flags & NDR_OUT) {
8519 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8520 NDR_PULL_ALLOC(ndr, r->out.sids);
8522 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
8523 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
8524 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
8525 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
8526 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8528 return NDR_ERR_SUCCESS;
8531 _PUBLIC_ void ndr_print_samr_GetMembersInAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetMembersInAlias *r)
8533 ndr_print_struct(ndr, name, "samr_GetMembersInAlias");
8534 ndr->depth++;
8535 if (flags & NDR_SET_VALUES) {
8536 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8538 if (flags & NDR_IN) {
8539 ndr_print_struct(ndr, "in", "samr_GetMembersInAlias");
8540 ndr->depth++;
8541 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
8542 ndr->depth++;
8543 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
8544 ndr->depth--;
8545 ndr->depth--;
8547 if (flags & NDR_OUT) {
8548 ndr_print_struct(ndr, "out", "samr_GetMembersInAlias");
8549 ndr->depth++;
8550 ndr_print_ptr(ndr, "sids", r->out.sids);
8551 ndr->depth++;
8552 ndr_print_lsa_SidArray(ndr, "sids", r->out.sids);
8553 ndr->depth--;
8554 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8555 ndr->depth--;
8557 ndr->depth--;
8560 _PUBLIC_ enum ndr_err_code ndr_push_samr_OpenUser(struct ndr_push *ndr, int flags, const struct samr_OpenUser *r)
8562 if (flags & NDR_IN) {
8563 if (r->in.domain_handle == NULL) {
8564 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8566 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8567 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
8568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
8570 if (flags & NDR_OUT) {
8571 if (r->out.user_handle == NULL) {
8572 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8574 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8575 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8577 return NDR_ERR_SUCCESS;
8580 _PUBLIC_ enum ndr_err_code ndr_pull_samr_OpenUser(struct ndr_pull *ndr, int flags, struct samr_OpenUser *r)
8582 TALLOC_CTX *_mem_save_domain_handle_0;
8583 TALLOC_CTX *_mem_save_user_handle_0;
8584 if (flags & NDR_IN) {
8585 ZERO_STRUCT(r->out);
8587 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8588 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
8590 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8591 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
8592 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
8593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
8594 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8595 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
8596 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8597 ZERO_STRUCTP(r->out.user_handle);
8599 if (flags & NDR_OUT) {
8600 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8601 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8603 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8604 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
8605 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8606 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8607 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8609 return NDR_ERR_SUCCESS;
8612 _PUBLIC_ void ndr_print_samr_OpenUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_OpenUser *r)
8614 ndr_print_struct(ndr, name, "samr_OpenUser");
8615 ndr->depth++;
8616 if (flags & NDR_SET_VALUES) {
8617 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8619 if (flags & NDR_IN) {
8620 ndr_print_struct(ndr, "in", "samr_OpenUser");
8621 ndr->depth++;
8622 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
8623 ndr->depth++;
8624 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
8625 ndr->depth--;
8626 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
8627 ndr_print_uint32(ndr, "rid", r->in.rid);
8628 ndr->depth--;
8630 if (flags & NDR_OUT) {
8631 ndr_print_struct(ndr, "out", "samr_OpenUser");
8632 ndr->depth++;
8633 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
8634 ndr->depth++;
8635 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
8636 ndr->depth--;
8637 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8638 ndr->depth--;
8640 ndr->depth--;
8643 static enum ndr_err_code ndr_push_samr_DeleteUser(struct ndr_push *ndr, int flags, const struct samr_DeleteUser *r)
8645 if (flags & NDR_IN) {
8646 if (r->in.user_handle == NULL) {
8647 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8649 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8651 if (flags & NDR_OUT) {
8652 if (r->out.user_handle == NULL) {
8653 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8655 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8656 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8658 return NDR_ERR_SUCCESS;
8661 static enum ndr_err_code ndr_pull_samr_DeleteUser(struct ndr_pull *ndr, int flags, struct samr_DeleteUser *r)
8663 TALLOC_CTX *_mem_save_user_handle_0;
8664 if (flags & NDR_IN) {
8665 ZERO_STRUCT(r->out);
8667 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8668 NDR_PULL_ALLOC(ndr, r->in.user_handle);
8670 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8671 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
8672 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8673 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8674 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8675 *r->out.user_handle = *r->in.user_handle;
8677 if (flags & NDR_OUT) {
8678 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8679 NDR_PULL_ALLOC(ndr, r->out.user_handle);
8681 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8682 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
8683 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
8684 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8685 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8687 return NDR_ERR_SUCCESS;
8690 _PUBLIC_ void ndr_print_samr_DeleteUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_DeleteUser *r)
8692 ndr_print_struct(ndr, name, "samr_DeleteUser");
8693 ndr->depth++;
8694 if (flags & NDR_SET_VALUES) {
8695 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8697 if (flags & NDR_IN) {
8698 ndr_print_struct(ndr, "in", "samr_DeleteUser");
8699 ndr->depth++;
8700 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
8701 ndr->depth++;
8702 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
8703 ndr->depth--;
8704 ndr->depth--;
8706 if (flags & NDR_OUT) {
8707 ndr_print_struct(ndr, "out", "samr_DeleteUser");
8708 ndr->depth++;
8709 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
8710 ndr->depth++;
8711 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
8712 ndr->depth--;
8713 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8714 ndr->depth--;
8716 ndr->depth--;
8719 _PUBLIC_ enum ndr_err_code ndr_push_samr_QueryUserInfo(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo *r)
8721 if (flags & NDR_IN) {
8722 if (r->in.user_handle == NULL) {
8723 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8725 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8726 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
8728 if (flags & NDR_OUT) {
8729 if (r->out.info == NULL) {
8730 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8732 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
8733 if (*r->out.info) {
8734 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
8735 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8737 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8739 return NDR_ERR_SUCCESS;
8742 _PUBLIC_ enum ndr_err_code ndr_pull_samr_QueryUserInfo(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo *r)
8744 uint32_t _ptr_info;
8745 TALLOC_CTX *_mem_save_user_handle_0;
8746 TALLOC_CTX *_mem_save_info_0;
8747 TALLOC_CTX *_mem_save_info_1;
8748 if (flags & NDR_IN) {
8749 ZERO_STRUCT(r->out);
8751 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8752 NDR_PULL_ALLOC(ndr, r->in.user_handle);
8754 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8755 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
8756 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8757 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8758 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
8759 NDR_PULL_ALLOC(ndr, r->out.info);
8760 ZERO_STRUCTP(r->out.info);
8762 if (flags & NDR_OUT) {
8763 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8764 NDR_PULL_ALLOC(ndr, r->out.info);
8766 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8767 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
8768 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
8769 if (_ptr_info) {
8770 NDR_PULL_ALLOC(ndr, *r->out.info);
8771 } else {
8772 *r->out.info = NULL;
8774 if (*r->out.info) {
8775 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
8776 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
8777 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
8778 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
8779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
8781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8782 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8784 return NDR_ERR_SUCCESS;
8787 _PUBLIC_ void ndr_print_samr_QueryUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo *r)
8789 ndr_print_struct(ndr, name, "samr_QueryUserInfo");
8790 ndr->depth++;
8791 if (flags & NDR_SET_VALUES) {
8792 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8794 if (flags & NDR_IN) {
8795 ndr_print_struct(ndr, "in", "samr_QueryUserInfo");
8796 ndr->depth++;
8797 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
8798 ndr->depth++;
8799 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
8800 ndr->depth--;
8801 ndr_print_uint16(ndr, "level", r->in.level);
8802 ndr->depth--;
8804 if (flags & NDR_OUT) {
8805 ndr_print_struct(ndr, "out", "samr_QueryUserInfo");
8806 ndr->depth++;
8807 ndr_print_ptr(ndr, "info", r->out.info);
8808 ndr->depth++;
8809 ndr_print_ptr(ndr, "info", *r->out.info);
8810 ndr->depth++;
8811 if (*r->out.info) {
8812 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
8813 ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
8815 ndr->depth--;
8816 ndr->depth--;
8817 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8818 ndr->depth--;
8820 ndr->depth--;
8823 _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo *r)
8825 if (flags & NDR_IN) {
8826 if (r->in.user_handle == NULL) {
8827 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8829 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8830 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
8831 if (r->in.info == NULL) {
8832 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8834 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
8835 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8837 if (flags & NDR_OUT) {
8838 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8840 return NDR_ERR_SUCCESS;
8843 _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo *r)
8845 TALLOC_CTX *_mem_save_user_handle_0;
8846 TALLOC_CTX *_mem_save_info_0;
8847 if (flags & NDR_IN) {
8848 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8849 NDR_PULL_ALLOC(ndr, r->in.user_handle);
8851 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8852 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
8853 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8854 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8855 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
8856 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8857 NDR_PULL_ALLOC(ndr, r->in.info);
8859 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
8860 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
8861 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
8862 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
8863 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
8865 if (flags & NDR_OUT) {
8866 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8868 return NDR_ERR_SUCCESS;
8871 _PUBLIC_ void ndr_print_samr_SetUserInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo *r)
8873 ndr_print_struct(ndr, name, "samr_SetUserInfo");
8874 ndr->depth++;
8875 if (flags & NDR_SET_VALUES) {
8876 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8878 if (flags & NDR_IN) {
8879 ndr_print_struct(ndr, "in", "samr_SetUserInfo");
8880 ndr->depth++;
8881 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
8882 ndr->depth++;
8883 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
8884 ndr->depth--;
8885 ndr_print_uint16(ndr, "level", r->in.level);
8886 ndr_print_ptr(ndr, "info", r->in.info);
8887 ndr->depth++;
8888 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
8889 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
8890 ndr->depth--;
8891 ndr->depth--;
8893 if (flags & NDR_OUT) {
8894 ndr_print_struct(ndr, "out", "samr_SetUserInfo");
8895 ndr->depth++;
8896 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8897 ndr->depth--;
8899 ndr->depth--;
8902 static enum ndr_err_code ndr_push_samr_ChangePasswordUser(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser *r)
8904 if (flags & NDR_IN) {
8905 if (r->in.user_handle == NULL) {
8906 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8908 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8909 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_present));
8910 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_lm_crypted));
8911 if (r->in.old_lm_crypted) {
8912 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
8914 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_lm_crypted));
8915 if (r->in.new_lm_crypted) {
8916 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
8918 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.nt_present));
8919 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_nt_crypted));
8920 if (r->in.old_nt_crypted) {
8921 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
8923 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_nt_crypted));
8924 if (r->in.new_nt_crypted) {
8925 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
8927 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross1_present));
8928 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_cross));
8929 if (r->in.nt_cross) {
8930 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
8932 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.cross2_present));
8933 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_cross));
8934 if (r->in.lm_cross) {
8935 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
8938 if (flags & NDR_OUT) {
8939 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8941 return NDR_ERR_SUCCESS;
8944 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser *r)
8946 uint32_t _ptr_old_lm_crypted;
8947 uint32_t _ptr_new_lm_crypted;
8948 uint32_t _ptr_old_nt_crypted;
8949 uint32_t _ptr_new_nt_crypted;
8950 uint32_t _ptr_nt_cross;
8951 uint32_t _ptr_lm_cross;
8952 TALLOC_CTX *_mem_save_user_handle_0;
8953 TALLOC_CTX *_mem_save_old_lm_crypted_0;
8954 TALLOC_CTX *_mem_save_new_lm_crypted_0;
8955 TALLOC_CTX *_mem_save_old_nt_crypted_0;
8956 TALLOC_CTX *_mem_save_new_nt_crypted_0;
8957 TALLOC_CTX *_mem_save_nt_cross_0;
8958 TALLOC_CTX *_mem_save_lm_cross_0;
8959 if (flags & NDR_IN) {
8960 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8961 NDR_PULL_ALLOC(ndr, r->in.user_handle);
8963 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8964 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
8965 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
8966 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
8967 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_present));
8968 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_lm_crypted));
8969 if (_ptr_old_lm_crypted) {
8970 NDR_PULL_ALLOC(ndr, r->in.old_lm_crypted);
8971 } else {
8972 r->in.old_lm_crypted = NULL;
8974 if (r->in.old_lm_crypted) {
8975 _mem_save_old_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
8976 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_lm_crypted, 0);
8977 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_lm_crypted));
8978 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_lm_crypted_0, 0);
8980 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_lm_crypted));
8981 if (_ptr_new_lm_crypted) {
8982 NDR_PULL_ALLOC(ndr, r->in.new_lm_crypted);
8983 } else {
8984 r->in.new_lm_crypted = NULL;
8986 if (r->in.new_lm_crypted) {
8987 _mem_save_new_lm_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
8988 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_lm_crypted, 0);
8989 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_lm_crypted));
8990 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_lm_crypted_0, 0);
8992 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.nt_present));
8993 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_nt_crypted));
8994 if (_ptr_old_nt_crypted) {
8995 NDR_PULL_ALLOC(ndr, r->in.old_nt_crypted);
8996 } else {
8997 r->in.old_nt_crypted = NULL;
8999 if (r->in.old_nt_crypted) {
9000 _mem_save_old_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9001 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_nt_crypted, 0);
9002 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.old_nt_crypted));
9003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_nt_crypted_0, 0);
9005 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_nt_crypted));
9006 if (_ptr_new_nt_crypted) {
9007 NDR_PULL_ALLOC(ndr, r->in.new_nt_crypted);
9008 } else {
9009 r->in.new_nt_crypted = NULL;
9011 if (r->in.new_nt_crypted) {
9012 _mem_save_new_nt_crypted_0 = NDR_PULL_GET_MEM_CTX(ndr);
9013 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_nt_crypted, 0);
9014 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.new_nt_crypted));
9015 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_nt_crypted_0, 0);
9017 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross1_present));
9018 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_cross));
9019 if (_ptr_nt_cross) {
9020 NDR_PULL_ALLOC(ndr, r->in.nt_cross);
9021 } else {
9022 r->in.nt_cross = NULL;
9024 if (r->in.nt_cross) {
9025 _mem_save_nt_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
9026 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_cross, 0);
9027 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_cross));
9028 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_cross_0, 0);
9030 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.cross2_present));
9031 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_cross));
9032 if (_ptr_lm_cross) {
9033 NDR_PULL_ALLOC(ndr, r->in.lm_cross);
9034 } else {
9035 r->in.lm_cross = NULL;
9037 if (r->in.lm_cross) {
9038 _mem_save_lm_cross_0 = NDR_PULL_GET_MEM_CTX(ndr);
9039 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_cross, 0);
9040 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_cross));
9041 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_cross_0, 0);
9044 if (flags & NDR_OUT) {
9045 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9047 return NDR_ERR_SUCCESS;
9050 _PUBLIC_ void ndr_print_samr_ChangePasswordUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser *r)
9052 ndr_print_struct(ndr, name, "samr_ChangePasswordUser");
9053 ndr->depth++;
9054 if (flags & NDR_SET_VALUES) {
9055 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9057 if (flags & NDR_IN) {
9058 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser");
9059 ndr->depth++;
9060 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9061 ndr->depth++;
9062 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9063 ndr->depth--;
9064 ndr_print_uint8(ndr, "lm_present", r->in.lm_present);
9065 ndr_print_ptr(ndr, "old_lm_crypted", r->in.old_lm_crypted);
9066 ndr->depth++;
9067 if (r->in.old_lm_crypted) {
9068 ndr_print_samr_Password(ndr, "old_lm_crypted", r->in.old_lm_crypted);
9070 ndr->depth--;
9071 ndr_print_ptr(ndr, "new_lm_crypted", r->in.new_lm_crypted);
9072 ndr->depth++;
9073 if (r->in.new_lm_crypted) {
9074 ndr_print_samr_Password(ndr, "new_lm_crypted", r->in.new_lm_crypted);
9076 ndr->depth--;
9077 ndr_print_uint8(ndr, "nt_present", r->in.nt_present);
9078 ndr_print_ptr(ndr, "old_nt_crypted", r->in.old_nt_crypted);
9079 ndr->depth++;
9080 if (r->in.old_nt_crypted) {
9081 ndr_print_samr_Password(ndr, "old_nt_crypted", r->in.old_nt_crypted);
9083 ndr->depth--;
9084 ndr_print_ptr(ndr, "new_nt_crypted", r->in.new_nt_crypted);
9085 ndr->depth++;
9086 if (r->in.new_nt_crypted) {
9087 ndr_print_samr_Password(ndr, "new_nt_crypted", r->in.new_nt_crypted);
9089 ndr->depth--;
9090 ndr_print_uint8(ndr, "cross1_present", r->in.cross1_present);
9091 ndr_print_ptr(ndr, "nt_cross", r->in.nt_cross);
9092 ndr->depth++;
9093 if (r->in.nt_cross) {
9094 ndr_print_samr_Password(ndr, "nt_cross", r->in.nt_cross);
9096 ndr->depth--;
9097 ndr_print_uint8(ndr, "cross2_present", r->in.cross2_present);
9098 ndr_print_ptr(ndr, "lm_cross", r->in.lm_cross);
9099 ndr->depth++;
9100 if (r->in.lm_cross) {
9101 ndr_print_samr_Password(ndr, "lm_cross", r->in.lm_cross);
9103 ndr->depth--;
9104 ndr->depth--;
9106 if (flags & NDR_OUT) {
9107 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser");
9108 ndr->depth++;
9109 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9110 ndr->depth--;
9112 ndr->depth--;
9115 static enum ndr_err_code ndr_push_samr_GetGroupsForUser(struct ndr_push *ndr, int flags, const struct samr_GetGroupsForUser *r)
9117 if (flags & NDR_IN) {
9118 if (r->in.user_handle == NULL) {
9119 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9121 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9123 if (flags & NDR_OUT) {
9124 if (r->out.rids == NULL) {
9125 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9127 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rids));
9128 if (*r->out.rids) {
9129 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
9131 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9133 return NDR_ERR_SUCCESS;
9136 static enum ndr_err_code ndr_pull_samr_GetGroupsForUser(struct ndr_pull *ndr, int flags, struct samr_GetGroupsForUser *r)
9138 uint32_t _ptr_rids;
9139 TALLOC_CTX *_mem_save_user_handle_0;
9140 TALLOC_CTX *_mem_save_rids_0;
9141 TALLOC_CTX *_mem_save_rids_1;
9142 if (flags & NDR_IN) {
9143 ZERO_STRUCT(r->out);
9145 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9146 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9148 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9149 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9150 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9151 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9152 NDR_PULL_ALLOC(ndr, r->out.rids);
9153 ZERO_STRUCTP(r->out.rids);
9155 if (flags & NDR_OUT) {
9156 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9157 NDR_PULL_ALLOC(ndr, r->out.rids);
9159 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
9160 NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC);
9161 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rids));
9162 if (_ptr_rids) {
9163 NDR_PULL_ALLOC(ndr, *r->out.rids);
9164 } else {
9165 *r->out.rids = NULL;
9167 if (*r->out.rids) {
9168 _mem_save_rids_1 = NDR_PULL_GET_MEM_CTX(ndr);
9169 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rids, 0);
9170 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rids));
9171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_1, 0);
9173 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC);
9174 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9176 return NDR_ERR_SUCCESS;
9179 _PUBLIC_ void ndr_print_samr_GetGroupsForUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetGroupsForUser *r)
9181 ndr_print_struct(ndr, name, "samr_GetGroupsForUser");
9182 ndr->depth++;
9183 if (flags & NDR_SET_VALUES) {
9184 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9186 if (flags & NDR_IN) {
9187 ndr_print_struct(ndr, "in", "samr_GetGroupsForUser");
9188 ndr->depth++;
9189 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9190 ndr->depth++;
9191 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9192 ndr->depth--;
9193 ndr->depth--;
9195 if (flags & NDR_OUT) {
9196 ndr_print_struct(ndr, "out", "samr_GetGroupsForUser");
9197 ndr->depth++;
9198 ndr_print_ptr(ndr, "rids", r->out.rids);
9199 ndr->depth++;
9200 ndr_print_ptr(ndr, "rids", *r->out.rids);
9201 ndr->depth++;
9202 if (*r->out.rids) {
9203 ndr_print_samr_RidWithAttributeArray(ndr, "rids", *r->out.rids);
9205 ndr->depth--;
9206 ndr->depth--;
9207 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9208 ndr->depth--;
9210 ndr->depth--;
9213 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo *r)
9215 if (flags & NDR_IN) {
9216 if (r->in.domain_handle == NULL) {
9217 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9219 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9220 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9221 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
9222 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
9223 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
9225 if (flags & NDR_OUT) {
9226 if (r->out.total_size == NULL) {
9227 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9229 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
9230 if (r->out.returned_size == NULL) {
9231 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9233 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
9234 if (r->out.info == NULL) {
9235 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9237 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
9238 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9239 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9241 return NDR_ERR_SUCCESS;
9244 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo *r)
9246 TALLOC_CTX *_mem_save_domain_handle_0;
9247 TALLOC_CTX *_mem_save_total_size_0;
9248 TALLOC_CTX *_mem_save_returned_size_0;
9249 TALLOC_CTX *_mem_save_info_0;
9250 if (flags & NDR_IN) {
9251 ZERO_STRUCT(r->out);
9253 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9254 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9256 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9257 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9258 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9259 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9260 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9261 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
9262 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
9263 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
9264 NDR_PULL_ALLOC(ndr, r->out.total_size);
9265 ZERO_STRUCTP(r->out.total_size);
9266 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9267 ZERO_STRUCTP(r->out.returned_size);
9268 NDR_PULL_ALLOC(ndr, r->out.info);
9269 ZERO_STRUCTP(r->out.info);
9271 if (flags & NDR_OUT) {
9272 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9273 NDR_PULL_ALLOC(ndr, r->out.total_size);
9275 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9276 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
9277 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
9278 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
9279 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9280 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9282 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9283 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
9284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
9285 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
9286 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9287 NDR_PULL_ALLOC(ndr, r->out.info);
9289 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9290 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9291 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
9292 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9293 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9294 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9296 return NDR_ERR_SUCCESS;
9299 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo *r)
9301 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo");
9302 ndr->depth++;
9303 if (flags & NDR_SET_VALUES) {
9304 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9306 if (flags & NDR_IN) {
9307 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo");
9308 ndr->depth++;
9309 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9310 ndr->depth++;
9311 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9312 ndr->depth--;
9313 ndr_print_uint16(ndr, "level", r->in.level);
9314 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
9315 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
9316 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
9317 ndr->depth--;
9319 if (flags & NDR_OUT) {
9320 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo");
9321 ndr->depth++;
9322 ndr_print_ptr(ndr, "total_size", r->out.total_size);
9323 ndr->depth++;
9324 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
9325 ndr->depth--;
9326 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
9327 ndr->depth++;
9328 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
9329 ndr->depth--;
9330 ndr_print_ptr(ndr, "info", r->out.info);
9331 ndr->depth++;
9332 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
9333 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
9334 ndr->depth--;
9335 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9336 ndr->depth--;
9338 ndr->depth--;
9341 static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex *r)
9343 if (flags & NDR_IN) {
9344 if (r->in.domain_handle == NULL) {
9345 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9347 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9348 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9349 if (r->in.name == NULL) {
9350 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9352 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9354 if (flags & NDR_OUT) {
9355 if (r->out.idx == NULL) {
9356 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9358 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
9359 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9361 return NDR_ERR_SUCCESS;
9364 static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex *r)
9366 TALLOC_CTX *_mem_save_domain_handle_0;
9367 TALLOC_CTX *_mem_save_name_0;
9368 TALLOC_CTX *_mem_save_idx_0;
9369 if (flags & NDR_IN) {
9370 ZERO_STRUCT(r->out);
9372 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9373 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9375 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9376 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9377 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9378 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9379 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9380 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9381 NDR_PULL_ALLOC(ndr, r->in.name);
9383 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9384 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
9385 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
9387 NDR_PULL_ALLOC(ndr, r->out.idx);
9388 ZERO_STRUCTP(r->out.idx);
9390 if (flags & NDR_OUT) {
9391 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9392 NDR_PULL_ALLOC(ndr, r->out.idx);
9394 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
9395 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
9396 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
9397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
9398 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9400 return NDR_ERR_SUCCESS;
9403 _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex *r)
9405 ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex");
9406 ndr->depth++;
9407 if (flags & NDR_SET_VALUES) {
9408 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9410 if (flags & NDR_IN) {
9411 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex");
9412 ndr->depth++;
9413 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9414 ndr->depth++;
9415 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9416 ndr->depth--;
9417 ndr_print_uint16(ndr, "level", r->in.level);
9418 ndr_print_ptr(ndr, "name", r->in.name);
9419 ndr->depth++;
9420 ndr_print_lsa_String(ndr, "name", r->in.name);
9421 ndr->depth--;
9422 ndr->depth--;
9424 if (flags & NDR_OUT) {
9425 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex");
9426 ndr->depth++;
9427 ndr_print_ptr(ndr, "idx", r->out.idx);
9428 ndr->depth++;
9429 ndr_print_uint32(ndr, "idx", *r->out.idx);
9430 ndr->depth--;
9431 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9432 ndr->depth--;
9434 ndr->depth--;
9437 static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsDomain(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsDomain *r)
9439 if (flags & NDR_IN) {
9440 if (r->in.domain_handle == NULL) {
9441 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9443 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9445 if (flags & NDR_OUT) {
9446 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9448 return NDR_ERR_SUCCESS;
9451 static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsDomain(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsDomain *r)
9453 TALLOC_CTX *_mem_save_domain_handle_0;
9454 if (flags & NDR_IN) {
9455 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9456 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9458 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9459 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9460 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9463 if (flags & NDR_OUT) {
9464 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9466 return NDR_ERR_SUCCESS;
9469 _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsDomain *r)
9471 ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsDomain");
9472 ndr->depth++;
9473 if (flags & NDR_SET_VALUES) {
9474 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9476 if (flags & NDR_IN) {
9477 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsDomain");
9478 ndr->depth++;
9479 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9480 ndr->depth++;
9481 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9482 ndr->depth--;
9483 ndr->depth--;
9485 if (flags & NDR_OUT) {
9486 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsDomain");
9487 ndr->depth++;
9488 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9489 ndr->depth--;
9491 ndr->depth--;
9494 static enum ndr_err_code ndr_push_samr_TestPrivateFunctionsUser(struct ndr_push *ndr, int flags, const struct samr_TestPrivateFunctionsUser *r)
9496 if (flags & NDR_IN) {
9497 if (r->in.user_handle == NULL) {
9498 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9500 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9502 if (flags & NDR_OUT) {
9503 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9505 return NDR_ERR_SUCCESS;
9508 static enum ndr_err_code ndr_pull_samr_TestPrivateFunctionsUser(struct ndr_pull *ndr, int flags, struct samr_TestPrivateFunctionsUser *r)
9510 TALLOC_CTX *_mem_save_user_handle_0;
9511 if (flags & NDR_IN) {
9512 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9513 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9515 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9516 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9517 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9520 if (flags & NDR_OUT) {
9521 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9523 return NDR_ERR_SUCCESS;
9526 _PUBLIC_ void ndr_print_samr_TestPrivateFunctionsUser(struct ndr_print *ndr, const char *name, int flags, const struct samr_TestPrivateFunctionsUser *r)
9528 ndr_print_struct(ndr, name, "samr_TestPrivateFunctionsUser");
9529 ndr->depth++;
9530 if (flags & NDR_SET_VALUES) {
9531 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9533 if (flags & NDR_IN) {
9534 ndr_print_struct(ndr, "in", "samr_TestPrivateFunctionsUser");
9535 ndr->depth++;
9536 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9537 ndr->depth++;
9538 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9539 ndr->depth--;
9540 ndr->depth--;
9542 if (flags & NDR_OUT) {
9543 ndr_print_struct(ndr, "out", "samr_TestPrivateFunctionsUser");
9544 ndr->depth++;
9545 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9546 ndr->depth--;
9548 ndr->depth--;
9551 _PUBLIC_ enum ndr_err_code ndr_push_samr_GetUserPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetUserPwInfo *r)
9553 if (flags & NDR_IN) {
9554 if (r->in.user_handle == NULL) {
9555 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9557 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9559 if (flags & NDR_OUT) {
9560 if (r->out.info == NULL) {
9561 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9563 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
9564 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9566 return NDR_ERR_SUCCESS;
9569 _PUBLIC_ enum ndr_err_code ndr_pull_samr_GetUserPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetUserPwInfo *r)
9571 TALLOC_CTX *_mem_save_user_handle_0;
9572 TALLOC_CTX *_mem_save_info_0;
9573 if (flags & NDR_IN) {
9574 ZERO_STRUCT(r->out);
9576 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9577 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9579 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9580 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9581 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9582 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9583 NDR_PULL_ALLOC(ndr, r->out.info);
9584 ZERO_STRUCTP(r->out.info);
9586 if (flags & NDR_OUT) {
9587 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9588 NDR_PULL_ALLOC(ndr, r->out.info);
9590 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9591 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9592 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
9593 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9594 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9596 return NDR_ERR_SUCCESS;
9599 _PUBLIC_ void ndr_print_samr_GetUserPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetUserPwInfo *r)
9601 ndr_print_struct(ndr, name, "samr_GetUserPwInfo");
9602 ndr->depth++;
9603 if (flags & NDR_SET_VALUES) {
9604 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9606 if (flags & NDR_IN) {
9607 ndr_print_struct(ndr, "in", "samr_GetUserPwInfo");
9608 ndr->depth++;
9609 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9610 ndr->depth++;
9611 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9612 ndr->depth--;
9613 ndr->depth--;
9615 if (flags & NDR_OUT) {
9616 ndr_print_struct(ndr, "out", "samr_GetUserPwInfo");
9617 ndr->depth++;
9618 ndr_print_ptr(ndr, "info", r->out.info);
9619 ndr->depth++;
9620 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
9621 ndr->depth--;
9622 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9623 ndr->depth--;
9625 ndr->depth--;
9628 static enum ndr_err_code ndr_push_samr_RemoveMemberFromForeignDomain(struct ndr_push *ndr, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
9630 if (flags & NDR_IN) {
9631 if (r->in.domain_handle == NULL) {
9632 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9634 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9635 if (r->in.sid == NULL) {
9636 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9638 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9640 if (flags & NDR_OUT) {
9641 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9643 return NDR_ERR_SUCCESS;
9646 static enum ndr_err_code ndr_pull_samr_RemoveMemberFromForeignDomain(struct ndr_pull *ndr, int flags, struct samr_RemoveMemberFromForeignDomain *r)
9648 TALLOC_CTX *_mem_save_domain_handle_0;
9649 TALLOC_CTX *_mem_save_sid_0;
9650 if (flags & NDR_IN) {
9651 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9652 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9654 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9655 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9656 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9658 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9659 NDR_PULL_ALLOC(ndr, r->in.sid);
9661 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9662 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
9663 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9664 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
9666 if (flags & NDR_OUT) {
9667 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9669 return NDR_ERR_SUCCESS;
9672 _PUBLIC_ void ndr_print_samr_RemoveMemberFromForeignDomain(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMemberFromForeignDomain *r)
9674 ndr_print_struct(ndr, name, "samr_RemoveMemberFromForeignDomain");
9675 ndr->depth++;
9676 if (flags & NDR_SET_VALUES) {
9677 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9679 if (flags & NDR_IN) {
9680 ndr_print_struct(ndr, "in", "samr_RemoveMemberFromForeignDomain");
9681 ndr->depth++;
9682 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9683 ndr->depth++;
9684 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9685 ndr->depth--;
9686 ndr_print_ptr(ndr, "sid", r->in.sid);
9687 ndr->depth++;
9688 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
9689 ndr->depth--;
9690 ndr->depth--;
9692 if (flags & NDR_OUT) {
9693 ndr_print_struct(ndr, "out", "samr_RemoveMemberFromForeignDomain");
9694 ndr->depth++;
9695 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9696 ndr->depth--;
9698 ndr->depth--;
9701 static enum ndr_err_code ndr_push_samr_QueryDomainInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDomainInfo2 *r)
9703 if (flags & NDR_IN) {
9704 if (r->in.domain_handle == NULL) {
9705 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9707 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9708 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9710 if (flags & NDR_OUT) {
9711 if (r->out.info == NULL) {
9712 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9714 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9715 if (*r->out.info) {
9716 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
9717 NDR_CHECK(ndr_push_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9719 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9721 return NDR_ERR_SUCCESS;
9724 static enum ndr_err_code ndr_pull_samr_QueryDomainInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDomainInfo2 *r)
9726 uint32_t _ptr_info;
9727 TALLOC_CTX *_mem_save_domain_handle_0;
9728 TALLOC_CTX *_mem_save_info_0;
9729 TALLOC_CTX *_mem_save_info_1;
9730 if (flags & NDR_IN) {
9731 ZERO_STRUCT(r->out);
9733 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9734 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9736 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9737 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9738 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9739 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9740 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9741 NDR_PULL_ALLOC(ndr, r->out.info);
9742 ZERO_STRUCTP(r->out.info);
9744 if (flags & NDR_OUT) {
9745 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9746 NDR_PULL_ALLOC(ndr, r->out.info);
9748 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9749 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9750 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9751 if (_ptr_info) {
9752 NDR_PULL_ALLOC(ndr, *r->out.info);
9753 } else {
9754 *r->out.info = NULL;
9756 if (*r->out.info) {
9757 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9758 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9759 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
9760 NDR_CHECK(ndr_pull_samr_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9761 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9763 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9764 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9766 return NDR_ERR_SUCCESS;
9769 _PUBLIC_ void ndr_print_samr_QueryDomainInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDomainInfo2 *r)
9771 ndr_print_struct(ndr, name, "samr_QueryDomainInfo2");
9772 ndr->depth++;
9773 if (flags & NDR_SET_VALUES) {
9774 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9776 if (flags & NDR_IN) {
9777 ndr_print_struct(ndr, "in", "samr_QueryDomainInfo2");
9778 ndr->depth++;
9779 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
9780 ndr->depth++;
9781 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
9782 ndr->depth--;
9783 ndr_print_uint16(ndr, "level", r->in.level);
9784 ndr->depth--;
9786 if (flags & NDR_OUT) {
9787 ndr_print_struct(ndr, "out", "samr_QueryDomainInfo2");
9788 ndr->depth++;
9789 ndr_print_ptr(ndr, "info", r->out.info);
9790 ndr->depth++;
9791 ndr_print_ptr(ndr, "info", *r->out.info);
9792 ndr->depth++;
9793 if (*r->out.info) {
9794 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
9795 ndr_print_samr_DomainInfo(ndr, "info", *r->out.info);
9797 ndr->depth--;
9798 ndr->depth--;
9799 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9800 ndr->depth--;
9802 ndr->depth--;
9805 static enum ndr_err_code ndr_push_samr_QueryUserInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryUserInfo2 *r)
9807 if (flags & NDR_IN) {
9808 if (r->in.user_handle == NULL) {
9809 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9811 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9812 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9814 if (flags & NDR_OUT) {
9815 if (r->out.info == NULL) {
9816 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9818 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9819 if (*r->out.info) {
9820 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
9821 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9823 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9825 return NDR_ERR_SUCCESS;
9828 static enum ndr_err_code ndr_pull_samr_QueryUserInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryUserInfo2 *r)
9830 uint32_t _ptr_info;
9831 TALLOC_CTX *_mem_save_user_handle_0;
9832 TALLOC_CTX *_mem_save_info_0;
9833 TALLOC_CTX *_mem_save_info_1;
9834 if (flags & NDR_IN) {
9835 ZERO_STRUCT(r->out);
9837 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9838 NDR_PULL_ALLOC(ndr, r->in.user_handle);
9840 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9841 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
9842 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
9843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
9844 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9845 NDR_PULL_ALLOC(ndr, r->out.info);
9846 ZERO_STRUCTP(r->out.info);
9848 if (flags & NDR_OUT) {
9849 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9850 NDR_PULL_ALLOC(ndr, r->out.info);
9852 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9853 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9854 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9855 if (_ptr_info) {
9856 NDR_PULL_ALLOC(ndr, *r->out.info);
9857 } else {
9858 *r->out.info = NULL;
9860 if (*r->out.info) {
9861 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9862 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9863 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
9864 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9865 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9867 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9868 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9870 return NDR_ERR_SUCCESS;
9873 _PUBLIC_ void ndr_print_samr_QueryUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryUserInfo2 *r)
9875 ndr_print_struct(ndr, name, "samr_QueryUserInfo2");
9876 ndr->depth++;
9877 if (flags & NDR_SET_VALUES) {
9878 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9880 if (flags & NDR_IN) {
9881 ndr_print_struct(ndr, "in", "samr_QueryUserInfo2");
9882 ndr->depth++;
9883 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
9884 ndr->depth++;
9885 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
9886 ndr->depth--;
9887 ndr_print_uint16(ndr, "level", r->in.level);
9888 ndr->depth--;
9890 if (flags & NDR_OUT) {
9891 ndr_print_struct(ndr, "out", "samr_QueryUserInfo2");
9892 ndr->depth++;
9893 ndr_print_ptr(ndr, "info", r->out.info);
9894 ndr->depth++;
9895 ndr_print_ptr(ndr, "info", *r->out.info);
9896 ndr->depth++;
9897 if (*r->out.info) {
9898 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
9899 ndr_print_samr_UserInfo(ndr, "info", *r->out.info);
9901 ndr->depth--;
9902 ndr->depth--;
9903 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9904 ndr->depth--;
9906 ndr->depth--;
9909 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo2(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo2 *r)
9911 if (flags & NDR_IN) {
9912 if (r->in.domain_handle == NULL) {
9913 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9915 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9916 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
9917 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
9918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
9919 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
9921 if (flags & NDR_OUT) {
9922 if (r->out.total_size == NULL) {
9923 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9925 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
9926 if (r->out.returned_size == NULL) {
9927 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9929 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
9930 if (r->out.info == NULL) {
9931 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9933 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
9934 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9935 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9937 return NDR_ERR_SUCCESS;
9940 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo2(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo2 *r)
9942 TALLOC_CTX *_mem_save_domain_handle_0;
9943 TALLOC_CTX *_mem_save_total_size_0;
9944 TALLOC_CTX *_mem_save_returned_size_0;
9945 TALLOC_CTX *_mem_save_info_0;
9946 if (flags & NDR_IN) {
9947 ZERO_STRUCT(r->out);
9949 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9950 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
9952 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9953 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
9954 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
9955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
9956 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
9957 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
9958 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
9959 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
9960 NDR_PULL_ALLOC(ndr, r->out.total_size);
9961 ZERO_STRUCTP(r->out.total_size);
9962 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9963 ZERO_STRUCTP(r->out.returned_size);
9964 NDR_PULL_ALLOC(ndr, r->out.info);
9965 ZERO_STRUCTP(r->out.info);
9967 if (flags & NDR_OUT) {
9968 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9969 NDR_PULL_ALLOC(ndr, r->out.total_size);
9971 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9972 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
9973 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
9974 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
9975 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9976 NDR_PULL_ALLOC(ndr, r->out.returned_size);
9978 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
9979 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
9980 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
9981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
9982 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9983 NDR_PULL_ALLOC(ndr, r->out.info);
9985 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9986 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9987 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
9988 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
9989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9990 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9992 return NDR_ERR_SUCCESS;
9995 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo2 *r)
9997 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo2");
9998 ndr->depth++;
9999 if (flags & NDR_SET_VALUES) {
10000 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10002 if (flags & NDR_IN) {
10003 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo2");
10004 ndr->depth++;
10005 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10006 ndr->depth++;
10007 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10008 ndr->depth--;
10009 ndr_print_uint16(ndr, "level", r->in.level);
10010 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
10011 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
10012 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
10013 ndr->depth--;
10015 if (flags & NDR_OUT) {
10016 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo2");
10017 ndr->depth++;
10018 ndr_print_ptr(ndr, "total_size", r->out.total_size);
10019 ndr->depth++;
10020 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
10021 ndr->depth--;
10022 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
10023 ndr->depth++;
10024 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
10025 ndr->depth--;
10026 ndr_print_ptr(ndr, "info", r->out.info);
10027 ndr->depth++;
10028 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10029 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
10030 ndr->depth--;
10031 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10032 ndr->depth--;
10034 ndr->depth--;
10037 static enum ndr_err_code ndr_push_samr_GetDisplayEnumerationIndex2(struct ndr_push *ndr, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
10039 if (flags & NDR_IN) {
10040 if (r->in.domain_handle == NULL) {
10041 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10043 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10044 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10045 if (r->in.name == NULL) {
10046 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10048 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10050 if (flags & NDR_OUT) {
10051 if (r->out.idx == NULL) {
10052 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10054 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.idx));
10055 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10057 return NDR_ERR_SUCCESS;
10060 static enum ndr_err_code ndr_pull_samr_GetDisplayEnumerationIndex2(struct ndr_pull *ndr, int flags, struct samr_GetDisplayEnumerationIndex2 *r)
10062 TALLOC_CTX *_mem_save_domain_handle_0;
10063 TALLOC_CTX *_mem_save_name_0;
10064 TALLOC_CTX *_mem_save_idx_0;
10065 if (flags & NDR_IN) {
10066 ZERO_STRUCT(r->out);
10068 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10069 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10071 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10072 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10073 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10074 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10075 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10076 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10077 NDR_PULL_ALLOC(ndr, r->in.name);
10079 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10080 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
10081 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
10082 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
10083 NDR_PULL_ALLOC(ndr, r->out.idx);
10084 ZERO_STRUCTP(r->out.idx);
10086 if (flags & NDR_OUT) {
10087 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10088 NDR_PULL_ALLOC(ndr, r->out.idx);
10090 _mem_save_idx_0 = NDR_PULL_GET_MEM_CTX(ndr);
10091 NDR_PULL_SET_MEM_CTX(ndr, r->out.idx, LIBNDR_FLAG_REF_ALLOC);
10092 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.idx));
10093 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_idx_0, LIBNDR_FLAG_REF_ALLOC);
10094 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10096 return NDR_ERR_SUCCESS;
10099 _PUBLIC_ void ndr_print_samr_GetDisplayEnumerationIndex2(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDisplayEnumerationIndex2 *r)
10101 ndr_print_struct(ndr, name, "samr_GetDisplayEnumerationIndex2");
10102 ndr->depth++;
10103 if (flags & NDR_SET_VALUES) {
10104 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10106 if (flags & NDR_IN) {
10107 ndr_print_struct(ndr, "in", "samr_GetDisplayEnumerationIndex2");
10108 ndr->depth++;
10109 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10110 ndr->depth++;
10111 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10112 ndr->depth--;
10113 ndr_print_uint16(ndr, "level", r->in.level);
10114 ndr_print_ptr(ndr, "name", r->in.name);
10115 ndr->depth++;
10116 ndr_print_lsa_String(ndr, "name", r->in.name);
10117 ndr->depth--;
10118 ndr->depth--;
10120 if (flags & NDR_OUT) {
10121 ndr_print_struct(ndr, "out", "samr_GetDisplayEnumerationIndex2");
10122 ndr->depth++;
10123 ndr_print_ptr(ndr, "idx", r->out.idx);
10124 ndr->depth++;
10125 ndr_print_uint32(ndr, "idx", *r->out.idx);
10126 ndr->depth--;
10127 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10128 ndr->depth--;
10130 ndr->depth--;
10133 static enum ndr_err_code ndr_push_samr_CreateUser2(struct ndr_push *ndr, int flags, const struct samr_CreateUser2 *r)
10135 if (flags & NDR_IN) {
10136 if (r->in.domain_handle == NULL) {
10137 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10139 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10140 if (r->in.account_name == NULL) {
10141 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10143 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
10144 NDR_CHECK(ndr_push_samr_AcctFlags(ndr, NDR_SCALARS, r->in.acct_flags));
10145 NDR_CHECK(ndr_push_samr_UserAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
10147 if (flags & NDR_OUT) {
10148 if (r->out.user_handle == NULL) {
10149 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10151 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
10152 if (r->out.access_granted == NULL) {
10153 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10155 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.access_granted));
10156 if (r->out.rid == NULL) {
10157 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.rid));
10160 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10162 return NDR_ERR_SUCCESS;
10165 static enum ndr_err_code ndr_pull_samr_CreateUser2(struct ndr_pull *ndr, int flags, struct samr_CreateUser2 *r)
10167 TALLOC_CTX *_mem_save_domain_handle_0;
10168 TALLOC_CTX *_mem_save_account_name_0;
10169 TALLOC_CTX *_mem_save_user_handle_0;
10170 TALLOC_CTX *_mem_save_access_granted_0;
10171 TALLOC_CTX *_mem_save_rid_0;
10172 if (flags & NDR_IN) {
10173 ZERO_STRUCT(r->out);
10175 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10176 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10178 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10179 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10180 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10181 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10182 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10183 NDR_PULL_ALLOC(ndr, r->in.account_name);
10185 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10186 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
10187 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account_name));
10188 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
10189 NDR_CHECK(ndr_pull_samr_AcctFlags(ndr, NDR_SCALARS, &r->in.acct_flags));
10190 NDR_CHECK(ndr_pull_samr_UserAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
10191 NDR_PULL_ALLOC(ndr, r->out.user_handle);
10192 ZERO_STRUCTP(r->out.user_handle);
10193 NDR_PULL_ALLOC(ndr, r->out.access_granted);
10194 ZERO_STRUCTP(r->out.access_granted);
10195 NDR_PULL_ALLOC(ndr, r->out.rid);
10196 ZERO_STRUCTP(r->out.rid);
10198 if (flags & NDR_OUT) {
10199 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10200 NDR_PULL_ALLOC(ndr, r->out.user_handle);
10202 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10203 NDR_PULL_SET_MEM_CTX(ndr, r->out.user_handle, LIBNDR_FLAG_REF_ALLOC);
10204 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.user_handle));
10205 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
10206 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10207 NDR_PULL_ALLOC(ndr, r->out.access_granted);
10209 _mem_save_access_granted_0 = NDR_PULL_GET_MEM_CTX(ndr);
10210 NDR_PULL_SET_MEM_CTX(ndr, r->out.access_granted, LIBNDR_FLAG_REF_ALLOC);
10211 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.access_granted));
10212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_granted_0, LIBNDR_FLAG_REF_ALLOC);
10213 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10214 NDR_PULL_ALLOC(ndr, r->out.rid);
10216 _mem_save_rid_0 = NDR_PULL_GET_MEM_CTX(ndr);
10217 NDR_PULL_SET_MEM_CTX(ndr, r->out.rid, LIBNDR_FLAG_REF_ALLOC);
10218 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.rid));
10219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rid_0, LIBNDR_FLAG_REF_ALLOC);
10220 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10222 return NDR_ERR_SUCCESS;
10225 _PUBLIC_ void ndr_print_samr_CreateUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_CreateUser2 *r)
10227 ndr_print_struct(ndr, name, "samr_CreateUser2");
10228 ndr->depth++;
10229 if (flags & NDR_SET_VALUES) {
10230 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10232 if (flags & NDR_IN) {
10233 ndr_print_struct(ndr, "in", "samr_CreateUser2");
10234 ndr->depth++;
10235 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10236 ndr->depth++;
10237 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10238 ndr->depth--;
10239 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10240 ndr->depth++;
10241 ndr_print_lsa_String(ndr, "account_name", r->in.account_name);
10242 ndr->depth--;
10243 ndr_print_samr_AcctFlags(ndr, "acct_flags", r->in.acct_flags);
10244 ndr_print_samr_UserAccessMask(ndr, "access_mask", r->in.access_mask);
10245 ndr->depth--;
10247 if (flags & NDR_OUT) {
10248 ndr_print_struct(ndr, "out", "samr_CreateUser2");
10249 ndr->depth++;
10250 ndr_print_ptr(ndr, "user_handle", r->out.user_handle);
10251 ndr->depth++;
10252 ndr_print_policy_handle(ndr, "user_handle", r->out.user_handle);
10253 ndr->depth--;
10254 ndr_print_ptr(ndr, "access_granted", r->out.access_granted);
10255 ndr->depth++;
10256 ndr_print_uint32(ndr, "access_granted", *r->out.access_granted);
10257 ndr->depth--;
10258 ndr_print_ptr(ndr, "rid", r->out.rid);
10259 ndr->depth++;
10260 ndr_print_uint32(ndr, "rid", *r->out.rid);
10261 ndr->depth--;
10262 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10263 ndr->depth--;
10265 ndr->depth--;
10268 static enum ndr_err_code ndr_push_samr_QueryDisplayInfo3(struct ndr_push *ndr, int flags, const struct samr_QueryDisplayInfo3 *r)
10270 if (flags & NDR_IN) {
10271 if (r->in.domain_handle == NULL) {
10272 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10274 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10275 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.start_idx));
10277 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_entries));
10278 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.buf_size));
10280 if (flags & NDR_OUT) {
10281 if (r->out.total_size == NULL) {
10282 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10284 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.total_size));
10285 if (r->out.returned_size == NULL) {
10286 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10288 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.returned_size));
10289 if (r->out.info == NULL) {
10290 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10292 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info, r->in.level));
10293 NDR_CHECK(ndr_push_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10294 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10296 return NDR_ERR_SUCCESS;
10299 static enum ndr_err_code ndr_pull_samr_QueryDisplayInfo3(struct ndr_pull *ndr, int flags, struct samr_QueryDisplayInfo3 *r)
10301 TALLOC_CTX *_mem_save_domain_handle_0;
10302 TALLOC_CTX *_mem_save_total_size_0;
10303 TALLOC_CTX *_mem_save_returned_size_0;
10304 TALLOC_CTX *_mem_save_info_0;
10305 if (flags & NDR_IN) {
10306 ZERO_STRUCT(r->out);
10308 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10309 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
10311 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10312 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
10313 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
10314 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
10315 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10316 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.start_idx));
10317 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_entries));
10318 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.buf_size));
10319 NDR_PULL_ALLOC(ndr, r->out.total_size);
10320 ZERO_STRUCTP(r->out.total_size);
10321 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10322 ZERO_STRUCTP(r->out.returned_size);
10323 NDR_PULL_ALLOC(ndr, r->out.info);
10324 ZERO_STRUCTP(r->out.info);
10326 if (flags & NDR_OUT) {
10327 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10328 NDR_PULL_ALLOC(ndr, r->out.total_size);
10330 _mem_save_total_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10331 NDR_PULL_SET_MEM_CTX(ndr, r->out.total_size, LIBNDR_FLAG_REF_ALLOC);
10332 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.total_size));
10333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_total_size_0, LIBNDR_FLAG_REF_ALLOC);
10334 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10335 NDR_PULL_ALLOC(ndr, r->out.returned_size);
10337 _mem_save_returned_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
10338 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_size, LIBNDR_FLAG_REF_ALLOC);
10339 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.returned_size));
10340 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_size_0, LIBNDR_FLAG_REF_ALLOC);
10341 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10342 NDR_PULL_ALLOC(ndr, r->out.info);
10344 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10345 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10346 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info, r->in.level));
10347 NDR_CHECK(ndr_pull_samr_DispInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info));
10348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10349 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10351 return NDR_ERR_SUCCESS;
10354 _PUBLIC_ void ndr_print_samr_QueryDisplayInfo3(struct ndr_print *ndr, const char *name, int flags, const struct samr_QueryDisplayInfo3 *r)
10356 ndr_print_struct(ndr, name, "samr_QueryDisplayInfo3");
10357 ndr->depth++;
10358 if (flags & NDR_SET_VALUES) {
10359 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10361 if (flags & NDR_IN) {
10362 ndr_print_struct(ndr, "in", "samr_QueryDisplayInfo3");
10363 ndr->depth++;
10364 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
10365 ndr->depth++;
10366 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
10367 ndr->depth--;
10368 ndr_print_uint16(ndr, "level", r->in.level);
10369 ndr_print_uint32(ndr, "start_idx", r->in.start_idx);
10370 ndr_print_uint32(ndr, "max_entries", r->in.max_entries);
10371 ndr_print_uint32(ndr, "buf_size", r->in.buf_size);
10372 ndr->depth--;
10374 if (flags & NDR_OUT) {
10375 ndr_print_struct(ndr, "out", "samr_QueryDisplayInfo3");
10376 ndr->depth++;
10377 ndr_print_ptr(ndr, "total_size", r->out.total_size);
10378 ndr->depth++;
10379 ndr_print_uint32(ndr, "total_size", *r->out.total_size);
10380 ndr->depth--;
10381 ndr_print_ptr(ndr, "returned_size", r->out.returned_size);
10382 ndr->depth++;
10383 ndr_print_uint32(ndr, "returned_size", *r->out.returned_size);
10384 ndr->depth--;
10385 ndr_print_ptr(ndr, "info", r->out.info);
10386 ndr->depth++;
10387 ndr_print_set_switch_value(ndr, r->out.info, r->in.level);
10388 ndr_print_samr_DispInfo(ndr, "info", r->out.info);
10389 ndr->depth--;
10390 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10391 ndr->depth--;
10393 ndr->depth--;
10396 static enum ndr_err_code ndr_push_samr_AddMultipleMembersToAlias(struct ndr_push *ndr, int flags, const struct samr_AddMultipleMembersToAlias *r)
10398 if (flags & NDR_IN) {
10399 if (r->in.alias_handle == NULL) {
10400 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10402 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10403 if (r->in.sids == NULL) {
10404 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10406 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10408 if (flags & NDR_OUT) {
10409 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10411 return NDR_ERR_SUCCESS;
10414 static enum ndr_err_code ndr_pull_samr_AddMultipleMembersToAlias(struct ndr_pull *ndr, int flags, struct samr_AddMultipleMembersToAlias *r)
10416 TALLOC_CTX *_mem_save_alias_handle_0;
10417 TALLOC_CTX *_mem_save_sids_0;
10418 if (flags & NDR_IN) {
10419 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10420 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
10422 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10423 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
10424 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
10426 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10427 NDR_PULL_ALLOC(ndr, r->in.sids);
10429 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
10430 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
10431 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
10434 if (flags & NDR_OUT) {
10435 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10437 return NDR_ERR_SUCCESS;
10440 _PUBLIC_ void ndr_print_samr_AddMultipleMembersToAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_AddMultipleMembersToAlias *r)
10442 ndr_print_struct(ndr, name, "samr_AddMultipleMembersToAlias");
10443 ndr->depth++;
10444 if (flags & NDR_SET_VALUES) {
10445 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10447 if (flags & NDR_IN) {
10448 ndr_print_struct(ndr, "in", "samr_AddMultipleMembersToAlias");
10449 ndr->depth++;
10450 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
10451 ndr->depth++;
10452 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
10453 ndr->depth--;
10454 ndr_print_ptr(ndr, "sids", r->in.sids);
10455 ndr->depth++;
10456 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
10457 ndr->depth--;
10458 ndr->depth--;
10460 if (flags & NDR_OUT) {
10461 ndr_print_struct(ndr, "out", "samr_AddMultipleMembersToAlias");
10462 ndr->depth++;
10463 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10464 ndr->depth--;
10466 ndr->depth--;
10469 static enum ndr_err_code ndr_push_samr_RemoveMultipleMembersFromAlias(struct ndr_push *ndr, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
10471 if (flags & NDR_IN) {
10472 if (r->in.alias_handle == NULL) {
10473 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10475 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10476 if (r->in.sids == NULL) {
10477 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10479 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10481 if (flags & NDR_OUT) {
10482 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10484 return NDR_ERR_SUCCESS;
10487 static enum ndr_err_code ndr_pull_samr_RemoveMultipleMembersFromAlias(struct ndr_pull *ndr, int flags, struct samr_RemoveMultipleMembersFromAlias *r)
10489 TALLOC_CTX *_mem_save_alias_handle_0;
10490 TALLOC_CTX *_mem_save_sids_0;
10491 if (flags & NDR_IN) {
10492 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10493 NDR_PULL_ALLOC(ndr, r->in.alias_handle);
10495 _mem_save_alias_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10496 NDR_PULL_SET_MEM_CTX(ndr, r->in.alias_handle, LIBNDR_FLAG_REF_ALLOC);
10497 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.alias_handle));
10498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_alias_handle_0, LIBNDR_FLAG_REF_ALLOC);
10499 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10500 NDR_PULL_ALLOC(ndr, r->in.sids);
10502 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
10503 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
10504 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
10505 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
10507 if (flags & NDR_OUT) {
10508 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10510 return NDR_ERR_SUCCESS;
10513 _PUBLIC_ void ndr_print_samr_RemoveMultipleMembersFromAlias(struct ndr_print *ndr, const char *name, int flags, const struct samr_RemoveMultipleMembersFromAlias *r)
10515 ndr_print_struct(ndr, name, "samr_RemoveMultipleMembersFromAlias");
10516 ndr->depth++;
10517 if (flags & NDR_SET_VALUES) {
10518 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10520 if (flags & NDR_IN) {
10521 ndr_print_struct(ndr, "in", "samr_RemoveMultipleMembersFromAlias");
10522 ndr->depth++;
10523 ndr_print_ptr(ndr, "alias_handle", r->in.alias_handle);
10524 ndr->depth++;
10525 ndr_print_policy_handle(ndr, "alias_handle", r->in.alias_handle);
10526 ndr->depth--;
10527 ndr_print_ptr(ndr, "sids", r->in.sids);
10528 ndr->depth++;
10529 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
10530 ndr->depth--;
10531 ndr->depth--;
10533 if (flags & NDR_OUT) {
10534 ndr_print_struct(ndr, "out", "samr_RemoveMultipleMembersFromAlias");
10535 ndr->depth++;
10536 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10537 ndr->depth--;
10539 ndr->depth--;
10542 static enum ndr_err_code ndr_push_samr_OemChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_OemChangePasswordUser2 *r)
10544 if (flags & NDR_IN) {
10545 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
10546 if (r->in.server) {
10547 NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10549 if (r->in.account == NULL) {
10550 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10552 NDR_CHECK(ndr_push_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10553 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password));
10554 if (r->in.password) {
10555 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
10557 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
10558 if (r->in.hash) {
10559 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
10562 if (flags & NDR_OUT) {
10563 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10565 return NDR_ERR_SUCCESS;
10568 static enum ndr_err_code ndr_pull_samr_OemChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_OemChangePasswordUser2 *r)
10570 uint32_t _ptr_server;
10571 uint32_t _ptr_password;
10572 uint32_t _ptr_hash;
10573 TALLOC_CTX *_mem_save_server_0;
10574 TALLOC_CTX *_mem_save_account_0;
10575 TALLOC_CTX *_mem_save_password_0;
10576 TALLOC_CTX *_mem_save_hash_0;
10577 if (flags & NDR_IN) {
10578 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
10579 if (_ptr_server) {
10580 NDR_PULL_ALLOC(ndr, r->in.server);
10581 } else {
10582 r->in.server = NULL;
10584 if (r->in.server) {
10585 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10586 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
10587 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
10590 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10591 NDR_PULL_ALLOC(ndr, r->in.account);
10593 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
10594 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
10595 NDR_CHECK(ndr_pull_lsa_AsciiString(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10596 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
10597 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
10598 if (_ptr_password) {
10599 NDR_PULL_ALLOC(ndr, r->in.password);
10600 } else {
10601 r->in.password = NULL;
10603 if (r->in.password) {
10604 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10605 NDR_PULL_SET_MEM_CTX(ndr, r->in.password, 0);
10606 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password));
10607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
10609 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
10610 if (_ptr_hash) {
10611 NDR_PULL_ALLOC(ndr, r->in.hash);
10612 } else {
10613 r->in.hash = NULL;
10615 if (r->in.hash) {
10616 _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
10617 NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
10618 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
10619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
10622 if (flags & NDR_OUT) {
10623 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10625 return NDR_ERR_SUCCESS;
10628 _PUBLIC_ void ndr_print_samr_OemChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_OemChangePasswordUser2 *r)
10630 ndr_print_struct(ndr, name, "samr_OemChangePasswordUser2");
10631 ndr->depth++;
10632 if (flags & NDR_SET_VALUES) {
10633 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10635 if (flags & NDR_IN) {
10636 ndr_print_struct(ndr, "in", "samr_OemChangePasswordUser2");
10637 ndr->depth++;
10638 ndr_print_ptr(ndr, "server", r->in.server);
10639 ndr->depth++;
10640 if (r->in.server) {
10641 ndr_print_lsa_AsciiString(ndr, "server", r->in.server);
10643 ndr->depth--;
10644 ndr_print_ptr(ndr, "account", r->in.account);
10645 ndr->depth++;
10646 ndr_print_lsa_AsciiString(ndr, "account", r->in.account);
10647 ndr->depth--;
10648 ndr_print_ptr(ndr, "password", r->in.password);
10649 ndr->depth++;
10650 if (r->in.password) {
10651 ndr_print_samr_CryptPassword(ndr, "password", r->in.password);
10653 ndr->depth--;
10654 ndr_print_ptr(ndr, "hash", r->in.hash);
10655 ndr->depth++;
10656 if (r->in.hash) {
10657 ndr_print_samr_Password(ndr, "hash", r->in.hash);
10659 ndr->depth--;
10660 ndr->depth--;
10662 if (flags & NDR_OUT) {
10663 ndr_print_struct(ndr, "out", "samr_OemChangePasswordUser2");
10664 ndr->depth++;
10665 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10666 ndr->depth--;
10668 ndr->depth--;
10671 static enum ndr_err_code ndr_push_samr_ChangePasswordUser2(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser2 *r)
10673 if (flags & NDR_IN) {
10674 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
10675 if (r->in.server) {
10676 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10678 if (r->in.account == NULL) {
10679 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10681 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10682 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
10683 if (r->in.nt_password) {
10684 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
10686 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
10687 if (r->in.nt_verifier) {
10688 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
10690 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
10691 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
10692 if (r->in.lm_password) {
10693 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
10695 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
10696 if (r->in.lm_verifier) {
10697 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
10700 if (flags & NDR_OUT) {
10701 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10703 return NDR_ERR_SUCCESS;
10706 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser2(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser2 *r)
10708 uint32_t _ptr_server;
10709 uint32_t _ptr_nt_password;
10710 uint32_t _ptr_nt_verifier;
10711 uint32_t _ptr_lm_password;
10712 uint32_t _ptr_lm_verifier;
10713 TALLOC_CTX *_mem_save_server_0;
10714 TALLOC_CTX *_mem_save_account_0;
10715 TALLOC_CTX *_mem_save_nt_password_0;
10716 TALLOC_CTX *_mem_save_nt_verifier_0;
10717 TALLOC_CTX *_mem_save_lm_password_0;
10718 TALLOC_CTX *_mem_save_lm_verifier_0;
10719 if (flags & NDR_IN) {
10720 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
10721 if (_ptr_server) {
10722 NDR_PULL_ALLOC(ndr, r->in.server);
10723 } else {
10724 r->in.server = NULL;
10726 if (r->in.server) {
10727 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
10728 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
10729 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
10730 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
10732 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10733 NDR_PULL_ALLOC(ndr, r->in.account);
10735 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
10736 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
10737 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
10738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
10739 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
10740 if (_ptr_nt_password) {
10741 NDR_PULL_ALLOC(ndr, r->in.nt_password);
10742 } else {
10743 r->in.nt_password = NULL;
10745 if (r->in.nt_password) {
10746 _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10747 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
10748 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
10749 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
10751 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
10752 if (_ptr_nt_verifier) {
10753 NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
10754 } else {
10755 r->in.nt_verifier = NULL;
10757 if (r->in.nt_verifier) {
10758 _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
10759 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
10760 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
10761 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
10763 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
10764 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
10765 if (_ptr_lm_password) {
10766 NDR_PULL_ALLOC(ndr, r->in.lm_password);
10767 } else {
10768 r->in.lm_password = NULL;
10770 if (r->in.lm_password) {
10771 _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
10772 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
10773 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
10774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
10776 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
10777 if (_ptr_lm_verifier) {
10778 NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
10779 } else {
10780 r->in.lm_verifier = NULL;
10782 if (r->in.lm_verifier) {
10783 _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
10784 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
10785 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
10786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
10789 if (flags & NDR_OUT) {
10790 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10792 return NDR_ERR_SUCCESS;
10795 _PUBLIC_ void ndr_print_samr_ChangePasswordUser2(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser2 *r)
10797 ndr_print_struct(ndr, name, "samr_ChangePasswordUser2");
10798 ndr->depth++;
10799 if (flags & NDR_SET_VALUES) {
10800 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10802 if (flags & NDR_IN) {
10803 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser2");
10804 ndr->depth++;
10805 ndr_print_ptr(ndr, "server", r->in.server);
10806 ndr->depth++;
10807 if (r->in.server) {
10808 ndr_print_lsa_String(ndr, "server", r->in.server);
10810 ndr->depth--;
10811 ndr_print_ptr(ndr, "account", r->in.account);
10812 ndr->depth++;
10813 ndr_print_lsa_String(ndr, "account", r->in.account);
10814 ndr->depth--;
10815 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
10816 ndr->depth++;
10817 if (r->in.nt_password) {
10818 ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
10820 ndr->depth--;
10821 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
10822 ndr->depth++;
10823 if (r->in.nt_verifier) {
10824 ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
10826 ndr->depth--;
10827 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
10828 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
10829 ndr->depth++;
10830 if (r->in.lm_password) {
10831 ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
10833 ndr->depth--;
10834 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
10835 ndr->depth++;
10836 if (r->in.lm_verifier) {
10837 ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
10839 ndr->depth--;
10840 ndr->depth--;
10842 if (flags & NDR_OUT) {
10843 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser2");
10844 ndr->depth++;
10845 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10846 ndr->depth--;
10848 ndr->depth--;
10851 static enum ndr_err_code ndr_push_samr_GetDomPwInfo(struct ndr_push *ndr, int flags, const struct samr_GetDomPwInfo *r)
10853 if (flags & NDR_IN) {
10854 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.domain_name));
10855 if (r->in.domain_name) {
10856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
10859 if (flags & NDR_OUT) {
10860 if (r->out.info == NULL) {
10861 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10863 NDR_CHECK(ndr_push_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
10864 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10866 return NDR_ERR_SUCCESS;
10869 static enum ndr_err_code ndr_pull_samr_GetDomPwInfo(struct ndr_pull *ndr, int flags, struct samr_GetDomPwInfo *r)
10871 uint32_t _ptr_domain_name;
10872 TALLOC_CTX *_mem_save_domain_name_0;
10873 TALLOC_CTX *_mem_save_info_0;
10874 if (flags & NDR_IN) {
10875 ZERO_STRUCT(r->out);
10877 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
10878 if (_ptr_domain_name) {
10879 NDR_PULL_ALLOC(ndr, r->in.domain_name);
10880 } else {
10881 r->in.domain_name = NULL;
10883 if (r->in.domain_name) {
10884 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10885 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_name, 0);
10886 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.domain_name));
10887 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
10889 NDR_PULL_ALLOC(ndr, r->out.info);
10890 ZERO_STRUCTP(r->out.info);
10892 if (flags & NDR_OUT) {
10893 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10894 NDR_PULL_ALLOC(ndr, r->out.info);
10896 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10897 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10898 NDR_CHECK(ndr_pull_samr_PwInfo(ndr, NDR_SCALARS, r->out.info));
10899 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10900 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10902 return NDR_ERR_SUCCESS;
10905 _PUBLIC_ void ndr_print_samr_GetDomPwInfo(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetDomPwInfo *r)
10907 ndr_print_struct(ndr, name, "samr_GetDomPwInfo");
10908 ndr->depth++;
10909 if (flags & NDR_SET_VALUES) {
10910 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10912 if (flags & NDR_IN) {
10913 ndr_print_struct(ndr, "in", "samr_GetDomPwInfo");
10914 ndr->depth++;
10915 ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
10916 ndr->depth++;
10917 if (r->in.domain_name) {
10918 ndr_print_lsa_String(ndr, "domain_name", r->in.domain_name);
10920 ndr->depth--;
10921 ndr->depth--;
10923 if (flags & NDR_OUT) {
10924 ndr_print_struct(ndr, "out", "samr_GetDomPwInfo");
10925 ndr->depth++;
10926 ndr_print_ptr(ndr, "info", r->out.info);
10927 ndr->depth++;
10928 ndr_print_samr_PwInfo(ndr, "info", r->out.info);
10929 ndr->depth--;
10930 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10931 ndr->depth--;
10933 ndr->depth--;
10936 static enum ndr_err_code ndr_push_samr_Connect2(struct ndr_push *ndr, int flags, const struct samr_Connect2 *r)
10938 if (flags & NDR_IN) {
10939 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
10940 if (r->in.system_name) {
10941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
10942 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
10943 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
10944 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));
10946 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
10948 if (flags & NDR_OUT) {
10949 if (r->out.connect_handle == NULL) {
10950 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10952 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
10953 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10955 return NDR_ERR_SUCCESS;
10958 static enum ndr_err_code ndr_pull_samr_Connect2(struct ndr_pull *ndr, int flags, struct samr_Connect2 *r)
10960 uint32_t _ptr_system_name;
10961 TALLOC_CTX *_mem_save_system_name_0;
10962 TALLOC_CTX *_mem_save_connect_handle_0;
10963 if (flags & NDR_IN) {
10964 ZERO_STRUCT(r->out);
10966 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
10967 if (_ptr_system_name) {
10968 NDR_PULL_ALLOC(ndr, r->in.system_name);
10969 } else {
10970 r->in.system_name = NULL;
10972 if (r->in.system_name) {
10973 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
10974 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
10975 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
10976 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
10977 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
10978 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));
10980 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
10981 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));
10982 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
10984 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
10985 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
10986 ZERO_STRUCTP(r->out.connect_handle);
10988 if (flags & NDR_OUT) {
10989 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10990 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
10992 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10993 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
10994 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
10995 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
10996 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10998 return NDR_ERR_SUCCESS;
11001 _PUBLIC_ void ndr_print_samr_Connect2(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect2 *r)
11003 ndr_print_struct(ndr, name, "samr_Connect2");
11004 ndr->depth++;
11005 if (flags & NDR_SET_VALUES) {
11006 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11008 if (flags & NDR_IN) {
11009 ndr_print_struct(ndr, "in", "samr_Connect2");
11010 ndr->depth++;
11011 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11012 ndr->depth++;
11013 if (r->in.system_name) {
11014 ndr_print_string(ndr, "system_name", r->in.system_name);
11016 ndr->depth--;
11017 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11018 ndr->depth--;
11020 if (flags & NDR_OUT) {
11021 ndr_print_struct(ndr, "out", "samr_Connect2");
11022 ndr->depth++;
11023 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11024 ndr->depth++;
11025 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11026 ndr->depth--;
11027 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11028 ndr->depth--;
11030 ndr->depth--;
11033 _PUBLIC_ enum ndr_err_code ndr_push_samr_SetUserInfo2(struct ndr_push *ndr, int flags, const struct samr_SetUserInfo2 *r)
11035 if (flags & NDR_IN) {
11036 if (r->in.user_handle == NULL) {
11037 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11039 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
11040 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
11041 if (r->in.info == NULL) {
11042 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11044 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
11045 NDR_CHECK(ndr_push_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11047 if (flags & NDR_OUT) {
11048 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11050 return NDR_ERR_SUCCESS;
11053 _PUBLIC_ enum ndr_err_code ndr_pull_samr_SetUserInfo2(struct ndr_pull *ndr, int flags, struct samr_SetUserInfo2 *r)
11055 TALLOC_CTX *_mem_save_user_handle_0;
11056 TALLOC_CTX *_mem_save_info_0;
11057 if (flags & NDR_IN) {
11058 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11059 NDR_PULL_ALLOC(ndr, r->in.user_handle);
11061 _mem_save_user_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11062 NDR_PULL_SET_MEM_CTX(ndr, r->in.user_handle, LIBNDR_FLAG_REF_ALLOC);
11063 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.user_handle));
11064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_handle_0, LIBNDR_FLAG_REF_ALLOC);
11065 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
11066 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11067 NDR_PULL_ALLOC(ndr, r->in.info);
11069 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11070 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
11071 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
11072 NDR_CHECK(ndr_pull_samr_UserInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11073 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11075 if (flags & NDR_OUT) {
11076 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11078 return NDR_ERR_SUCCESS;
11081 _PUBLIC_ void ndr_print_samr_SetUserInfo2(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetUserInfo2 *r)
11083 ndr_print_struct(ndr, name, "samr_SetUserInfo2");
11084 ndr->depth++;
11085 if (flags & NDR_SET_VALUES) {
11086 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11088 if (flags & NDR_IN) {
11089 ndr_print_struct(ndr, "in", "samr_SetUserInfo2");
11090 ndr->depth++;
11091 ndr_print_ptr(ndr, "user_handle", r->in.user_handle);
11092 ndr->depth++;
11093 ndr_print_policy_handle(ndr, "user_handle", r->in.user_handle);
11094 ndr->depth--;
11095 ndr_print_uint16(ndr, "level", r->in.level);
11096 ndr_print_ptr(ndr, "info", r->in.info);
11097 ndr->depth++;
11098 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
11099 ndr_print_samr_UserInfo(ndr, "info", r->in.info);
11100 ndr->depth--;
11101 ndr->depth--;
11103 if (flags & NDR_OUT) {
11104 ndr_print_struct(ndr, "out", "samr_SetUserInfo2");
11105 ndr->depth++;
11106 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11107 ndr->depth--;
11109 ndr->depth--;
11112 static enum ndr_err_code ndr_push_samr_SetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_SetBootKeyInformation *r)
11114 if (flags & NDR_IN) {
11115 if (r->in.connect_handle == NULL) {
11116 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11118 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
11119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown1));
11120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
11121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown3));
11123 if (flags & NDR_OUT) {
11124 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11126 return NDR_ERR_SUCCESS;
11129 static enum ndr_err_code ndr_pull_samr_SetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_SetBootKeyInformation *r)
11131 TALLOC_CTX *_mem_save_connect_handle_0;
11132 if (flags & NDR_IN) {
11133 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11134 NDR_PULL_ALLOC(ndr, r->in.connect_handle);
11136 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11137 NDR_PULL_SET_MEM_CTX(ndr, r->in.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11138 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.connect_handle));
11139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11140 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown1));
11141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
11142 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown3));
11144 if (flags & NDR_OUT) {
11145 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11147 return NDR_ERR_SUCCESS;
11150 _PUBLIC_ void ndr_print_samr_SetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetBootKeyInformation *r)
11152 ndr_print_struct(ndr, name, "samr_SetBootKeyInformation");
11153 ndr->depth++;
11154 if (flags & NDR_SET_VALUES) {
11155 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11157 if (flags & NDR_IN) {
11158 ndr_print_struct(ndr, "in", "samr_SetBootKeyInformation");
11159 ndr->depth++;
11160 ndr_print_ptr(ndr, "connect_handle", r->in.connect_handle);
11161 ndr->depth++;
11162 ndr_print_policy_handle(ndr, "connect_handle", r->in.connect_handle);
11163 ndr->depth--;
11164 ndr_print_uint32(ndr, "unknown1", r->in.unknown1);
11165 ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
11166 ndr_print_uint32(ndr, "unknown3", r->in.unknown3);
11167 ndr->depth--;
11169 if (flags & NDR_OUT) {
11170 ndr_print_struct(ndr, "out", "samr_SetBootKeyInformation");
11171 ndr->depth++;
11172 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11173 ndr->depth--;
11175 ndr->depth--;
11178 static enum ndr_err_code ndr_push_samr_GetBootKeyInformation(struct ndr_push *ndr, int flags, const struct samr_GetBootKeyInformation *r)
11180 if (flags & NDR_IN) {
11181 if (r->in.domain_handle == NULL) {
11182 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11184 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11186 if (flags & NDR_OUT) {
11187 if (r->out.unknown == NULL) {
11188 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.unknown));
11191 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11193 return NDR_ERR_SUCCESS;
11196 static enum ndr_err_code ndr_pull_samr_GetBootKeyInformation(struct ndr_pull *ndr, int flags, struct samr_GetBootKeyInformation *r)
11198 TALLOC_CTX *_mem_save_domain_handle_0;
11199 TALLOC_CTX *_mem_save_unknown_0;
11200 if (flags & NDR_IN) {
11201 ZERO_STRUCT(r->out);
11203 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11204 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11206 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11207 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11208 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11209 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11210 NDR_PULL_ALLOC(ndr, r->out.unknown);
11211 ZERO_STRUCTP(r->out.unknown);
11213 if (flags & NDR_OUT) {
11214 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11215 NDR_PULL_ALLOC(ndr, r->out.unknown);
11217 _mem_save_unknown_0 = NDR_PULL_GET_MEM_CTX(ndr);
11218 NDR_PULL_SET_MEM_CTX(ndr, r->out.unknown, LIBNDR_FLAG_REF_ALLOC);
11219 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.unknown));
11220 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unknown_0, LIBNDR_FLAG_REF_ALLOC);
11221 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11223 return NDR_ERR_SUCCESS;
11226 _PUBLIC_ void ndr_print_samr_GetBootKeyInformation(struct ndr_print *ndr, const char *name, int flags, const struct samr_GetBootKeyInformation *r)
11228 ndr_print_struct(ndr, name, "samr_GetBootKeyInformation");
11229 ndr->depth++;
11230 if (flags & NDR_SET_VALUES) {
11231 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11233 if (flags & NDR_IN) {
11234 ndr_print_struct(ndr, "in", "samr_GetBootKeyInformation");
11235 ndr->depth++;
11236 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11237 ndr->depth++;
11238 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11239 ndr->depth--;
11240 ndr->depth--;
11242 if (flags & NDR_OUT) {
11243 ndr_print_struct(ndr, "out", "samr_GetBootKeyInformation");
11244 ndr->depth++;
11245 ndr_print_ptr(ndr, "unknown", r->out.unknown);
11246 ndr->depth++;
11247 ndr_print_uint32(ndr, "unknown", *r->out.unknown);
11248 ndr->depth--;
11249 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11250 ndr->depth--;
11252 ndr->depth--;
11255 static enum ndr_err_code ndr_push_samr_Connect3(struct ndr_push *ndr, int flags, const struct samr_Connect3 *r)
11257 if (flags & NDR_IN) {
11258 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11259 if (r->in.system_name) {
11260 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11261 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11262 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11263 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));
11265 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
11266 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11268 if (flags & NDR_OUT) {
11269 if (r->out.connect_handle == NULL) {
11270 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11272 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11273 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11275 return NDR_ERR_SUCCESS;
11278 static enum ndr_err_code ndr_pull_samr_Connect3(struct ndr_pull *ndr, int flags, struct samr_Connect3 *r)
11280 uint32_t _ptr_system_name;
11281 TALLOC_CTX *_mem_save_system_name_0;
11282 TALLOC_CTX *_mem_save_connect_handle_0;
11283 if (flags & NDR_IN) {
11284 ZERO_STRUCT(r->out);
11286 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11287 if (_ptr_system_name) {
11288 NDR_PULL_ALLOC(ndr, r->in.system_name);
11289 } else {
11290 r->in.system_name = NULL;
11292 if (r->in.system_name) {
11293 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11294 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11295 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11296 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11297 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11298 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));
11300 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11301 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));
11302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
11305 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11306 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11307 ZERO_STRUCTP(r->out.connect_handle);
11309 if (flags & NDR_OUT) {
11310 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11311 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11313 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11314 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11315 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11316 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11317 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11319 return NDR_ERR_SUCCESS;
11322 _PUBLIC_ void ndr_print_samr_Connect3(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect3 *r)
11324 ndr_print_struct(ndr, name, "samr_Connect3");
11325 ndr->depth++;
11326 if (flags & NDR_SET_VALUES) {
11327 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11329 if (flags & NDR_IN) {
11330 ndr_print_struct(ndr, "in", "samr_Connect3");
11331 ndr->depth++;
11332 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11333 ndr->depth++;
11334 if (r->in.system_name) {
11335 ndr_print_string(ndr, "system_name", r->in.system_name);
11337 ndr->depth--;
11338 ndr_print_uint32(ndr, "unknown", r->in.unknown);
11339 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11340 ndr->depth--;
11342 if (flags & NDR_OUT) {
11343 ndr_print_struct(ndr, "out", "samr_Connect3");
11344 ndr->depth++;
11345 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11346 ndr->depth++;
11347 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11348 ndr->depth--;
11349 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11350 ndr->depth--;
11352 ndr->depth--;
11355 static enum ndr_err_code ndr_push_samr_Connect4(struct ndr_push *ndr, int flags, const struct samr_Connect4 *r)
11357 if (flags & NDR_IN) {
11358 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11359 if (r->in.system_name) {
11360 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11362 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11363 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));
11365 NDR_CHECK(ndr_push_samr_ConnectVersion(ndr, NDR_SCALARS, r->in.client_version));
11366 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11368 if (flags & NDR_OUT) {
11369 if (r->out.connect_handle == NULL) {
11370 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11372 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11373 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11375 return NDR_ERR_SUCCESS;
11378 static enum ndr_err_code ndr_pull_samr_Connect4(struct ndr_pull *ndr, int flags, struct samr_Connect4 *r)
11380 uint32_t _ptr_system_name;
11381 TALLOC_CTX *_mem_save_system_name_0;
11382 TALLOC_CTX *_mem_save_connect_handle_0;
11383 if (flags & NDR_IN) {
11384 ZERO_STRUCT(r->out);
11386 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11387 if (_ptr_system_name) {
11388 NDR_PULL_ALLOC(ndr, r->in.system_name);
11389 } else {
11390 r->in.system_name = NULL;
11392 if (r->in.system_name) {
11393 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11394 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11395 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11396 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11397 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11398 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));
11400 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11401 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));
11402 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11404 NDR_CHECK(ndr_pull_samr_ConnectVersion(ndr, NDR_SCALARS, &r->in.client_version));
11405 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11406 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11407 ZERO_STRUCTP(r->out.connect_handle);
11409 if (flags & NDR_OUT) {
11410 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11411 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11413 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11414 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11415 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11416 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11417 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11419 return NDR_ERR_SUCCESS;
11422 _PUBLIC_ void ndr_print_samr_Connect4(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect4 *r)
11424 ndr_print_struct(ndr, name, "samr_Connect4");
11425 ndr->depth++;
11426 if (flags & NDR_SET_VALUES) {
11427 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11429 if (flags & NDR_IN) {
11430 ndr_print_struct(ndr, "in", "samr_Connect4");
11431 ndr->depth++;
11432 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11433 ndr->depth++;
11434 if (r->in.system_name) {
11435 ndr_print_string(ndr, "system_name", r->in.system_name);
11437 ndr->depth--;
11438 ndr_print_samr_ConnectVersion(ndr, "client_version", r->in.client_version);
11439 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11440 ndr->depth--;
11442 if (flags & NDR_OUT) {
11443 ndr_print_struct(ndr, "out", "samr_Connect4");
11444 ndr->depth++;
11445 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11446 ndr->depth++;
11447 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11448 ndr->depth--;
11449 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11450 ndr->depth--;
11452 ndr->depth--;
11455 static enum ndr_err_code ndr_push_samr_ChangePasswordUser3(struct ndr_push *ndr, int flags, const struct samr_ChangePasswordUser3 *r)
11457 if (flags & NDR_IN) {
11458 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
11459 if (r->in.server) {
11460 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11462 if (r->in.account == NULL) {
11463 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11465 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11466 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_password));
11467 if (r->in.nt_password) {
11468 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11470 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.nt_verifier));
11471 if (r->in.nt_verifier) {
11472 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11474 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.lm_change));
11475 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_password));
11476 if (r->in.lm_password) {
11477 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11479 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.lm_verifier));
11480 if (r->in.lm_verifier) {
11481 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11483 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.password3));
11484 if (r->in.password3) {
11485 NDR_CHECK(ndr_push_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
11488 if (flags & NDR_OUT) {
11489 if (r->out.dominfo == NULL) {
11490 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11492 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.dominfo));
11493 if (*r->out.dominfo) {
11494 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
11496 if (r->out.reject == NULL) {
11497 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11499 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.reject));
11500 if (*r->out.reject) {
11501 NDR_CHECK(ndr_push_samr_ChangeReject(ndr, NDR_SCALARS, *r->out.reject));
11503 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11505 return NDR_ERR_SUCCESS;
11508 static enum ndr_err_code ndr_pull_samr_ChangePasswordUser3(struct ndr_pull *ndr, int flags, struct samr_ChangePasswordUser3 *r)
11510 uint32_t _ptr_server;
11511 uint32_t _ptr_nt_password;
11512 uint32_t _ptr_nt_verifier;
11513 uint32_t _ptr_lm_password;
11514 uint32_t _ptr_lm_verifier;
11515 uint32_t _ptr_password3;
11516 uint32_t _ptr_dominfo;
11517 uint32_t _ptr_reject;
11518 TALLOC_CTX *_mem_save_server_0;
11519 TALLOC_CTX *_mem_save_account_0;
11520 TALLOC_CTX *_mem_save_nt_password_0;
11521 TALLOC_CTX *_mem_save_nt_verifier_0;
11522 TALLOC_CTX *_mem_save_lm_password_0;
11523 TALLOC_CTX *_mem_save_lm_verifier_0;
11524 TALLOC_CTX *_mem_save_password3_0;
11525 TALLOC_CTX *_mem_save_dominfo_0;
11526 TALLOC_CTX *_mem_save_dominfo_1;
11527 TALLOC_CTX *_mem_save_reject_0;
11528 TALLOC_CTX *_mem_save_reject_1;
11529 if (flags & NDR_IN) {
11530 ZERO_STRUCT(r->out);
11532 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
11533 if (_ptr_server) {
11534 NDR_PULL_ALLOC(ndr, r->in.server);
11535 } else {
11536 r->in.server = NULL;
11538 if (r->in.server) {
11539 _mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
11540 NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
11541 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.server));
11542 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
11544 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11545 NDR_PULL_ALLOC(ndr, r->in.account);
11547 _mem_save_account_0 = NDR_PULL_GET_MEM_CTX(ndr);
11548 NDR_PULL_SET_MEM_CTX(ndr, r->in.account, LIBNDR_FLAG_REF_ALLOC);
11549 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.account));
11550 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_0, LIBNDR_FLAG_REF_ALLOC);
11551 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_password));
11552 if (_ptr_nt_password) {
11553 NDR_PULL_ALLOC(ndr, r->in.nt_password);
11554 } else {
11555 r->in.nt_password = NULL;
11557 if (r->in.nt_password) {
11558 _mem_save_nt_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11559 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_password, 0);
11560 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.nt_password));
11561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_password_0, 0);
11563 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_nt_verifier));
11564 if (_ptr_nt_verifier) {
11565 NDR_PULL_ALLOC(ndr, r->in.nt_verifier);
11566 } else {
11567 r->in.nt_verifier = NULL;
11569 if (r->in.nt_verifier) {
11570 _mem_save_nt_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11571 NDR_PULL_SET_MEM_CTX(ndr, r->in.nt_verifier, 0);
11572 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.nt_verifier));
11573 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_nt_verifier_0, 0);
11575 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.lm_change));
11576 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_password));
11577 if (_ptr_lm_password) {
11578 NDR_PULL_ALLOC(ndr, r->in.lm_password);
11579 } else {
11580 r->in.lm_password = NULL;
11582 if (r->in.lm_password) {
11583 _mem_save_lm_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
11584 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_password, 0);
11585 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.lm_password));
11586 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_password_0, 0);
11588 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_lm_verifier));
11589 if (_ptr_lm_verifier) {
11590 NDR_PULL_ALLOC(ndr, r->in.lm_verifier);
11591 } else {
11592 r->in.lm_verifier = NULL;
11594 if (r->in.lm_verifier) {
11595 _mem_save_lm_verifier_0 = NDR_PULL_GET_MEM_CTX(ndr);
11596 NDR_PULL_SET_MEM_CTX(ndr, r->in.lm_verifier, 0);
11597 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.lm_verifier));
11598 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_lm_verifier_0, 0);
11600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password3));
11601 if (_ptr_password3) {
11602 NDR_PULL_ALLOC(ndr, r->in.password3);
11603 } else {
11604 r->in.password3 = NULL;
11606 if (r->in.password3) {
11607 _mem_save_password3_0 = NDR_PULL_GET_MEM_CTX(ndr);
11608 NDR_PULL_SET_MEM_CTX(ndr, r->in.password3, 0);
11609 NDR_CHECK(ndr_pull_samr_CryptPassword(ndr, NDR_SCALARS, r->in.password3));
11610 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password3_0, 0);
11612 NDR_PULL_ALLOC(ndr, r->out.dominfo);
11613 ZERO_STRUCTP(r->out.dominfo);
11614 NDR_PULL_ALLOC(ndr, r->out.reject);
11615 ZERO_STRUCTP(r->out.reject);
11617 if (flags & NDR_OUT) {
11618 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11619 NDR_PULL_ALLOC(ndr, r->out.dominfo);
11621 _mem_save_dominfo_0 = NDR_PULL_GET_MEM_CTX(ndr);
11622 NDR_PULL_SET_MEM_CTX(ndr, r->out.dominfo, LIBNDR_FLAG_REF_ALLOC);
11623 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dominfo));
11624 if (_ptr_dominfo) {
11625 NDR_PULL_ALLOC(ndr, *r->out.dominfo);
11626 } else {
11627 *r->out.dominfo = NULL;
11629 if (*r->out.dominfo) {
11630 _mem_save_dominfo_1 = NDR_PULL_GET_MEM_CTX(ndr);
11631 NDR_PULL_SET_MEM_CTX(ndr, *r->out.dominfo, 0);
11632 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS, *r->out.dominfo));
11633 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_1, 0);
11635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dominfo_0, LIBNDR_FLAG_REF_ALLOC);
11636 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11637 NDR_PULL_ALLOC(ndr, r->out.reject);
11639 _mem_save_reject_0 = NDR_PULL_GET_MEM_CTX(ndr);
11640 NDR_PULL_SET_MEM_CTX(ndr, r->out.reject, LIBNDR_FLAG_REF_ALLOC);
11641 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_reject));
11642 if (_ptr_reject) {
11643 NDR_PULL_ALLOC(ndr, *r->out.reject);
11644 } else {
11645 *r->out.reject = NULL;
11647 if (*r->out.reject) {
11648 _mem_save_reject_1 = NDR_PULL_GET_MEM_CTX(ndr);
11649 NDR_PULL_SET_MEM_CTX(ndr, *r->out.reject, 0);
11650 NDR_CHECK(ndr_pull_samr_ChangeReject(ndr, NDR_SCALARS, *r->out.reject));
11651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_1, 0);
11653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_reject_0, LIBNDR_FLAG_REF_ALLOC);
11654 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11656 return NDR_ERR_SUCCESS;
11659 _PUBLIC_ void ndr_print_samr_ChangePasswordUser3(struct ndr_print *ndr, const char *name, int flags, const struct samr_ChangePasswordUser3 *r)
11661 ndr_print_struct(ndr, name, "samr_ChangePasswordUser3");
11662 ndr->depth++;
11663 if (flags & NDR_SET_VALUES) {
11664 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11666 if (flags & NDR_IN) {
11667 ndr_print_struct(ndr, "in", "samr_ChangePasswordUser3");
11668 ndr->depth++;
11669 ndr_print_ptr(ndr, "server", r->in.server);
11670 ndr->depth++;
11671 if (r->in.server) {
11672 ndr_print_lsa_String(ndr, "server", r->in.server);
11674 ndr->depth--;
11675 ndr_print_ptr(ndr, "account", r->in.account);
11676 ndr->depth++;
11677 ndr_print_lsa_String(ndr, "account", r->in.account);
11678 ndr->depth--;
11679 ndr_print_ptr(ndr, "nt_password", r->in.nt_password);
11680 ndr->depth++;
11681 if (r->in.nt_password) {
11682 ndr_print_samr_CryptPassword(ndr, "nt_password", r->in.nt_password);
11684 ndr->depth--;
11685 ndr_print_ptr(ndr, "nt_verifier", r->in.nt_verifier);
11686 ndr->depth++;
11687 if (r->in.nt_verifier) {
11688 ndr_print_samr_Password(ndr, "nt_verifier", r->in.nt_verifier);
11690 ndr->depth--;
11691 ndr_print_uint8(ndr, "lm_change", r->in.lm_change);
11692 ndr_print_ptr(ndr, "lm_password", r->in.lm_password);
11693 ndr->depth++;
11694 if (r->in.lm_password) {
11695 ndr_print_samr_CryptPassword(ndr, "lm_password", r->in.lm_password);
11697 ndr->depth--;
11698 ndr_print_ptr(ndr, "lm_verifier", r->in.lm_verifier);
11699 ndr->depth++;
11700 if (r->in.lm_verifier) {
11701 ndr_print_samr_Password(ndr, "lm_verifier", r->in.lm_verifier);
11703 ndr->depth--;
11704 ndr_print_ptr(ndr, "password3", r->in.password3);
11705 ndr->depth++;
11706 if (r->in.password3) {
11707 ndr_print_samr_CryptPassword(ndr, "password3", r->in.password3);
11709 ndr->depth--;
11710 ndr->depth--;
11712 if (flags & NDR_OUT) {
11713 ndr_print_struct(ndr, "out", "samr_ChangePasswordUser3");
11714 ndr->depth++;
11715 ndr_print_ptr(ndr, "dominfo", r->out.dominfo);
11716 ndr->depth++;
11717 ndr_print_ptr(ndr, "dominfo", *r->out.dominfo);
11718 ndr->depth++;
11719 if (*r->out.dominfo) {
11720 ndr_print_samr_DomInfo1(ndr, "dominfo", *r->out.dominfo);
11722 ndr->depth--;
11723 ndr->depth--;
11724 ndr_print_ptr(ndr, "reject", r->out.reject);
11725 ndr->depth++;
11726 ndr_print_ptr(ndr, "reject", *r->out.reject);
11727 ndr->depth++;
11728 if (*r->out.reject) {
11729 ndr_print_samr_ChangeReject(ndr, "reject", *r->out.reject);
11731 ndr->depth--;
11732 ndr->depth--;
11733 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11734 ndr->depth--;
11736 ndr->depth--;
11739 _PUBLIC_ enum ndr_err_code ndr_push_samr_Connect5(struct ndr_push *ndr, int flags, const struct samr_Connect5 *r)
11741 if (flags & NDR_IN) {
11742 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
11743 if (r->in.system_name) {
11744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11745 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
11746 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
11747 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));
11749 NDR_CHECK(ndr_push_samr_ConnectAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
11750 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level_in));
11751 if (r->in.info_in == NULL) {
11752 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11754 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info_in, r->in.level_in));
11755 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
11757 if (flags & NDR_OUT) {
11758 if (r->out.level_out == NULL) {
11759 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11761 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.level_out));
11762 if (r->out.info_out == NULL) {
11763 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11765 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
11766 NDR_CHECK(ndr_push_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
11767 if (r->out.connect_handle == NULL) {
11768 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11770 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11771 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11773 return NDR_ERR_SUCCESS;
11776 _PUBLIC_ enum ndr_err_code ndr_pull_samr_Connect5(struct ndr_pull *ndr, int flags, struct samr_Connect5 *r)
11778 uint32_t _ptr_system_name;
11779 TALLOC_CTX *_mem_save_system_name_0;
11780 TALLOC_CTX *_mem_save_info_in_0;
11781 TALLOC_CTX *_mem_save_level_out_0;
11782 TALLOC_CTX *_mem_save_info_out_0;
11783 TALLOC_CTX *_mem_save_connect_handle_0;
11784 if (flags & NDR_IN) {
11785 ZERO_STRUCT(r->out);
11787 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
11788 if (_ptr_system_name) {
11789 NDR_PULL_ALLOC(ndr, r->in.system_name);
11790 } else {
11791 r->in.system_name = NULL;
11793 if (r->in.system_name) {
11794 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
11795 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
11796 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
11797 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
11798 if (ndr_get_array_length(ndr, &r->in.system_name) > ndr_get_array_size(ndr, &r->in.system_name)) {
11799 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));
11801 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.system_name), sizeof(uint16_t)));
11802 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));
11803 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
11805 NDR_CHECK(ndr_pull_samr_ConnectAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
11806 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level_in));
11807 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11808 NDR_PULL_ALLOC(ndr, r->in.info_in);
11810 _mem_save_info_in_0 = NDR_PULL_GET_MEM_CTX(ndr);
11811 NDR_PULL_SET_MEM_CTX(ndr, r->in.info_in, LIBNDR_FLAG_REF_ALLOC);
11812 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info_in, r->in.level_in));
11813 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->in.info_in));
11814 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_in_0, LIBNDR_FLAG_REF_ALLOC);
11815 NDR_PULL_ALLOC(ndr, r->out.level_out);
11816 ZERO_STRUCTP(r->out.level_out);
11817 NDR_PULL_ALLOC(ndr, r->out.info_out);
11818 ZERO_STRUCTP(r->out.info_out);
11819 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11820 ZERO_STRUCTP(r->out.connect_handle);
11822 if (flags & NDR_OUT) {
11823 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11824 NDR_PULL_ALLOC(ndr, r->out.level_out);
11826 _mem_save_level_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
11827 NDR_PULL_SET_MEM_CTX(ndr, r->out.level_out, LIBNDR_FLAG_REF_ALLOC);
11828 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.level_out));
11829 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_out_0, LIBNDR_FLAG_REF_ALLOC);
11830 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11831 NDR_PULL_ALLOC(ndr, r->out.info_out);
11833 _mem_save_info_out_0 = NDR_PULL_GET_MEM_CTX(ndr);
11834 NDR_PULL_SET_MEM_CTX(ndr, r->out.info_out, LIBNDR_FLAG_REF_ALLOC);
11835 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.info_out, *r->out.level_out));
11836 NDR_CHECK(ndr_pull_samr_ConnectInfo(ndr, NDR_SCALARS, r->out.info_out));
11837 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_out_0, LIBNDR_FLAG_REF_ALLOC);
11838 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11839 NDR_PULL_ALLOC(ndr, r->out.connect_handle);
11841 _mem_save_connect_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11842 NDR_PULL_SET_MEM_CTX(ndr, r->out.connect_handle, LIBNDR_FLAG_REF_ALLOC);
11843 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.connect_handle));
11844 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_connect_handle_0, LIBNDR_FLAG_REF_ALLOC);
11845 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11847 return NDR_ERR_SUCCESS;
11850 _PUBLIC_ void ndr_print_samr_Connect5(struct ndr_print *ndr, const char *name, int flags, const struct samr_Connect5 *r)
11852 ndr_print_struct(ndr, name, "samr_Connect5");
11853 ndr->depth++;
11854 if (flags & NDR_SET_VALUES) {
11855 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11857 if (flags & NDR_IN) {
11858 ndr_print_struct(ndr, "in", "samr_Connect5");
11859 ndr->depth++;
11860 ndr_print_ptr(ndr, "system_name", r->in.system_name);
11861 ndr->depth++;
11862 if (r->in.system_name) {
11863 ndr_print_string(ndr, "system_name", r->in.system_name);
11865 ndr->depth--;
11866 ndr_print_samr_ConnectAccessMask(ndr, "access_mask", r->in.access_mask);
11867 ndr_print_uint32(ndr, "level_in", r->in.level_in);
11868 ndr_print_ptr(ndr, "info_in", r->in.info_in);
11869 ndr->depth++;
11870 ndr_print_set_switch_value(ndr, r->in.info_in, r->in.level_in);
11871 ndr_print_samr_ConnectInfo(ndr, "info_in", r->in.info_in);
11872 ndr->depth--;
11873 ndr->depth--;
11875 if (flags & NDR_OUT) {
11876 ndr_print_struct(ndr, "out", "samr_Connect5");
11877 ndr->depth++;
11878 ndr_print_ptr(ndr, "level_out", r->out.level_out);
11879 ndr->depth++;
11880 ndr_print_uint32(ndr, "level_out", *r->out.level_out);
11881 ndr->depth--;
11882 ndr_print_ptr(ndr, "info_out", r->out.info_out);
11883 ndr->depth++;
11884 ndr_print_set_switch_value(ndr, r->out.info_out, *r->out.level_out);
11885 ndr_print_samr_ConnectInfo(ndr, "info_out", r->out.info_out);
11886 ndr->depth--;
11887 ndr_print_ptr(ndr, "connect_handle", r->out.connect_handle);
11888 ndr->depth++;
11889 ndr_print_policy_handle(ndr, "connect_handle", r->out.connect_handle);
11890 ndr->depth--;
11891 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11892 ndr->depth--;
11894 ndr->depth--;
11897 static enum ndr_err_code ndr_push_samr_RidToSid(struct ndr_push *ndr, int flags, const struct samr_RidToSid *r)
11899 if (flags & NDR_IN) {
11900 if (r->in.domain_handle == NULL) {
11901 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11903 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11904 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.rid));
11906 if (flags & NDR_OUT) {
11907 if (r->out.sid == NULL) {
11908 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11910 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
11911 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11913 return NDR_ERR_SUCCESS;
11916 static enum ndr_err_code ndr_pull_samr_RidToSid(struct ndr_pull *ndr, int flags, struct samr_RidToSid *r)
11918 TALLOC_CTX *_mem_save_domain_handle_0;
11919 TALLOC_CTX *_mem_save_sid_0;
11920 if (flags & NDR_IN) {
11921 ZERO_STRUCT(r->out);
11923 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11924 NDR_PULL_ALLOC(ndr, r->in.domain_handle);
11926 _mem_save_domain_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11927 NDR_PULL_SET_MEM_CTX(ndr, r->in.domain_handle, LIBNDR_FLAG_REF_ALLOC);
11928 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.domain_handle));
11929 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_handle_0, LIBNDR_FLAG_REF_ALLOC);
11930 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.rid));
11931 NDR_PULL_ALLOC(ndr, r->out.sid);
11932 ZERO_STRUCTP(r->out.sid);
11934 if (flags & NDR_OUT) {
11935 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11936 NDR_PULL_ALLOC(ndr, r->out.sid);
11938 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
11939 NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC);
11940 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sid));
11941 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
11942 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11944 return NDR_ERR_SUCCESS;
11947 _PUBLIC_ void ndr_print_samr_RidToSid(struct ndr_print *ndr, const char *name, int flags, const struct samr_RidToSid *r)
11949 ndr_print_struct(ndr, name, "samr_RidToSid");
11950 ndr->depth++;
11951 if (flags & NDR_SET_VALUES) {
11952 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11954 if (flags & NDR_IN) {
11955 ndr_print_struct(ndr, "in", "samr_RidToSid");
11956 ndr->depth++;
11957 ndr_print_ptr(ndr, "domain_handle", r->in.domain_handle);
11958 ndr->depth++;
11959 ndr_print_policy_handle(ndr, "domain_handle", r->in.domain_handle);
11960 ndr->depth--;
11961 ndr_print_uint32(ndr, "rid", r->in.rid);
11962 ndr->depth--;
11964 if (flags & NDR_OUT) {
11965 ndr_print_struct(ndr, "out", "samr_RidToSid");
11966 ndr->depth++;
11967 ndr_print_ptr(ndr, "sid", r->out.sid);
11968 ndr->depth++;
11969 ndr_print_dom_sid2(ndr, "sid", r->out.sid);
11970 ndr->depth--;
11971 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11972 ndr->depth--;
11974 ndr->depth--;
11977 static enum ndr_err_code ndr_push_samr_SetDsrmPassword(struct ndr_push *ndr, int flags, const struct samr_SetDsrmPassword *r)
11979 if (flags & NDR_IN) {
11980 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name));
11981 if (r->in.name) {
11982 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
11984 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
11985 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hash));
11986 if (r->in.hash) {
11987 NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, r->in.hash));
11990 if (flags & NDR_OUT) {
11991 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11993 return NDR_ERR_SUCCESS;
11996 static enum ndr_err_code ndr_pull_samr_SetDsrmPassword(struct ndr_pull *ndr, int flags, struct samr_SetDsrmPassword *r)
11998 uint32_t _ptr_name;
11999 uint32_t _ptr_hash;
12000 TALLOC_CTX *_mem_save_name_0;
12001 TALLOC_CTX *_mem_save_hash_0;
12002 if (flags & NDR_IN) {
12003 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
12004 if (_ptr_name) {
12005 NDR_PULL_ALLOC(ndr, r->in.name);
12006 } else {
12007 r->in.name = NULL;
12009 if (r->in.name) {
12010 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12011 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0);
12012 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
12013 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
12015 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
12016 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hash));
12017 if (_ptr_hash) {
12018 NDR_PULL_ALLOC(ndr, r->in.hash);
12019 } else {
12020 r->in.hash = NULL;
12022 if (r->in.hash) {
12023 _mem_save_hash_0 = NDR_PULL_GET_MEM_CTX(ndr);
12024 NDR_PULL_SET_MEM_CTX(ndr, r->in.hash, 0);
12025 NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, r->in.hash));
12026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hash_0, 0);
12029 if (flags & NDR_OUT) {
12030 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12032 return NDR_ERR_SUCCESS;
12035 _PUBLIC_ void ndr_print_samr_SetDsrmPassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_SetDsrmPassword *r)
12037 ndr_print_struct(ndr, name, "samr_SetDsrmPassword");
12038 ndr->depth++;
12039 if (flags & NDR_SET_VALUES) {
12040 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12042 if (flags & NDR_IN) {
12043 ndr_print_struct(ndr, "in", "samr_SetDsrmPassword");
12044 ndr->depth++;
12045 ndr_print_ptr(ndr, "name", r->in.name);
12046 ndr->depth++;
12047 if (r->in.name) {
12048 ndr_print_lsa_String(ndr, "name", r->in.name);
12050 ndr->depth--;
12051 ndr_print_uint32(ndr, "unknown", r->in.unknown);
12052 ndr_print_ptr(ndr, "hash", r->in.hash);
12053 ndr->depth++;
12054 if (r->in.hash) {
12055 ndr_print_samr_Password(ndr, "hash", r->in.hash);
12057 ndr->depth--;
12058 ndr->depth--;
12060 if (flags & NDR_OUT) {
12061 ndr_print_struct(ndr, "out", "samr_SetDsrmPassword");
12062 ndr->depth++;
12063 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12064 ndr->depth--;
12066 ndr->depth--;
12069 static enum ndr_err_code ndr_push_samr_ValidatePassword(struct ndr_push *ndr, int flags, const struct samr_ValidatePassword *r)
12071 if (flags & NDR_IN) {
12072 NDR_CHECK(ndr_push_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, r->in.level));
12073 if (r->in.req == NULL) {
12074 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12076 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
12077 NDR_CHECK(ndr_push_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12079 if (flags & NDR_OUT) {
12080 if (r->out.rep == NULL) {
12081 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12083 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.rep));
12084 if (*r->out.rep) {
12085 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.rep, r->in.level));
12086 NDR_CHECK(ndr_push_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
12088 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12090 return NDR_ERR_SUCCESS;
12093 static enum ndr_err_code ndr_pull_samr_ValidatePassword(struct ndr_pull *ndr, int flags, struct samr_ValidatePassword *r)
12095 uint32_t _ptr_rep;
12096 TALLOC_CTX *_mem_save_req_0;
12097 TALLOC_CTX *_mem_save_rep_0;
12098 TALLOC_CTX *_mem_save_rep_1;
12099 if (flags & NDR_IN) {
12100 ZERO_STRUCT(r->out);
12102 NDR_CHECK(ndr_pull_samr_ValidatePasswordLevel(ndr, NDR_SCALARS, &r->in.level));
12103 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12104 NDR_PULL_ALLOC(ndr, r->in.req);
12106 _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
12107 NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
12108 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
12109 NDR_CHECK(ndr_pull_samr_ValidatePasswordReq(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
12110 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
12111 NDR_PULL_ALLOC(ndr, r->out.rep);
12112 ZERO_STRUCTP(r->out.rep);
12114 if (flags & NDR_OUT) {
12115 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12116 NDR_PULL_ALLOC(ndr, r->out.rep);
12118 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
12119 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
12120 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_rep));
12121 if (_ptr_rep) {
12122 NDR_PULL_ALLOC(ndr, *r->out.rep);
12123 } else {
12124 *r->out.rep = NULL;
12126 if (*r->out.rep) {
12127 _mem_save_rep_1 = NDR_PULL_GET_MEM_CTX(ndr);
12128 NDR_PULL_SET_MEM_CTX(ndr, *r->out.rep, 0);
12129 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.rep, r->in.level));
12130 NDR_CHECK(ndr_pull_samr_ValidatePasswordRep(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.rep));
12131 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_1, 0);
12133 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
12134 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12136 return NDR_ERR_SUCCESS;
12139 _PUBLIC_ void ndr_print_samr_ValidatePassword(struct ndr_print *ndr, const char *name, int flags, const struct samr_ValidatePassword *r)
12141 ndr_print_struct(ndr, name, "samr_ValidatePassword");
12142 ndr->depth++;
12143 if (flags & NDR_SET_VALUES) {
12144 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12146 if (flags & NDR_IN) {
12147 ndr_print_struct(ndr, "in", "samr_ValidatePassword");
12148 ndr->depth++;
12149 ndr_print_samr_ValidatePasswordLevel(ndr, "level", r->in.level);
12150 ndr_print_ptr(ndr, "req", r->in.req);
12151 ndr->depth++;
12152 ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
12153 ndr_print_samr_ValidatePasswordReq(ndr, "req", r->in.req);
12154 ndr->depth--;
12155 ndr->depth--;
12157 if (flags & NDR_OUT) {
12158 ndr_print_struct(ndr, "out", "samr_ValidatePassword");
12159 ndr->depth++;
12160 ndr_print_ptr(ndr, "rep", r->out.rep);
12161 ndr->depth++;
12162 ndr_print_ptr(ndr, "rep", *r->out.rep);
12163 ndr->depth++;
12164 if (*r->out.rep) {
12165 ndr_print_set_switch_value(ndr, *r->out.rep, r->in.level);
12166 ndr_print_samr_ValidatePasswordRep(ndr, "rep", *r->out.rep);
12168 ndr->depth--;
12169 ndr->depth--;
12170 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12171 ndr->depth--;
12173 ndr->depth--;
12176 static const struct ndr_interface_call samr_calls[] = {
12178 "samr_Connect",
12179 sizeof(struct samr_Connect),
12180 (ndr_push_flags_fn_t) ndr_push_samr_Connect,
12181 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect,
12182 (ndr_print_function_t) ndr_print_samr_Connect,
12183 false,
12186 "samr_Close",
12187 sizeof(struct samr_Close),
12188 (ndr_push_flags_fn_t) ndr_push_samr_Close,
12189 (ndr_pull_flags_fn_t) ndr_pull_samr_Close,
12190 (ndr_print_function_t) ndr_print_samr_Close,
12191 false,
12194 "samr_SetSecurity",
12195 sizeof(struct samr_SetSecurity),
12196 (ndr_push_flags_fn_t) ndr_push_samr_SetSecurity,
12197 (ndr_pull_flags_fn_t) ndr_pull_samr_SetSecurity,
12198 (ndr_print_function_t) ndr_print_samr_SetSecurity,
12199 false,
12202 "samr_QuerySecurity",
12203 sizeof(struct samr_QuerySecurity),
12204 (ndr_push_flags_fn_t) ndr_push_samr_QuerySecurity,
12205 (ndr_pull_flags_fn_t) ndr_pull_samr_QuerySecurity,
12206 (ndr_print_function_t) ndr_print_samr_QuerySecurity,
12207 false,
12210 "samr_Shutdown",
12211 sizeof(struct samr_Shutdown),
12212 (ndr_push_flags_fn_t) ndr_push_samr_Shutdown,
12213 (ndr_pull_flags_fn_t) ndr_pull_samr_Shutdown,
12214 (ndr_print_function_t) ndr_print_samr_Shutdown,
12215 false,
12218 "samr_LookupDomain",
12219 sizeof(struct samr_LookupDomain),
12220 (ndr_push_flags_fn_t) ndr_push_samr_LookupDomain,
12221 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupDomain,
12222 (ndr_print_function_t) ndr_print_samr_LookupDomain,
12223 false,
12226 "samr_EnumDomains",
12227 sizeof(struct samr_EnumDomains),
12228 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomains,
12229 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomains,
12230 (ndr_print_function_t) ndr_print_samr_EnumDomains,
12231 false,
12234 "samr_OpenDomain",
12235 sizeof(struct samr_OpenDomain),
12236 (ndr_push_flags_fn_t) ndr_push_samr_OpenDomain,
12237 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenDomain,
12238 (ndr_print_function_t) ndr_print_samr_OpenDomain,
12239 false,
12242 "samr_QueryDomainInfo",
12243 sizeof(struct samr_QueryDomainInfo),
12244 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo,
12245 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo,
12246 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo,
12247 false,
12250 "samr_SetDomainInfo",
12251 sizeof(struct samr_SetDomainInfo),
12252 (ndr_push_flags_fn_t) ndr_push_samr_SetDomainInfo,
12253 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDomainInfo,
12254 (ndr_print_function_t) ndr_print_samr_SetDomainInfo,
12255 false,
12258 "samr_CreateDomainGroup",
12259 sizeof(struct samr_CreateDomainGroup),
12260 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomainGroup,
12261 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomainGroup,
12262 (ndr_print_function_t) ndr_print_samr_CreateDomainGroup,
12263 false,
12266 "samr_EnumDomainGroups",
12267 sizeof(struct samr_EnumDomainGroups),
12268 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainGroups,
12269 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainGroups,
12270 (ndr_print_function_t) ndr_print_samr_EnumDomainGroups,
12271 false,
12274 "samr_CreateUser",
12275 sizeof(struct samr_CreateUser),
12276 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser,
12277 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser,
12278 (ndr_print_function_t) ndr_print_samr_CreateUser,
12279 false,
12282 "samr_EnumDomainUsers",
12283 sizeof(struct samr_EnumDomainUsers),
12284 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainUsers,
12285 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainUsers,
12286 (ndr_print_function_t) ndr_print_samr_EnumDomainUsers,
12287 false,
12290 "samr_CreateDomAlias",
12291 sizeof(struct samr_CreateDomAlias),
12292 (ndr_push_flags_fn_t) ndr_push_samr_CreateDomAlias,
12293 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateDomAlias,
12294 (ndr_print_function_t) ndr_print_samr_CreateDomAlias,
12295 false,
12298 "samr_EnumDomainAliases",
12299 sizeof(struct samr_EnumDomainAliases),
12300 (ndr_push_flags_fn_t) ndr_push_samr_EnumDomainAliases,
12301 (ndr_pull_flags_fn_t) ndr_pull_samr_EnumDomainAliases,
12302 (ndr_print_function_t) ndr_print_samr_EnumDomainAliases,
12303 false,
12306 "samr_GetAliasMembership",
12307 sizeof(struct samr_GetAliasMembership),
12308 (ndr_push_flags_fn_t) ndr_push_samr_GetAliasMembership,
12309 (ndr_pull_flags_fn_t) ndr_pull_samr_GetAliasMembership,
12310 (ndr_print_function_t) ndr_print_samr_GetAliasMembership,
12311 false,
12314 "samr_LookupNames",
12315 sizeof(struct samr_LookupNames),
12316 (ndr_push_flags_fn_t) ndr_push_samr_LookupNames,
12317 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupNames,
12318 (ndr_print_function_t) ndr_print_samr_LookupNames,
12319 false,
12322 "samr_LookupRids",
12323 sizeof(struct samr_LookupRids),
12324 (ndr_push_flags_fn_t) ndr_push_samr_LookupRids,
12325 (ndr_pull_flags_fn_t) ndr_pull_samr_LookupRids,
12326 (ndr_print_function_t) ndr_print_samr_LookupRids,
12327 false,
12330 "samr_OpenGroup",
12331 sizeof(struct samr_OpenGroup),
12332 (ndr_push_flags_fn_t) ndr_push_samr_OpenGroup,
12333 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenGroup,
12334 (ndr_print_function_t) ndr_print_samr_OpenGroup,
12335 false,
12338 "samr_QueryGroupInfo",
12339 sizeof(struct samr_QueryGroupInfo),
12340 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupInfo,
12341 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupInfo,
12342 (ndr_print_function_t) ndr_print_samr_QueryGroupInfo,
12343 false,
12346 "samr_SetGroupInfo",
12347 sizeof(struct samr_SetGroupInfo),
12348 (ndr_push_flags_fn_t) ndr_push_samr_SetGroupInfo,
12349 (ndr_pull_flags_fn_t) ndr_pull_samr_SetGroupInfo,
12350 (ndr_print_function_t) ndr_print_samr_SetGroupInfo,
12351 false,
12354 "samr_AddGroupMember",
12355 sizeof(struct samr_AddGroupMember),
12356 (ndr_push_flags_fn_t) ndr_push_samr_AddGroupMember,
12357 (ndr_pull_flags_fn_t) ndr_pull_samr_AddGroupMember,
12358 (ndr_print_function_t) ndr_print_samr_AddGroupMember,
12359 false,
12362 "samr_DeleteDomainGroup",
12363 sizeof(struct samr_DeleteDomainGroup),
12364 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomainGroup,
12365 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomainGroup,
12366 (ndr_print_function_t) ndr_print_samr_DeleteDomainGroup,
12367 false,
12370 "samr_DeleteGroupMember",
12371 sizeof(struct samr_DeleteGroupMember),
12372 (ndr_push_flags_fn_t) ndr_push_samr_DeleteGroupMember,
12373 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteGroupMember,
12374 (ndr_print_function_t) ndr_print_samr_DeleteGroupMember,
12375 false,
12378 "samr_QueryGroupMember",
12379 sizeof(struct samr_QueryGroupMember),
12380 (ndr_push_flags_fn_t) ndr_push_samr_QueryGroupMember,
12381 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryGroupMember,
12382 (ndr_print_function_t) ndr_print_samr_QueryGroupMember,
12383 false,
12386 "samr_SetMemberAttributesOfGroup",
12387 sizeof(struct samr_SetMemberAttributesOfGroup),
12388 (ndr_push_flags_fn_t) ndr_push_samr_SetMemberAttributesOfGroup,
12389 (ndr_pull_flags_fn_t) ndr_pull_samr_SetMemberAttributesOfGroup,
12390 (ndr_print_function_t) ndr_print_samr_SetMemberAttributesOfGroup,
12391 false,
12394 "samr_OpenAlias",
12395 sizeof(struct samr_OpenAlias),
12396 (ndr_push_flags_fn_t) ndr_push_samr_OpenAlias,
12397 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenAlias,
12398 (ndr_print_function_t) ndr_print_samr_OpenAlias,
12399 false,
12402 "samr_QueryAliasInfo",
12403 sizeof(struct samr_QueryAliasInfo),
12404 (ndr_push_flags_fn_t) ndr_push_samr_QueryAliasInfo,
12405 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryAliasInfo,
12406 (ndr_print_function_t) ndr_print_samr_QueryAliasInfo,
12407 false,
12410 "samr_SetAliasInfo",
12411 sizeof(struct samr_SetAliasInfo),
12412 (ndr_push_flags_fn_t) ndr_push_samr_SetAliasInfo,
12413 (ndr_pull_flags_fn_t) ndr_pull_samr_SetAliasInfo,
12414 (ndr_print_function_t) ndr_print_samr_SetAliasInfo,
12415 false,
12418 "samr_DeleteDomAlias",
12419 sizeof(struct samr_DeleteDomAlias),
12420 (ndr_push_flags_fn_t) ndr_push_samr_DeleteDomAlias,
12421 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteDomAlias,
12422 (ndr_print_function_t) ndr_print_samr_DeleteDomAlias,
12423 false,
12426 "samr_AddAliasMember",
12427 sizeof(struct samr_AddAliasMember),
12428 (ndr_push_flags_fn_t) ndr_push_samr_AddAliasMember,
12429 (ndr_pull_flags_fn_t) ndr_pull_samr_AddAliasMember,
12430 (ndr_print_function_t) ndr_print_samr_AddAliasMember,
12431 false,
12434 "samr_DeleteAliasMember",
12435 sizeof(struct samr_DeleteAliasMember),
12436 (ndr_push_flags_fn_t) ndr_push_samr_DeleteAliasMember,
12437 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteAliasMember,
12438 (ndr_print_function_t) ndr_print_samr_DeleteAliasMember,
12439 false,
12442 "samr_GetMembersInAlias",
12443 sizeof(struct samr_GetMembersInAlias),
12444 (ndr_push_flags_fn_t) ndr_push_samr_GetMembersInAlias,
12445 (ndr_pull_flags_fn_t) ndr_pull_samr_GetMembersInAlias,
12446 (ndr_print_function_t) ndr_print_samr_GetMembersInAlias,
12447 false,
12450 "samr_OpenUser",
12451 sizeof(struct samr_OpenUser),
12452 (ndr_push_flags_fn_t) ndr_push_samr_OpenUser,
12453 (ndr_pull_flags_fn_t) ndr_pull_samr_OpenUser,
12454 (ndr_print_function_t) ndr_print_samr_OpenUser,
12455 false,
12458 "samr_DeleteUser",
12459 sizeof(struct samr_DeleteUser),
12460 (ndr_push_flags_fn_t) ndr_push_samr_DeleteUser,
12461 (ndr_pull_flags_fn_t) ndr_pull_samr_DeleteUser,
12462 (ndr_print_function_t) ndr_print_samr_DeleteUser,
12463 false,
12466 "samr_QueryUserInfo",
12467 sizeof(struct samr_QueryUserInfo),
12468 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo,
12469 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo,
12470 (ndr_print_function_t) ndr_print_samr_QueryUserInfo,
12471 false,
12474 "samr_SetUserInfo",
12475 sizeof(struct samr_SetUserInfo),
12476 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo,
12477 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo,
12478 (ndr_print_function_t) ndr_print_samr_SetUserInfo,
12479 false,
12482 "samr_ChangePasswordUser",
12483 sizeof(struct samr_ChangePasswordUser),
12484 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser,
12485 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser,
12486 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser,
12487 false,
12490 "samr_GetGroupsForUser",
12491 sizeof(struct samr_GetGroupsForUser),
12492 (ndr_push_flags_fn_t) ndr_push_samr_GetGroupsForUser,
12493 (ndr_pull_flags_fn_t) ndr_pull_samr_GetGroupsForUser,
12494 (ndr_print_function_t) ndr_print_samr_GetGroupsForUser,
12495 false,
12498 "samr_QueryDisplayInfo",
12499 sizeof(struct samr_QueryDisplayInfo),
12500 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo,
12501 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo,
12502 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo,
12503 false,
12506 "samr_GetDisplayEnumerationIndex",
12507 sizeof(struct samr_GetDisplayEnumerationIndex),
12508 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex,
12509 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex,
12510 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex,
12511 false,
12514 "samr_TestPrivateFunctionsDomain",
12515 sizeof(struct samr_TestPrivateFunctionsDomain),
12516 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsDomain,
12517 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsDomain,
12518 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsDomain,
12519 false,
12522 "samr_TestPrivateFunctionsUser",
12523 sizeof(struct samr_TestPrivateFunctionsUser),
12524 (ndr_push_flags_fn_t) ndr_push_samr_TestPrivateFunctionsUser,
12525 (ndr_pull_flags_fn_t) ndr_pull_samr_TestPrivateFunctionsUser,
12526 (ndr_print_function_t) ndr_print_samr_TestPrivateFunctionsUser,
12527 false,
12530 "samr_GetUserPwInfo",
12531 sizeof(struct samr_GetUserPwInfo),
12532 (ndr_push_flags_fn_t) ndr_push_samr_GetUserPwInfo,
12533 (ndr_pull_flags_fn_t) ndr_pull_samr_GetUserPwInfo,
12534 (ndr_print_function_t) ndr_print_samr_GetUserPwInfo,
12535 false,
12538 "samr_RemoveMemberFromForeignDomain",
12539 sizeof(struct samr_RemoveMemberFromForeignDomain),
12540 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMemberFromForeignDomain,
12541 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMemberFromForeignDomain,
12542 (ndr_print_function_t) ndr_print_samr_RemoveMemberFromForeignDomain,
12543 false,
12546 "samr_QueryDomainInfo2",
12547 sizeof(struct samr_QueryDomainInfo2),
12548 (ndr_push_flags_fn_t) ndr_push_samr_QueryDomainInfo2,
12549 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDomainInfo2,
12550 (ndr_print_function_t) ndr_print_samr_QueryDomainInfo2,
12551 false,
12554 "samr_QueryUserInfo2",
12555 sizeof(struct samr_QueryUserInfo2),
12556 (ndr_push_flags_fn_t) ndr_push_samr_QueryUserInfo2,
12557 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryUserInfo2,
12558 (ndr_print_function_t) ndr_print_samr_QueryUserInfo2,
12559 false,
12562 "samr_QueryDisplayInfo2",
12563 sizeof(struct samr_QueryDisplayInfo2),
12564 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo2,
12565 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo2,
12566 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo2,
12567 false,
12570 "samr_GetDisplayEnumerationIndex2",
12571 sizeof(struct samr_GetDisplayEnumerationIndex2),
12572 (ndr_push_flags_fn_t) ndr_push_samr_GetDisplayEnumerationIndex2,
12573 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDisplayEnumerationIndex2,
12574 (ndr_print_function_t) ndr_print_samr_GetDisplayEnumerationIndex2,
12575 false,
12578 "samr_CreateUser2",
12579 sizeof(struct samr_CreateUser2),
12580 (ndr_push_flags_fn_t) ndr_push_samr_CreateUser2,
12581 (ndr_pull_flags_fn_t) ndr_pull_samr_CreateUser2,
12582 (ndr_print_function_t) ndr_print_samr_CreateUser2,
12583 false,
12586 "samr_QueryDisplayInfo3",
12587 sizeof(struct samr_QueryDisplayInfo3),
12588 (ndr_push_flags_fn_t) ndr_push_samr_QueryDisplayInfo3,
12589 (ndr_pull_flags_fn_t) ndr_pull_samr_QueryDisplayInfo3,
12590 (ndr_print_function_t) ndr_print_samr_QueryDisplayInfo3,
12591 false,
12594 "samr_AddMultipleMembersToAlias",
12595 sizeof(struct samr_AddMultipleMembersToAlias),
12596 (ndr_push_flags_fn_t) ndr_push_samr_AddMultipleMembersToAlias,
12597 (ndr_pull_flags_fn_t) ndr_pull_samr_AddMultipleMembersToAlias,
12598 (ndr_print_function_t) ndr_print_samr_AddMultipleMembersToAlias,
12599 false,
12602 "samr_RemoveMultipleMembersFromAlias",
12603 sizeof(struct samr_RemoveMultipleMembersFromAlias),
12604 (ndr_push_flags_fn_t) ndr_push_samr_RemoveMultipleMembersFromAlias,
12605 (ndr_pull_flags_fn_t) ndr_pull_samr_RemoveMultipleMembersFromAlias,
12606 (ndr_print_function_t) ndr_print_samr_RemoveMultipleMembersFromAlias,
12607 false,
12610 "samr_OemChangePasswordUser2",
12611 sizeof(struct samr_OemChangePasswordUser2),
12612 (ndr_push_flags_fn_t) ndr_push_samr_OemChangePasswordUser2,
12613 (ndr_pull_flags_fn_t) ndr_pull_samr_OemChangePasswordUser2,
12614 (ndr_print_function_t) ndr_print_samr_OemChangePasswordUser2,
12615 false,
12618 "samr_ChangePasswordUser2",
12619 sizeof(struct samr_ChangePasswordUser2),
12620 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser2,
12621 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser2,
12622 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser2,
12623 false,
12626 "samr_GetDomPwInfo",
12627 sizeof(struct samr_GetDomPwInfo),
12628 (ndr_push_flags_fn_t) ndr_push_samr_GetDomPwInfo,
12629 (ndr_pull_flags_fn_t) ndr_pull_samr_GetDomPwInfo,
12630 (ndr_print_function_t) ndr_print_samr_GetDomPwInfo,
12631 false,
12634 "samr_Connect2",
12635 sizeof(struct samr_Connect2),
12636 (ndr_push_flags_fn_t) ndr_push_samr_Connect2,
12637 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect2,
12638 (ndr_print_function_t) ndr_print_samr_Connect2,
12639 false,
12642 "samr_SetUserInfo2",
12643 sizeof(struct samr_SetUserInfo2),
12644 (ndr_push_flags_fn_t) ndr_push_samr_SetUserInfo2,
12645 (ndr_pull_flags_fn_t) ndr_pull_samr_SetUserInfo2,
12646 (ndr_print_function_t) ndr_print_samr_SetUserInfo2,
12647 false,
12650 "samr_SetBootKeyInformation",
12651 sizeof(struct samr_SetBootKeyInformation),
12652 (ndr_push_flags_fn_t) ndr_push_samr_SetBootKeyInformation,
12653 (ndr_pull_flags_fn_t) ndr_pull_samr_SetBootKeyInformation,
12654 (ndr_print_function_t) ndr_print_samr_SetBootKeyInformation,
12655 false,
12658 "samr_GetBootKeyInformation",
12659 sizeof(struct samr_GetBootKeyInformation),
12660 (ndr_push_flags_fn_t) ndr_push_samr_GetBootKeyInformation,
12661 (ndr_pull_flags_fn_t) ndr_pull_samr_GetBootKeyInformation,
12662 (ndr_print_function_t) ndr_print_samr_GetBootKeyInformation,
12663 false,
12666 "samr_Connect3",
12667 sizeof(struct samr_Connect3),
12668 (ndr_push_flags_fn_t) ndr_push_samr_Connect3,
12669 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect3,
12670 (ndr_print_function_t) ndr_print_samr_Connect3,
12671 false,
12674 "samr_Connect4",
12675 sizeof(struct samr_Connect4),
12676 (ndr_push_flags_fn_t) ndr_push_samr_Connect4,
12677 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect4,
12678 (ndr_print_function_t) ndr_print_samr_Connect4,
12679 false,
12682 "samr_ChangePasswordUser3",
12683 sizeof(struct samr_ChangePasswordUser3),
12684 (ndr_push_flags_fn_t) ndr_push_samr_ChangePasswordUser3,
12685 (ndr_pull_flags_fn_t) ndr_pull_samr_ChangePasswordUser3,
12686 (ndr_print_function_t) ndr_print_samr_ChangePasswordUser3,
12687 false,
12690 "samr_Connect5",
12691 sizeof(struct samr_Connect5),
12692 (ndr_push_flags_fn_t) ndr_push_samr_Connect5,
12693 (ndr_pull_flags_fn_t) ndr_pull_samr_Connect5,
12694 (ndr_print_function_t) ndr_print_samr_Connect5,
12695 false,
12698 "samr_RidToSid",
12699 sizeof(struct samr_RidToSid),
12700 (ndr_push_flags_fn_t) ndr_push_samr_RidToSid,
12701 (ndr_pull_flags_fn_t) ndr_pull_samr_RidToSid,
12702 (ndr_print_function_t) ndr_print_samr_RidToSid,
12703 false,
12706 "samr_SetDsrmPassword",
12707 sizeof(struct samr_SetDsrmPassword),
12708 (ndr_push_flags_fn_t) ndr_push_samr_SetDsrmPassword,
12709 (ndr_pull_flags_fn_t) ndr_pull_samr_SetDsrmPassword,
12710 (ndr_print_function_t) ndr_print_samr_SetDsrmPassword,
12711 false,
12714 "samr_ValidatePassword",
12715 sizeof(struct samr_ValidatePassword),
12716 (ndr_push_flags_fn_t) ndr_push_samr_ValidatePassword,
12717 (ndr_pull_flags_fn_t) ndr_pull_samr_ValidatePassword,
12718 (ndr_print_function_t) ndr_print_samr_ValidatePassword,
12719 false,
12721 { NULL, 0, NULL, NULL, NULL, false }
12724 static const char * const samr_endpoint_strings[] = {
12725 "ncacn_np:[\\pipe\\samr]",
12726 "ncacn_ip_tcp:",
12727 "ncalrpc:",
12730 static const struct ndr_interface_string_array samr_endpoints = {
12731 .count = 3,
12732 .names = samr_endpoint_strings
12735 static const char * const samr_authservice_strings[] = {
12736 "host",
12739 static const struct ndr_interface_string_array samr_authservices = {
12740 .count = 1,
12741 .names = samr_authservice_strings
12745 const struct ndr_interface_table ndr_table_samr = {
12746 .name = "samr",
12747 .syntax_id = {
12748 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xac}},
12749 NDR_SAMR_VERSION
12751 .helpstring = NDR_SAMR_HELPSTRING,
12752 .num_calls = 68,
12753 .calls = samr_calls,
12754 .endpoints = &samr_endpoints,
12755 .authservices = &samr_authservices