1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_lsa.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_security.h"
8 _PUBLIC_ enum ndr_err_code ndr_push_lsa_String(struct ndr_push *ndr, int ndr_flags, const struct lsa_String *r)
10 if (ndr_flags & NDR_SCALARS) {
11 NDR_CHECK(ndr_push_align(ndr, 4));
12 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
13 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
14 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
16 if (ndr_flags & NDR_BUFFERS) {
18 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
19 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
20 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
21 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, 2 * strlen_m(r->string) / 2, sizeof(uint16_t), CH_UTF16));
24 return NDR_ERR_SUCCESS;
27 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_String(struct ndr_pull *ndr, int ndr_flags, struct lsa_String *r)
30 TALLOC_CTX *_mem_save_string_0;
31 if (ndr_flags & NDR_SCALARS) {
32 NDR_CHECK(ndr_pull_align(ndr, 4));
33 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
34 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
35 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
37 NDR_PULL_ALLOC(ndr, r->string);
42 if (ndr_flags & NDR_BUFFERS) {
44 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
45 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
46 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
47 NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
48 if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) {
49 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string));
51 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
52 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
55 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2));
58 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length / 2));
61 return NDR_ERR_SUCCESS;
64 _PUBLIC_ void ndr_print_lsa_String(struct ndr_print *ndr, const char *name, const struct lsa_String *r)
66 ndr_print_struct(ndr, name, "lsa_String");
68 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length);
69 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->size);
70 ndr_print_ptr(ndr, "string", r->string);
73 ndr_print_string(ndr, "string", r->string);
79 _PUBLIC_ enum ndr_err_code ndr_push_lsa_StringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_StringLarge *r)
81 if (ndr_flags & NDR_SCALARS) {
82 NDR_CHECK(ndr_push_align(ndr, 4));
83 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
84 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m_term(r->string)));
85 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
87 if (ndr_flags & NDR_BUFFERS) {
89 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m_term(r->string) / 2));
90 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
91 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
92 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, 2 * strlen_m(r->string) / 2, sizeof(uint16_t), CH_UTF16));
95 return NDR_ERR_SUCCESS;
98 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_StringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_StringLarge *r)
100 uint32_t _ptr_string;
101 TALLOC_CTX *_mem_save_string_0;
102 if (ndr_flags & NDR_SCALARS) {
103 NDR_CHECK(ndr_pull_align(ndr, 4));
104 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
105 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
106 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
108 NDR_PULL_ALLOC(ndr, r->string);
113 if (ndr_flags & NDR_BUFFERS) {
115 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
116 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
117 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
118 NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
119 if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) {
120 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string));
122 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint16_t), CH_UTF16));
123 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
126 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2));
129 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length / 2));
132 return NDR_ERR_SUCCESS;
135 _PUBLIC_ void ndr_print_lsa_StringLarge(struct ndr_print *ndr, const char *name, const struct lsa_StringLarge *r)
137 ndr_print_struct(ndr, name, "lsa_StringLarge");
139 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length);
140 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m_term(r->string):r->size);
141 ndr_print_ptr(ndr, "string", r->string);
144 ndr_print_string(ndr, "string", r->string);
150 _PUBLIC_ enum ndr_err_code ndr_push_lsa_Strings(struct ndr_push *ndr, int ndr_flags, const struct lsa_Strings *r)
152 uint32_t cntr_names_1;
153 if (ndr_flags & NDR_SCALARS) {
154 NDR_CHECK(ndr_push_align(ndr, 4));
155 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
156 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
158 if (ndr_flags & NDR_BUFFERS) {
160 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
161 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
162 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
164 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
165 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
169 return NDR_ERR_SUCCESS;
172 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_Strings(struct ndr_pull *ndr, int ndr_flags, struct lsa_Strings *r)
175 uint32_t cntr_names_1;
176 TALLOC_CTX *_mem_save_names_0;
177 TALLOC_CTX *_mem_save_names_1;
178 if (ndr_flags & NDR_SCALARS) {
179 NDR_CHECK(ndr_pull_align(ndr, 4));
180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
181 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
183 NDR_PULL_ALLOC(ndr, r->names);
188 if (ndr_flags & NDR_BUFFERS) {
190 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
191 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
192 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
193 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
194 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
195 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
196 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
197 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
199 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
200 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
202 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
203 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
206 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
209 return NDR_ERR_SUCCESS;
212 _PUBLIC_ void ndr_print_lsa_Strings(struct ndr_print *ndr, const char *name, const struct lsa_Strings *r)
214 uint32_t cntr_names_1;
215 ndr_print_struct(ndr, name, "lsa_Strings");
217 ndr_print_uint32(ndr, "count", r->count);
218 ndr_print_ptr(ndr, "names", r->names);
221 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
223 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
225 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
226 ndr_print_lsa_String(ndr, "names", &r->names[cntr_names_1]);
236 _PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiString(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiString *r)
238 if (ndr_flags & NDR_SCALARS) {
239 NDR_CHECK(ndr_push_align(ndr, 4));
240 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string)));
241 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string)));
242 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
244 if (ndr_flags & NDR_BUFFERS) {
246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->string)));
247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
248 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->string)));
249 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_DOS));
252 return NDR_ERR_SUCCESS;
255 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiString(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiString *r)
257 uint32_t _ptr_string;
258 TALLOC_CTX *_mem_save_string_0;
259 if (ndr_flags & NDR_SCALARS) {
260 NDR_CHECK(ndr_pull_align(ndr, 4));
261 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
262 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
263 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
265 NDR_PULL_ALLOC(ndr, r->string);
270 if (ndr_flags & NDR_BUFFERS) {
272 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
273 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
274 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
275 NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
276 if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) {
277 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string));
279 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint8_t), CH_DOS));
280 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
283 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size));
286 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length));
289 return NDR_ERR_SUCCESS;
292 _PUBLIC_ void ndr_print_lsa_AsciiString(struct ndr_print *ndr, const char *name, const struct lsa_AsciiString *r)
294 ndr_print_struct(ndr, name, "lsa_AsciiString");
296 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->length);
297 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->size);
298 ndr_print_ptr(ndr, "string", r->string);
301 ndr_print_string(ndr, "string", r->string);
307 _PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiStringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiStringLarge *r)
309 if (ndr_flags & NDR_SCALARS) {
310 NDR_CHECK(ndr_push_align(ndr, 4));
311 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string)));
312 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->string)));
313 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
315 if (ndr_flags & NDR_BUFFERS) {
317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m_term(r->string)));
318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
319 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m(r->string)));
320 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_DOS));
323 return NDR_ERR_SUCCESS;
326 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiStringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiStringLarge *r)
328 uint32_t _ptr_string;
329 TALLOC_CTX *_mem_save_string_0;
330 if (ndr_flags & NDR_SCALARS) {
331 NDR_CHECK(ndr_pull_align(ndr, 4));
332 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
333 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
334 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
336 NDR_PULL_ALLOC(ndr, r->string);
341 if (ndr_flags & NDR_BUFFERS) {
343 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
344 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
345 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
346 NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
347 if (ndr_get_array_length(ndr, &r->string) > ndr_get_array_size(ndr, &r->string)) {
348 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string), ndr_get_array_length(ndr, &r->string));
350 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, ndr_get_array_length(ndr, &r->string), sizeof(uint8_t), CH_DOS));
351 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
354 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size));
357 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length));
360 return NDR_ERR_SUCCESS;
363 _PUBLIC_ void ndr_print_lsa_AsciiStringLarge(struct ndr_print *ndr, const char *name, const struct lsa_AsciiStringLarge *r)
365 ndr_print_struct(ndr, name, "lsa_AsciiStringLarge");
367 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->length);
368 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->string):r->size);
369 ndr_print_ptr(ndr, "string", r->string);
372 ndr_print_string(ndr, "string", r->string);
378 _PUBLIC_ enum ndr_err_code ndr_push_lsa_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct lsa_BinaryString *r)
380 uint32_t cntr_array_1;
381 if (ndr_flags & NDR_SCALARS) {
382 NDR_CHECK(ndr_push_align(ndr, 4));
383 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
384 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
385 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
387 if (ndr_flags & NDR_BUFFERS) {
389 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
390 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
391 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length / 2));
392 for (cntr_array_1 = 0; cntr_array_1 < r->length / 2; cntr_array_1++) {
393 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->array[cntr_array_1]));
397 return NDR_ERR_SUCCESS;
400 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct lsa_BinaryString *r)
403 uint32_t cntr_array_1;
404 TALLOC_CTX *_mem_save_array_0;
405 TALLOC_CTX *_mem_save_array_1;
406 if (ndr_flags & NDR_SCALARS) {
407 NDR_CHECK(ndr_pull_align(ndr, 4));
408 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
409 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
410 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
412 NDR_PULL_ALLOC(ndr, r->array);
417 if (ndr_flags & NDR_BUFFERS) {
419 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
420 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
421 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
422 NDR_CHECK(ndr_pull_array_length(ndr, &r->array));
423 if (ndr_get_array_length(ndr, &r->array) > ndr_get_array_size(ndr, &r->array)) {
424 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->array), ndr_get_array_length(ndr, &r->array));
426 NDR_PULL_ALLOC_N(ndr, r->array, ndr_get_array_size(ndr, &r->array));
427 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
428 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
429 for (cntr_array_1 = 0; cntr_array_1 < r->length / 2; cntr_array_1++) {
430 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
432 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
433 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
436 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->size / 2));
439 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->array, r->length / 2));
442 return NDR_ERR_SUCCESS;
445 _PUBLIC_ void ndr_print_lsa_BinaryString(struct ndr_print *ndr, const char *name, const struct lsa_BinaryString *r)
447 uint32_t cntr_array_1;
448 ndr_print_struct(ndr, name, "lsa_BinaryString");
450 ndr_print_uint16(ndr, "length", r->length);
451 ndr_print_uint16(ndr, "size", r->size);
452 ndr_print_ptr(ndr, "array", r->array);
455 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->length / 2);
457 for (cntr_array_1=0;cntr_array_1<r->length / 2;cntr_array_1++) {
459 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
460 ndr_print_uint16(ndr, "array", r->array[cntr_array_1]);
470 static enum ndr_err_code ndr_push_lsa_LUID(struct ndr_push *ndr, int ndr_flags, const struct lsa_LUID *r)
472 if (ndr_flags & NDR_SCALARS) {
473 NDR_CHECK(ndr_push_align(ndr, 4));
474 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->low));
475 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high));
477 if (ndr_flags & NDR_BUFFERS) {
479 return NDR_ERR_SUCCESS;
482 static enum ndr_err_code ndr_pull_lsa_LUID(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUID *r)
484 if (ndr_flags & NDR_SCALARS) {
485 NDR_CHECK(ndr_pull_align(ndr, 4));
486 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->low));
487 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high));
489 if (ndr_flags & NDR_BUFFERS) {
491 return NDR_ERR_SUCCESS;
494 _PUBLIC_ void ndr_print_lsa_LUID(struct ndr_print *ndr, const char *name, const struct lsa_LUID *r)
496 ndr_print_struct(ndr, name, "lsa_LUID");
498 ndr_print_uint32(ndr, "low", r->low);
499 ndr_print_uint32(ndr, "high", r->high);
503 static enum ndr_err_code ndr_push_lsa_PrivEntry(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivEntry *r)
505 if (ndr_flags & NDR_SCALARS) {
506 NDR_CHECK(ndr_push_align(ndr, 4));
507 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
508 NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
510 if (ndr_flags & NDR_BUFFERS) {
511 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
513 return NDR_ERR_SUCCESS;
516 static enum ndr_err_code ndr_pull_lsa_PrivEntry(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivEntry *r)
518 if (ndr_flags & NDR_SCALARS) {
519 NDR_CHECK(ndr_pull_align(ndr, 4));
520 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
521 NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
523 if (ndr_flags & NDR_BUFFERS) {
524 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
526 return NDR_ERR_SUCCESS;
529 _PUBLIC_ void ndr_print_lsa_PrivEntry(struct ndr_print *ndr, const char *name, const struct lsa_PrivEntry *r)
531 ndr_print_struct(ndr, name, "lsa_PrivEntry");
533 ndr_print_lsa_StringLarge(ndr, "name", &r->name);
534 ndr_print_lsa_LUID(ndr, "luid", &r->luid);
538 static enum ndr_err_code ndr_push_lsa_PrivArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivArray *r)
540 uint32_t cntr_privs_1;
541 if (ndr_flags & NDR_SCALARS) {
542 NDR_CHECK(ndr_push_align(ndr, 4));
543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
544 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privs));
546 if (ndr_flags & NDR_BUFFERS) {
548 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
549 for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) {
550 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr, NDR_SCALARS, &r->privs[cntr_privs_1]));
552 for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) {
553 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr, NDR_BUFFERS, &r->privs[cntr_privs_1]));
557 return NDR_ERR_SUCCESS;
560 static enum ndr_err_code ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivArray *r)
563 uint32_t cntr_privs_1;
564 TALLOC_CTX *_mem_save_privs_0;
565 TALLOC_CTX *_mem_save_privs_1;
566 if (ndr_flags & NDR_SCALARS) {
567 NDR_CHECK(ndr_pull_align(ndr, 4));
568 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
569 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privs));
571 NDR_PULL_ALLOC(ndr, r->privs);
576 if (ndr_flags & NDR_BUFFERS) {
578 _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr);
579 NDR_PULL_SET_MEM_CTX(ndr, r->privs, 0);
580 NDR_CHECK(ndr_pull_array_size(ndr, &r->privs));
581 NDR_PULL_ALLOC_N(ndr, r->privs, ndr_get_array_size(ndr, &r->privs));
582 _mem_save_privs_1 = NDR_PULL_GET_MEM_CTX(ndr);
583 NDR_PULL_SET_MEM_CTX(ndr, r->privs, 0);
584 for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) {
585 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr, NDR_SCALARS, &r->privs[cntr_privs_1]));
587 for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) {
588 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr, NDR_BUFFERS, &r->privs[cntr_privs_1]));
590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_1, 0);
591 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, 0);
594 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privs, r->count));
597 return NDR_ERR_SUCCESS;
600 _PUBLIC_ void ndr_print_lsa_PrivArray(struct ndr_print *ndr, const char *name, const struct lsa_PrivArray *r)
602 uint32_t cntr_privs_1;
603 ndr_print_struct(ndr, name, "lsa_PrivArray");
605 ndr_print_uint32(ndr, "count", r->count);
606 ndr_print_ptr(ndr, "privs", r->privs);
609 ndr->print(ndr, "%s: ARRAY(%d)", "privs", (int)r->count);
611 for (cntr_privs_1=0;cntr_privs_1<r->count;cntr_privs_1++) {
613 if (asprintf(&idx_1, "[%d]", cntr_privs_1) != -1) {
614 ndr_print_lsa_PrivEntry(ndr, "privs", &r->privs[cntr_privs_1]);
624 static enum ndr_err_code ndr_push_lsa_QosInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_QosInfo *r)
626 if (ndr_flags & NDR_SCALARS) {
627 NDR_CHECK(ndr_push_align(ndr, 4));
628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
629 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->impersonation_level));
630 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->context_mode));
631 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->effective_only));
633 if (ndr_flags & NDR_BUFFERS) {
635 return NDR_ERR_SUCCESS;
638 static enum ndr_err_code ndr_pull_lsa_QosInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_QosInfo *r)
640 if (ndr_flags & NDR_SCALARS) {
641 NDR_CHECK(ndr_pull_align(ndr, 4));
642 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
643 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->impersonation_level));
644 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->context_mode));
645 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->effective_only));
647 if (ndr_flags & NDR_BUFFERS) {
649 return NDR_ERR_SUCCESS;
652 _PUBLIC_ void ndr_print_lsa_QosInfo(struct ndr_print *ndr, const char *name, const struct lsa_QosInfo *r)
654 ndr_print_struct(ndr, name, "lsa_QosInfo");
656 ndr_print_uint32(ndr, "len", r->len);
657 ndr_print_uint16(ndr, "impersonation_level", r->impersonation_level);
658 ndr_print_uint8(ndr, "context_mode", r->context_mode);
659 ndr_print_uint8(ndr, "effective_only", r->effective_only);
663 static enum ndr_err_code ndr_push_lsa_ObjectAttribute(struct ndr_push *ndr, int ndr_flags, const struct lsa_ObjectAttribute *r)
665 if (ndr_flags & NDR_SCALARS) {
666 NDR_CHECK(ndr_push_align(ndr, 4));
667 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
668 NDR_CHECK(ndr_push_unique_ptr(ndr, r->root_dir));
669 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_name));
670 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
671 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sec_desc));
672 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sec_qos));
674 if (ndr_flags & NDR_BUFFERS) {
676 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->root_dir));
678 if (r->object_name) {
679 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16)));
680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
681 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16)));
682 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_name, ndr_charset_length(r->object_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
685 NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sec_desc));
688 NDR_CHECK(ndr_push_lsa_QosInfo(ndr, NDR_SCALARS, r->sec_qos));
691 return NDR_ERR_SUCCESS;
694 static enum ndr_err_code ndr_pull_lsa_ObjectAttribute(struct ndr_pull *ndr, int ndr_flags, struct lsa_ObjectAttribute *r)
696 uint32_t _ptr_root_dir;
697 TALLOC_CTX *_mem_save_root_dir_0;
698 uint32_t _ptr_object_name;
699 TALLOC_CTX *_mem_save_object_name_0;
700 uint32_t _ptr_sec_desc;
701 TALLOC_CTX *_mem_save_sec_desc_0;
702 uint32_t _ptr_sec_qos;
703 TALLOC_CTX *_mem_save_sec_qos_0;
704 if (ndr_flags & NDR_SCALARS) {
705 NDR_CHECK(ndr_pull_align(ndr, 4));
706 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
707 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_root_dir));
709 NDR_PULL_ALLOC(ndr, r->root_dir);
713 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_name));
714 if (_ptr_object_name) {
715 NDR_PULL_ALLOC(ndr, r->object_name);
717 r->object_name = NULL;
719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
720 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_desc));
722 NDR_PULL_ALLOC(ndr, r->sec_desc);
726 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_qos));
728 NDR_PULL_ALLOC(ndr, r->sec_qos);
733 if (ndr_flags & NDR_BUFFERS) {
735 _mem_save_root_dir_0 = NDR_PULL_GET_MEM_CTX(ndr);
736 NDR_PULL_SET_MEM_CTX(ndr, r->root_dir, 0);
737 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->root_dir));
738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_root_dir_0, 0);
740 if (r->object_name) {
741 _mem_save_object_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
742 NDR_PULL_SET_MEM_CTX(ndr, r->object_name, 0);
743 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_name));
744 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_name));
745 if (ndr_get_array_length(ndr, &r->object_name) > ndr_get_array_size(ndr, &r->object_name)) {
746 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->object_name), ndr_get_array_length(ndr, &r->object_name));
748 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->object_name), sizeof(uint16_t)));
749 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_name, ndr_get_array_length(ndr, &r->object_name), sizeof(uint16_t), CH_UTF16));
750 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_name_0, 0);
753 _mem_save_sec_desc_0 = NDR_PULL_GET_MEM_CTX(ndr);
754 NDR_PULL_SET_MEM_CTX(ndr, r->sec_desc, 0);
755 NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sec_desc));
756 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_desc_0, 0);
759 _mem_save_sec_qos_0 = NDR_PULL_GET_MEM_CTX(ndr);
760 NDR_PULL_SET_MEM_CTX(ndr, r->sec_qos, 0);
761 NDR_CHECK(ndr_pull_lsa_QosInfo(ndr, NDR_SCALARS, r->sec_qos));
762 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_qos_0, 0);
765 return NDR_ERR_SUCCESS;
768 _PUBLIC_ void ndr_print_lsa_ObjectAttribute(struct ndr_print *ndr, const char *name, const struct lsa_ObjectAttribute *r)
770 ndr_print_struct(ndr, name, "lsa_ObjectAttribute");
772 ndr_print_uint32(ndr, "len", r->len);
773 ndr_print_ptr(ndr, "root_dir", r->root_dir);
776 ndr_print_uint8(ndr, "root_dir", *r->root_dir);
779 ndr_print_ptr(ndr, "object_name", r->object_name);
781 if (r->object_name) {
782 ndr_print_string(ndr, "object_name", r->object_name);
785 ndr_print_uint32(ndr, "attributes", r->attributes);
786 ndr_print_ptr(ndr, "sec_desc", r->sec_desc);
789 ndr_print_security_descriptor(ndr, "sec_desc", r->sec_desc);
792 ndr_print_ptr(ndr, "sec_qos", r->sec_qos);
795 ndr_print_lsa_QosInfo(ndr, "sec_qos", r->sec_qos);
801 _PUBLIC_ enum ndr_err_code ndr_push_lsa_PolicyAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
803 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
804 return NDR_ERR_SUCCESS;
807 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_PolicyAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
810 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
812 return NDR_ERR_SUCCESS;
815 _PUBLIC_ void ndr_print_lsa_PolicyAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
817 ndr_print_uint32(ndr, name, r);
819 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_VIEW_LOCAL_INFORMATION", LSA_POLICY_VIEW_LOCAL_INFORMATION, r);
820 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_VIEW_AUDIT_INFORMATION", LSA_POLICY_VIEW_AUDIT_INFORMATION, r);
821 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_GET_PRIVATE_INFORMATION", LSA_POLICY_GET_PRIVATE_INFORMATION, r);
822 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_TRUST_ADMIN", LSA_POLICY_TRUST_ADMIN, r);
823 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_CREATE_ACCOUNT", LSA_POLICY_CREATE_ACCOUNT, r);
824 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_CREATE_SECRET", LSA_POLICY_CREATE_SECRET, r);
825 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_CREATE_PRIVILEGE", LSA_POLICY_CREATE_PRIVILEGE, r);
826 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS", LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS, r);
827 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_SET_AUDIT_REQUIREMENTS", LSA_POLICY_SET_AUDIT_REQUIREMENTS, r);
828 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_AUDIT_LOG_ADMIN", LSA_POLICY_AUDIT_LOG_ADMIN, r);
829 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_SERVER_ADMIN", LSA_POLICY_SERVER_ADMIN, r);
830 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_LOOKUP_NAMES", LSA_POLICY_LOOKUP_NAMES, r);
834 static enum ndr_err_code ndr_push_lsa_AuditLogInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditLogInfo *r)
836 if (ndr_flags & NDR_SCALARS) {
837 NDR_CHECK(ndr_push_align(ndr, 8));
838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->percent_full));
839 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximum_log_size));
840 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->retention_time));
841 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_in_progress));
842 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->time_to_shutdown));
843 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->next_audit_record));
845 if (ndr_flags & NDR_BUFFERS) {
847 return NDR_ERR_SUCCESS;
850 static enum ndr_err_code ndr_pull_lsa_AuditLogInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditLogInfo *r)
852 if (ndr_flags & NDR_SCALARS) {
853 NDR_CHECK(ndr_pull_align(ndr, 8));
854 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->percent_full));
855 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximum_log_size));
856 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->retention_time));
857 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_in_progress));
858 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->time_to_shutdown));
859 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->next_audit_record));
861 if (ndr_flags & NDR_BUFFERS) {
863 return NDR_ERR_SUCCESS;
866 _PUBLIC_ void ndr_print_lsa_AuditLogInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditLogInfo *r)
868 ndr_print_struct(ndr, name, "lsa_AuditLogInfo");
870 ndr_print_uint32(ndr, "percent_full", r->percent_full);
871 ndr_print_uint32(ndr, "maximum_log_size", r->maximum_log_size);
872 ndr_print_hyper(ndr, "retention_time", r->retention_time);
873 ndr_print_uint8(ndr, "shutdown_in_progress", r->shutdown_in_progress);
874 ndr_print_hyper(ndr, "time_to_shutdown", r->time_to_shutdown);
875 ndr_print_uint32(ndr, "next_audit_record", r->next_audit_record);
879 static enum ndr_err_code ndr_push_lsa_PolicyAuditPolicy(struct ndr_push *ndr, int ndr_flags, enum lsa_PolicyAuditPolicy r)
881 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
882 return NDR_ERR_SUCCESS;
885 static enum ndr_err_code ndr_pull_lsa_PolicyAuditPolicy(struct ndr_pull *ndr, int ndr_flags, enum lsa_PolicyAuditPolicy *r)
888 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
890 return NDR_ERR_SUCCESS;
893 _PUBLIC_ void ndr_print_lsa_PolicyAuditPolicy(struct ndr_print *ndr, const char *name, enum lsa_PolicyAuditPolicy r)
895 const char *val = NULL;
898 case LSA_AUDIT_POLICY_NONE: val = "LSA_AUDIT_POLICY_NONE"; break;
899 case LSA_AUDIT_POLICY_SUCCESS: val = "LSA_AUDIT_POLICY_SUCCESS"; break;
900 case LSA_AUDIT_POLICY_FAILURE: val = "LSA_AUDIT_POLICY_FAILURE"; break;
901 case LSA_AUDIT_POLICY_ALL: val = "LSA_AUDIT_POLICY_ALL"; break;
902 case LSA_AUDIT_POLICY_CLEAR: val = "LSA_AUDIT_POLICY_CLEAR"; break;
904 ndr_print_enum(ndr, name, "ENUM", val, r);
907 static enum ndr_err_code ndr_push_lsa_AuditEventsInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditEventsInfo *r)
909 uint32_t cntr_settings_1;
910 if (ndr_flags & NDR_SCALARS) {
911 NDR_CHECK(ndr_push_align(ndr, 4));
912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auditing_mode));
913 NDR_CHECK(ndr_push_unique_ptr(ndr, r->settings));
914 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
916 if (ndr_flags & NDR_BUFFERS) {
918 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
919 for (cntr_settings_1 = 0; cntr_settings_1 < r->count; cntr_settings_1++) {
920 NDR_CHECK(ndr_push_lsa_PolicyAuditPolicy(ndr, NDR_SCALARS, r->settings[cntr_settings_1]));
924 return NDR_ERR_SUCCESS;
927 static enum ndr_err_code ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditEventsInfo *r)
929 uint32_t _ptr_settings;
930 uint32_t cntr_settings_1;
931 TALLOC_CTX *_mem_save_settings_0;
932 TALLOC_CTX *_mem_save_settings_1;
933 if (ndr_flags & NDR_SCALARS) {
934 NDR_CHECK(ndr_pull_align(ndr, 4));
935 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auditing_mode));
936 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_settings));
938 NDR_PULL_ALLOC(ndr, r->settings);
942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
944 if (ndr_flags & NDR_BUFFERS) {
946 _mem_save_settings_0 = NDR_PULL_GET_MEM_CTX(ndr);
947 NDR_PULL_SET_MEM_CTX(ndr, r->settings, 0);
948 NDR_CHECK(ndr_pull_array_size(ndr, &r->settings));
949 NDR_PULL_ALLOC_N(ndr, r->settings, ndr_get_array_size(ndr, &r->settings));
950 _mem_save_settings_1 = NDR_PULL_GET_MEM_CTX(ndr);
951 NDR_PULL_SET_MEM_CTX(ndr, r->settings, 0);
952 for (cntr_settings_1 = 0; cntr_settings_1 < r->count; cntr_settings_1++) {
953 NDR_CHECK(ndr_pull_lsa_PolicyAuditPolicy(ndr, NDR_SCALARS, &r->settings[cntr_settings_1]));
955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_settings_1, 0);
956 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_settings_0, 0);
959 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->settings, r->count));
962 return NDR_ERR_SUCCESS;
965 _PUBLIC_ void ndr_print_lsa_AuditEventsInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditEventsInfo *r)
967 uint32_t cntr_settings_1;
968 ndr_print_struct(ndr, name, "lsa_AuditEventsInfo");
970 ndr_print_uint32(ndr, "auditing_mode", r->auditing_mode);
971 ndr_print_ptr(ndr, "settings", r->settings);
974 ndr->print(ndr, "%s: ARRAY(%d)", "settings", (int)r->count);
976 for (cntr_settings_1=0;cntr_settings_1<r->count;cntr_settings_1++) {
978 if (asprintf(&idx_1, "[%d]", cntr_settings_1) != -1) {
979 ndr_print_lsa_PolicyAuditPolicy(ndr, "settings", r->settings[cntr_settings_1]);
986 ndr_print_uint32(ndr, "count", r->count);
990 static enum ndr_err_code ndr_push_lsa_DomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainInfo *r)
992 if (ndr_flags & NDR_SCALARS) {
993 NDR_CHECK(ndr_push_align(ndr, 4));
994 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
995 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
997 if (ndr_flags & NDR_BUFFERS) {
998 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
1000 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1003 return NDR_ERR_SUCCESS;
1006 static enum ndr_err_code ndr_pull_lsa_DomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInfo *r)
1009 TALLOC_CTX *_mem_save_sid_0;
1010 if (ndr_flags & NDR_SCALARS) {
1011 NDR_CHECK(ndr_pull_align(ndr, 4));
1012 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
1013 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1015 NDR_PULL_ALLOC(ndr, r->sid);
1020 if (ndr_flags & NDR_BUFFERS) {
1021 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
1023 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1024 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1025 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1029 return NDR_ERR_SUCCESS;
1032 _PUBLIC_ void ndr_print_lsa_DomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfo *r)
1034 ndr_print_struct(ndr, name, "lsa_DomainInfo");
1036 ndr_print_lsa_StringLarge(ndr, "name", &r->name);
1037 ndr_print_ptr(ndr, "sid", r->sid);
1040 ndr_print_dom_sid2(ndr, "sid", r->sid);
1046 static enum ndr_err_code ndr_push_lsa_PDAccountInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_PDAccountInfo *r)
1048 if (ndr_flags & NDR_SCALARS) {
1049 NDR_CHECK(ndr_push_align(ndr, 4));
1050 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1052 if (ndr_flags & NDR_BUFFERS) {
1053 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1055 return NDR_ERR_SUCCESS;
1058 static enum ndr_err_code ndr_pull_lsa_PDAccountInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_PDAccountInfo *r)
1060 if (ndr_flags & NDR_SCALARS) {
1061 NDR_CHECK(ndr_pull_align(ndr, 4));
1062 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1064 if (ndr_flags & NDR_BUFFERS) {
1065 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1067 return NDR_ERR_SUCCESS;
1070 _PUBLIC_ void ndr_print_lsa_PDAccountInfo(struct ndr_print *ndr, const char *name, const struct lsa_PDAccountInfo *r)
1072 ndr_print_struct(ndr, name, "lsa_PDAccountInfo");
1074 ndr_print_lsa_String(ndr, "name", &r->name);
1078 static enum ndr_err_code ndr_push_lsa_Role(struct ndr_push *ndr, int ndr_flags, enum lsa_Role r)
1080 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1081 return NDR_ERR_SUCCESS;
1084 static enum ndr_err_code ndr_pull_lsa_Role(struct ndr_pull *ndr, int ndr_flags, enum lsa_Role *r)
1087 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1089 return NDR_ERR_SUCCESS;
1092 _PUBLIC_ void ndr_print_lsa_Role(struct ndr_print *ndr, const char *name, enum lsa_Role r)
1094 const char *val = NULL;
1097 case LSA_ROLE_BACKUP: val = "LSA_ROLE_BACKUP"; break;
1098 case LSA_ROLE_PRIMARY: val = "LSA_ROLE_PRIMARY"; break;
1100 ndr_print_enum(ndr, name, "ENUM", val, r);
1103 static enum ndr_err_code ndr_push_lsa_ServerRole(struct ndr_push *ndr, int ndr_flags, const struct lsa_ServerRole *r)
1105 if (ndr_flags & NDR_SCALARS) {
1106 NDR_CHECK(ndr_push_align(ndr, 4));
1107 NDR_CHECK(ndr_push_lsa_Role(ndr, NDR_SCALARS, r->role));
1109 if (ndr_flags & NDR_BUFFERS) {
1111 return NDR_ERR_SUCCESS;
1114 static enum ndr_err_code ndr_pull_lsa_ServerRole(struct ndr_pull *ndr, int ndr_flags, struct lsa_ServerRole *r)
1116 if (ndr_flags & NDR_SCALARS) {
1117 NDR_CHECK(ndr_pull_align(ndr, 4));
1118 NDR_CHECK(ndr_pull_lsa_Role(ndr, NDR_SCALARS, &r->role));
1120 if (ndr_flags & NDR_BUFFERS) {
1122 return NDR_ERR_SUCCESS;
1125 _PUBLIC_ void ndr_print_lsa_ServerRole(struct ndr_print *ndr, const char *name, const struct lsa_ServerRole *r)
1127 ndr_print_struct(ndr, name, "lsa_ServerRole");
1129 ndr_print_lsa_Role(ndr, "role", r->role);
1133 static enum ndr_err_code ndr_push_lsa_ReplicaSourceInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ReplicaSourceInfo *r)
1135 if (ndr_flags & NDR_SCALARS) {
1136 NDR_CHECK(ndr_push_align(ndr, 4));
1137 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->source));
1138 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account));
1140 if (ndr_flags & NDR_BUFFERS) {
1141 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->source));
1142 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account));
1144 return NDR_ERR_SUCCESS;
1147 static enum ndr_err_code ndr_pull_lsa_ReplicaSourceInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ReplicaSourceInfo *r)
1149 if (ndr_flags & NDR_SCALARS) {
1150 NDR_CHECK(ndr_pull_align(ndr, 4));
1151 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->source));
1152 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account));
1154 if (ndr_flags & NDR_BUFFERS) {
1155 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->source));
1156 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account));
1158 return NDR_ERR_SUCCESS;
1161 _PUBLIC_ void ndr_print_lsa_ReplicaSourceInfo(struct ndr_print *ndr, const char *name, const struct lsa_ReplicaSourceInfo *r)
1163 ndr_print_struct(ndr, name, "lsa_ReplicaSourceInfo");
1165 ndr_print_lsa_String(ndr, "source", &r->source);
1166 ndr_print_lsa_String(ndr, "account", &r->account);
1170 static enum ndr_err_code ndr_push_lsa_DefaultQuotaInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DefaultQuotaInfo *r)
1172 if (ndr_flags & NDR_SCALARS) {
1173 NDR_CHECK(ndr_push_align(ndr, 8));
1174 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->paged_pool));
1175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->non_paged_pool));
1176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->min_wss));
1177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_wss));
1178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefile));
1179 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown));
1181 if (ndr_flags & NDR_BUFFERS) {
1183 return NDR_ERR_SUCCESS;
1186 static enum ndr_err_code ndr_pull_lsa_DefaultQuotaInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_DefaultQuotaInfo *r)
1188 if (ndr_flags & NDR_SCALARS) {
1189 NDR_CHECK(ndr_pull_align(ndr, 8));
1190 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->paged_pool));
1191 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->non_paged_pool));
1192 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->min_wss));
1193 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_wss));
1194 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefile));
1195 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown));
1197 if (ndr_flags & NDR_BUFFERS) {
1199 return NDR_ERR_SUCCESS;
1202 _PUBLIC_ void ndr_print_lsa_DefaultQuotaInfo(struct ndr_print *ndr, const char *name, const struct lsa_DefaultQuotaInfo *r)
1204 ndr_print_struct(ndr, name, "lsa_DefaultQuotaInfo");
1206 ndr_print_uint32(ndr, "paged_pool", r->paged_pool);
1207 ndr_print_uint32(ndr, "non_paged_pool", r->non_paged_pool);
1208 ndr_print_uint32(ndr, "min_wss", r->min_wss);
1209 ndr_print_uint32(ndr, "max_wss", r->max_wss);
1210 ndr_print_uint32(ndr, "pagefile", r->pagefile);
1211 ndr_print_hyper(ndr, "unknown", r->unknown);
1215 static enum ndr_err_code ndr_push_lsa_ModificationInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ModificationInfo *r)
1217 if (ndr_flags & NDR_SCALARS) {
1218 NDR_CHECK(ndr_push_align(ndr, 8));
1219 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_id));
1220 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->db_create_time));
1222 if (ndr_flags & NDR_BUFFERS) {
1224 return NDR_ERR_SUCCESS;
1227 static enum ndr_err_code ndr_pull_lsa_ModificationInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ModificationInfo *r)
1229 if (ndr_flags & NDR_SCALARS) {
1230 NDR_CHECK(ndr_pull_align(ndr, 8));
1231 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_id));
1232 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->db_create_time));
1234 if (ndr_flags & NDR_BUFFERS) {
1236 return NDR_ERR_SUCCESS;
1239 _PUBLIC_ void ndr_print_lsa_ModificationInfo(struct ndr_print *ndr, const char *name, const struct lsa_ModificationInfo *r)
1241 ndr_print_struct(ndr, name, "lsa_ModificationInfo");
1243 ndr_print_hyper(ndr, "modified_id", r->modified_id);
1244 ndr_print_NTTIME_hyper(ndr, "db_create_time", r->db_create_time);
1248 static enum ndr_err_code ndr_push_lsa_AuditFullSetInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditFullSetInfo *r)
1250 if (ndr_flags & NDR_SCALARS) {
1251 NDR_CHECK(ndr_push_align(ndr, 1));
1252 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_on_full));
1254 if (ndr_flags & NDR_BUFFERS) {
1256 return NDR_ERR_SUCCESS;
1259 static enum ndr_err_code ndr_pull_lsa_AuditFullSetInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditFullSetInfo *r)
1261 if (ndr_flags & NDR_SCALARS) {
1262 NDR_CHECK(ndr_pull_align(ndr, 1));
1263 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_on_full));
1265 if (ndr_flags & NDR_BUFFERS) {
1267 return NDR_ERR_SUCCESS;
1270 _PUBLIC_ void ndr_print_lsa_AuditFullSetInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditFullSetInfo *r)
1272 ndr_print_struct(ndr, name, "lsa_AuditFullSetInfo");
1274 ndr_print_uint8(ndr, "shutdown_on_full", r->shutdown_on_full);
1278 static enum ndr_err_code ndr_push_lsa_AuditFullQueryInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditFullQueryInfo *r)
1280 if (ndr_flags & NDR_SCALARS) {
1281 NDR_CHECK(ndr_push_align(ndr, 1));
1282 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_on_full));
1283 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->log_is_full));
1285 if (ndr_flags & NDR_BUFFERS) {
1287 return NDR_ERR_SUCCESS;
1290 static enum ndr_err_code ndr_pull_lsa_AuditFullQueryInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditFullQueryInfo *r)
1292 if (ndr_flags & NDR_SCALARS) {
1293 NDR_CHECK(ndr_pull_align(ndr, 1));
1294 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_on_full));
1295 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->log_is_full));
1297 if (ndr_flags & NDR_BUFFERS) {
1299 return NDR_ERR_SUCCESS;
1302 _PUBLIC_ void ndr_print_lsa_AuditFullQueryInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditFullQueryInfo *r)
1304 ndr_print_struct(ndr, name, "lsa_AuditFullQueryInfo");
1306 ndr_print_uint8(ndr, "shutdown_on_full", r->shutdown_on_full);
1307 ndr_print_uint8(ndr, "log_is_full", r->log_is_full);
1311 static enum ndr_err_code ndr_push_lsa_DnsDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DnsDomainInfo *r)
1313 if (ndr_flags & NDR_SCALARS) {
1314 NDR_CHECK(ndr_push_align(ndr, 4));
1315 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
1316 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain));
1317 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forest));
1318 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
1319 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1321 if (ndr_flags & NDR_BUFFERS) {
1322 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
1323 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain));
1324 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forest));
1326 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1329 return NDR_ERR_SUCCESS;
1332 static enum ndr_err_code ndr_pull_lsa_DnsDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_DnsDomainInfo *r)
1335 TALLOC_CTX *_mem_save_sid_0;
1336 if (ndr_flags & NDR_SCALARS) {
1337 NDR_CHECK(ndr_pull_align(ndr, 4));
1338 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
1339 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain));
1340 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forest));
1341 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
1342 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1344 NDR_PULL_ALLOC(ndr, r->sid);
1349 if (ndr_flags & NDR_BUFFERS) {
1350 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
1351 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain));
1352 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forest));
1354 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1355 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1356 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1357 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1360 return NDR_ERR_SUCCESS;
1363 _PUBLIC_ void ndr_print_lsa_DnsDomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_DnsDomainInfo *r)
1365 ndr_print_struct(ndr, name, "lsa_DnsDomainInfo");
1367 ndr_print_lsa_StringLarge(ndr, "name", &r->name);
1368 ndr_print_lsa_StringLarge(ndr, "dns_domain", &r->dns_domain);
1369 ndr_print_lsa_StringLarge(ndr, "dns_forest", &r->dns_forest);
1370 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
1371 ndr_print_ptr(ndr, "sid", r->sid);
1374 ndr_print_dom_sid2(ndr, "sid", r->sid);
1380 static enum ndr_err_code ndr_push_lsa_PolicyInfo(struct ndr_push *ndr, int ndr_flags, enum lsa_PolicyInfo r)
1382 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1383 return NDR_ERR_SUCCESS;
1386 static enum ndr_err_code ndr_pull_lsa_PolicyInfo(struct ndr_pull *ndr, int ndr_flags, enum lsa_PolicyInfo *r)
1389 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1391 return NDR_ERR_SUCCESS;
1394 _PUBLIC_ void ndr_print_lsa_PolicyInfo(struct ndr_print *ndr, const char *name, enum lsa_PolicyInfo r)
1396 const char *val = NULL;
1399 case LSA_POLICY_INFO_AUDIT_LOG: val = "LSA_POLICY_INFO_AUDIT_LOG"; break;
1400 case LSA_POLICY_INFO_AUDIT_EVENTS: val = "LSA_POLICY_INFO_AUDIT_EVENTS"; break;
1401 case LSA_POLICY_INFO_DOMAIN: val = "LSA_POLICY_INFO_DOMAIN"; break;
1402 case LSA_POLICY_INFO_PD: val = "LSA_POLICY_INFO_PD"; break;
1403 case LSA_POLICY_INFO_ACCOUNT_DOMAIN: val = "LSA_POLICY_INFO_ACCOUNT_DOMAIN"; break;
1404 case LSA_POLICY_INFO_ROLE: val = "LSA_POLICY_INFO_ROLE"; break;
1405 case LSA_POLICY_INFO_REPLICA: val = "LSA_POLICY_INFO_REPLICA"; break;
1406 case LSA_POLICY_INFO_QUOTA: val = "LSA_POLICY_INFO_QUOTA"; break;
1407 case LSA_POLICY_INFO_MOD: val = "LSA_POLICY_INFO_MOD"; break;
1408 case LSA_POLICY_INFO_AUDIT_FULL_SET: val = "LSA_POLICY_INFO_AUDIT_FULL_SET"; break;
1409 case LSA_POLICY_INFO_AUDIT_FULL_QUERY: val = "LSA_POLICY_INFO_AUDIT_FULL_QUERY"; break;
1410 case LSA_POLICY_INFO_DNS: val = "LSA_POLICY_INFO_DNS"; break;
1411 case LSA_POLICY_INFO_DNS_INT: val = "LSA_POLICY_INFO_DNS_INT"; break;
1412 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: val = "LSA_POLICY_INFO_L_ACCOUNT_DOMAIN"; break;
1414 ndr_print_enum(ndr, name, "ENUM", val, r);
1417 static enum ndr_err_code ndr_push_lsa_PolicyInformation(struct ndr_push *ndr, int ndr_flags, const union lsa_PolicyInformation *r)
1419 if (ndr_flags & NDR_SCALARS) {
1420 int level = ndr_push_get_switch_value(ndr, r);
1421 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1423 case LSA_POLICY_INFO_AUDIT_LOG: {
1424 NDR_CHECK(ndr_push_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log));
1427 case LSA_POLICY_INFO_AUDIT_EVENTS: {
1428 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr, NDR_SCALARS, &r->audit_events));
1431 case LSA_POLICY_INFO_DOMAIN: {
1432 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domain));
1435 case LSA_POLICY_INFO_PD: {
1436 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr, NDR_SCALARS, &r->pd));
1439 case LSA_POLICY_INFO_ACCOUNT_DOMAIN: {
1440 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->account_domain));
1443 case LSA_POLICY_INFO_ROLE: {
1444 NDR_CHECK(ndr_push_lsa_ServerRole(ndr, NDR_SCALARS, &r->role));
1447 case LSA_POLICY_INFO_REPLICA: {
1448 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr, NDR_SCALARS, &r->replica));
1451 case LSA_POLICY_INFO_QUOTA: {
1452 NDR_CHECK(ndr_push_lsa_DefaultQuotaInfo(ndr, NDR_SCALARS, &r->quota));
1455 case LSA_POLICY_INFO_MOD: {
1456 NDR_CHECK(ndr_push_lsa_ModificationInfo(ndr, NDR_SCALARS, &r->mod));
1459 case LSA_POLICY_INFO_AUDIT_FULL_SET: {
1460 NDR_CHECK(ndr_push_lsa_AuditFullSetInfo(ndr, NDR_SCALARS, &r->auditfullset));
1463 case LSA_POLICY_INFO_AUDIT_FULL_QUERY: {
1464 NDR_CHECK(ndr_push_lsa_AuditFullQueryInfo(ndr, NDR_SCALARS, &r->auditfullquery));
1467 case LSA_POLICY_INFO_DNS: {
1468 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns));
1471 case LSA_POLICY_INFO_DNS_INT: {
1472 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns));
1475 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: {
1476 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->l_account_domain));
1480 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1483 if (ndr_flags & NDR_BUFFERS) {
1484 int level = ndr_push_get_switch_value(ndr, r);
1486 case LSA_POLICY_INFO_AUDIT_LOG:
1489 case LSA_POLICY_INFO_AUDIT_EVENTS:
1490 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr, NDR_BUFFERS, &r->audit_events));
1493 case LSA_POLICY_INFO_DOMAIN:
1494 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domain));
1497 case LSA_POLICY_INFO_PD:
1498 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr, NDR_BUFFERS, &r->pd));
1501 case LSA_POLICY_INFO_ACCOUNT_DOMAIN:
1502 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->account_domain));
1505 case LSA_POLICY_INFO_ROLE:
1508 case LSA_POLICY_INFO_REPLICA:
1509 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr, NDR_BUFFERS, &r->replica));
1512 case LSA_POLICY_INFO_QUOTA:
1515 case LSA_POLICY_INFO_MOD:
1518 case LSA_POLICY_INFO_AUDIT_FULL_SET:
1521 case LSA_POLICY_INFO_AUDIT_FULL_QUERY:
1524 case LSA_POLICY_INFO_DNS:
1525 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns));
1528 case LSA_POLICY_INFO_DNS_INT:
1529 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns));
1532 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN:
1533 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->l_account_domain));
1537 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1540 return NDR_ERR_SUCCESS;
1543 static enum ndr_err_code ndr_pull_lsa_PolicyInformation(struct ndr_pull *ndr, int ndr_flags, union lsa_PolicyInformation *r)
1547 level = ndr_pull_get_switch_value(ndr, r);
1548 if (ndr_flags & NDR_SCALARS) {
1549 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1550 if (_level != level) {
1551 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1554 case LSA_POLICY_INFO_AUDIT_LOG: {
1555 NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log));
1558 case LSA_POLICY_INFO_AUDIT_EVENTS: {
1559 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_SCALARS, &r->audit_events));
1562 case LSA_POLICY_INFO_DOMAIN: {
1563 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domain));
1566 case LSA_POLICY_INFO_PD: {
1567 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr, NDR_SCALARS, &r->pd));
1570 case LSA_POLICY_INFO_ACCOUNT_DOMAIN: {
1571 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->account_domain));
1574 case LSA_POLICY_INFO_ROLE: {
1575 NDR_CHECK(ndr_pull_lsa_ServerRole(ndr, NDR_SCALARS, &r->role));
1578 case LSA_POLICY_INFO_REPLICA: {
1579 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr, NDR_SCALARS, &r->replica));
1582 case LSA_POLICY_INFO_QUOTA: {
1583 NDR_CHECK(ndr_pull_lsa_DefaultQuotaInfo(ndr, NDR_SCALARS, &r->quota));
1586 case LSA_POLICY_INFO_MOD: {
1587 NDR_CHECK(ndr_pull_lsa_ModificationInfo(ndr, NDR_SCALARS, &r->mod));
1590 case LSA_POLICY_INFO_AUDIT_FULL_SET: {
1591 NDR_CHECK(ndr_pull_lsa_AuditFullSetInfo(ndr, NDR_SCALARS, &r->auditfullset));
1594 case LSA_POLICY_INFO_AUDIT_FULL_QUERY: {
1595 NDR_CHECK(ndr_pull_lsa_AuditFullQueryInfo(ndr, NDR_SCALARS, &r->auditfullquery));
1598 case LSA_POLICY_INFO_DNS: {
1599 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns));
1602 case LSA_POLICY_INFO_DNS_INT: {
1603 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns));
1606 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: {
1607 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->l_account_domain));
1611 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1614 if (ndr_flags & NDR_BUFFERS) {
1616 case LSA_POLICY_INFO_AUDIT_LOG:
1619 case LSA_POLICY_INFO_AUDIT_EVENTS:
1620 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_BUFFERS, &r->audit_events));
1623 case LSA_POLICY_INFO_DOMAIN:
1624 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domain));
1627 case LSA_POLICY_INFO_PD:
1628 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr, NDR_BUFFERS, &r->pd));
1631 case LSA_POLICY_INFO_ACCOUNT_DOMAIN:
1632 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->account_domain));
1635 case LSA_POLICY_INFO_ROLE:
1638 case LSA_POLICY_INFO_REPLICA:
1639 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr, NDR_BUFFERS, &r->replica));
1642 case LSA_POLICY_INFO_QUOTA:
1645 case LSA_POLICY_INFO_MOD:
1648 case LSA_POLICY_INFO_AUDIT_FULL_SET:
1651 case LSA_POLICY_INFO_AUDIT_FULL_QUERY:
1654 case LSA_POLICY_INFO_DNS:
1655 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns));
1658 case LSA_POLICY_INFO_DNS_INT:
1659 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns));
1662 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN:
1663 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->l_account_domain));
1667 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1670 return NDR_ERR_SUCCESS;
1673 _PUBLIC_ void ndr_print_lsa_PolicyInformation(struct ndr_print *ndr, const char *name, const union lsa_PolicyInformation *r)
1676 level = ndr_print_get_switch_value(ndr, r);
1677 ndr_print_union(ndr, name, level, "lsa_PolicyInformation");
1679 case LSA_POLICY_INFO_AUDIT_LOG:
1680 ndr_print_lsa_AuditLogInfo(ndr, "audit_log", &r->audit_log);
1683 case LSA_POLICY_INFO_AUDIT_EVENTS:
1684 ndr_print_lsa_AuditEventsInfo(ndr, "audit_events", &r->audit_events);
1687 case LSA_POLICY_INFO_DOMAIN:
1688 ndr_print_lsa_DomainInfo(ndr, "domain", &r->domain);
1691 case LSA_POLICY_INFO_PD:
1692 ndr_print_lsa_PDAccountInfo(ndr, "pd", &r->pd);
1695 case LSA_POLICY_INFO_ACCOUNT_DOMAIN:
1696 ndr_print_lsa_DomainInfo(ndr, "account_domain", &r->account_domain);
1699 case LSA_POLICY_INFO_ROLE:
1700 ndr_print_lsa_ServerRole(ndr, "role", &r->role);
1703 case LSA_POLICY_INFO_REPLICA:
1704 ndr_print_lsa_ReplicaSourceInfo(ndr, "replica", &r->replica);
1707 case LSA_POLICY_INFO_QUOTA:
1708 ndr_print_lsa_DefaultQuotaInfo(ndr, "quota", &r->quota);
1711 case LSA_POLICY_INFO_MOD:
1712 ndr_print_lsa_ModificationInfo(ndr, "mod", &r->mod);
1715 case LSA_POLICY_INFO_AUDIT_FULL_SET:
1716 ndr_print_lsa_AuditFullSetInfo(ndr, "auditfullset", &r->auditfullset);
1719 case LSA_POLICY_INFO_AUDIT_FULL_QUERY:
1720 ndr_print_lsa_AuditFullQueryInfo(ndr, "auditfullquery", &r->auditfullquery);
1723 case LSA_POLICY_INFO_DNS:
1724 ndr_print_lsa_DnsDomainInfo(ndr, "dns", &r->dns);
1727 case LSA_POLICY_INFO_DNS_INT:
1728 ndr_print_lsa_DnsDomainInfo(ndr, "dns", &r->dns);
1731 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN:
1732 ndr_print_lsa_DomainInfo(ndr, "l_account_domain", &r->l_account_domain);
1736 ndr_print_bad_level(ndr, name, level);
1740 static enum ndr_err_code ndr_push_lsa_SidPtr(struct ndr_push *ndr, int ndr_flags, const struct lsa_SidPtr *r)
1742 if (ndr_flags & NDR_SCALARS) {
1743 NDR_CHECK(ndr_push_align(ndr, 4));
1744 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1746 if (ndr_flags & NDR_BUFFERS) {
1748 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1751 return NDR_ERR_SUCCESS;
1754 static enum ndr_err_code ndr_pull_lsa_SidPtr(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidPtr *r)
1757 TALLOC_CTX *_mem_save_sid_0;
1758 if (ndr_flags & NDR_SCALARS) {
1759 NDR_CHECK(ndr_pull_align(ndr, 4));
1760 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1762 NDR_PULL_ALLOC(ndr, r->sid);
1767 if (ndr_flags & NDR_BUFFERS) {
1769 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1770 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1771 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1772 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1775 return NDR_ERR_SUCCESS;
1778 _PUBLIC_ void ndr_print_lsa_SidPtr(struct ndr_print *ndr, const char *name, const struct lsa_SidPtr *r)
1780 ndr_print_struct(ndr, name, "lsa_SidPtr");
1782 ndr_print_ptr(ndr, "sid", r->sid);
1785 ndr_print_dom_sid2(ndr, "sid", r->sid);
1791 _PUBLIC_ enum ndr_err_code ndr_push_lsa_SidArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_SidArray *r)
1793 uint32_t cntr_sids_1;
1794 if (ndr_flags & NDR_SCALARS) {
1795 NDR_CHECK(ndr_push_align(ndr, 4));
1796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
1797 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1799 if (ndr_flags & NDR_BUFFERS) {
1801 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
1802 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
1803 NDR_CHECK(ndr_push_lsa_SidPtr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1805 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
1806 NDR_CHECK(ndr_push_lsa_SidPtr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1810 return NDR_ERR_SUCCESS;
1813 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidArray *r)
1816 uint32_t cntr_sids_1;
1817 TALLOC_CTX *_mem_save_sids_0;
1818 TALLOC_CTX *_mem_save_sids_1;
1819 if (ndr_flags & NDR_SCALARS) {
1820 NDR_CHECK(ndr_pull_align(ndr, 4));
1821 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
1822 if (r->num_sids > 1000) {
1823 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1825 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1827 NDR_PULL_ALLOC(ndr, r->sids);
1832 if (ndr_flags & NDR_BUFFERS) {
1834 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1835 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1836 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1837 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
1838 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1839 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1840 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
1841 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1843 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
1844 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1846 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1850 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
1853 return NDR_ERR_SUCCESS;
1856 _PUBLIC_ void ndr_print_lsa_SidArray(struct ndr_print *ndr, const char *name, const struct lsa_SidArray *r)
1858 uint32_t cntr_sids_1;
1859 ndr_print_struct(ndr, name, "lsa_SidArray");
1861 ndr_print_uint32(ndr, "num_sids", r->num_sids);
1862 ndr_print_ptr(ndr, "sids", r->sids);
1865 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
1867 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
1869 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
1870 ndr_print_lsa_SidPtr(ndr, "sids", &r->sids[cntr_sids_1]);
1880 static enum ndr_err_code ndr_push_lsa_DomainList(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainList *r)
1882 uint32_t cntr_domains_1;
1883 if (ndr_flags & NDR_SCALARS) {
1884 NDR_CHECK(ndr_push_align(ndr, 4));
1885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1886 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains));
1888 if (ndr_flags & NDR_BUFFERS) {
1890 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1891 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
1892 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
1894 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
1895 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
1899 return NDR_ERR_SUCCESS;
1902 static enum ndr_err_code ndr_pull_lsa_DomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainList *r)
1904 uint32_t _ptr_domains;
1905 uint32_t cntr_domains_1;
1906 TALLOC_CTX *_mem_save_domains_0;
1907 TALLOC_CTX *_mem_save_domains_1;
1908 if (ndr_flags & NDR_SCALARS) {
1909 NDR_CHECK(ndr_pull_align(ndr, 4));
1910 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1911 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
1913 NDR_PULL_ALLOC(ndr, r->domains);
1918 if (ndr_flags & NDR_BUFFERS) {
1920 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
1921 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
1922 NDR_CHECK(ndr_pull_array_size(ndr, &r->domains));
1923 NDR_PULL_ALLOC_N(ndr, r->domains, ndr_get_array_size(ndr, &r->domains));
1924 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
1925 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
1926 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
1927 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
1929 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
1930 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
1932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
1933 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
1936 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domains, r->count));
1939 return NDR_ERR_SUCCESS;
1942 _PUBLIC_ void ndr_print_lsa_DomainList(struct ndr_print *ndr, const char *name, const struct lsa_DomainList *r)
1944 uint32_t cntr_domains_1;
1945 ndr_print_struct(ndr, name, "lsa_DomainList");
1947 ndr_print_uint32(ndr, "count", r->count);
1948 ndr_print_ptr(ndr, "domains", r->domains);
1951 ndr->print(ndr, "%s: ARRAY(%d)", "domains", (int)r->count);
1953 for (cntr_domains_1=0;cntr_domains_1<r->count;cntr_domains_1++) {
1955 if (asprintf(&idx_1, "[%d]", cntr_domains_1) != -1) {
1956 ndr_print_lsa_DomainInfo(ndr, "domains", &r->domains[cntr_domains_1]);
1966 _PUBLIC_ enum ndr_err_code ndr_push_lsa_SidType(struct ndr_push *ndr, int ndr_flags, enum lsa_SidType r)
1968 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
1969 return NDR_ERR_SUCCESS;
1972 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidType(struct ndr_pull *ndr, int ndr_flags, enum lsa_SidType *r)
1975 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
1977 return NDR_ERR_SUCCESS;
1980 _PUBLIC_ void ndr_print_lsa_SidType(struct ndr_print *ndr, const char *name, enum lsa_SidType r)
1982 const char *val = NULL;
1985 case SID_NAME_USE_NONE: val = "SID_NAME_USE_NONE"; break;
1986 case SID_NAME_USER: val = "SID_NAME_USER"; break;
1987 case SID_NAME_DOM_GRP: val = "SID_NAME_DOM_GRP"; break;
1988 case SID_NAME_DOMAIN: val = "SID_NAME_DOMAIN"; break;
1989 case SID_NAME_ALIAS: val = "SID_NAME_ALIAS"; break;
1990 case SID_NAME_WKN_GRP: val = "SID_NAME_WKN_GRP"; break;
1991 case SID_NAME_DELETED: val = "SID_NAME_DELETED"; break;
1992 case SID_NAME_INVALID: val = "SID_NAME_INVALID"; break;
1993 case SID_NAME_UNKNOWN: val = "SID_NAME_UNKNOWN"; break;
1994 case SID_NAME_COMPUTER: val = "SID_NAME_COMPUTER"; break;
1996 ndr_print_enum(ndr, name, "ENUM", val, r);
1999 static enum ndr_err_code ndr_push_lsa_TranslatedSid(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedSid *r)
2001 if (ndr_flags & NDR_SCALARS) {
2002 NDR_CHECK(ndr_push_align(ndr, 4));
2003 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
2004 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2005 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
2007 if (ndr_flags & NDR_BUFFERS) {
2009 return NDR_ERR_SUCCESS;
2012 static enum ndr_err_code ndr_pull_lsa_TranslatedSid(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid *r)
2014 if (ndr_flags & NDR_SCALARS) {
2015 NDR_CHECK(ndr_pull_align(ndr, 4));
2016 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
2017 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2018 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
2020 if (ndr_flags & NDR_BUFFERS) {
2022 return NDR_ERR_SUCCESS;
2025 _PUBLIC_ void ndr_print_lsa_TranslatedSid(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid *r)
2027 ndr_print_struct(ndr, name, "lsa_TranslatedSid");
2029 ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type);
2030 ndr_print_uint32(ndr, "rid", r->rid);
2031 ndr_print_uint32(ndr, "sid_index", r->sid_index);
2035 static enum ndr_err_code ndr_push_lsa_TransSidArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransSidArray *r)
2037 uint32_t cntr_sids_1;
2038 if (ndr_flags & NDR_SCALARS) {
2039 NDR_CHECK(ndr_push_align(ndr, 4));
2040 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2041 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
2043 if (ndr_flags & NDR_BUFFERS) {
2045 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2046 for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
2047 NDR_CHECK(ndr_push_lsa_TranslatedSid(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
2051 return NDR_ERR_SUCCESS;
2054 static enum ndr_err_code ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray *r)
2057 uint32_t cntr_sids_1;
2058 TALLOC_CTX *_mem_save_sids_0;
2059 TALLOC_CTX *_mem_save_sids_1;
2060 if (ndr_flags & NDR_SCALARS) {
2061 NDR_CHECK(ndr_pull_align(ndr, 4));
2062 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2063 if (r->count > 1000) {
2064 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2066 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
2068 NDR_PULL_ALLOC(ndr, r->sids);
2073 if (ndr_flags & NDR_BUFFERS) {
2075 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2076 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
2077 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
2078 NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids));
2079 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2080 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
2081 for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
2082 NDR_CHECK(ndr_pull_lsa_TranslatedSid(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
2084 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
2085 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
2088 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->count));
2091 return NDR_ERR_SUCCESS;
2094 _PUBLIC_ void ndr_print_lsa_TransSidArray(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray *r)
2096 uint32_t cntr_sids_1;
2097 ndr_print_struct(ndr, name, "lsa_TransSidArray");
2099 ndr_print_uint32(ndr, "count", r->count);
2100 ndr_print_ptr(ndr, "sids", r->sids);
2103 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->count);
2105 for (cntr_sids_1=0;cntr_sids_1<r->count;cntr_sids_1++) {
2107 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
2108 ndr_print_lsa_TranslatedSid(ndr, "sids", &r->sids[cntr_sids_1]);
2118 static enum ndr_err_code ndr_push_lsa_RefDomainList(struct ndr_push *ndr, int ndr_flags, const struct lsa_RefDomainList *r)
2120 uint32_t cntr_domains_1;
2121 if (ndr_flags & NDR_SCALARS) {
2122 NDR_CHECK(ndr_push_align(ndr, 4));
2123 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2124 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains));
2125 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_size));
2127 if (ndr_flags & NDR_BUFFERS) {
2129 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2130 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
2131 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
2133 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
2134 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
2138 return NDR_ERR_SUCCESS;
2141 static enum ndr_err_code ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_RefDomainList *r)
2143 uint32_t _ptr_domains;
2144 uint32_t cntr_domains_1;
2145 TALLOC_CTX *_mem_save_domains_0;
2146 TALLOC_CTX *_mem_save_domains_1;
2147 if (ndr_flags & NDR_SCALARS) {
2148 NDR_CHECK(ndr_pull_align(ndr, 4));
2149 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2150 if (r->count > 1000) {
2151 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2153 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
2155 NDR_PULL_ALLOC(ndr, r->domains);
2159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_size));
2161 if (ndr_flags & NDR_BUFFERS) {
2163 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
2164 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
2165 NDR_CHECK(ndr_pull_array_size(ndr, &r->domains));
2166 NDR_PULL_ALLOC_N(ndr, r->domains, ndr_get_array_size(ndr, &r->domains));
2167 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
2168 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
2169 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
2170 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
2172 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
2173 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
2175 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
2176 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
2179 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domains, r->count));
2182 return NDR_ERR_SUCCESS;
2185 _PUBLIC_ void ndr_print_lsa_RefDomainList(struct ndr_print *ndr, const char *name, const struct lsa_RefDomainList *r)
2187 uint32_t cntr_domains_1;
2188 ndr_print_struct(ndr, name, "lsa_RefDomainList");
2190 ndr_print_uint32(ndr, "count", r->count);
2191 ndr_print_ptr(ndr, "domains", r->domains);
2194 ndr->print(ndr, "%s: ARRAY(%d)", "domains", (int)r->count);
2196 for (cntr_domains_1=0;cntr_domains_1<r->count;cntr_domains_1++) {
2198 if (asprintf(&idx_1, "[%d]", cntr_domains_1) != -1) {
2199 ndr_print_lsa_DomainInfo(ndr, "domains", &r->domains[cntr_domains_1]);
2206 ndr_print_uint32(ndr, "max_size", r->max_size);
2210 static enum ndr_err_code ndr_push_lsa_LookupNamesLevel(struct ndr_push *ndr, int ndr_flags, enum lsa_LookupNamesLevel r)
2212 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
2213 return NDR_ERR_SUCCESS;
2216 static enum ndr_err_code ndr_pull_lsa_LookupNamesLevel(struct ndr_pull *ndr, int ndr_flags, enum lsa_LookupNamesLevel *r)
2219 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
2221 return NDR_ERR_SUCCESS;
2224 _PUBLIC_ void ndr_print_lsa_LookupNamesLevel(struct ndr_print *ndr, const char *name, enum lsa_LookupNamesLevel r)
2226 const char *val = NULL;
2229 case LSA_LOOKUP_NAMES_ALL: val = "LSA_LOOKUP_NAMES_ALL"; break;
2230 case LSA_LOOKUP_NAMES_DOMAINS_ONLY: val = "LSA_LOOKUP_NAMES_DOMAINS_ONLY"; break;
2231 case LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY: val = "LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY"; break;
2232 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY: val = "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY"; break;
2233 case LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY: val = "LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY"; break;
2234 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2: val = "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2"; break;
2235 case LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC: val = "LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC"; break;
2237 ndr_print_enum(ndr, name, "ENUM", val, r);
2240 static enum ndr_err_code ndr_push_lsa_TranslatedName(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedName *r)
2242 if (ndr_flags & NDR_SCALARS) {
2243 NDR_CHECK(ndr_push_align(ndr, 4));
2244 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
2245 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
2246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
2248 if (ndr_flags & NDR_BUFFERS) {
2249 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
2251 return NDR_ERR_SUCCESS;
2254 static enum ndr_err_code ndr_pull_lsa_TranslatedName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName *r)
2256 if (ndr_flags & NDR_SCALARS) {
2257 NDR_CHECK(ndr_pull_align(ndr, 4));
2258 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
2259 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
2260 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
2262 if (ndr_flags & NDR_BUFFERS) {
2263 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
2265 return NDR_ERR_SUCCESS;
2268 _PUBLIC_ void ndr_print_lsa_TranslatedName(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedName *r)
2270 ndr_print_struct(ndr, name, "lsa_TranslatedName");
2272 ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type);
2273 ndr_print_lsa_String(ndr, "name", &r->name);
2274 ndr_print_uint32(ndr, "sid_index", r->sid_index);
2278 static enum ndr_err_code ndr_push_lsa_TransNameArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransNameArray *r)
2280 uint32_t cntr_names_1;
2281 if (ndr_flags & NDR_SCALARS) {
2282 NDR_CHECK(ndr_push_align(ndr, 4));
2283 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2284 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
2286 if (ndr_flags & NDR_BUFFERS) {
2288 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2289 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
2290 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
2292 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
2293 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
2297 return NDR_ERR_SUCCESS;
2300 static enum ndr_err_code ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray *r)
2302 uint32_t _ptr_names;
2303 uint32_t cntr_names_1;
2304 TALLOC_CTX *_mem_save_names_0;
2305 TALLOC_CTX *_mem_save_names_1;
2306 if (ndr_flags & NDR_SCALARS) {
2307 NDR_CHECK(ndr_pull_align(ndr, 4));
2308 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2309 if (r->count > 1000) {
2310 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2312 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
2314 NDR_PULL_ALLOC(ndr, r->names);
2319 if (ndr_flags & NDR_BUFFERS) {
2321 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
2322 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
2323 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
2324 NDR_PULL_ALLOC_N(ndr, r->names, ndr_get_array_size(ndr, &r->names));
2325 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
2326 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
2327 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
2328 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
2330 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
2331 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
2333 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
2334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
2337 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
2340 return NDR_ERR_SUCCESS;
2343 _PUBLIC_ void ndr_print_lsa_TransNameArray(struct ndr_print *ndr, const char *name, const struct lsa_TransNameArray *r)
2345 uint32_t cntr_names_1;
2346 ndr_print_struct(ndr, name, "lsa_TransNameArray");
2348 ndr_print_uint32(ndr, "count", r->count);
2349 ndr_print_ptr(ndr, "names", r->names);
2352 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
2354 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
2356 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
2357 ndr_print_lsa_TranslatedName(ndr, "names", &r->names[cntr_names_1]);
2367 static enum ndr_err_code ndr_push_lsa_LUIDAttribute(struct ndr_push *ndr, int ndr_flags, const struct lsa_LUIDAttribute *r)
2369 if (ndr_flags & NDR_SCALARS) {
2370 NDR_CHECK(ndr_push_align(ndr, 4));
2371 NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
2372 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribute));
2374 if (ndr_flags & NDR_BUFFERS) {
2376 return NDR_ERR_SUCCESS;
2379 static enum ndr_err_code ndr_pull_lsa_LUIDAttribute(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUIDAttribute *r)
2381 if (ndr_flags & NDR_SCALARS) {
2382 NDR_CHECK(ndr_pull_align(ndr, 4));
2383 NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
2384 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribute));
2386 if (ndr_flags & NDR_BUFFERS) {
2388 return NDR_ERR_SUCCESS;
2391 _PUBLIC_ void ndr_print_lsa_LUIDAttribute(struct ndr_print *ndr, const char *name, const struct lsa_LUIDAttribute *r)
2393 ndr_print_struct(ndr, name, "lsa_LUIDAttribute");
2395 ndr_print_lsa_LUID(ndr, "luid", &r->luid);
2396 ndr_print_uint32(ndr, "attribute", r->attribute);
2400 static enum ndr_err_code ndr_push_lsa_PrivilegeSet(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivilegeSet *r)
2402 uint32_t cntr_set_0;
2403 if (ndr_flags & NDR_SCALARS) {
2404 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2405 NDR_CHECK(ndr_push_align(ndr, 4));
2406 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
2408 for (cntr_set_0 = 0; cntr_set_0 < r->count; cntr_set_0++) {
2409 NDR_CHECK(ndr_push_lsa_LUIDAttribute(ndr, NDR_SCALARS, &r->set[cntr_set_0]));
2412 if (ndr_flags & NDR_BUFFERS) {
2414 return NDR_ERR_SUCCESS;
2417 static enum ndr_err_code ndr_pull_lsa_PrivilegeSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivilegeSet *r)
2419 uint32_t cntr_set_0;
2420 TALLOC_CTX *_mem_save_set_0;
2421 if (ndr_flags & NDR_SCALARS) {
2422 NDR_CHECK(ndr_pull_array_size(ndr, &r->set));
2423 NDR_CHECK(ndr_pull_align(ndr, 4));
2424 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2425 if (r->count > 1000) {
2426 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2428 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
2429 NDR_PULL_ALLOC_N(ndr, r->set, ndr_get_array_size(ndr, &r->set));
2430 _mem_save_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
2431 NDR_PULL_SET_MEM_CTX(ndr, r->set, 0);
2432 for (cntr_set_0 = 0; cntr_set_0 < r->count; cntr_set_0++) {
2433 NDR_CHECK(ndr_pull_lsa_LUIDAttribute(ndr, NDR_SCALARS, &r->set[cntr_set_0]));
2435 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_set_0, 0);
2437 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->set, r->count));
2440 if (ndr_flags & NDR_BUFFERS) {
2442 return NDR_ERR_SUCCESS;
2445 _PUBLIC_ void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name, const struct lsa_PrivilegeSet *r)
2447 uint32_t cntr_set_0;
2448 ndr_print_struct(ndr, name, "lsa_PrivilegeSet");
2450 ndr_print_uint32(ndr, "count", r->count);
2451 ndr_print_uint32(ndr, "unknown", r->unknown);
2452 ndr->print(ndr, "%s: ARRAY(%d)", "set", (int)r->count);
2454 for (cntr_set_0=0;cntr_set_0<r->count;cntr_set_0++) {
2456 if (asprintf(&idx_0, "[%d]", cntr_set_0) != -1) {
2457 ndr_print_lsa_LUIDAttribute(ndr, "set", &r->set[cntr_set_0]);
2465 static enum ndr_err_code ndr_push_lsa_DATA_BUF(struct ndr_push *ndr, int ndr_flags, const struct lsa_DATA_BUF *r)
2468 uint32_t _flags_save_STRUCT = ndr->flags;
2469 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2470 if (ndr_flags & NDR_SCALARS) {
2471 NDR_CHECK(ndr_push_align(ndr, 4));
2472 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
2473 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2474 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
2476 if (ndr_flags & NDR_BUFFERS) {
2478 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2479 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
2481 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
2484 ndr->flags = _flags_save_STRUCT;
2486 return NDR_ERR_SUCCESS;
2489 static enum ndr_err_code ndr_pull_lsa_DATA_BUF(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF *r)
2492 TALLOC_CTX *_mem_save_data_0;
2494 uint32_t _flags_save_STRUCT = ndr->flags;
2495 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2496 if (ndr_flags & NDR_SCALARS) {
2497 NDR_CHECK(ndr_pull_align(ndr, 4));
2498 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
2499 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2500 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
2502 NDR_PULL_ALLOC(ndr, r->data);
2507 if (ndr_flags & NDR_BUFFERS) {
2509 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2510 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
2511 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
2512 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
2513 if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
2514 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data));
2516 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
2517 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
2518 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
2521 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
2524 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
2527 ndr->flags = _flags_save_STRUCT;
2529 return NDR_ERR_SUCCESS;
2532 _PUBLIC_ void ndr_print_lsa_DATA_BUF(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF *r)
2534 ndr_print_struct(ndr, name, "lsa_DATA_BUF");
2536 uint32_t _flags_save_STRUCT = ndr->flags;
2537 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2539 ndr_print_uint32(ndr, "length", r->length);
2540 ndr_print_uint32(ndr, "size", r->size);
2541 ndr_print_ptr(ndr, "data", r->data);
2544 ndr_print_array_uint8(ndr, "data", r->data, r->length);
2548 ndr->flags = _flags_save_STRUCT;
2552 static enum ndr_err_code ndr_push_lsa_DATA_BUF2(struct ndr_push *ndr, int ndr_flags, const struct lsa_DATA_BUF2 *r)
2555 uint32_t _flags_save_STRUCT = ndr->flags;
2556 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2557 if (ndr_flags & NDR_SCALARS) {
2558 NDR_CHECK(ndr_push_align(ndr, 4));
2559 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2560 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
2562 if (ndr_flags & NDR_BUFFERS) {
2564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2565 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
2568 ndr->flags = _flags_save_STRUCT;
2570 return NDR_ERR_SUCCESS;
2573 static enum ndr_err_code ndr_pull_lsa_DATA_BUF2(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF2 *r)
2576 TALLOC_CTX *_mem_save_data_0;
2578 uint32_t _flags_save_STRUCT = ndr->flags;
2579 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2580 if (ndr_flags & NDR_SCALARS) {
2581 NDR_CHECK(ndr_pull_align(ndr, 4));
2582 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2583 if (r->size > 65536) {
2584 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2586 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
2588 NDR_PULL_ALLOC(ndr, r->data);
2593 if (ndr_flags & NDR_BUFFERS) {
2595 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2596 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
2597 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
2598 NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
2599 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_size(ndr, &r->data)));
2600 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
2603 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
2606 ndr->flags = _flags_save_STRUCT;
2608 return NDR_ERR_SUCCESS;
2611 _PUBLIC_ void ndr_print_lsa_DATA_BUF2(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF2 *r)
2613 ndr_print_struct(ndr, name, "lsa_DATA_BUF2");
2615 uint32_t _flags_save_STRUCT = ndr->flags;
2616 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2618 ndr_print_uint32(ndr, "size", r->size);
2619 ndr_print_ptr(ndr, "data", r->data);
2622 ndr_print_array_uint8(ndr, "data", r->data, r->size);
2626 ndr->flags = _flags_save_STRUCT;
2630 static enum ndr_err_code ndr_push_lsa_TrustDomInfoEnum(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustDomInfoEnum r)
2632 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
2633 return NDR_ERR_SUCCESS;
2636 static enum ndr_err_code ndr_pull_lsa_TrustDomInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustDomInfoEnum *r)
2639 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
2641 return NDR_ERR_SUCCESS;
2644 _PUBLIC_ void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print *ndr, const char *name, enum lsa_TrustDomInfoEnum r)
2646 const char *val = NULL;
2649 case LSA_TRUSTED_DOMAIN_INFO_NAME: val = "LSA_TRUSTED_DOMAIN_INFO_NAME"; break;
2650 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: val = "LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS"; break;
2651 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: val = "LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET"; break;
2652 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: val = "LSA_TRUSTED_DOMAIN_INFO_PASSWORD"; break;
2653 case LSA_TRUSTED_DOMAIN_INFO_BASIC: val = "LSA_TRUSTED_DOMAIN_INFO_BASIC"; break;
2654 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: val = "LSA_TRUSTED_DOMAIN_INFO_INFO_EX"; break;
2655 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: val = "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO"; break;
2656 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO"; break;
2657 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL"; break;
2658 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL"; break;
2659 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL"; break;
2660 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL"; break;
2661 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES: val = "LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES"; break;
2663 ndr_print_enum(ndr, name, "ENUM", val, r);
2666 _PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustDirection(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2668 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2669 return NDR_ERR_SUCCESS;
2672 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustDirection(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2675 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2677 return NDR_ERR_SUCCESS;
2680 _PUBLIC_ void ndr_print_lsa_TrustDirection(struct ndr_print *ndr, const char *name, uint32_t r)
2682 ndr_print_uint32(ndr, name, r);
2684 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_DIRECTION_INBOUND", LSA_TRUST_DIRECTION_INBOUND, r);
2685 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_DIRECTION_OUTBOUND", LSA_TRUST_DIRECTION_OUTBOUND, r);
2689 static enum ndr_err_code ndr_push_lsa_TrustType(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustType r)
2691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2692 return NDR_ERR_SUCCESS;
2695 static enum ndr_err_code ndr_pull_lsa_TrustType(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustType *r)
2698 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2700 return NDR_ERR_SUCCESS;
2703 _PUBLIC_ void ndr_print_lsa_TrustType(struct ndr_print *ndr, const char *name, enum lsa_TrustType r)
2705 const char *val = NULL;
2708 case LSA_TRUST_TYPE_DOWNLEVEL: val = "LSA_TRUST_TYPE_DOWNLEVEL"; break;
2709 case LSA_TRUST_TYPE_UPLEVEL: val = "LSA_TRUST_TYPE_UPLEVEL"; break;
2710 case LSA_TRUST_TYPE_MIT: val = "LSA_TRUST_TYPE_MIT"; break;
2712 ndr_print_enum(ndr, name, "ENUM", val, r);
2715 _PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2717 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2718 return NDR_ERR_SUCCESS;
2721 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2724 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2726 return NDR_ERR_SUCCESS;
2729 _PUBLIC_ void ndr_print_lsa_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
2731 ndr_print_uint32(ndr, name, r);
2733 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE", LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
2734 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY", LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
2735 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
2736 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
2737 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
2738 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_WITHIN_FOREST", LSA_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
2739 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
2740 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION", LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION, r);
2744 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoName(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoName *r)
2746 if (ndr_flags & NDR_SCALARS) {
2747 NDR_CHECK(ndr_push_align(ndr, 4));
2748 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
2750 if (ndr_flags & NDR_BUFFERS) {
2751 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
2753 return NDR_ERR_SUCCESS;
2756 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoName *r)
2758 if (ndr_flags & NDR_SCALARS) {
2759 NDR_CHECK(ndr_pull_align(ndr, 4));
2760 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
2762 if (ndr_flags & NDR_BUFFERS) {
2763 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
2765 return NDR_ERR_SUCCESS;
2768 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoName(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoName *r)
2770 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoName");
2772 ndr_print_lsa_StringLarge(ndr, "netbios_name", &r->netbios_name);
2776 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoControllers(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoControllers *r)
2778 uint32_t cntr_netbios_names_1;
2779 if (ndr_flags & NDR_SCALARS) {
2780 NDR_CHECK(ndr_push_align(ndr, 4));
2781 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries));
2782 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_names));
2784 if (ndr_flags & NDR_BUFFERS) {
2785 if (r->netbios_names) {
2786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries));
2787 for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) {
2788 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_names[cntr_netbios_names_1]));
2790 for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) {
2791 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_names[cntr_netbios_names_1]));
2795 return NDR_ERR_SUCCESS;
2798 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoControllers(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoControllers *r)
2800 uint32_t _ptr_netbios_names;
2801 uint32_t cntr_netbios_names_1;
2802 TALLOC_CTX *_mem_save_netbios_names_0;
2803 TALLOC_CTX *_mem_save_netbios_names_1;
2804 if (ndr_flags & NDR_SCALARS) {
2805 NDR_CHECK(ndr_pull_align(ndr, 4));
2806 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries));
2807 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_names));
2808 if (_ptr_netbios_names) {
2809 NDR_PULL_ALLOC(ndr, r->netbios_names);
2811 r->netbios_names = NULL;
2814 if (ndr_flags & NDR_BUFFERS) {
2815 if (r->netbios_names) {
2816 _mem_save_netbios_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
2817 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_names, 0);
2818 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_names));
2819 NDR_PULL_ALLOC_N(ndr, r->netbios_names, ndr_get_array_size(ndr, &r->netbios_names));
2820 _mem_save_netbios_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
2821 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_names, 0);
2822 for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) {
2823 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_names[cntr_netbios_names_1]));
2825 for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) {
2826 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_names[cntr_netbios_names_1]));
2828 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_names_1, 0);
2829 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_names_0, 0);
2831 if (r->netbios_names) {
2832 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->netbios_names, r->entries));
2835 return NDR_ERR_SUCCESS;
2838 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoControllers(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoControllers *r)
2840 uint32_t cntr_netbios_names_1;
2841 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoControllers");
2843 ndr_print_uint32(ndr, "entries", r->entries);
2844 ndr_print_ptr(ndr, "netbios_names", r->netbios_names);
2846 if (r->netbios_names) {
2847 ndr->print(ndr, "%s: ARRAY(%d)", "netbios_names", (int)r->entries);
2849 for (cntr_netbios_names_1=0;cntr_netbios_names_1<r->entries;cntr_netbios_names_1++) {
2851 if (asprintf(&idx_1, "[%d]", cntr_netbios_names_1) != -1) {
2852 ndr_print_lsa_StringLarge(ndr, "netbios_names", &r->netbios_names[cntr_netbios_names_1]);
2862 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoPosixOffset(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoPosixOffset *r)
2864 if (ndr_flags & NDR_SCALARS) {
2865 NDR_CHECK(ndr_push_align(ndr, 4));
2866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
2868 if (ndr_flags & NDR_BUFFERS) {
2870 return NDR_ERR_SUCCESS;
2873 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoPosixOffset(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoPosixOffset *r)
2875 if (ndr_flags & NDR_SCALARS) {
2876 NDR_CHECK(ndr_pull_align(ndr, 4));
2877 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
2879 if (ndr_flags & NDR_BUFFERS) {
2881 return NDR_ERR_SUCCESS;
2884 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPosixOffset *r)
2886 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoPosixOffset");
2888 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
2892 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoPassword(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoPassword *r)
2894 if (ndr_flags & NDR_SCALARS) {
2895 NDR_CHECK(ndr_push_align(ndr, 4));
2896 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
2897 NDR_CHECK(ndr_push_unique_ptr(ndr, r->old_password));
2899 if (ndr_flags & NDR_BUFFERS) {
2901 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
2903 if (r->old_password) {
2904 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->old_password));
2907 return NDR_ERR_SUCCESS;
2910 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoPassword(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoPassword *r)
2912 uint32_t _ptr_password;
2913 TALLOC_CTX *_mem_save_password_0;
2914 uint32_t _ptr_old_password;
2915 TALLOC_CTX *_mem_save_old_password_0;
2916 if (ndr_flags & NDR_SCALARS) {
2917 NDR_CHECK(ndr_pull_align(ndr, 4));
2918 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
2919 if (_ptr_password) {
2920 NDR_PULL_ALLOC(ndr, r->password);
2924 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_password));
2925 if (_ptr_old_password) {
2926 NDR_PULL_ALLOC(ndr, r->old_password);
2928 r->old_password = NULL;
2931 if (ndr_flags & NDR_BUFFERS) {
2933 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
2934 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
2935 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
2936 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
2938 if (r->old_password) {
2939 _mem_save_old_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
2940 NDR_PULL_SET_MEM_CTX(ndr, r->old_password, 0);
2941 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->old_password));
2942 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_password_0, 0);
2945 return NDR_ERR_SUCCESS;
2948 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPassword *r)
2950 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoPassword");
2952 ndr_print_ptr(ndr, "password", r->password);
2955 ndr_print_lsa_DATA_BUF(ndr, "password", r->password);
2958 ndr_print_ptr(ndr, "old_password", r->old_password);
2960 if (r->old_password) {
2961 ndr_print_lsa_DATA_BUF(ndr, "old_password", r->old_password);
2967 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoBasic(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoBasic *r)
2969 if (ndr_flags & NDR_SCALARS) {
2970 NDR_CHECK(ndr_push_align(ndr, 4));
2971 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->netbios_name));
2972 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2974 if (ndr_flags & NDR_BUFFERS) {
2975 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->netbios_name));
2977 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2980 return NDR_ERR_SUCCESS;
2983 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoBasic(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoBasic *r)
2986 TALLOC_CTX *_mem_save_sid_0;
2987 if (ndr_flags & NDR_SCALARS) {
2988 NDR_CHECK(ndr_pull_align(ndr, 4));
2989 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->netbios_name));
2990 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2992 NDR_PULL_ALLOC(ndr, r->sid);
2997 if (ndr_flags & NDR_BUFFERS) {
2998 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->netbios_name));
3000 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3001 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3002 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3006 return NDR_ERR_SUCCESS;
3009 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBasic *r)
3011 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoBasic");
3013 ndr_print_lsa_String(ndr, "netbios_name", &r->netbios_name);
3014 ndr_print_ptr(ndr, "sid", r->sid);
3017 ndr_print_dom_sid2(ndr, "sid", r->sid);
3023 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoInfoEx(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoInfoEx *r)
3025 if (ndr_flags & NDR_SCALARS) {
3026 NDR_CHECK(ndr_push_align(ndr, 4));
3027 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain_name));
3028 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
3029 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3030 NDR_CHECK(ndr_push_lsa_TrustDirection(ndr, NDR_SCALARS, r->trust_direction));
3031 NDR_CHECK(ndr_push_lsa_TrustType(ndr, NDR_SCALARS, r->trust_type));
3032 NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
3034 if (ndr_flags & NDR_BUFFERS) {
3035 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain_name));
3036 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
3038 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3041 return NDR_ERR_SUCCESS;
3044 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoInfoEx(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoInfoEx *r)
3047 TALLOC_CTX *_mem_save_sid_0;
3048 if (ndr_flags & NDR_SCALARS) {
3049 NDR_CHECK(ndr_pull_align(ndr, 4));
3050 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain_name));
3051 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
3052 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3054 NDR_PULL_ALLOC(ndr, r->sid);
3058 NDR_CHECK(ndr_pull_lsa_TrustDirection(ndr, NDR_SCALARS, &r->trust_direction));
3059 NDR_CHECK(ndr_pull_lsa_TrustType(ndr, NDR_SCALARS, &r->trust_type));
3060 NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
3062 if (ndr_flags & NDR_BUFFERS) {
3063 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain_name));
3064 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
3066 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3067 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3068 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3069 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3072 return NDR_ERR_SUCCESS;
3075 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoEx *r)
3077 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoInfoEx");
3079 ndr_print_lsa_StringLarge(ndr, "domain_name", &r->domain_name);
3080 ndr_print_lsa_StringLarge(ndr, "netbios_name", &r->netbios_name);
3081 ndr_print_ptr(ndr, "sid", r->sid);