WHATSNEW: Start release notes for Samba 3.5.21.
[Samba.git] / librpc / gen_ndr / ndr_lsa.c
blobf1fc10ef526d9deab67987784718bb9e4985aab7
1 /* parser auto-generated by pidl */
3 #include "includes.h"
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, 5));
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));
15 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
17 if (ndr_flags & NDR_BUFFERS) {
18 if (r->string) {
19 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
20 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
21 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
22 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, 2 * strlen_m(r->string) / 2, sizeof(uint16_t), CH_UTF16));
25 return NDR_ERR_SUCCESS;
28 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_String(struct ndr_pull *ndr, int ndr_flags, struct lsa_String *r)
30 uint32_t _ptr_string;
31 uint32_t size_string_1 = 0;
32 uint32_t length_string_1 = 0;
33 TALLOC_CTX *_mem_save_string_0;
34 if (ndr_flags & NDR_SCALARS) {
35 NDR_CHECK(ndr_pull_align(ndr, 5));
36 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
37 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
38 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
39 if (_ptr_string) {
40 NDR_PULL_ALLOC(ndr, r->string);
41 } else {
42 r->string = NULL;
44 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
46 if (ndr_flags & NDR_BUFFERS) {
47 if (r->string) {
48 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
49 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
50 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
51 NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
52 size_string_1 = ndr_get_array_size(ndr, &r->string);
53 length_string_1 = ndr_get_array_length(ndr, &r->string);
54 if (length_string_1 > size_string_1) {
55 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string_1, length_string_1);
57 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, length_string_1, sizeof(uint16_t), CH_UTF16));
58 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
60 if (r->string) {
61 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2));
63 if (r->string) {
64 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length / 2));
67 return NDR_ERR_SUCCESS;
70 _PUBLIC_ void ndr_print_lsa_String(struct ndr_print *ndr, const char *name, const struct lsa_String *r)
72 ndr_print_struct(ndr, name, "lsa_String");
73 ndr->depth++;
74 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length);
75 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->size);
76 ndr_print_ptr(ndr, "string", r->string);
77 ndr->depth++;
78 if (r->string) {
79 ndr_print_string(ndr, "string", r->string);
81 ndr->depth--;
82 ndr->depth--;
85 _PUBLIC_ enum ndr_err_code ndr_push_lsa_StringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_StringLarge *r)
87 if (ndr_flags & NDR_SCALARS) {
88 NDR_CHECK(ndr_push_align(ndr, 5));
89 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->string)));
90 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m_term(r->string)));
91 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
92 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
94 if (ndr_flags & NDR_BUFFERS) {
95 if (r->string) {
96 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m_term(r->string) / 2));
97 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
98 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 2 * strlen_m(r->string) / 2));
99 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, 2 * strlen_m(r->string) / 2, sizeof(uint16_t), CH_UTF16));
102 return NDR_ERR_SUCCESS;
105 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_StringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_StringLarge *r)
107 uint32_t _ptr_string;
108 uint32_t size_string_1 = 0;
109 uint32_t length_string_1 = 0;
110 TALLOC_CTX *_mem_save_string_0;
111 if (ndr_flags & NDR_SCALARS) {
112 NDR_CHECK(ndr_pull_align(ndr, 5));
113 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
114 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
116 if (_ptr_string) {
117 NDR_PULL_ALLOC(ndr, r->string);
118 } else {
119 r->string = NULL;
121 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
123 if (ndr_flags & NDR_BUFFERS) {
124 if (r->string) {
125 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
126 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
127 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
128 NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
129 size_string_1 = ndr_get_array_size(ndr, &r->string);
130 length_string_1 = ndr_get_array_length(ndr, &r->string);
131 if (length_string_1 > size_string_1) {
132 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string_1, length_string_1);
134 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, length_string_1, sizeof(uint16_t), CH_UTF16));
135 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
137 if (r->string) {
138 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size / 2));
140 if (r->string) {
141 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length / 2));
144 return NDR_ERR_SUCCESS;
147 _PUBLIC_ void ndr_print_lsa_StringLarge(struct ndr_print *ndr, const char *name, const struct lsa_StringLarge *r)
149 ndr_print_struct(ndr, name, "lsa_StringLarge");
150 ndr->depth++;
151 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->string):r->length);
152 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m_term(r->string):r->size);
153 ndr_print_ptr(ndr, "string", r->string);
154 ndr->depth++;
155 if (r->string) {
156 ndr_print_string(ndr, "string", r->string);
158 ndr->depth--;
159 ndr->depth--;
162 _PUBLIC_ enum ndr_err_code ndr_push_lsa_Strings(struct ndr_push *ndr, int ndr_flags, const struct lsa_Strings *r)
164 uint32_t cntr_names_1;
165 if (ndr_flags & NDR_SCALARS) {
166 NDR_CHECK(ndr_push_align(ndr, 5));
167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
168 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
169 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
171 if (ndr_flags & NDR_BUFFERS) {
172 if (r->names) {
173 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
174 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
175 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
177 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
178 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
182 return NDR_ERR_SUCCESS;
185 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_Strings(struct ndr_pull *ndr, int ndr_flags, struct lsa_Strings *r)
187 uint32_t _ptr_names;
188 uint32_t size_names_1 = 0;
189 uint32_t cntr_names_1;
190 TALLOC_CTX *_mem_save_names_0;
191 TALLOC_CTX *_mem_save_names_1;
192 if (ndr_flags & NDR_SCALARS) {
193 NDR_CHECK(ndr_pull_align(ndr, 5));
194 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
195 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
196 if (_ptr_names) {
197 NDR_PULL_ALLOC(ndr, r->names);
198 } else {
199 r->names = NULL;
201 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
203 if (ndr_flags & NDR_BUFFERS) {
204 if (r->names) {
205 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
206 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
207 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
208 size_names_1 = ndr_get_array_size(ndr, &r->names);
209 NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
210 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
211 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
212 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
213 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
215 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
216 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
218 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
219 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
221 if (r->names) {
222 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
225 return NDR_ERR_SUCCESS;
228 _PUBLIC_ void ndr_print_lsa_Strings(struct ndr_print *ndr, const char *name, const struct lsa_Strings *r)
230 uint32_t cntr_names_1;
231 ndr_print_struct(ndr, name, "lsa_Strings");
232 ndr->depth++;
233 ndr_print_uint32(ndr, "count", r->count);
234 ndr_print_ptr(ndr, "names", r->names);
235 ndr->depth++;
236 if (r->names) {
237 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
238 ndr->depth++;
239 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
240 char *idx_1=NULL;
241 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
242 ndr_print_lsa_String(ndr, "names", &r->names[cntr_names_1]);
243 free(idx_1);
246 ndr->depth--;
248 ndr->depth--;
249 ndr->depth--;
252 _PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiString(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiString *r)
254 if (ndr_flags & NDR_SCALARS) {
255 NDR_CHECK(ndr_push_align(ndr, 5));
256 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string)));
257 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string)));
258 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
259 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
261 if (ndr_flags & NDR_BUFFERS) {
262 if (r->string) {
263 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->string)));
264 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
265 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->string)));
266 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_DOS));
269 return NDR_ERR_SUCCESS;
272 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiString(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiString *r)
274 uint32_t _ptr_string;
275 uint32_t size_string_1 = 0;
276 uint32_t length_string_1 = 0;
277 TALLOC_CTX *_mem_save_string_0;
278 if (ndr_flags & NDR_SCALARS) {
279 NDR_CHECK(ndr_pull_align(ndr, 5));
280 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
281 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
282 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
283 if (_ptr_string) {
284 NDR_PULL_ALLOC(ndr, r->string);
285 } else {
286 r->string = NULL;
288 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
290 if (ndr_flags & NDR_BUFFERS) {
291 if (r->string) {
292 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
293 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
294 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
295 NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
296 size_string_1 = ndr_get_array_size(ndr, &r->string);
297 length_string_1 = ndr_get_array_length(ndr, &r->string);
298 if (length_string_1 > size_string_1) {
299 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string_1, length_string_1);
301 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, length_string_1, sizeof(uint8_t), CH_DOS));
302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
304 if (r->string) {
305 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size));
307 if (r->string) {
308 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length));
311 return NDR_ERR_SUCCESS;
314 _PUBLIC_ void ndr_print_lsa_AsciiString(struct ndr_print *ndr, const char *name, const struct lsa_AsciiString *r)
316 ndr_print_struct(ndr, name, "lsa_AsciiString");
317 ndr->depth++;
318 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->length);
319 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->size);
320 ndr_print_ptr(ndr, "string", r->string);
321 ndr->depth++;
322 if (r->string) {
323 ndr_print_string(ndr, "string", r->string);
325 ndr->depth--;
326 ndr->depth--;
329 _PUBLIC_ enum ndr_err_code ndr_push_lsa_AsciiStringLarge(struct ndr_push *ndr, int ndr_flags, const struct lsa_AsciiStringLarge *r)
331 if (ndr_flags & NDR_SCALARS) {
332 NDR_CHECK(ndr_push_align(ndr, 5));
333 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m(r->string)));
334 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->string)));
335 NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
336 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
338 if (ndr_flags & NDR_BUFFERS) {
339 if (r->string) {
340 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m_term(r->string)));
341 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
342 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, strlen_m(r->string)));
343 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string, strlen_m(r->string), sizeof(uint8_t), CH_DOS));
346 return NDR_ERR_SUCCESS;
349 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AsciiStringLarge(struct ndr_pull *ndr, int ndr_flags, struct lsa_AsciiStringLarge *r)
351 uint32_t _ptr_string;
352 uint32_t size_string_1 = 0;
353 uint32_t length_string_1 = 0;
354 TALLOC_CTX *_mem_save_string_0;
355 if (ndr_flags & NDR_SCALARS) {
356 NDR_CHECK(ndr_pull_align(ndr, 5));
357 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
358 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
359 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string));
360 if (_ptr_string) {
361 NDR_PULL_ALLOC(ndr, r->string);
362 } else {
363 r->string = NULL;
365 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
367 if (ndr_flags & NDR_BUFFERS) {
368 if (r->string) {
369 _mem_save_string_0 = NDR_PULL_GET_MEM_CTX(ndr);
370 NDR_PULL_SET_MEM_CTX(ndr, r->string, 0);
371 NDR_CHECK(ndr_pull_array_size(ndr, &r->string));
372 NDR_CHECK(ndr_pull_array_length(ndr, &r->string));
373 size_string_1 = ndr_get_array_size(ndr, &r->string);
374 length_string_1 = ndr_get_array_length(ndr, &r->string);
375 if (length_string_1 > size_string_1) {
376 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_string_1, length_string_1);
378 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string, length_string_1, sizeof(uint8_t), CH_DOS));
379 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string_0, 0);
381 if (r->string) {
382 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->string, r->size));
384 if (r->string) {
385 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->string, r->length));
388 return NDR_ERR_SUCCESS;
391 _PUBLIC_ void ndr_print_lsa_AsciiStringLarge(struct ndr_print *ndr, const char *name, const struct lsa_AsciiStringLarge *r)
393 ndr_print_struct(ndr, name, "lsa_AsciiStringLarge");
394 ndr->depth++;
395 ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m(r->string):r->length);
396 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->string):r->size);
397 ndr_print_ptr(ndr, "string", r->string);
398 ndr->depth++;
399 if (r->string) {
400 ndr_print_string(ndr, "string", r->string);
402 ndr->depth--;
403 ndr->depth--;
406 _PUBLIC_ enum ndr_err_code ndr_push_lsa_BinaryString(struct ndr_push *ndr, int ndr_flags, const struct lsa_BinaryString *r)
408 uint32_t cntr_array_1;
409 if (ndr_flags & NDR_SCALARS) {
410 NDR_CHECK(ndr_push_align(ndr, 5));
411 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
412 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
413 NDR_CHECK(ndr_push_unique_ptr(ndr, r->array));
414 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
416 if (ndr_flags & NDR_BUFFERS) {
417 if (r->array) {
418 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size / 2));
419 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
420 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length / 2));
421 for (cntr_array_1 = 0; cntr_array_1 < r->length / 2; cntr_array_1++) {
422 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->array[cntr_array_1]));
426 return NDR_ERR_SUCCESS;
429 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_BinaryString(struct ndr_pull *ndr, int ndr_flags, struct lsa_BinaryString *r)
431 uint32_t _ptr_array;
432 uint32_t size_array_1 = 0;
433 uint32_t length_array_1 = 0;
434 uint32_t cntr_array_1;
435 TALLOC_CTX *_mem_save_array_0;
436 TALLOC_CTX *_mem_save_array_1;
437 if (ndr_flags & NDR_SCALARS) {
438 NDR_CHECK(ndr_pull_align(ndr, 5));
439 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
440 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
441 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_array));
442 if (_ptr_array) {
443 NDR_PULL_ALLOC(ndr, r->array);
444 } else {
445 r->array = NULL;
447 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
449 if (ndr_flags & NDR_BUFFERS) {
450 if (r->array) {
451 _mem_save_array_0 = NDR_PULL_GET_MEM_CTX(ndr);
452 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
453 NDR_CHECK(ndr_pull_array_size(ndr, &r->array));
454 NDR_CHECK(ndr_pull_array_length(ndr, &r->array));
455 size_array_1 = ndr_get_array_size(ndr, &r->array);
456 length_array_1 = ndr_get_array_length(ndr, &r->array);
457 if (length_array_1 > size_array_1) {
458 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_array_1, length_array_1);
460 NDR_PULL_ALLOC_N(ndr, r->array, size_array_1);
461 _mem_save_array_1 = NDR_PULL_GET_MEM_CTX(ndr);
462 NDR_PULL_SET_MEM_CTX(ndr, r->array, 0);
463 for (cntr_array_1 = 0; cntr_array_1 < length_array_1; cntr_array_1++) {
464 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->array[cntr_array_1]));
466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_1, 0);
467 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_array_0, 0);
469 if (r->array) {
470 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->array, r->size / 2));
472 if (r->array) {
473 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->array, r->length / 2));
476 return NDR_ERR_SUCCESS;
479 _PUBLIC_ void ndr_print_lsa_BinaryString(struct ndr_print *ndr, const char *name, const struct lsa_BinaryString *r)
481 uint32_t cntr_array_1;
482 ndr_print_struct(ndr, name, "lsa_BinaryString");
483 ndr->depth++;
484 ndr_print_uint16(ndr, "length", r->length);
485 ndr_print_uint16(ndr, "size", r->size);
486 ndr_print_ptr(ndr, "array", r->array);
487 ndr->depth++;
488 if (r->array) {
489 ndr->print(ndr, "%s: ARRAY(%d)", "array", (int)r->length / 2);
490 ndr->depth++;
491 for (cntr_array_1=0;cntr_array_1<r->length / 2;cntr_array_1++) {
492 char *idx_1=NULL;
493 if (asprintf(&idx_1, "[%d]", cntr_array_1) != -1) {
494 ndr_print_uint16(ndr, "array", r->array[cntr_array_1]);
495 free(idx_1);
498 ndr->depth--;
500 ndr->depth--;
501 ndr->depth--;
504 static enum ndr_err_code ndr_push_lsa_LUID(struct ndr_push *ndr, int ndr_flags, const struct lsa_LUID *r)
506 if (ndr_flags & NDR_SCALARS) {
507 NDR_CHECK(ndr_push_align(ndr, 4));
508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->low));
509 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->high));
510 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
512 if (ndr_flags & NDR_BUFFERS) {
514 return NDR_ERR_SUCCESS;
517 static enum ndr_err_code ndr_pull_lsa_LUID(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUID *r)
519 if (ndr_flags & NDR_SCALARS) {
520 NDR_CHECK(ndr_pull_align(ndr, 4));
521 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->low));
522 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->high));
523 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
525 if (ndr_flags & NDR_BUFFERS) {
527 return NDR_ERR_SUCCESS;
530 _PUBLIC_ void ndr_print_lsa_LUID(struct ndr_print *ndr, const char *name, const struct lsa_LUID *r)
532 ndr_print_struct(ndr, name, "lsa_LUID");
533 ndr->depth++;
534 ndr_print_uint32(ndr, "low", r->low);
535 ndr_print_uint32(ndr, "high", r->high);
536 ndr->depth--;
539 static enum ndr_err_code ndr_push_lsa_PrivEntry(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivEntry *r)
541 if (ndr_flags & NDR_SCALARS) {
542 NDR_CHECK(ndr_push_align(ndr, 5));
543 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
544 NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
545 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
547 if (ndr_flags & NDR_BUFFERS) {
548 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
550 return NDR_ERR_SUCCESS;
553 static enum ndr_err_code ndr_pull_lsa_PrivEntry(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivEntry *r)
555 if (ndr_flags & NDR_SCALARS) {
556 NDR_CHECK(ndr_pull_align(ndr, 5));
557 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
558 NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
559 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
561 if (ndr_flags & NDR_BUFFERS) {
562 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
564 return NDR_ERR_SUCCESS;
567 _PUBLIC_ void ndr_print_lsa_PrivEntry(struct ndr_print *ndr, const char *name, const struct lsa_PrivEntry *r)
569 ndr_print_struct(ndr, name, "lsa_PrivEntry");
570 ndr->depth++;
571 ndr_print_lsa_StringLarge(ndr, "name", &r->name);
572 ndr_print_lsa_LUID(ndr, "luid", &r->luid);
573 ndr->depth--;
576 static enum ndr_err_code ndr_push_lsa_PrivArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivArray *r)
578 uint32_t cntr_privs_1;
579 if (ndr_flags & NDR_SCALARS) {
580 NDR_CHECK(ndr_push_align(ndr, 5));
581 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
582 NDR_CHECK(ndr_push_unique_ptr(ndr, r->privs));
583 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
585 if (ndr_flags & NDR_BUFFERS) {
586 if (r->privs) {
587 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
588 for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) {
589 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr, NDR_SCALARS, &r->privs[cntr_privs_1]));
591 for (cntr_privs_1 = 0; cntr_privs_1 < r->count; cntr_privs_1++) {
592 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr, NDR_BUFFERS, &r->privs[cntr_privs_1]));
596 return NDR_ERR_SUCCESS;
599 static enum ndr_err_code ndr_pull_lsa_PrivArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivArray *r)
601 uint32_t _ptr_privs;
602 uint32_t size_privs_1 = 0;
603 uint32_t cntr_privs_1;
604 TALLOC_CTX *_mem_save_privs_0;
605 TALLOC_CTX *_mem_save_privs_1;
606 if (ndr_flags & NDR_SCALARS) {
607 NDR_CHECK(ndr_pull_align(ndr, 5));
608 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
609 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privs));
610 if (_ptr_privs) {
611 NDR_PULL_ALLOC(ndr, r->privs);
612 } else {
613 r->privs = NULL;
615 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
617 if (ndr_flags & NDR_BUFFERS) {
618 if (r->privs) {
619 _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr);
620 NDR_PULL_SET_MEM_CTX(ndr, r->privs, 0);
621 NDR_CHECK(ndr_pull_array_size(ndr, &r->privs));
622 size_privs_1 = ndr_get_array_size(ndr, &r->privs);
623 NDR_PULL_ALLOC_N(ndr, r->privs, size_privs_1);
624 _mem_save_privs_1 = NDR_PULL_GET_MEM_CTX(ndr);
625 NDR_PULL_SET_MEM_CTX(ndr, r->privs, 0);
626 for (cntr_privs_1 = 0; cntr_privs_1 < size_privs_1; cntr_privs_1++) {
627 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr, NDR_SCALARS, &r->privs[cntr_privs_1]));
629 for (cntr_privs_1 = 0; cntr_privs_1 < size_privs_1; cntr_privs_1++) {
630 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr, NDR_BUFFERS, &r->privs[cntr_privs_1]));
632 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_1, 0);
633 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, 0);
635 if (r->privs) {
636 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->privs, r->count));
639 return NDR_ERR_SUCCESS;
642 _PUBLIC_ void ndr_print_lsa_PrivArray(struct ndr_print *ndr, const char *name, const struct lsa_PrivArray *r)
644 uint32_t cntr_privs_1;
645 ndr_print_struct(ndr, name, "lsa_PrivArray");
646 ndr->depth++;
647 ndr_print_uint32(ndr, "count", r->count);
648 ndr_print_ptr(ndr, "privs", r->privs);
649 ndr->depth++;
650 if (r->privs) {
651 ndr->print(ndr, "%s: ARRAY(%d)", "privs", (int)r->count);
652 ndr->depth++;
653 for (cntr_privs_1=0;cntr_privs_1<r->count;cntr_privs_1++) {
654 char *idx_1=NULL;
655 if (asprintf(&idx_1, "[%d]", cntr_privs_1) != -1) {
656 ndr_print_lsa_PrivEntry(ndr, "privs", &r->privs[cntr_privs_1]);
657 free(idx_1);
660 ndr->depth--;
662 ndr->depth--;
663 ndr->depth--;
666 static enum ndr_err_code ndr_push_lsa_QosInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_QosInfo *r)
668 if (ndr_flags & NDR_SCALARS) {
669 NDR_CHECK(ndr_push_align(ndr, 4));
670 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
671 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->impersonation_level));
672 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->context_mode));
673 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->effective_only));
674 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
676 if (ndr_flags & NDR_BUFFERS) {
678 return NDR_ERR_SUCCESS;
681 static enum ndr_err_code ndr_pull_lsa_QosInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_QosInfo *r)
683 if (ndr_flags & NDR_SCALARS) {
684 NDR_CHECK(ndr_pull_align(ndr, 4));
685 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
686 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->impersonation_level));
687 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->context_mode));
688 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->effective_only));
689 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
691 if (ndr_flags & NDR_BUFFERS) {
693 return NDR_ERR_SUCCESS;
696 _PUBLIC_ void ndr_print_lsa_QosInfo(struct ndr_print *ndr, const char *name, const struct lsa_QosInfo *r)
698 ndr_print_struct(ndr, name, "lsa_QosInfo");
699 ndr->depth++;
700 ndr_print_uint32(ndr, "len", r->len);
701 ndr_print_uint16(ndr, "impersonation_level", r->impersonation_level);
702 ndr_print_uint8(ndr, "context_mode", r->context_mode);
703 ndr_print_uint8(ndr, "effective_only", r->effective_only);
704 ndr->depth--;
707 static enum ndr_err_code ndr_push_lsa_ObjectAttribute(struct ndr_push *ndr, int ndr_flags, const struct lsa_ObjectAttribute *r)
709 if (ndr_flags & NDR_SCALARS) {
710 NDR_CHECK(ndr_push_align(ndr, 5));
711 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
712 NDR_CHECK(ndr_push_unique_ptr(ndr, r->root_dir));
713 NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_name));
714 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attributes));
715 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sec_desc));
716 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sec_qos));
717 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
719 if (ndr_flags & NDR_BUFFERS) {
720 if (r->root_dir) {
721 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, *r->root_dir));
723 if (r->object_name) {
724 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16)));
725 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
726 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_name, CH_UTF16)));
727 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_name, ndr_charset_length(r->object_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
729 if (r->sec_desc) {
730 NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sec_desc));
732 if (r->sec_qos) {
733 NDR_CHECK(ndr_push_lsa_QosInfo(ndr, NDR_SCALARS, r->sec_qos));
736 return NDR_ERR_SUCCESS;
739 static enum ndr_err_code ndr_pull_lsa_ObjectAttribute(struct ndr_pull *ndr, int ndr_flags, struct lsa_ObjectAttribute *r)
741 uint32_t _ptr_root_dir;
742 TALLOC_CTX *_mem_save_root_dir_0;
743 uint32_t _ptr_object_name;
744 uint32_t size_object_name_1 = 0;
745 uint32_t length_object_name_1 = 0;
746 TALLOC_CTX *_mem_save_object_name_0;
747 uint32_t _ptr_sec_desc;
748 TALLOC_CTX *_mem_save_sec_desc_0;
749 uint32_t _ptr_sec_qos;
750 TALLOC_CTX *_mem_save_sec_qos_0;
751 if (ndr_flags & NDR_SCALARS) {
752 NDR_CHECK(ndr_pull_align(ndr, 5));
753 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_root_dir));
755 if (_ptr_root_dir) {
756 NDR_PULL_ALLOC(ndr, r->root_dir);
757 } else {
758 r->root_dir = NULL;
760 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_object_name));
761 if (_ptr_object_name) {
762 NDR_PULL_ALLOC(ndr, r->object_name);
763 } else {
764 r->object_name = NULL;
766 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attributes));
767 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_desc));
768 if (_ptr_sec_desc) {
769 NDR_PULL_ALLOC(ndr, r->sec_desc);
770 } else {
771 r->sec_desc = NULL;
773 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_qos));
774 if (_ptr_sec_qos) {
775 NDR_PULL_ALLOC(ndr, r->sec_qos);
776 } else {
777 r->sec_qos = NULL;
779 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
781 if (ndr_flags & NDR_BUFFERS) {
782 if (r->root_dir) {
783 _mem_save_root_dir_0 = NDR_PULL_GET_MEM_CTX(ndr);
784 NDR_PULL_SET_MEM_CTX(ndr, r->root_dir, 0);
785 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, r->root_dir));
786 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_root_dir_0, 0);
788 if (r->object_name) {
789 _mem_save_object_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
790 NDR_PULL_SET_MEM_CTX(ndr, r->object_name, 0);
791 NDR_CHECK(ndr_pull_array_size(ndr, &r->object_name));
792 NDR_CHECK(ndr_pull_array_length(ndr, &r->object_name));
793 size_object_name_1 = ndr_get_array_size(ndr, &r->object_name);
794 length_object_name_1 = ndr_get_array_length(ndr, &r->object_name);
795 if (length_object_name_1 > size_object_name_1) {
796 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_object_name_1, length_object_name_1);
798 NDR_CHECK(ndr_check_string_terminator(ndr, length_object_name_1, sizeof(uint16_t)));
799 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_name, length_object_name_1, sizeof(uint16_t), CH_UTF16));
800 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_name_0, 0);
802 if (r->sec_desc) {
803 _mem_save_sec_desc_0 = NDR_PULL_GET_MEM_CTX(ndr);
804 NDR_PULL_SET_MEM_CTX(ndr, r->sec_desc, 0);
805 NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->sec_desc));
806 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_desc_0, 0);
808 if (r->sec_qos) {
809 _mem_save_sec_qos_0 = NDR_PULL_GET_MEM_CTX(ndr);
810 NDR_PULL_SET_MEM_CTX(ndr, r->sec_qos, 0);
811 NDR_CHECK(ndr_pull_lsa_QosInfo(ndr, NDR_SCALARS, r->sec_qos));
812 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_qos_0, 0);
815 return NDR_ERR_SUCCESS;
818 _PUBLIC_ void ndr_print_lsa_ObjectAttribute(struct ndr_print *ndr, const char *name, const struct lsa_ObjectAttribute *r)
820 ndr_print_struct(ndr, name, "lsa_ObjectAttribute");
821 ndr->depth++;
822 ndr_print_uint32(ndr, "len", r->len);
823 ndr_print_ptr(ndr, "root_dir", r->root_dir);
824 ndr->depth++;
825 if (r->root_dir) {
826 ndr_print_uint8(ndr, "root_dir", *r->root_dir);
828 ndr->depth--;
829 ndr_print_ptr(ndr, "object_name", r->object_name);
830 ndr->depth++;
831 if (r->object_name) {
832 ndr_print_string(ndr, "object_name", r->object_name);
834 ndr->depth--;
835 ndr_print_uint32(ndr, "attributes", r->attributes);
836 ndr_print_ptr(ndr, "sec_desc", r->sec_desc);
837 ndr->depth++;
838 if (r->sec_desc) {
839 ndr_print_security_descriptor(ndr, "sec_desc", r->sec_desc);
841 ndr->depth--;
842 ndr_print_ptr(ndr, "sec_qos", r->sec_qos);
843 ndr->depth++;
844 if (r->sec_qos) {
845 ndr_print_lsa_QosInfo(ndr, "sec_qos", r->sec_qos);
847 ndr->depth--;
848 ndr->depth--;
851 _PUBLIC_ enum ndr_err_code ndr_push_lsa_PolicyAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
853 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
854 return NDR_ERR_SUCCESS;
857 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_PolicyAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
859 uint32_t v;
860 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
861 *r = v;
862 return NDR_ERR_SUCCESS;
865 _PUBLIC_ void ndr_print_lsa_PolicyAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
867 ndr_print_uint32(ndr, name, r);
868 ndr->depth++;
869 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_VIEW_LOCAL_INFORMATION", LSA_POLICY_VIEW_LOCAL_INFORMATION, r);
870 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_VIEW_AUDIT_INFORMATION", LSA_POLICY_VIEW_AUDIT_INFORMATION, r);
871 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_GET_PRIVATE_INFORMATION", LSA_POLICY_GET_PRIVATE_INFORMATION, r);
872 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_TRUST_ADMIN", LSA_POLICY_TRUST_ADMIN, r);
873 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_CREATE_ACCOUNT", LSA_POLICY_CREATE_ACCOUNT, r);
874 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_CREATE_SECRET", LSA_POLICY_CREATE_SECRET, r);
875 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_CREATE_PRIVILEGE", LSA_POLICY_CREATE_PRIVILEGE, r);
876 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS", LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS, r);
877 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_SET_AUDIT_REQUIREMENTS", LSA_POLICY_SET_AUDIT_REQUIREMENTS, r);
878 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_AUDIT_LOG_ADMIN", LSA_POLICY_AUDIT_LOG_ADMIN, r);
879 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_SERVER_ADMIN", LSA_POLICY_SERVER_ADMIN, r);
880 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_LOOKUP_NAMES", LSA_POLICY_LOOKUP_NAMES, r);
881 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_POLICY_NOTIFICATION", LSA_POLICY_NOTIFICATION, r);
882 ndr->depth--;
885 _PUBLIC_ enum ndr_err_code ndr_push_lsa_AccountAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
887 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
888 return NDR_ERR_SUCCESS;
891 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_AccountAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
893 uint32_t v;
894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
895 *r = v;
896 return NDR_ERR_SUCCESS;
899 _PUBLIC_ void ndr_print_lsa_AccountAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
901 ndr_print_uint32(ndr, name, r);
902 ndr->depth++;
903 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_ACCOUNT_VIEW", LSA_ACCOUNT_VIEW, r);
904 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_PRIVILEGES", LSA_ACCOUNT_ADJUST_PRIVILEGES, r);
905 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_QUOTAS", LSA_ACCOUNT_ADJUST_QUOTAS, r);
906 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS", LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS, r);
907 ndr->depth--;
910 _PUBLIC_ enum ndr_err_code ndr_push_lsa_SecretAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
913 return NDR_ERR_SUCCESS;
916 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SecretAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
918 uint32_t v;
919 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
920 *r = v;
921 return NDR_ERR_SUCCESS;
924 _PUBLIC_ void ndr_print_lsa_SecretAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
926 ndr_print_uint32(ndr, name, r);
927 ndr->depth++;
928 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_SECRET_SET_VALUE", LSA_SECRET_SET_VALUE, r);
929 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_SECRET_QUERY_VALUE", LSA_SECRET_QUERY_VALUE, r);
930 ndr->depth--;
933 _PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustedAccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
935 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
936 return NDR_ERR_SUCCESS;
939 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustedAccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
941 uint32_t v;
942 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
943 *r = v;
944 return NDR_ERR_SUCCESS;
947 _PUBLIC_ void ndr_print_lsa_TrustedAccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
949 ndr_print_uint32(ndr, name, r);
950 ndr->depth++;
951 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_QUERY_DOMAIN_NAME", LSA_TRUSTED_QUERY_DOMAIN_NAME, r);
952 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_QUERY_CONTROLLERS", LSA_TRUSTED_QUERY_CONTROLLERS, r);
953 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_SET_CONTROLLERS", LSA_TRUSTED_SET_CONTROLLERS, r);
954 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_QUERY_POSIX", LSA_TRUSTED_QUERY_POSIX, r);
955 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_SET_POSIX", LSA_TRUSTED_SET_POSIX, r);
956 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_SET_AUTH", LSA_TRUSTED_SET_AUTH, r);
957 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUSTED_QUERY_AUTH", LSA_TRUSTED_QUERY_AUTH, r);
958 ndr->depth--;
961 static enum ndr_err_code ndr_push_lsa_AuditLogInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditLogInfo *r)
963 if (ndr_flags & NDR_SCALARS) {
964 NDR_CHECK(ndr_push_align(ndr, 8));
965 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->percent_full));
966 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->maximum_log_size));
967 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->retention_time));
968 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_in_progress));
969 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->time_to_shutdown));
970 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->next_audit_record));
971 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
973 if (ndr_flags & NDR_BUFFERS) {
975 return NDR_ERR_SUCCESS;
978 static enum ndr_err_code ndr_pull_lsa_AuditLogInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditLogInfo *r)
980 if (ndr_flags & NDR_SCALARS) {
981 NDR_CHECK(ndr_pull_align(ndr, 8));
982 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->percent_full));
983 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->maximum_log_size));
984 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->retention_time));
985 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_in_progress));
986 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->time_to_shutdown));
987 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->next_audit_record));
988 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
990 if (ndr_flags & NDR_BUFFERS) {
992 return NDR_ERR_SUCCESS;
995 _PUBLIC_ void ndr_print_lsa_AuditLogInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditLogInfo *r)
997 ndr_print_struct(ndr, name, "lsa_AuditLogInfo");
998 ndr->depth++;
999 ndr_print_uint32(ndr, "percent_full", r->percent_full);
1000 ndr_print_uint32(ndr, "maximum_log_size", r->maximum_log_size);
1001 ndr_print_hyper(ndr, "retention_time", r->retention_time);
1002 ndr_print_uint8(ndr, "shutdown_in_progress", r->shutdown_in_progress);
1003 ndr_print_hyper(ndr, "time_to_shutdown", r->time_to_shutdown);
1004 ndr_print_uint32(ndr, "next_audit_record", r->next_audit_record);
1005 ndr->depth--;
1008 static enum ndr_err_code ndr_push_lsa_PolicyAuditPolicy(struct ndr_push *ndr, int ndr_flags, enum lsa_PolicyAuditPolicy r)
1010 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1011 return NDR_ERR_SUCCESS;
1014 static enum ndr_err_code ndr_pull_lsa_PolicyAuditPolicy(struct ndr_pull *ndr, int ndr_flags, enum lsa_PolicyAuditPolicy *r)
1016 uint32_t v;
1017 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1018 *r = v;
1019 return NDR_ERR_SUCCESS;
1022 _PUBLIC_ void ndr_print_lsa_PolicyAuditPolicy(struct ndr_print *ndr, const char *name, enum lsa_PolicyAuditPolicy r)
1024 const char *val = NULL;
1026 switch (r) {
1027 case LSA_AUDIT_POLICY_NONE: val = "LSA_AUDIT_POLICY_NONE"; break;
1028 case LSA_AUDIT_POLICY_SUCCESS: val = "LSA_AUDIT_POLICY_SUCCESS"; break;
1029 case LSA_AUDIT_POLICY_FAILURE: val = "LSA_AUDIT_POLICY_FAILURE"; break;
1030 case LSA_AUDIT_POLICY_ALL: val = "LSA_AUDIT_POLICY_ALL"; break;
1031 case LSA_AUDIT_POLICY_CLEAR: val = "LSA_AUDIT_POLICY_CLEAR"; break;
1033 ndr_print_enum(ndr, name, "ENUM", val, r);
1036 static enum ndr_err_code ndr_push_lsa_AuditEventsInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditEventsInfo *r)
1038 uint32_t cntr_settings_1;
1039 if (ndr_flags & NDR_SCALARS) {
1040 NDR_CHECK(ndr_push_align(ndr, 5));
1041 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auditing_mode));
1042 NDR_CHECK(ndr_push_unique_ptr(ndr, r->settings));
1043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
1044 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1046 if (ndr_flags & NDR_BUFFERS) {
1047 if (r->settings) {
1048 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
1049 for (cntr_settings_1 = 0; cntr_settings_1 < r->count; cntr_settings_1++) {
1050 NDR_CHECK(ndr_push_lsa_PolicyAuditPolicy(ndr, NDR_SCALARS, r->settings[cntr_settings_1]));
1054 return NDR_ERR_SUCCESS;
1057 static enum ndr_err_code ndr_pull_lsa_AuditEventsInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditEventsInfo *r)
1059 uint32_t _ptr_settings;
1060 uint32_t size_settings_1 = 0;
1061 uint32_t cntr_settings_1;
1062 TALLOC_CTX *_mem_save_settings_0;
1063 TALLOC_CTX *_mem_save_settings_1;
1064 if (ndr_flags & NDR_SCALARS) {
1065 NDR_CHECK(ndr_pull_align(ndr, 5));
1066 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auditing_mode));
1067 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_settings));
1068 if (_ptr_settings) {
1069 NDR_PULL_ALLOC(ndr, r->settings);
1070 } else {
1071 r->settings = NULL;
1073 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
1074 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1076 if (ndr_flags & NDR_BUFFERS) {
1077 if (r->settings) {
1078 _mem_save_settings_0 = NDR_PULL_GET_MEM_CTX(ndr);
1079 NDR_PULL_SET_MEM_CTX(ndr, r->settings, 0);
1080 NDR_CHECK(ndr_pull_array_size(ndr, &r->settings));
1081 size_settings_1 = ndr_get_array_size(ndr, &r->settings);
1082 NDR_PULL_ALLOC_N(ndr, r->settings, size_settings_1);
1083 _mem_save_settings_1 = NDR_PULL_GET_MEM_CTX(ndr);
1084 NDR_PULL_SET_MEM_CTX(ndr, r->settings, 0);
1085 for (cntr_settings_1 = 0; cntr_settings_1 < size_settings_1; cntr_settings_1++) {
1086 NDR_CHECK(ndr_pull_lsa_PolicyAuditPolicy(ndr, NDR_SCALARS, &r->settings[cntr_settings_1]));
1088 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_settings_1, 0);
1089 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_settings_0, 0);
1091 if (r->settings) {
1092 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->settings, r->count));
1095 return NDR_ERR_SUCCESS;
1098 _PUBLIC_ void ndr_print_lsa_AuditEventsInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditEventsInfo *r)
1100 uint32_t cntr_settings_1;
1101 ndr_print_struct(ndr, name, "lsa_AuditEventsInfo");
1102 ndr->depth++;
1103 ndr_print_uint32(ndr, "auditing_mode", r->auditing_mode);
1104 ndr_print_ptr(ndr, "settings", r->settings);
1105 ndr->depth++;
1106 if (r->settings) {
1107 ndr->print(ndr, "%s: ARRAY(%d)", "settings", (int)r->count);
1108 ndr->depth++;
1109 for (cntr_settings_1=0;cntr_settings_1<r->count;cntr_settings_1++) {
1110 char *idx_1=NULL;
1111 if (asprintf(&idx_1, "[%d]", cntr_settings_1) != -1) {
1112 ndr_print_lsa_PolicyAuditPolicy(ndr, "settings", r->settings[cntr_settings_1]);
1113 free(idx_1);
1116 ndr->depth--;
1118 ndr->depth--;
1119 ndr_print_uint32(ndr, "count", r->count);
1120 ndr->depth--;
1123 static enum ndr_err_code ndr_push_lsa_DomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainInfo *r)
1125 if (ndr_flags & NDR_SCALARS) {
1126 NDR_CHECK(ndr_push_align(ndr, 5));
1127 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
1128 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1129 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1131 if (ndr_flags & NDR_BUFFERS) {
1132 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
1133 if (r->sid) {
1134 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1137 return NDR_ERR_SUCCESS;
1140 static enum ndr_err_code ndr_pull_lsa_DomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInfo *r)
1142 uint32_t _ptr_sid;
1143 TALLOC_CTX *_mem_save_sid_0;
1144 if (ndr_flags & NDR_SCALARS) {
1145 NDR_CHECK(ndr_pull_align(ndr, 5));
1146 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
1147 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1148 if (_ptr_sid) {
1149 NDR_PULL_ALLOC(ndr, r->sid);
1150 } else {
1151 r->sid = NULL;
1153 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1155 if (ndr_flags & NDR_BUFFERS) {
1156 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
1157 if (r->sid) {
1158 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1159 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1160 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1161 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1164 return NDR_ERR_SUCCESS;
1167 _PUBLIC_ void ndr_print_lsa_DomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfo *r)
1169 ndr_print_struct(ndr, name, "lsa_DomainInfo");
1170 ndr->depth++;
1171 ndr_print_lsa_StringLarge(ndr, "name", &r->name);
1172 ndr_print_ptr(ndr, "sid", r->sid);
1173 ndr->depth++;
1174 if (r->sid) {
1175 ndr_print_dom_sid2(ndr, "sid", r->sid);
1177 ndr->depth--;
1178 ndr->depth--;
1181 static enum ndr_err_code ndr_push_lsa_PDAccountInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_PDAccountInfo *r)
1183 if (ndr_flags & NDR_SCALARS) {
1184 NDR_CHECK(ndr_push_align(ndr, 5));
1185 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
1186 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1188 if (ndr_flags & NDR_BUFFERS) {
1189 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
1191 return NDR_ERR_SUCCESS;
1194 static enum ndr_err_code ndr_pull_lsa_PDAccountInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_PDAccountInfo *r)
1196 if (ndr_flags & NDR_SCALARS) {
1197 NDR_CHECK(ndr_pull_align(ndr, 5));
1198 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
1199 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1201 if (ndr_flags & NDR_BUFFERS) {
1202 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
1204 return NDR_ERR_SUCCESS;
1207 _PUBLIC_ void ndr_print_lsa_PDAccountInfo(struct ndr_print *ndr, const char *name, const struct lsa_PDAccountInfo *r)
1209 ndr_print_struct(ndr, name, "lsa_PDAccountInfo");
1210 ndr->depth++;
1211 ndr_print_lsa_String(ndr, "name", &r->name);
1212 ndr->depth--;
1215 static enum ndr_err_code ndr_push_lsa_Role(struct ndr_push *ndr, int ndr_flags, enum lsa_Role r)
1217 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1218 return NDR_ERR_SUCCESS;
1221 static enum ndr_err_code ndr_pull_lsa_Role(struct ndr_pull *ndr, int ndr_flags, enum lsa_Role *r)
1223 uint32_t v;
1224 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1225 *r = v;
1226 return NDR_ERR_SUCCESS;
1229 _PUBLIC_ void ndr_print_lsa_Role(struct ndr_print *ndr, const char *name, enum lsa_Role r)
1231 const char *val = NULL;
1233 switch (r) {
1234 case LSA_ROLE_BACKUP: val = "LSA_ROLE_BACKUP"; break;
1235 case LSA_ROLE_PRIMARY: val = "LSA_ROLE_PRIMARY"; break;
1237 ndr_print_enum(ndr, name, "ENUM", val, r);
1240 static enum ndr_err_code ndr_push_lsa_ServerRole(struct ndr_push *ndr, int ndr_flags, const struct lsa_ServerRole *r)
1242 if (ndr_flags & NDR_SCALARS) {
1243 NDR_CHECK(ndr_push_align(ndr, 4));
1244 NDR_CHECK(ndr_push_lsa_Role(ndr, NDR_SCALARS, r->role));
1245 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1247 if (ndr_flags & NDR_BUFFERS) {
1249 return NDR_ERR_SUCCESS;
1252 static enum ndr_err_code ndr_pull_lsa_ServerRole(struct ndr_pull *ndr, int ndr_flags, struct lsa_ServerRole *r)
1254 if (ndr_flags & NDR_SCALARS) {
1255 NDR_CHECK(ndr_pull_align(ndr, 4));
1256 NDR_CHECK(ndr_pull_lsa_Role(ndr, NDR_SCALARS, &r->role));
1257 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1259 if (ndr_flags & NDR_BUFFERS) {
1261 return NDR_ERR_SUCCESS;
1264 _PUBLIC_ void ndr_print_lsa_ServerRole(struct ndr_print *ndr, const char *name, const struct lsa_ServerRole *r)
1266 ndr_print_struct(ndr, name, "lsa_ServerRole");
1267 ndr->depth++;
1268 ndr_print_lsa_Role(ndr, "role", r->role);
1269 ndr->depth--;
1272 static enum ndr_err_code ndr_push_lsa_ReplicaSourceInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ReplicaSourceInfo *r)
1274 if (ndr_flags & NDR_SCALARS) {
1275 NDR_CHECK(ndr_push_align(ndr, 5));
1276 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->source));
1277 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->account));
1278 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1280 if (ndr_flags & NDR_BUFFERS) {
1281 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->source));
1282 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->account));
1284 return NDR_ERR_SUCCESS;
1287 static enum ndr_err_code ndr_pull_lsa_ReplicaSourceInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ReplicaSourceInfo *r)
1289 if (ndr_flags & NDR_SCALARS) {
1290 NDR_CHECK(ndr_pull_align(ndr, 5));
1291 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->source));
1292 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->account));
1293 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1295 if (ndr_flags & NDR_BUFFERS) {
1296 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->source));
1297 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->account));
1299 return NDR_ERR_SUCCESS;
1302 _PUBLIC_ void ndr_print_lsa_ReplicaSourceInfo(struct ndr_print *ndr, const char *name, const struct lsa_ReplicaSourceInfo *r)
1304 ndr_print_struct(ndr, name, "lsa_ReplicaSourceInfo");
1305 ndr->depth++;
1306 ndr_print_lsa_String(ndr, "source", &r->source);
1307 ndr_print_lsa_String(ndr, "account", &r->account);
1308 ndr->depth--;
1311 static enum ndr_err_code ndr_push_lsa_DefaultQuotaInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DefaultQuotaInfo *r)
1313 if (ndr_flags & NDR_SCALARS) {
1314 NDR_CHECK(ndr_push_align(ndr, 8));
1315 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->paged_pool));
1316 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->non_paged_pool));
1317 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->min_wss));
1318 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_wss));
1319 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pagefile));
1320 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown));
1321 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1323 if (ndr_flags & NDR_BUFFERS) {
1325 return NDR_ERR_SUCCESS;
1328 static enum ndr_err_code ndr_pull_lsa_DefaultQuotaInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_DefaultQuotaInfo *r)
1330 if (ndr_flags & NDR_SCALARS) {
1331 NDR_CHECK(ndr_pull_align(ndr, 8));
1332 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->paged_pool));
1333 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->non_paged_pool));
1334 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->min_wss));
1335 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_wss));
1336 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pagefile));
1337 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown));
1338 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1340 if (ndr_flags & NDR_BUFFERS) {
1342 return NDR_ERR_SUCCESS;
1345 _PUBLIC_ void ndr_print_lsa_DefaultQuotaInfo(struct ndr_print *ndr, const char *name, const struct lsa_DefaultQuotaInfo *r)
1347 ndr_print_struct(ndr, name, "lsa_DefaultQuotaInfo");
1348 ndr->depth++;
1349 ndr_print_uint32(ndr, "paged_pool", r->paged_pool);
1350 ndr_print_uint32(ndr, "non_paged_pool", r->non_paged_pool);
1351 ndr_print_uint32(ndr, "min_wss", r->min_wss);
1352 ndr_print_uint32(ndr, "max_wss", r->max_wss);
1353 ndr_print_uint32(ndr, "pagefile", r->pagefile);
1354 ndr_print_hyper(ndr, "unknown", r->unknown);
1355 ndr->depth--;
1358 static enum ndr_err_code ndr_push_lsa_ModificationInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ModificationInfo *r)
1360 if (ndr_flags & NDR_SCALARS) {
1361 NDR_CHECK(ndr_push_align(ndr, 8));
1362 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->modified_id));
1363 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->db_create_time));
1364 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
1366 if (ndr_flags & NDR_BUFFERS) {
1368 return NDR_ERR_SUCCESS;
1371 static enum ndr_err_code ndr_pull_lsa_ModificationInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ModificationInfo *r)
1373 if (ndr_flags & NDR_SCALARS) {
1374 NDR_CHECK(ndr_pull_align(ndr, 8));
1375 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->modified_id));
1376 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->db_create_time));
1377 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
1379 if (ndr_flags & NDR_BUFFERS) {
1381 return NDR_ERR_SUCCESS;
1384 _PUBLIC_ void ndr_print_lsa_ModificationInfo(struct ndr_print *ndr, const char *name, const struct lsa_ModificationInfo *r)
1386 ndr_print_struct(ndr, name, "lsa_ModificationInfo");
1387 ndr->depth++;
1388 ndr_print_hyper(ndr, "modified_id", r->modified_id);
1389 ndr_print_NTTIME_hyper(ndr, "db_create_time", r->db_create_time);
1390 ndr->depth--;
1393 static enum ndr_err_code ndr_push_lsa_AuditFullSetInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditFullSetInfo *r)
1395 if (ndr_flags & NDR_SCALARS) {
1396 NDR_CHECK(ndr_push_align(ndr, 1));
1397 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_on_full));
1398 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1400 if (ndr_flags & NDR_BUFFERS) {
1402 return NDR_ERR_SUCCESS;
1405 static enum ndr_err_code ndr_pull_lsa_AuditFullSetInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditFullSetInfo *r)
1407 if (ndr_flags & NDR_SCALARS) {
1408 NDR_CHECK(ndr_pull_align(ndr, 1));
1409 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_on_full));
1410 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1412 if (ndr_flags & NDR_BUFFERS) {
1414 return NDR_ERR_SUCCESS;
1417 _PUBLIC_ void ndr_print_lsa_AuditFullSetInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditFullSetInfo *r)
1419 ndr_print_struct(ndr, name, "lsa_AuditFullSetInfo");
1420 ndr->depth++;
1421 ndr_print_uint8(ndr, "shutdown_on_full", r->shutdown_on_full);
1422 ndr->depth--;
1425 static enum ndr_err_code ndr_push_lsa_AuditFullQueryInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_AuditFullQueryInfo *r)
1427 if (ndr_flags & NDR_SCALARS) {
1428 NDR_CHECK(ndr_push_align(ndr, 1));
1429 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->shutdown_on_full));
1430 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->log_is_full));
1431 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1433 if (ndr_flags & NDR_BUFFERS) {
1435 return NDR_ERR_SUCCESS;
1438 static enum ndr_err_code ndr_pull_lsa_AuditFullQueryInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_AuditFullQueryInfo *r)
1440 if (ndr_flags & NDR_SCALARS) {
1441 NDR_CHECK(ndr_pull_align(ndr, 1));
1442 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->shutdown_on_full));
1443 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->log_is_full));
1444 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1446 if (ndr_flags & NDR_BUFFERS) {
1448 return NDR_ERR_SUCCESS;
1451 _PUBLIC_ void ndr_print_lsa_AuditFullQueryInfo(struct ndr_print *ndr, const char *name, const struct lsa_AuditFullQueryInfo *r)
1453 ndr_print_struct(ndr, name, "lsa_AuditFullQueryInfo");
1454 ndr->depth++;
1455 ndr_print_uint8(ndr, "shutdown_on_full", r->shutdown_on_full);
1456 ndr_print_uint8(ndr, "log_is_full", r->log_is_full);
1457 ndr->depth--;
1460 static enum ndr_err_code ndr_push_lsa_DnsDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_DnsDomainInfo *r)
1462 if (ndr_flags & NDR_SCALARS) {
1463 NDR_CHECK(ndr_push_align(ndr, 5));
1464 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
1465 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain));
1466 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forest));
1467 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->domain_guid));
1468 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1469 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1471 if (ndr_flags & NDR_BUFFERS) {
1472 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
1473 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain));
1474 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forest));
1475 if (r->sid) {
1476 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1479 return NDR_ERR_SUCCESS;
1482 static enum ndr_err_code ndr_pull_lsa_DnsDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_DnsDomainInfo *r)
1484 uint32_t _ptr_sid;
1485 TALLOC_CTX *_mem_save_sid_0;
1486 if (ndr_flags & NDR_SCALARS) {
1487 NDR_CHECK(ndr_pull_align(ndr, 5));
1488 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->name));
1489 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain));
1490 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_forest));
1491 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->domain_guid));
1492 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1493 if (_ptr_sid) {
1494 NDR_PULL_ALLOC(ndr, r->sid);
1495 } else {
1496 r->sid = NULL;
1498 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1500 if (ndr_flags & NDR_BUFFERS) {
1501 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->name));
1502 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain));
1503 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_forest));
1504 if (r->sid) {
1505 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1506 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1507 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1508 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1511 return NDR_ERR_SUCCESS;
1514 _PUBLIC_ void ndr_print_lsa_DnsDomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_DnsDomainInfo *r)
1516 ndr_print_struct(ndr, name, "lsa_DnsDomainInfo");
1517 ndr->depth++;
1518 ndr_print_lsa_StringLarge(ndr, "name", &r->name);
1519 ndr_print_lsa_StringLarge(ndr, "dns_domain", &r->dns_domain);
1520 ndr_print_lsa_StringLarge(ndr, "dns_forest", &r->dns_forest);
1521 ndr_print_GUID(ndr, "domain_guid", &r->domain_guid);
1522 ndr_print_ptr(ndr, "sid", r->sid);
1523 ndr->depth++;
1524 if (r->sid) {
1525 ndr_print_dom_sid2(ndr, "sid", r->sid);
1527 ndr->depth--;
1528 ndr->depth--;
1531 static enum ndr_err_code ndr_push_lsa_PolicyInfo(struct ndr_push *ndr, int ndr_flags, enum lsa_PolicyInfo r)
1533 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
1534 return NDR_ERR_SUCCESS;
1537 static enum ndr_err_code ndr_pull_lsa_PolicyInfo(struct ndr_pull *ndr, int ndr_flags, enum lsa_PolicyInfo *r)
1539 uint16_t v;
1540 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
1541 *r = v;
1542 return NDR_ERR_SUCCESS;
1545 _PUBLIC_ void ndr_print_lsa_PolicyInfo(struct ndr_print *ndr, const char *name, enum lsa_PolicyInfo r)
1547 const char *val = NULL;
1549 switch (r) {
1550 case LSA_POLICY_INFO_AUDIT_LOG: val = "LSA_POLICY_INFO_AUDIT_LOG"; break;
1551 case LSA_POLICY_INFO_AUDIT_EVENTS: val = "LSA_POLICY_INFO_AUDIT_EVENTS"; break;
1552 case LSA_POLICY_INFO_DOMAIN: val = "LSA_POLICY_INFO_DOMAIN"; break;
1553 case LSA_POLICY_INFO_PD: val = "LSA_POLICY_INFO_PD"; break;
1554 case LSA_POLICY_INFO_ACCOUNT_DOMAIN: val = "LSA_POLICY_INFO_ACCOUNT_DOMAIN"; break;
1555 case LSA_POLICY_INFO_ROLE: val = "LSA_POLICY_INFO_ROLE"; break;
1556 case LSA_POLICY_INFO_REPLICA: val = "LSA_POLICY_INFO_REPLICA"; break;
1557 case LSA_POLICY_INFO_QUOTA: val = "LSA_POLICY_INFO_QUOTA"; break;
1558 case LSA_POLICY_INFO_MOD: val = "LSA_POLICY_INFO_MOD"; break;
1559 case LSA_POLICY_INFO_AUDIT_FULL_SET: val = "LSA_POLICY_INFO_AUDIT_FULL_SET"; break;
1560 case LSA_POLICY_INFO_AUDIT_FULL_QUERY: val = "LSA_POLICY_INFO_AUDIT_FULL_QUERY"; break;
1561 case LSA_POLICY_INFO_DNS: val = "LSA_POLICY_INFO_DNS"; break;
1562 case LSA_POLICY_INFO_DNS_INT: val = "LSA_POLICY_INFO_DNS_INT"; break;
1563 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: val = "LSA_POLICY_INFO_L_ACCOUNT_DOMAIN"; break;
1565 ndr_print_enum(ndr, name, "ENUM", val, r);
1568 static enum ndr_err_code ndr_push_lsa_PolicyInformation(struct ndr_push *ndr, int ndr_flags, const union lsa_PolicyInformation *r)
1570 if (ndr_flags & NDR_SCALARS) {
1571 int level = ndr_push_get_switch_value(ndr, r);
1572 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
1573 NDR_CHECK(ndr_push_union_align(ndr, 8));
1574 switch (level) {
1575 case LSA_POLICY_INFO_AUDIT_LOG: {
1576 NDR_CHECK(ndr_push_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log));
1577 break; }
1579 case LSA_POLICY_INFO_AUDIT_EVENTS: {
1580 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr, NDR_SCALARS, &r->audit_events));
1581 break; }
1583 case LSA_POLICY_INFO_DOMAIN: {
1584 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domain));
1585 break; }
1587 case LSA_POLICY_INFO_PD: {
1588 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr, NDR_SCALARS, &r->pd));
1589 break; }
1591 case LSA_POLICY_INFO_ACCOUNT_DOMAIN: {
1592 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->account_domain));
1593 break; }
1595 case LSA_POLICY_INFO_ROLE: {
1596 NDR_CHECK(ndr_push_lsa_ServerRole(ndr, NDR_SCALARS, &r->role));
1597 break; }
1599 case LSA_POLICY_INFO_REPLICA: {
1600 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr, NDR_SCALARS, &r->replica));
1601 break; }
1603 case LSA_POLICY_INFO_QUOTA: {
1604 NDR_CHECK(ndr_push_lsa_DefaultQuotaInfo(ndr, NDR_SCALARS, &r->quota));
1605 break; }
1607 case LSA_POLICY_INFO_MOD: {
1608 NDR_CHECK(ndr_push_lsa_ModificationInfo(ndr, NDR_SCALARS, &r->mod));
1609 break; }
1611 case LSA_POLICY_INFO_AUDIT_FULL_SET: {
1612 NDR_CHECK(ndr_push_lsa_AuditFullSetInfo(ndr, NDR_SCALARS, &r->auditfullset));
1613 break; }
1615 case LSA_POLICY_INFO_AUDIT_FULL_QUERY: {
1616 NDR_CHECK(ndr_push_lsa_AuditFullQueryInfo(ndr, NDR_SCALARS, &r->auditfullquery));
1617 break; }
1619 case LSA_POLICY_INFO_DNS: {
1620 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns));
1621 break; }
1623 case LSA_POLICY_INFO_DNS_INT: {
1624 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns));
1625 break; }
1627 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: {
1628 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->l_account_domain));
1629 break; }
1631 default:
1632 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1635 if (ndr_flags & NDR_BUFFERS) {
1636 int level = ndr_push_get_switch_value(ndr, r);
1637 switch (level) {
1638 case LSA_POLICY_INFO_AUDIT_LOG:
1639 break;
1641 case LSA_POLICY_INFO_AUDIT_EVENTS:
1642 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr, NDR_BUFFERS, &r->audit_events));
1643 break;
1645 case LSA_POLICY_INFO_DOMAIN:
1646 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domain));
1647 break;
1649 case LSA_POLICY_INFO_PD:
1650 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr, NDR_BUFFERS, &r->pd));
1651 break;
1653 case LSA_POLICY_INFO_ACCOUNT_DOMAIN:
1654 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->account_domain));
1655 break;
1657 case LSA_POLICY_INFO_ROLE:
1658 break;
1660 case LSA_POLICY_INFO_REPLICA:
1661 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr, NDR_BUFFERS, &r->replica));
1662 break;
1664 case LSA_POLICY_INFO_QUOTA:
1665 break;
1667 case LSA_POLICY_INFO_MOD:
1668 break;
1670 case LSA_POLICY_INFO_AUDIT_FULL_SET:
1671 break;
1673 case LSA_POLICY_INFO_AUDIT_FULL_QUERY:
1674 break;
1676 case LSA_POLICY_INFO_DNS:
1677 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns));
1678 break;
1680 case LSA_POLICY_INFO_DNS_INT:
1681 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns));
1682 break;
1684 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN:
1685 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->l_account_domain));
1686 break;
1688 default:
1689 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1692 return NDR_ERR_SUCCESS;
1695 static enum ndr_err_code ndr_pull_lsa_PolicyInformation(struct ndr_pull *ndr, int ndr_flags, union lsa_PolicyInformation *r)
1697 int level;
1698 uint16_t _level;
1699 level = ndr_pull_get_switch_value(ndr, r);
1700 if (ndr_flags & NDR_SCALARS) {
1701 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
1702 if (_level != level) {
1703 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
1705 NDR_CHECK(ndr_pull_union_align(ndr, 8));
1706 switch (level) {
1707 case LSA_POLICY_INFO_AUDIT_LOG: {
1708 NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr, NDR_SCALARS, &r->audit_log));
1709 break; }
1711 case LSA_POLICY_INFO_AUDIT_EVENTS: {
1712 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_SCALARS, &r->audit_events));
1713 break; }
1715 case LSA_POLICY_INFO_DOMAIN: {
1716 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domain));
1717 break; }
1719 case LSA_POLICY_INFO_PD: {
1720 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr, NDR_SCALARS, &r->pd));
1721 break; }
1723 case LSA_POLICY_INFO_ACCOUNT_DOMAIN: {
1724 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->account_domain));
1725 break; }
1727 case LSA_POLICY_INFO_ROLE: {
1728 NDR_CHECK(ndr_pull_lsa_ServerRole(ndr, NDR_SCALARS, &r->role));
1729 break; }
1731 case LSA_POLICY_INFO_REPLICA: {
1732 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr, NDR_SCALARS, &r->replica));
1733 break; }
1735 case LSA_POLICY_INFO_QUOTA: {
1736 NDR_CHECK(ndr_pull_lsa_DefaultQuotaInfo(ndr, NDR_SCALARS, &r->quota));
1737 break; }
1739 case LSA_POLICY_INFO_MOD: {
1740 NDR_CHECK(ndr_pull_lsa_ModificationInfo(ndr, NDR_SCALARS, &r->mod));
1741 break; }
1743 case LSA_POLICY_INFO_AUDIT_FULL_SET: {
1744 NDR_CHECK(ndr_pull_lsa_AuditFullSetInfo(ndr, NDR_SCALARS, &r->auditfullset));
1745 break; }
1747 case LSA_POLICY_INFO_AUDIT_FULL_QUERY: {
1748 NDR_CHECK(ndr_pull_lsa_AuditFullQueryInfo(ndr, NDR_SCALARS, &r->auditfullquery));
1749 break; }
1751 case LSA_POLICY_INFO_DNS: {
1752 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns));
1753 break; }
1755 case LSA_POLICY_INFO_DNS_INT: {
1756 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_SCALARS, &r->dns));
1757 break; }
1759 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN: {
1760 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->l_account_domain));
1761 break; }
1763 default:
1764 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1767 if (ndr_flags & NDR_BUFFERS) {
1768 switch (level) {
1769 case LSA_POLICY_INFO_AUDIT_LOG:
1770 break;
1772 case LSA_POLICY_INFO_AUDIT_EVENTS:
1773 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr, NDR_BUFFERS, &r->audit_events));
1774 break;
1776 case LSA_POLICY_INFO_DOMAIN:
1777 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domain));
1778 break;
1780 case LSA_POLICY_INFO_PD:
1781 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr, NDR_BUFFERS, &r->pd));
1782 break;
1784 case LSA_POLICY_INFO_ACCOUNT_DOMAIN:
1785 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->account_domain));
1786 break;
1788 case LSA_POLICY_INFO_ROLE:
1789 break;
1791 case LSA_POLICY_INFO_REPLICA:
1792 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr, NDR_BUFFERS, &r->replica));
1793 break;
1795 case LSA_POLICY_INFO_QUOTA:
1796 break;
1798 case LSA_POLICY_INFO_MOD:
1799 break;
1801 case LSA_POLICY_INFO_AUDIT_FULL_SET:
1802 break;
1804 case LSA_POLICY_INFO_AUDIT_FULL_QUERY:
1805 break;
1807 case LSA_POLICY_INFO_DNS:
1808 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns));
1809 break;
1811 case LSA_POLICY_INFO_DNS_INT:
1812 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr, NDR_BUFFERS, &r->dns));
1813 break;
1815 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN:
1816 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->l_account_domain));
1817 break;
1819 default:
1820 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1823 return NDR_ERR_SUCCESS;
1826 _PUBLIC_ void ndr_print_lsa_PolicyInformation(struct ndr_print *ndr, const char *name, const union lsa_PolicyInformation *r)
1828 int level;
1829 level = ndr_print_get_switch_value(ndr, r);
1830 ndr_print_union(ndr, name, level, "lsa_PolicyInformation");
1831 switch (level) {
1832 case LSA_POLICY_INFO_AUDIT_LOG:
1833 ndr_print_lsa_AuditLogInfo(ndr, "audit_log", &r->audit_log);
1834 break;
1836 case LSA_POLICY_INFO_AUDIT_EVENTS:
1837 ndr_print_lsa_AuditEventsInfo(ndr, "audit_events", &r->audit_events);
1838 break;
1840 case LSA_POLICY_INFO_DOMAIN:
1841 ndr_print_lsa_DomainInfo(ndr, "domain", &r->domain);
1842 break;
1844 case LSA_POLICY_INFO_PD:
1845 ndr_print_lsa_PDAccountInfo(ndr, "pd", &r->pd);
1846 break;
1848 case LSA_POLICY_INFO_ACCOUNT_DOMAIN:
1849 ndr_print_lsa_DomainInfo(ndr, "account_domain", &r->account_domain);
1850 break;
1852 case LSA_POLICY_INFO_ROLE:
1853 ndr_print_lsa_ServerRole(ndr, "role", &r->role);
1854 break;
1856 case LSA_POLICY_INFO_REPLICA:
1857 ndr_print_lsa_ReplicaSourceInfo(ndr, "replica", &r->replica);
1858 break;
1860 case LSA_POLICY_INFO_QUOTA:
1861 ndr_print_lsa_DefaultQuotaInfo(ndr, "quota", &r->quota);
1862 break;
1864 case LSA_POLICY_INFO_MOD:
1865 ndr_print_lsa_ModificationInfo(ndr, "mod", &r->mod);
1866 break;
1868 case LSA_POLICY_INFO_AUDIT_FULL_SET:
1869 ndr_print_lsa_AuditFullSetInfo(ndr, "auditfullset", &r->auditfullset);
1870 break;
1872 case LSA_POLICY_INFO_AUDIT_FULL_QUERY:
1873 ndr_print_lsa_AuditFullQueryInfo(ndr, "auditfullquery", &r->auditfullquery);
1874 break;
1876 case LSA_POLICY_INFO_DNS:
1877 ndr_print_lsa_DnsDomainInfo(ndr, "dns", &r->dns);
1878 break;
1880 case LSA_POLICY_INFO_DNS_INT:
1881 ndr_print_lsa_DnsDomainInfo(ndr, "dns", &r->dns);
1882 break;
1884 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN:
1885 ndr_print_lsa_DomainInfo(ndr, "l_account_domain", &r->l_account_domain);
1886 break;
1888 default:
1889 ndr_print_bad_level(ndr, name, level);
1893 static enum ndr_err_code ndr_push_lsa_SidPtr(struct ndr_push *ndr, int ndr_flags, const struct lsa_SidPtr *r)
1895 if (ndr_flags & NDR_SCALARS) {
1896 NDR_CHECK(ndr_push_align(ndr, 5));
1897 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1898 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1900 if (ndr_flags & NDR_BUFFERS) {
1901 if (r->sid) {
1902 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1905 return NDR_ERR_SUCCESS;
1908 static enum ndr_err_code ndr_pull_lsa_SidPtr(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidPtr *r)
1910 uint32_t _ptr_sid;
1911 TALLOC_CTX *_mem_save_sid_0;
1912 if (ndr_flags & NDR_SCALARS) {
1913 NDR_CHECK(ndr_pull_align(ndr, 5));
1914 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1915 if (_ptr_sid) {
1916 NDR_PULL_ALLOC(ndr, r->sid);
1917 } else {
1918 r->sid = NULL;
1920 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1922 if (ndr_flags & NDR_BUFFERS) {
1923 if (r->sid) {
1924 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1925 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1926 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1927 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1930 return NDR_ERR_SUCCESS;
1933 _PUBLIC_ void ndr_print_lsa_SidPtr(struct ndr_print *ndr, const char *name, const struct lsa_SidPtr *r)
1935 ndr_print_struct(ndr, name, "lsa_SidPtr");
1936 ndr->depth++;
1937 ndr_print_ptr(ndr, "sid", r->sid);
1938 ndr->depth++;
1939 if (r->sid) {
1940 ndr_print_dom_sid2(ndr, "sid", r->sid);
1942 ndr->depth--;
1943 ndr->depth--;
1946 _PUBLIC_ enum ndr_err_code ndr_push_lsa_SidArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_SidArray *r)
1948 uint32_t cntr_sids_1;
1949 if (ndr_flags & NDR_SCALARS) {
1950 NDR_CHECK(ndr_push_align(ndr, 5));
1951 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
1952 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1953 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1955 if (ndr_flags & NDR_BUFFERS) {
1956 if (r->sids) {
1957 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_sids));
1958 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
1959 NDR_CHECK(ndr_push_lsa_SidPtr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1961 for (cntr_sids_1 = 0; cntr_sids_1 < r->num_sids; cntr_sids_1++) {
1962 NDR_CHECK(ndr_push_lsa_SidPtr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1966 return NDR_ERR_SUCCESS;
1969 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_SidArray *r)
1971 uint32_t _ptr_sids;
1972 uint32_t size_sids_1 = 0;
1973 uint32_t cntr_sids_1;
1974 TALLOC_CTX *_mem_save_sids_0;
1975 TALLOC_CTX *_mem_save_sids_1;
1976 if (ndr_flags & NDR_SCALARS) {
1977 NDR_CHECK(ndr_pull_align(ndr, 5));
1978 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
1979 if (r->num_sids > 20480) {
1980 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1982 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1983 if (_ptr_sids) {
1984 NDR_PULL_ALLOC(ndr, r->sids);
1985 } else {
1986 r->sids = NULL;
1988 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1990 if (ndr_flags & NDR_BUFFERS) {
1991 if (r->sids) {
1992 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1993 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1994 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1995 size_sids_1 = ndr_get_array_size(ndr, &r->sids);
1996 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
1997 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1998 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1999 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
2000 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
2002 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
2003 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
2005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
2006 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
2008 if (r->sids) {
2009 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids));
2012 return NDR_ERR_SUCCESS;
2015 _PUBLIC_ void ndr_print_lsa_SidArray(struct ndr_print *ndr, const char *name, const struct lsa_SidArray *r)
2017 uint32_t cntr_sids_1;
2018 ndr_print_struct(ndr, name, "lsa_SidArray");
2019 ndr->depth++;
2020 ndr_print_uint32(ndr, "num_sids", r->num_sids);
2021 ndr_print_ptr(ndr, "sids", r->sids);
2022 ndr->depth++;
2023 if (r->sids) {
2024 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids);
2025 ndr->depth++;
2026 for (cntr_sids_1=0;cntr_sids_1<r->num_sids;cntr_sids_1++) {
2027 char *idx_1=NULL;
2028 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
2029 ndr_print_lsa_SidPtr(ndr, "sids", &r->sids[cntr_sids_1]);
2030 free(idx_1);
2033 ndr->depth--;
2035 ndr->depth--;
2036 ndr->depth--;
2039 static enum ndr_err_code ndr_push_lsa_DomainList(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainList *r)
2041 uint32_t cntr_domains_1;
2042 if (ndr_flags & NDR_SCALARS) {
2043 NDR_CHECK(ndr_push_align(ndr, 5));
2044 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2045 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains));
2046 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2048 if (ndr_flags & NDR_BUFFERS) {
2049 if (r->domains) {
2050 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2051 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
2052 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
2054 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
2055 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
2059 return NDR_ERR_SUCCESS;
2062 static enum ndr_err_code ndr_pull_lsa_DomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainList *r)
2064 uint32_t _ptr_domains;
2065 uint32_t size_domains_1 = 0;
2066 uint32_t cntr_domains_1;
2067 TALLOC_CTX *_mem_save_domains_0;
2068 TALLOC_CTX *_mem_save_domains_1;
2069 if (ndr_flags & NDR_SCALARS) {
2070 NDR_CHECK(ndr_pull_align(ndr, 5));
2071 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2072 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
2073 if (_ptr_domains) {
2074 NDR_PULL_ALLOC(ndr, r->domains);
2075 } else {
2076 r->domains = NULL;
2078 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2080 if (ndr_flags & NDR_BUFFERS) {
2081 if (r->domains) {
2082 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
2083 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
2084 NDR_CHECK(ndr_pull_array_size(ndr, &r->domains));
2085 size_domains_1 = ndr_get_array_size(ndr, &r->domains);
2086 NDR_PULL_ALLOC_N(ndr, r->domains, size_domains_1);
2087 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
2088 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
2089 for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
2090 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
2092 for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
2093 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
2095 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
2096 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
2098 if (r->domains) {
2099 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domains, r->count));
2102 return NDR_ERR_SUCCESS;
2105 _PUBLIC_ void ndr_print_lsa_DomainList(struct ndr_print *ndr, const char *name, const struct lsa_DomainList *r)
2107 uint32_t cntr_domains_1;
2108 ndr_print_struct(ndr, name, "lsa_DomainList");
2109 ndr->depth++;
2110 ndr_print_uint32(ndr, "count", r->count);
2111 ndr_print_ptr(ndr, "domains", r->domains);
2112 ndr->depth++;
2113 if (r->domains) {
2114 ndr->print(ndr, "%s: ARRAY(%d)", "domains", (int)r->count);
2115 ndr->depth++;
2116 for (cntr_domains_1=0;cntr_domains_1<r->count;cntr_domains_1++) {
2117 char *idx_1=NULL;
2118 if (asprintf(&idx_1, "[%d]", cntr_domains_1) != -1) {
2119 ndr_print_lsa_DomainInfo(ndr, "domains", &r->domains[cntr_domains_1]);
2120 free(idx_1);
2123 ndr->depth--;
2125 ndr->depth--;
2126 ndr->depth--;
2129 _PUBLIC_ enum ndr_err_code ndr_push_lsa_SidType(struct ndr_push *ndr, int ndr_flags, enum lsa_SidType r)
2131 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
2132 return NDR_ERR_SUCCESS;
2135 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SidType(struct ndr_pull *ndr, int ndr_flags, enum lsa_SidType *r)
2137 uint16_t v;
2138 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
2139 *r = v;
2140 return NDR_ERR_SUCCESS;
2143 _PUBLIC_ void ndr_print_lsa_SidType(struct ndr_print *ndr, const char *name, enum lsa_SidType r)
2145 const char *val = NULL;
2147 switch (r) {
2148 case SID_NAME_USE_NONE: val = "SID_NAME_USE_NONE"; break;
2149 case SID_NAME_USER: val = "SID_NAME_USER"; break;
2150 case SID_NAME_DOM_GRP: val = "SID_NAME_DOM_GRP"; break;
2151 case SID_NAME_DOMAIN: val = "SID_NAME_DOMAIN"; break;
2152 case SID_NAME_ALIAS: val = "SID_NAME_ALIAS"; break;
2153 case SID_NAME_WKN_GRP: val = "SID_NAME_WKN_GRP"; break;
2154 case SID_NAME_DELETED: val = "SID_NAME_DELETED"; break;
2155 case SID_NAME_INVALID: val = "SID_NAME_INVALID"; break;
2156 case SID_NAME_UNKNOWN: val = "SID_NAME_UNKNOWN"; break;
2157 case SID_NAME_COMPUTER: val = "SID_NAME_COMPUTER"; break;
2159 ndr_print_enum(ndr, name, "ENUM", val, r);
2162 static enum ndr_err_code ndr_push_lsa_TranslatedSid(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedSid *r)
2164 if (ndr_flags & NDR_SCALARS) {
2165 NDR_CHECK(ndr_push_align(ndr, 4));
2166 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
2167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
2168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
2169 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2171 if (ndr_flags & NDR_BUFFERS) {
2173 return NDR_ERR_SUCCESS;
2176 static enum ndr_err_code ndr_pull_lsa_TranslatedSid(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid *r)
2178 if (ndr_flags & NDR_SCALARS) {
2179 NDR_CHECK(ndr_pull_align(ndr, 4));
2180 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
2181 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
2182 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
2183 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2185 if (ndr_flags & NDR_BUFFERS) {
2187 return NDR_ERR_SUCCESS;
2190 _PUBLIC_ void ndr_print_lsa_TranslatedSid(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid *r)
2192 ndr_print_struct(ndr, name, "lsa_TranslatedSid");
2193 ndr->depth++;
2194 ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type);
2195 ndr_print_uint32(ndr, "rid", r->rid);
2196 ndr_print_uint32(ndr, "sid_index", r->sid_index);
2197 ndr->depth--;
2200 static enum ndr_err_code ndr_push_lsa_TransSidArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransSidArray *r)
2202 uint32_t cntr_sids_1;
2203 if (ndr_flags & NDR_SCALARS) {
2204 NDR_CHECK(ndr_push_align(ndr, 5));
2205 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2206 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
2207 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2209 if (ndr_flags & NDR_BUFFERS) {
2210 if (r->sids) {
2211 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2212 for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
2213 NDR_CHECK(ndr_push_lsa_TranslatedSid(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
2217 return NDR_ERR_SUCCESS;
2220 static enum ndr_err_code ndr_pull_lsa_TransSidArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray *r)
2222 uint32_t _ptr_sids;
2223 uint32_t size_sids_1 = 0;
2224 uint32_t cntr_sids_1;
2225 TALLOC_CTX *_mem_save_sids_0;
2226 TALLOC_CTX *_mem_save_sids_1;
2227 if (ndr_flags & NDR_SCALARS) {
2228 NDR_CHECK(ndr_pull_align(ndr, 5));
2229 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2230 if (r->count > 1000) {
2231 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2233 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
2234 if (_ptr_sids) {
2235 NDR_PULL_ALLOC(ndr, r->sids);
2236 } else {
2237 r->sids = NULL;
2239 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2241 if (ndr_flags & NDR_BUFFERS) {
2242 if (r->sids) {
2243 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
2244 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
2245 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
2246 size_sids_1 = ndr_get_array_size(ndr, &r->sids);
2247 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
2248 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
2249 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
2250 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
2251 NDR_CHECK(ndr_pull_lsa_TranslatedSid(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
2253 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
2254 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
2256 if (r->sids) {
2257 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->count));
2260 return NDR_ERR_SUCCESS;
2263 _PUBLIC_ void ndr_print_lsa_TransSidArray(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray *r)
2265 uint32_t cntr_sids_1;
2266 ndr_print_struct(ndr, name, "lsa_TransSidArray");
2267 ndr->depth++;
2268 ndr_print_uint32(ndr, "count", r->count);
2269 ndr_print_ptr(ndr, "sids", r->sids);
2270 ndr->depth++;
2271 if (r->sids) {
2272 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->count);
2273 ndr->depth++;
2274 for (cntr_sids_1=0;cntr_sids_1<r->count;cntr_sids_1++) {
2275 char *idx_1=NULL;
2276 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
2277 ndr_print_lsa_TranslatedSid(ndr, "sids", &r->sids[cntr_sids_1]);
2278 free(idx_1);
2281 ndr->depth--;
2283 ndr->depth--;
2284 ndr->depth--;
2287 static enum ndr_err_code ndr_push_lsa_RefDomainList(struct ndr_push *ndr, int ndr_flags, const struct lsa_RefDomainList *r)
2289 uint32_t cntr_domains_1;
2290 if (ndr_flags & NDR_SCALARS) {
2291 NDR_CHECK(ndr_push_align(ndr, 5));
2292 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2293 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains));
2294 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_size));
2295 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2297 if (ndr_flags & NDR_BUFFERS) {
2298 if (r->domains) {
2299 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2300 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
2301 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
2303 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
2304 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
2308 return NDR_ERR_SUCCESS;
2311 static enum ndr_err_code ndr_pull_lsa_RefDomainList(struct ndr_pull *ndr, int ndr_flags, struct lsa_RefDomainList *r)
2313 uint32_t _ptr_domains;
2314 uint32_t size_domains_1 = 0;
2315 uint32_t cntr_domains_1;
2316 TALLOC_CTX *_mem_save_domains_0;
2317 TALLOC_CTX *_mem_save_domains_1;
2318 if (ndr_flags & NDR_SCALARS) {
2319 NDR_CHECK(ndr_pull_align(ndr, 5));
2320 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2321 if (r->count > 1000) {
2322 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2324 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
2325 if (_ptr_domains) {
2326 NDR_PULL_ALLOC(ndr, r->domains);
2327 } else {
2328 r->domains = NULL;
2330 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_size));
2331 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2333 if (ndr_flags & NDR_BUFFERS) {
2334 if (r->domains) {
2335 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
2336 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
2337 NDR_CHECK(ndr_pull_array_size(ndr, &r->domains));
2338 size_domains_1 = ndr_get_array_size(ndr, &r->domains);
2339 NDR_PULL_ALLOC_N(ndr, r->domains, size_domains_1);
2340 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
2341 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
2342 for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
2343 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
2345 for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
2346 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
2348 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
2349 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
2351 if (r->domains) {
2352 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domains, r->count));
2355 return NDR_ERR_SUCCESS;
2358 _PUBLIC_ void ndr_print_lsa_RefDomainList(struct ndr_print *ndr, const char *name, const struct lsa_RefDomainList *r)
2360 uint32_t cntr_domains_1;
2361 ndr_print_struct(ndr, name, "lsa_RefDomainList");
2362 ndr->depth++;
2363 ndr_print_uint32(ndr, "count", r->count);
2364 ndr_print_ptr(ndr, "domains", r->domains);
2365 ndr->depth++;
2366 if (r->domains) {
2367 ndr->print(ndr, "%s: ARRAY(%d)", "domains", (int)r->count);
2368 ndr->depth++;
2369 for (cntr_domains_1=0;cntr_domains_1<r->count;cntr_domains_1++) {
2370 char *idx_1=NULL;
2371 if (asprintf(&idx_1, "[%d]", cntr_domains_1) != -1) {
2372 ndr_print_lsa_DomainInfo(ndr, "domains", &r->domains[cntr_domains_1]);
2373 free(idx_1);
2376 ndr->depth--;
2378 ndr->depth--;
2379 ndr_print_uint32(ndr, "max_size", r->max_size);
2380 ndr->depth--;
2383 static enum ndr_err_code ndr_push_lsa_LookupNamesLevel(struct ndr_push *ndr, int ndr_flags, enum lsa_LookupNamesLevel r)
2385 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
2386 return NDR_ERR_SUCCESS;
2389 static enum ndr_err_code ndr_pull_lsa_LookupNamesLevel(struct ndr_pull *ndr, int ndr_flags, enum lsa_LookupNamesLevel *r)
2391 uint16_t v;
2392 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
2393 *r = v;
2394 return NDR_ERR_SUCCESS;
2397 _PUBLIC_ void ndr_print_lsa_LookupNamesLevel(struct ndr_print *ndr, const char *name, enum lsa_LookupNamesLevel r)
2399 const char *val = NULL;
2401 switch (r) {
2402 case LSA_LOOKUP_NAMES_ALL: val = "LSA_LOOKUP_NAMES_ALL"; break;
2403 case LSA_LOOKUP_NAMES_DOMAINS_ONLY: val = "LSA_LOOKUP_NAMES_DOMAINS_ONLY"; break;
2404 case LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY: val = "LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY"; break;
2405 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY: val = "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY"; break;
2406 case LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY: val = "LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY"; break;
2407 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2: val = "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2"; break;
2408 case LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC: val = "LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC"; break;
2410 ndr_print_enum(ndr, name, "ENUM", val, r);
2413 static enum ndr_err_code ndr_push_lsa_TranslatedName(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedName *r)
2415 if (ndr_flags & NDR_SCALARS) {
2416 NDR_CHECK(ndr_push_align(ndr, 5));
2417 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
2418 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
2419 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
2420 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2422 if (ndr_flags & NDR_BUFFERS) {
2423 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
2425 return NDR_ERR_SUCCESS;
2428 static enum ndr_err_code ndr_pull_lsa_TranslatedName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName *r)
2430 if (ndr_flags & NDR_SCALARS) {
2431 NDR_CHECK(ndr_pull_align(ndr, 5));
2432 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
2433 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
2434 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
2435 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2437 if (ndr_flags & NDR_BUFFERS) {
2438 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
2440 return NDR_ERR_SUCCESS;
2443 _PUBLIC_ void ndr_print_lsa_TranslatedName(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedName *r)
2445 ndr_print_struct(ndr, name, "lsa_TranslatedName");
2446 ndr->depth++;
2447 ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type);
2448 ndr_print_lsa_String(ndr, "name", &r->name);
2449 ndr_print_uint32(ndr, "sid_index", r->sid_index);
2450 ndr->depth--;
2453 static enum ndr_err_code ndr_push_lsa_TransNameArray(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransNameArray *r)
2455 uint32_t cntr_names_1;
2456 if (ndr_flags & NDR_SCALARS) {
2457 NDR_CHECK(ndr_push_align(ndr, 5));
2458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2459 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
2460 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2462 if (ndr_flags & NDR_BUFFERS) {
2463 if (r->names) {
2464 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2465 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
2466 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
2468 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
2469 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
2473 return NDR_ERR_SUCCESS;
2476 static enum ndr_err_code ndr_pull_lsa_TransNameArray(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray *r)
2478 uint32_t _ptr_names;
2479 uint32_t size_names_1 = 0;
2480 uint32_t cntr_names_1;
2481 TALLOC_CTX *_mem_save_names_0;
2482 TALLOC_CTX *_mem_save_names_1;
2483 if (ndr_flags & NDR_SCALARS) {
2484 NDR_CHECK(ndr_pull_align(ndr, 5));
2485 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2486 if (r->count > 20480) {
2487 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2489 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
2490 if (_ptr_names) {
2491 NDR_PULL_ALLOC(ndr, r->names);
2492 } else {
2493 r->names = NULL;
2495 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2497 if (ndr_flags & NDR_BUFFERS) {
2498 if (r->names) {
2499 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
2500 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
2501 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
2502 size_names_1 = ndr_get_array_size(ndr, &r->names);
2503 NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
2504 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
2505 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
2506 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
2507 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
2509 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
2510 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
2512 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
2513 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
2515 if (r->names) {
2516 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
2519 return NDR_ERR_SUCCESS;
2522 _PUBLIC_ void ndr_print_lsa_TransNameArray(struct ndr_print *ndr, const char *name, const struct lsa_TransNameArray *r)
2524 uint32_t cntr_names_1;
2525 ndr_print_struct(ndr, name, "lsa_TransNameArray");
2526 ndr->depth++;
2527 ndr_print_uint32(ndr, "count", r->count);
2528 ndr_print_ptr(ndr, "names", r->names);
2529 ndr->depth++;
2530 if (r->names) {
2531 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
2532 ndr->depth++;
2533 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
2534 char *idx_1=NULL;
2535 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
2536 ndr_print_lsa_TranslatedName(ndr, "names", &r->names[cntr_names_1]);
2537 free(idx_1);
2540 ndr->depth--;
2542 ndr->depth--;
2543 ndr->depth--;
2546 static enum ndr_err_code ndr_push_lsa_LUIDAttribute(struct ndr_push *ndr, int ndr_flags, const struct lsa_LUIDAttribute *r)
2548 if (ndr_flags & NDR_SCALARS) {
2549 NDR_CHECK(ndr_push_align(ndr, 4));
2550 NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
2551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->attribute));
2552 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2554 if (ndr_flags & NDR_BUFFERS) {
2556 return NDR_ERR_SUCCESS;
2559 static enum ndr_err_code ndr_pull_lsa_LUIDAttribute(struct ndr_pull *ndr, int ndr_flags, struct lsa_LUIDAttribute *r)
2561 if (ndr_flags & NDR_SCALARS) {
2562 NDR_CHECK(ndr_pull_align(ndr, 4));
2563 NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, &r->luid));
2564 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->attribute));
2565 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2567 if (ndr_flags & NDR_BUFFERS) {
2569 return NDR_ERR_SUCCESS;
2572 _PUBLIC_ void ndr_print_lsa_LUIDAttribute(struct ndr_print *ndr, const char *name, const struct lsa_LUIDAttribute *r)
2574 ndr_print_struct(ndr, name, "lsa_LUIDAttribute");
2575 ndr->depth++;
2576 ndr_print_lsa_LUID(ndr, "luid", &r->luid);
2577 ndr_print_uint32(ndr, "attribute", r->attribute);
2578 ndr->depth--;
2581 static enum ndr_err_code ndr_push_lsa_PrivilegeSet(struct ndr_push *ndr, int ndr_flags, const struct lsa_PrivilegeSet *r)
2583 uint32_t cntr_set_0;
2584 if (ndr_flags & NDR_SCALARS) {
2585 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
2586 NDR_CHECK(ndr_push_align(ndr, 4));
2587 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
2588 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
2589 for (cntr_set_0 = 0; cntr_set_0 < r->count; cntr_set_0++) {
2590 NDR_CHECK(ndr_push_lsa_LUIDAttribute(ndr, NDR_SCALARS, &r->set[cntr_set_0]));
2592 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2594 if (ndr_flags & NDR_BUFFERS) {
2596 return NDR_ERR_SUCCESS;
2599 static enum ndr_err_code ndr_pull_lsa_PrivilegeSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_PrivilegeSet *r)
2601 uint32_t size_set_0 = 0;
2602 uint32_t cntr_set_0;
2603 TALLOC_CTX *_mem_save_set_0;
2604 if (ndr_flags & NDR_SCALARS) {
2605 NDR_CHECK(ndr_pull_array_size(ndr, &r->set));
2606 NDR_CHECK(ndr_pull_align(ndr, 4));
2607 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
2608 if (r->count > 1000) {
2609 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2611 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
2612 size_set_0 = ndr_get_array_size(ndr, &r->set);
2613 NDR_PULL_ALLOC_N(ndr, r->set, size_set_0);
2614 _mem_save_set_0 = NDR_PULL_GET_MEM_CTX(ndr);
2615 NDR_PULL_SET_MEM_CTX(ndr, r->set, 0);
2616 for (cntr_set_0 = 0; cntr_set_0 < size_set_0; cntr_set_0++) {
2617 NDR_CHECK(ndr_pull_lsa_LUIDAttribute(ndr, NDR_SCALARS, &r->set[cntr_set_0]));
2619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_set_0, 0);
2620 if (r->set) {
2621 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->set, r->count));
2623 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2625 if (ndr_flags & NDR_BUFFERS) {
2627 return NDR_ERR_SUCCESS;
2630 _PUBLIC_ void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name, const struct lsa_PrivilegeSet *r)
2632 uint32_t cntr_set_0;
2633 ndr_print_struct(ndr, name, "lsa_PrivilegeSet");
2634 ndr->depth++;
2635 ndr_print_uint32(ndr, "count", r->count);
2636 ndr_print_uint32(ndr, "unknown", r->unknown);
2637 ndr->print(ndr, "%s: ARRAY(%d)", "set", (int)r->count);
2638 ndr->depth++;
2639 for (cntr_set_0=0;cntr_set_0<r->count;cntr_set_0++) {
2640 char *idx_0=NULL;
2641 if (asprintf(&idx_0, "[%d]", cntr_set_0) != -1) {
2642 ndr_print_lsa_LUIDAttribute(ndr, "set", &r->set[cntr_set_0]);
2643 free(idx_0);
2646 ndr->depth--;
2647 ndr->depth--;
2650 static enum ndr_err_code ndr_push_lsa_DATA_BUF(struct ndr_push *ndr, int ndr_flags, const struct lsa_DATA_BUF *r)
2653 uint32_t _flags_save_STRUCT = ndr->flags;
2654 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2655 if (ndr_flags & NDR_SCALARS) {
2656 NDR_CHECK(ndr_push_align(ndr, 5));
2657 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
2658 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2659 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
2660 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2662 if (ndr_flags & NDR_BUFFERS) {
2663 if (r->data) {
2664 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
2665 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
2666 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
2667 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
2670 ndr->flags = _flags_save_STRUCT;
2672 return NDR_ERR_SUCCESS;
2675 static enum ndr_err_code ndr_pull_lsa_DATA_BUF(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF *r)
2677 uint32_t _ptr_data;
2678 uint32_t size_data_1 = 0;
2679 uint32_t length_data_1 = 0;
2680 TALLOC_CTX *_mem_save_data_0;
2682 uint32_t _flags_save_STRUCT = ndr->flags;
2683 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2684 if (ndr_flags & NDR_SCALARS) {
2685 NDR_CHECK(ndr_pull_align(ndr, 5));
2686 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
2687 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2688 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
2689 if (_ptr_data) {
2690 NDR_PULL_ALLOC(ndr, r->data);
2691 } else {
2692 r->data = NULL;
2694 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2696 if (ndr_flags & NDR_BUFFERS) {
2697 if (r->data) {
2698 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2699 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
2700 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
2701 NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
2702 size_data_1 = ndr_get_array_size(ndr, &r->data);
2703 length_data_1 = ndr_get_array_length(ndr, &r->data);
2704 if (length_data_1 > size_data_1) {
2705 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_data_1, length_data_1);
2707 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
2708 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, length_data_1));
2709 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
2711 if (r->data) {
2712 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
2714 if (r->data) {
2715 NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->length));
2718 ndr->flags = _flags_save_STRUCT;
2720 return NDR_ERR_SUCCESS;
2723 _PUBLIC_ void ndr_print_lsa_DATA_BUF(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF *r)
2725 ndr_print_struct(ndr, name, "lsa_DATA_BUF");
2727 uint32_t _flags_save_STRUCT = ndr->flags;
2728 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2729 ndr->depth++;
2730 ndr_print_uint32(ndr, "length", r->length);
2731 ndr_print_uint32(ndr, "size", r->size);
2732 ndr_print_ptr(ndr, "data", r->data);
2733 ndr->depth++;
2734 if (r->data) {
2735 ndr_print_array_uint8(ndr, "data", r->data, r->length);
2737 ndr->depth--;
2738 ndr->depth--;
2739 ndr->flags = _flags_save_STRUCT;
2743 static enum ndr_err_code ndr_push_lsa_DATA_BUF2(struct ndr_push *ndr, int ndr_flags, const struct lsa_DATA_BUF2 *r)
2746 uint32_t _flags_save_STRUCT = ndr->flags;
2747 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2748 if (ndr_flags & NDR_SCALARS) {
2749 NDR_CHECK(ndr_push_align(ndr, 5));
2750 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
2751 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
2752 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2754 if (ndr_flags & NDR_BUFFERS) {
2755 if (r->data) {
2756 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->size));
2757 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
2760 ndr->flags = _flags_save_STRUCT;
2762 return NDR_ERR_SUCCESS;
2765 static enum ndr_err_code ndr_pull_lsa_DATA_BUF2(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF2 *r)
2767 uint32_t _ptr_data;
2768 uint32_t size_data_1 = 0;
2769 TALLOC_CTX *_mem_save_data_0;
2771 uint32_t _flags_save_STRUCT = ndr->flags;
2772 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2773 if (ndr_flags & NDR_SCALARS) {
2774 NDR_CHECK(ndr_pull_align(ndr, 5));
2775 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
2776 if (r->size > 65536) {
2777 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
2779 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
2780 if (_ptr_data) {
2781 NDR_PULL_ALLOC(ndr, r->data);
2782 } else {
2783 r->data = NULL;
2785 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2787 if (ndr_flags & NDR_BUFFERS) {
2788 if (r->data) {
2789 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2790 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
2791 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
2792 size_data_1 = ndr_get_array_size(ndr, &r->data);
2793 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
2794 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
2795 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
2797 if (r->data) {
2798 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
2801 ndr->flags = _flags_save_STRUCT;
2803 return NDR_ERR_SUCCESS;
2806 _PUBLIC_ void ndr_print_lsa_DATA_BUF2(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF2 *r)
2808 ndr_print_struct(ndr, name, "lsa_DATA_BUF2");
2810 uint32_t _flags_save_STRUCT = ndr->flags;
2811 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
2812 ndr->depth++;
2813 ndr_print_uint32(ndr, "size", r->size);
2814 ndr_print_ptr(ndr, "data", r->data);
2815 ndr->depth++;
2816 if (r->data) {
2817 ndr_print_array_uint8(ndr, "data", r->data, r->size);
2819 ndr->depth--;
2820 ndr->depth--;
2821 ndr->flags = _flags_save_STRUCT;
2825 static enum ndr_err_code ndr_push_lsa_TrustDomInfoEnum(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustDomInfoEnum r)
2827 NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
2828 return NDR_ERR_SUCCESS;
2831 static enum ndr_err_code ndr_pull_lsa_TrustDomInfoEnum(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustDomInfoEnum *r)
2833 uint16_t v;
2834 NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
2835 *r = v;
2836 return NDR_ERR_SUCCESS;
2839 _PUBLIC_ void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print *ndr, const char *name, enum lsa_TrustDomInfoEnum r)
2841 const char *val = NULL;
2843 switch (r) {
2844 case LSA_TRUSTED_DOMAIN_INFO_NAME: val = "LSA_TRUSTED_DOMAIN_INFO_NAME"; break;
2845 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: val = "LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS"; break;
2846 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: val = "LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET"; break;
2847 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: val = "LSA_TRUSTED_DOMAIN_INFO_PASSWORD"; break;
2848 case LSA_TRUSTED_DOMAIN_INFO_BASIC: val = "LSA_TRUSTED_DOMAIN_INFO_BASIC"; break;
2849 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: val = "LSA_TRUSTED_DOMAIN_INFO_INFO_EX"; break;
2850 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: val = "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO"; break;
2851 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO"; break;
2852 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL"; break;
2853 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL"; break;
2854 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL"; break;
2855 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: val = "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL"; break;
2856 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: val = "LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES"; break;
2858 ndr_print_enum(ndr, name, "ENUM", val, r);
2861 _PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustDirection(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2864 return NDR_ERR_SUCCESS;
2867 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustDirection(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2869 uint32_t v;
2870 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2871 *r = v;
2872 return NDR_ERR_SUCCESS;
2875 _PUBLIC_ void ndr_print_lsa_TrustDirection(struct ndr_print *ndr, const char *name, uint32_t r)
2877 ndr_print_uint32(ndr, name, r);
2878 ndr->depth++;
2879 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_DIRECTION_INBOUND", LSA_TRUST_DIRECTION_INBOUND, r);
2880 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_DIRECTION_OUTBOUND", LSA_TRUST_DIRECTION_OUTBOUND, r);
2881 ndr->depth--;
2884 static enum ndr_err_code ndr_push_lsa_TrustType(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustType r)
2886 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
2887 return NDR_ERR_SUCCESS;
2890 static enum ndr_err_code ndr_pull_lsa_TrustType(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustType *r)
2892 uint32_t v;
2893 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
2894 *r = v;
2895 return NDR_ERR_SUCCESS;
2898 _PUBLIC_ void ndr_print_lsa_TrustType(struct ndr_print *ndr, const char *name, enum lsa_TrustType r)
2900 const char *val = NULL;
2902 switch (r) {
2903 case LSA_TRUST_TYPE_DOWNLEVEL: val = "LSA_TRUST_TYPE_DOWNLEVEL"; break;
2904 case LSA_TRUST_TYPE_UPLEVEL: val = "LSA_TRUST_TYPE_UPLEVEL"; break;
2905 case LSA_TRUST_TYPE_MIT: val = "LSA_TRUST_TYPE_MIT"; break;
2907 ndr_print_enum(ndr, name, "ENUM", val, r);
2910 _PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
2912 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2913 return NDR_ERR_SUCCESS;
2916 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
2918 uint32_t v;
2919 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2920 *r = v;
2921 return NDR_ERR_SUCCESS;
2924 _PUBLIC_ void ndr_print_lsa_TrustAttributes(struct ndr_print *ndr, const char *name, uint32_t r)
2926 ndr_print_uint32(ndr, name, r);
2927 ndr->depth++;
2928 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE", LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE, r);
2929 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY", LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY, r);
2930 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN, r);
2931 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE, r);
2932 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION, r);
2933 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_WITHIN_FOREST", LSA_TRUST_ATTRIBUTE_WITHIN_FOREST, r);
2934 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL, r);
2935 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION", LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION, r);
2936 ndr->depth--;
2939 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoName(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoName *r)
2941 if (ndr_flags & NDR_SCALARS) {
2942 NDR_CHECK(ndr_push_align(ndr, 5));
2943 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
2944 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2946 if (ndr_flags & NDR_BUFFERS) {
2947 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
2949 return NDR_ERR_SUCCESS;
2952 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoName(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoName *r)
2954 if (ndr_flags & NDR_SCALARS) {
2955 NDR_CHECK(ndr_pull_align(ndr, 5));
2956 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
2957 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2959 if (ndr_flags & NDR_BUFFERS) {
2960 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
2962 return NDR_ERR_SUCCESS;
2965 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoName(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoName *r)
2967 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoName");
2968 ndr->depth++;
2969 ndr_print_lsa_StringLarge(ndr, "netbios_name", &r->netbios_name);
2970 ndr->depth--;
2973 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoControllers(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoControllers *r)
2975 uint32_t cntr_netbios_names_1;
2976 if (ndr_flags & NDR_SCALARS) {
2977 NDR_CHECK(ndr_push_align(ndr, 5));
2978 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->entries));
2979 NDR_CHECK(ndr_push_unique_ptr(ndr, r->netbios_names));
2980 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2982 if (ndr_flags & NDR_BUFFERS) {
2983 if (r->netbios_names) {
2984 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->entries));
2985 for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) {
2986 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_names[cntr_netbios_names_1]));
2988 for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < r->entries; cntr_netbios_names_1++) {
2989 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_names[cntr_netbios_names_1]));
2993 return NDR_ERR_SUCCESS;
2996 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoControllers(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoControllers *r)
2998 uint32_t _ptr_netbios_names;
2999 uint32_t size_netbios_names_1 = 0;
3000 uint32_t cntr_netbios_names_1;
3001 TALLOC_CTX *_mem_save_netbios_names_0;
3002 TALLOC_CTX *_mem_save_netbios_names_1;
3003 if (ndr_flags & NDR_SCALARS) {
3004 NDR_CHECK(ndr_pull_align(ndr, 5));
3005 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->entries));
3006 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_netbios_names));
3007 if (_ptr_netbios_names) {
3008 NDR_PULL_ALLOC(ndr, r->netbios_names);
3009 } else {
3010 r->netbios_names = NULL;
3012 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3014 if (ndr_flags & NDR_BUFFERS) {
3015 if (r->netbios_names) {
3016 _mem_save_netbios_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
3017 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_names, 0);
3018 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_names));
3019 size_netbios_names_1 = ndr_get_array_size(ndr, &r->netbios_names);
3020 NDR_PULL_ALLOC_N(ndr, r->netbios_names, size_netbios_names_1);
3021 _mem_save_netbios_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
3022 NDR_PULL_SET_MEM_CTX(ndr, r->netbios_names, 0);
3023 for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < size_netbios_names_1; cntr_netbios_names_1++) {
3024 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_names[cntr_netbios_names_1]));
3026 for (cntr_netbios_names_1 = 0; cntr_netbios_names_1 < size_netbios_names_1; cntr_netbios_names_1++) {
3027 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_names[cntr_netbios_names_1]));
3029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_names_1, 0);
3030 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_netbios_names_0, 0);
3032 if (r->netbios_names) {
3033 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->netbios_names, r->entries));
3036 return NDR_ERR_SUCCESS;
3039 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoControllers(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoControllers *r)
3041 uint32_t cntr_netbios_names_1;
3042 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoControllers");
3043 ndr->depth++;
3044 ndr_print_uint32(ndr, "entries", r->entries);
3045 ndr_print_ptr(ndr, "netbios_names", r->netbios_names);
3046 ndr->depth++;
3047 if (r->netbios_names) {
3048 ndr->print(ndr, "%s: ARRAY(%d)", "netbios_names", (int)r->entries);
3049 ndr->depth++;
3050 for (cntr_netbios_names_1=0;cntr_netbios_names_1<r->entries;cntr_netbios_names_1++) {
3051 char *idx_1=NULL;
3052 if (asprintf(&idx_1, "[%d]", cntr_netbios_names_1) != -1) {
3053 ndr_print_lsa_StringLarge(ndr, "netbios_names", &r->netbios_names[cntr_netbios_names_1]);
3054 free(idx_1);
3057 ndr->depth--;
3059 ndr->depth--;
3060 ndr->depth--;
3063 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoPosixOffset(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoPosixOffset *r)
3065 if (ndr_flags & NDR_SCALARS) {
3066 NDR_CHECK(ndr_push_align(ndr, 4));
3067 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->posix_offset));
3068 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3070 if (ndr_flags & NDR_BUFFERS) {
3072 return NDR_ERR_SUCCESS;
3075 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoPosixOffset(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoPosixOffset *r)
3077 if (ndr_flags & NDR_SCALARS) {
3078 NDR_CHECK(ndr_pull_align(ndr, 4));
3079 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->posix_offset));
3080 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3082 if (ndr_flags & NDR_BUFFERS) {
3084 return NDR_ERR_SUCCESS;
3087 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPosixOffset *r)
3089 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoPosixOffset");
3090 ndr->depth++;
3091 ndr_print_uint32(ndr, "posix_offset", r->posix_offset);
3092 ndr->depth--;
3095 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoPassword(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoPassword *r)
3097 if (ndr_flags & NDR_SCALARS) {
3098 NDR_CHECK(ndr_push_align(ndr, 5));
3099 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password));
3100 NDR_CHECK(ndr_push_unique_ptr(ndr, r->old_password));
3101 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3103 if (ndr_flags & NDR_BUFFERS) {
3104 if (r->password) {
3105 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
3107 if (r->old_password) {
3108 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->old_password));
3111 return NDR_ERR_SUCCESS;
3114 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoPassword(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoPassword *r)
3116 uint32_t _ptr_password;
3117 TALLOC_CTX *_mem_save_password_0;
3118 uint32_t _ptr_old_password;
3119 TALLOC_CTX *_mem_save_old_password_0;
3120 if (ndr_flags & NDR_SCALARS) {
3121 NDR_CHECK(ndr_pull_align(ndr, 5));
3122 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password));
3123 if (_ptr_password) {
3124 NDR_PULL_ALLOC(ndr, r->password);
3125 } else {
3126 r->password = NULL;
3128 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_password));
3129 if (_ptr_old_password) {
3130 NDR_PULL_ALLOC(ndr, r->old_password);
3131 } else {
3132 r->old_password = NULL;
3134 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3136 if (ndr_flags & NDR_BUFFERS) {
3137 if (r->password) {
3138 _mem_save_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
3139 NDR_PULL_SET_MEM_CTX(ndr, r->password, 0);
3140 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->password));
3141 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_0, 0);
3143 if (r->old_password) {
3144 _mem_save_old_password_0 = NDR_PULL_GET_MEM_CTX(ndr);
3145 NDR_PULL_SET_MEM_CTX(ndr, r->old_password, 0);
3146 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->old_password));
3147 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_password_0, 0);
3150 return NDR_ERR_SUCCESS;
3153 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoPassword *r)
3155 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoPassword");
3156 ndr->depth++;
3157 ndr_print_ptr(ndr, "password", r->password);
3158 ndr->depth++;
3159 if (r->password) {
3160 ndr_print_lsa_DATA_BUF(ndr, "password", r->password);
3162 ndr->depth--;
3163 ndr_print_ptr(ndr, "old_password", r->old_password);
3164 ndr->depth++;
3165 if (r->old_password) {
3166 ndr_print_lsa_DATA_BUF(ndr, "old_password", r->old_password);
3168 ndr->depth--;
3169 ndr->depth--;
3172 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoBasic(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoBasic *r)
3174 if (ndr_flags & NDR_SCALARS) {
3175 NDR_CHECK(ndr_push_align(ndr, 5));
3176 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->netbios_name));
3177 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3178 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3180 if (ndr_flags & NDR_BUFFERS) {
3181 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->netbios_name));
3182 if (r->sid) {
3183 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3186 return NDR_ERR_SUCCESS;
3189 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoBasic(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoBasic *r)
3191 uint32_t _ptr_sid;
3192 TALLOC_CTX *_mem_save_sid_0;
3193 if (ndr_flags & NDR_SCALARS) {
3194 NDR_CHECK(ndr_pull_align(ndr, 5));
3195 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->netbios_name));
3196 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3197 if (_ptr_sid) {
3198 NDR_PULL_ALLOC(ndr, r->sid);
3199 } else {
3200 r->sid = NULL;
3202 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3204 if (ndr_flags & NDR_BUFFERS) {
3205 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->netbios_name));
3206 if (r->sid) {
3207 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3208 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3209 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3210 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3213 return NDR_ERR_SUCCESS;
3216 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBasic *r)
3218 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoBasic");
3219 ndr->depth++;
3220 ndr_print_lsa_String(ndr, "netbios_name", &r->netbios_name);
3221 ndr_print_ptr(ndr, "sid", r->sid);
3222 ndr->depth++;
3223 if (r->sid) {
3224 ndr_print_dom_sid2(ndr, "sid", r->sid);
3226 ndr->depth--;
3227 ndr->depth--;
3230 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoInfoEx(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoInfoEx *r)
3232 if (ndr_flags & NDR_SCALARS) {
3233 NDR_CHECK(ndr_push_align(ndr, 5));
3234 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain_name));
3235 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
3236 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
3237 NDR_CHECK(ndr_push_lsa_TrustDirection(ndr, NDR_SCALARS, r->trust_direction));
3238 NDR_CHECK(ndr_push_lsa_TrustType(ndr, NDR_SCALARS, r->trust_type));
3239 NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr, NDR_SCALARS, r->trust_attributes));
3240 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3242 if (ndr_flags & NDR_BUFFERS) {
3243 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain_name));
3244 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
3245 if (r->sid) {
3246 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3249 return NDR_ERR_SUCCESS;
3252 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoInfoEx(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoInfoEx *r)
3254 uint32_t _ptr_sid;
3255 TALLOC_CTX *_mem_save_sid_0;
3256 if (ndr_flags & NDR_SCALARS) {
3257 NDR_CHECK(ndr_pull_align(ndr, 5));
3258 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->domain_name));
3259 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_name));
3260 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
3261 if (_ptr_sid) {
3262 NDR_PULL_ALLOC(ndr, r->sid);
3263 } else {
3264 r->sid = NULL;
3266 NDR_CHECK(ndr_pull_lsa_TrustDirection(ndr, NDR_SCALARS, &r->trust_direction));
3267 NDR_CHECK(ndr_pull_lsa_TrustType(ndr, NDR_SCALARS, &r->trust_type));
3268 NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr, NDR_SCALARS, &r->trust_attributes));
3269 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3271 if (ndr_flags & NDR_BUFFERS) {
3272 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->domain_name));
3273 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_name));
3274 if (r->sid) {
3275 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
3276 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
3277 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
3278 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
3281 return NDR_ERR_SUCCESS;
3284 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoEx *r)
3286 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoInfoEx");
3287 ndr->depth++;
3288 ndr_print_lsa_StringLarge(ndr, "domain_name", &r->domain_name);
3289 ndr_print_lsa_StringLarge(ndr, "netbios_name", &r->netbios_name);
3290 ndr_print_ptr(ndr, "sid", r->sid);
3291 ndr->depth++;
3292 if (r->sid) {
3293 ndr_print_dom_sid2(ndr, "sid", r->sid);
3295 ndr->depth--;
3296 ndr_print_lsa_TrustDirection(ndr, "trust_direction", r->trust_direction);
3297 ndr_print_lsa_TrustType(ndr, "trust_type", r->trust_type);
3298 ndr_print_lsa_TrustAttributes(ndr, "trust_attributes", r->trust_attributes);
3299 ndr->depth--;
3302 _PUBLIC_ enum ndr_err_code ndr_push_lsa_TrustAuthType(struct ndr_push *ndr, int ndr_flags, enum lsa_TrustAuthType r)
3304 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
3305 return NDR_ERR_SUCCESS;
3308 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_TrustAuthType(struct ndr_pull *ndr, int ndr_flags, enum lsa_TrustAuthType *r)
3310 uint32_t v;
3311 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
3312 *r = v;
3313 return NDR_ERR_SUCCESS;
3316 _PUBLIC_ void ndr_print_lsa_TrustAuthType(struct ndr_print *ndr, const char *name, enum lsa_TrustAuthType r)
3318 const char *val = NULL;
3320 switch (r) {
3321 case TRUST_AUTH_TYPE_NONE: val = "TRUST_AUTH_TYPE_NONE"; break;
3322 case TRUST_AUTH_TYPE_NT4OWF: val = "TRUST_AUTH_TYPE_NT4OWF"; break;
3323 case TRUST_AUTH_TYPE_CLEAR: val = "TRUST_AUTH_TYPE_CLEAR"; break;
3324 case TRUST_AUTH_TYPE_VERSION: val = "TRUST_AUTH_TYPE_VERSION"; break;
3326 ndr_print_enum(ndr, name, "ENUM", val, r);
3329 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoBuffer(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoBuffer *r)
3331 if (ndr_flags & NDR_SCALARS) {
3332 NDR_CHECK(ndr_push_align(ndr, 8));
3333 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, r->last_update_time));
3334 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr, NDR_SCALARS, r->AuthType));
3335 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->data));
3336 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
3338 if (ndr_flags & NDR_BUFFERS) {
3339 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->data));
3341 return NDR_ERR_SUCCESS;
3344 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoBuffer(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoBuffer *r)
3346 if (ndr_flags & NDR_SCALARS) {
3347 NDR_CHECK(ndr_pull_align(ndr, 8));
3348 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, &r->last_update_time));
3349 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr, NDR_SCALARS, &r->AuthType));
3350 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->data));
3351 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
3353 if (ndr_flags & NDR_BUFFERS) {
3354 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->data));
3356 return NDR_ERR_SUCCESS;
3359 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoBuffer(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoBuffer *r)
3361 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoBuffer");
3362 ndr->depth++;
3363 ndr_print_NTTIME_hyper(ndr, "last_update_time", r->last_update_time);
3364 ndr_print_lsa_TrustAuthType(ndr, "AuthType", r->AuthType);
3365 ndr_print_lsa_DATA_BUF2(ndr, "data", &r->data);
3366 ndr->depth--;
3369 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoAuthInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoAuthInfo *r)
3371 if (ndr_flags & NDR_SCALARS) {
3372 NDR_CHECK(ndr_push_align(ndr, 5));
3373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->incoming_count));
3374 NDR_CHECK(ndr_push_unique_ptr(ndr, r->incoming_current_auth_info));
3375 NDR_CHECK(ndr_push_unique_ptr(ndr, r->incoming_previous_auth_info));
3376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->outgoing_count));
3377 NDR_CHECK(ndr_push_unique_ptr(ndr, r->outgoing_current_auth_info));
3378 NDR_CHECK(ndr_push_unique_ptr(ndr, r->outgoing_previous_auth_info));
3379 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3381 if (ndr_flags & NDR_BUFFERS) {
3382 if (r->incoming_current_auth_info) {
3383 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->incoming_current_auth_info));
3385 if (r->incoming_previous_auth_info) {
3386 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->incoming_previous_auth_info));
3388 if (r->outgoing_current_auth_info) {
3389 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->outgoing_current_auth_info));
3391 if (r->outgoing_previous_auth_info) {
3392 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->outgoing_previous_auth_info));
3395 return NDR_ERR_SUCCESS;
3398 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoAuthInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoAuthInfo *r)
3400 uint32_t _ptr_incoming_current_auth_info;
3401 TALLOC_CTX *_mem_save_incoming_current_auth_info_0;
3402 uint32_t _ptr_incoming_previous_auth_info;
3403 TALLOC_CTX *_mem_save_incoming_previous_auth_info_0;
3404 uint32_t _ptr_outgoing_current_auth_info;
3405 TALLOC_CTX *_mem_save_outgoing_current_auth_info_0;
3406 uint32_t _ptr_outgoing_previous_auth_info;
3407 TALLOC_CTX *_mem_save_outgoing_previous_auth_info_0;
3408 if (ndr_flags & NDR_SCALARS) {
3409 NDR_CHECK(ndr_pull_align(ndr, 5));
3410 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->incoming_count));
3411 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_incoming_current_auth_info));
3412 if (_ptr_incoming_current_auth_info) {
3413 NDR_PULL_ALLOC(ndr, r->incoming_current_auth_info);
3414 } else {
3415 r->incoming_current_auth_info = NULL;
3417 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_incoming_previous_auth_info));
3418 if (_ptr_incoming_previous_auth_info) {
3419 NDR_PULL_ALLOC(ndr, r->incoming_previous_auth_info);
3420 } else {
3421 r->incoming_previous_auth_info = NULL;
3423 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->outgoing_count));
3424 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_outgoing_current_auth_info));
3425 if (_ptr_outgoing_current_auth_info) {
3426 NDR_PULL_ALLOC(ndr, r->outgoing_current_auth_info);
3427 } else {
3428 r->outgoing_current_auth_info = NULL;
3430 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_outgoing_previous_auth_info));
3431 if (_ptr_outgoing_previous_auth_info) {
3432 NDR_PULL_ALLOC(ndr, r->outgoing_previous_auth_info);
3433 } else {
3434 r->outgoing_previous_auth_info = NULL;
3436 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3438 if (ndr_flags & NDR_BUFFERS) {
3439 if (r->incoming_current_auth_info) {
3440 _mem_save_incoming_current_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
3441 NDR_PULL_SET_MEM_CTX(ndr, r->incoming_current_auth_info, 0);
3442 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->incoming_current_auth_info));
3443 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_incoming_current_auth_info_0, 0);
3445 if (r->incoming_previous_auth_info) {
3446 _mem_save_incoming_previous_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
3447 NDR_PULL_SET_MEM_CTX(ndr, r->incoming_previous_auth_info, 0);
3448 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->incoming_previous_auth_info));
3449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_incoming_previous_auth_info_0, 0);
3451 if (r->outgoing_current_auth_info) {
3452 _mem_save_outgoing_current_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
3453 NDR_PULL_SET_MEM_CTX(ndr, r->outgoing_current_auth_info, 0);
3454 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->outgoing_current_auth_info));
3455 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_outgoing_current_auth_info_0, 0);
3457 if (r->outgoing_previous_auth_info) {
3458 _mem_save_outgoing_previous_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
3459 NDR_PULL_SET_MEM_CTX(ndr, r->outgoing_previous_auth_info, 0);
3460 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr, NDR_SCALARS|NDR_BUFFERS, r->outgoing_previous_auth_info));
3461 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_outgoing_previous_auth_info_0, 0);
3464 return NDR_ERR_SUCCESS;
3467 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfo *r)
3469 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoAuthInfo");
3470 ndr->depth++;
3471 ndr_print_uint32(ndr, "incoming_count", r->incoming_count);
3472 ndr_print_ptr(ndr, "incoming_current_auth_info", r->incoming_current_auth_info);
3473 ndr->depth++;
3474 if (r->incoming_current_auth_info) {
3475 ndr_print_lsa_TrustDomainInfoBuffer(ndr, "incoming_current_auth_info", r->incoming_current_auth_info);
3477 ndr->depth--;
3478 ndr_print_ptr(ndr, "incoming_previous_auth_info", r->incoming_previous_auth_info);
3479 ndr->depth++;
3480 if (r->incoming_previous_auth_info) {
3481 ndr_print_lsa_TrustDomainInfoBuffer(ndr, "incoming_previous_auth_info", r->incoming_previous_auth_info);
3483 ndr->depth--;
3484 ndr_print_uint32(ndr, "outgoing_count", r->outgoing_count);
3485 ndr_print_ptr(ndr, "outgoing_current_auth_info", r->outgoing_current_auth_info);
3486 ndr->depth++;
3487 if (r->outgoing_current_auth_info) {
3488 ndr_print_lsa_TrustDomainInfoBuffer(ndr, "outgoing_current_auth_info", r->outgoing_current_auth_info);
3490 ndr->depth--;
3491 ndr_print_ptr(ndr, "outgoing_previous_auth_info", r->outgoing_previous_auth_info);
3492 ndr->depth++;
3493 if (r->outgoing_previous_auth_info) {
3494 ndr_print_lsa_TrustDomainInfoBuffer(ndr, "outgoing_previous_auth_info", r->outgoing_previous_auth_info);
3496 ndr->depth--;
3497 ndr->depth--;
3500 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoFullInfo *r)
3502 if (ndr_flags & NDR_SCALARS) {
3503 NDR_CHECK(ndr_push_align(ndr, 5));
3504 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
3505 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
3506 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
3507 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3509 if (ndr_flags & NDR_BUFFERS) {
3510 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
3511 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info));
3513 return NDR_ERR_SUCCESS;
3516 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoFullInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoFullInfo *r)
3518 if (ndr_flags & NDR_SCALARS) {
3519 NDR_CHECK(ndr_pull_align(ndr, 5));
3520 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
3521 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
3522 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
3523 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3525 if (ndr_flags & NDR_BUFFERS) {
3526 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
3527 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info));
3529 return NDR_ERR_SUCCESS;
3532 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfo(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo *r)
3534 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoFullInfo");
3535 ndr->depth++;
3536 ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info_ex", &r->info_ex);
3537 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr, "posix_offset", &r->posix_offset);
3538 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr, "auth_info", &r->auth_info);
3539 ndr->depth--;
3542 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoAuthInfoInternal *r)
3544 if (ndr_flags & NDR_SCALARS) {
3545 NDR_CHECK(ndr_push_align(ndr, 5));
3546 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->auth_blob));
3547 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3549 if (ndr_flags & NDR_BUFFERS) {
3550 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->auth_blob));
3552 return NDR_ERR_SUCCESS;
3555 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoAuthInfoInternal *r)
3557 if (ndr_flags & NDR_SCALARS) {
3558 NDR_CHECK(ndr_pull_align(ndr, 5));
3559 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_SCALARS, &r->auth_blob));
3560 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3562 if (ndr_flags & NDR_BUFFERS) {
3563 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr, NDR_BUFFERS, &r->auth_blob));
3565 return NDR_ERR_SUCCESS;
3568 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoAuthInfoInternal *r)
3570 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoAuthInfoInternal");
3571 ndr->depth++;
3572 ndr_print_lsa_DATA_BUF2(ndr, "auth_blob", &r->auth_blob);
3573 ndr->depth--;
3576 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfoInternal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoFullInfoInternal *r)
3578 if (ndr_flags & NDR_SCALARS) {
3579 NDR_CHECK(ndr_push_align(ndr, 5));
3580 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
3581 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
3582 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info));
3583 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3585 if (ndr_flags & NDR_BUFFERS) {
3586 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
3587 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_BUFFERS, &r->auth_info));
3589 return NDR_ERR_SUCCESS;
3592 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoFullInfoInternal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoFullInfoInternal *r)
3594 if (ndr_flags & NDR_SCALARS) {
3595 NDR_CHECK(ndr_pull_align(ndr, 5));
3596 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
3597 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
3598 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info));
3599 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3601 if (ndr_flags & NDR_BUFFERS) {
3602 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
3603 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_BUFFERS, &r->auth_info));
3605 return NDR_ERR_SUCCESS;
3608 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfoInternal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfoInternal *r)
3610 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoFullInfoInternal");
3611 ndr->depth++;
3612 ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info_ex", &r->info_ex);
3613 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr, "posix_offset", &r->posix_offset);
3614 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr, "auth_info", &r->auth_info);
3615 ndr->depth--;
3618 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoInfoEx2Internal *r)
3620 if (ndr_flags & NDR_SCALARS) {
3621 NDR_CHECK(ndr_push_align(ndr, 5));
3622 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
3623 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->forest_trust_length));
3624 NDR_CHECK(ndr_push_unique_ptr(ndr, r->forest_trust_data));
3625 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3627 if (ndr_flags & NDR_BUFFERS) {
3628 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
3629 if (r->forest_trust_data) {
3630 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->forest_trust_length));
3631 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->forest_trust_data, r->forest_trust_length));
3634 return NDR_ERR_SUCCESS;
3637 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoInfoEx2Internal *r)
3639 uint32_t _ptr_forest_trust_data;
3640 uint32_t size_forest_trust_data_1 = 0;
3641 TALLOC_CTX *_mem_save_forest_trust_data_0;
3642 if (ndr_flags & NDR_SCALARS) {
3643 NDR_CHECK(ndr_pull_align(ndr, 5));
3644 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
3645 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->forest_trust_length));
3646 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_data));
3647 if (_ptr_forest_trust_data) {
3648 NDR_PULL_ALLOC(ndr, r->forest_trust_data);
3649 } else {
3650 r->forest_trust_data = NULL;
3652 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3654 if (ndr_flags & NDR_BUFFERS) {
3655 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
3656 if (r->forest_trust_data) {
3657 _mem_save_forest_trust_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
3658 NDR_PULL_SET_MEM_CTX(ndr, r->forest_trust_data, 0);
3659 NDR_CHECK(ndr_pull_array_size(ndr, &r->forest_trust_data));
3660 size_forest_trust_data_1 = ndr_get_array_size(ndr, &r->forest_trust_data);
3661 NDR_PULL_ALLOC_N(ndr, r->forest_trust_data, size_forest_trust_data_1);
3662 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->forest_trust_data, size_forest_trust_data_1));
3663 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_data_0, 0);
3665 if (r->forest_trust_data) {
3666 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->forest_trust_data, r->forest_trust_length));
3669 return NDR_ERR_SUCCESS;
3672 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoInfoEx2Internal *r)
3674 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoInfoEx2Internal");
3675 ndr->depth++;
3676 ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info_ex", &r->info_ex);
3677 ndr_print_uint32(ndr, "forest_trust_length", r->forest_trust_length);
3678 ndr_print_ptr(ndr, "forest_trust_data", r->forest_trust_data);
3679 ndr->depth++;
3680 if (r->forest_trust_data) {
3681 ndr_print_array_uint8(ndr, "forest_trust_data", r->forest_trust_data, r->forest_trust_length);
3683 ndr->depth--;
3684 ndr->depth--;
3687 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoFullInfo2Internal *r)
3689 if (ndr_flags & NDR_SCALARS) {
3690 NDR_CHECK(ndr_push_align(ndr, 5));
3691 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info));
3692 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
3693 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
3694 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
3696 if (ndr_flags & NDR_BUFFERS) {
3697 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info));
3698 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info));
3700 return NDR_ERR_SUCCESS;
3703 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoFullInfo2Internal *r)
3705 if (ndr_flags & NDR_SCALARS) {
3706 NDR_CHECK(ndr_pull_align(ndr, 5));
3707 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info));
3708 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
3709 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
3710 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
3712 if (ndr_flags & NDR_BUFFERS) {
3713 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info));
3714 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info));
3716 return NDR_ERR_SUCCESS;
3719 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoFullInfo2Internal *r)
3721 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoFullInfo2Internal");
3722 ndr->depth++;
3723 ndr_print_lsa_TrustDomainInfoInfoEx2Internal(ndr, "info", &r->info);
3724 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr, "posix_offset", &r->posix_offset);
3725 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr, "auth_info", &r->auth_info);
3726 ndr->depth--;
3729 static enum ndr_err_code ndr_push_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_push *ndr, int ndr_flags, const struct lsa_TrustDomainInfoSupportedEncTypes *r)
3731 if (ndr_flags & NDR_SCALARS) {
3732 NDR_CHECK(ndr_push_align(ndr, 4));
3733 NDR_CHECK(ndr_push_kerb_EncTypes(ndr, NDR_SCALARS, r->enc_types));
3734 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3736 if (ndr_flags & NDR_BUFFERS) {
3738 return NDR_ERR_SUCCESS;
3741 static enum ndr_err_code ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_pull *ndr, int ndr_flags, struct lsa_TrustDomainInfoSupportedEncTypes *r)
3743 if (ndr_flags & NDR_SCALARS) {
3744 NDR_CHECK(ndr_pull_align(ndr, 4));
3745 NDR_CHECK(ndr_pull_kerb_EncTypes(ndr, NDR_SCALARS, &r->enc_types));
3746 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3748 if (ndr_flags & NDR_BUFFERS) {
3750 return NDR_ERR_SUCCESS;
3753 _PUBLIC_ void ndr_print_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_print *ndr, const char *name, const struct lsa_TrustDomainInfoSupportedEncTypes *r)
3755 ndr_print_struct(ndr, name, "lsa_TrustDomainInfoSupportedEncTypes");
3756 ndr->depth++;
3757 ndr_print_kerb_EncTypes(ndr, "enc_types", r->enc_types);
3758 ndr->depth--;
3761 static enum ndr_err_code ndr_push_lsa_TrustedDomainInfo(struct ndr_push *ndr, int ndr_flags, const union lsa_TrustedDomainInfo *r)
3763 if (ndr_flags & NDR_SCALARS) {
3764 int level = ndr_push_get_switch_value(ndr, r);
3765 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, level));
3766 NDR_CHECK(ndr_push_union_align(ndr, 5));
3767 switch (level) {
3768 case LSA_TRUSTED_DOMAIN_INFO_NAME: {
3769 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr, NDR_SCALARS, &r->name));
3770 break; }
3772 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: {
3773 NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr, NDR_SCALARS, &r->controllers));
3774 break; }
3776 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: {
3777 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
3778 break; }
3780 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: {
3781 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr, NDR_SCALARS, &r->password));
3782 break; }
3784 case LSA_TRUSTED_DOMAIN_INFO_BASIC: {
3785 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr, NDR_SCALARS, &r->info_basic));
3786 break; }
3788 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: {
3789 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
3790 break; }
3792 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: {
3793 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
3794 break; }
3796 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: {
3797 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr, NDR_SCALARS, &r->full_info));
3798 break; }
3800 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: {
3801 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info_internal));
3802 break; }
3804 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: {
3805 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr, NDR_SCALARS, &r->full_info_internal));
3806 break; }
3808 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: {
3809 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info_ex2_internal));
3810 break; }
3812 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: {
3813 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_SCALARS, &r->full_info2_internal));
3814 break; }
3816 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: {
3817 NDR_CHECK(ndr_push_lsa_TrustDomainInfoSupportedEncTypes(ndr, NDR_SCALARS, &r->enc_types));
3818 break; }
3820 default:
3821 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3824 if (ndr_flags & NDR_BUFFERS) {
3825 int level = ndr_push_get_switch_value(ndr, r);
3826 switch (level) {
3827 case LSA_TRUSTED_DOMAIN_INFO_NAME:
3828 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr, NDR_BUFFERS, &r->name));
3829 break;
3831 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS:
3832 NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr, NDR_BUFFERS, &r->controllers));
3833 break;
3835 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET:
3836 break;
3838 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD:
3839 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr, NDR_BUFFERS, &r->password));
3840 break;
3842 case LSA_TRUSTED_DOMAIN_INFO_BASIC:
3843 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr, NDR_BUFFERS, &r->info_basic));
3844 break;
3846 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX:
3847 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
3848 break;
3850 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO:
3851 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info));
3852 break;
3854 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO:
3855 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr, NDR_BUFFERS, &r->full_info));
3856 break;
3858 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL:
3859 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_BUFFERS, &r->auth_info_internal));
3860 break;
3862 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL:
3863 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr, NDR_BUFFERS, &r->full_info_internal));
3864 break;
3866 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL:
3867 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info_ex2_internal));
3868 break;
3870 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL:
3871 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_BUFFERS, &r->full_info2_internal));
3872 break;
3874 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
3875 break;
3877 default:
3878 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3881 return NDR_ERR_SUCCESS;
3884 static enum ndr_err_code ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull *ndr, int ndr_flags, union lsa_TrustedDomainInfo *r)
3886 int level;
3887 uint16_t _level;
3888 level = ndr_pull_get_switch_value(ndr, r);
3889 if (ndr_flags & NDR_SCALARS) {
3890 NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
3891 if (_level != level) {
3892 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
3894 NDR_CHECK(ndr_pull_union_align(ndr, 5));
3895 switch (level) {
3896 case LSA_TRUSTED_DOMAIN_INFO_NAME: {
3897 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr, NDR_SCALARS, &r->name));
3898 break; }
3900 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS: {
3901 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr, NDR_SCALARS, &r->controllers));
3902 break; }
3904 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET: {
3905 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr, NDR_SCALARS, &r->posix_offset));
3906 break; }
3908 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: {
3909 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr, NDR_SCALARS, &r->password));
3910 break; }
3912 case LSA_TRUSTED_DOMAIN_INFO_BASIC: {
3913 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr, NDR_SCALARS, &r->info_basic));
3914 break; }
3916 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX: {
3917 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->info_ex));
3918 break; }
3920 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO: {
3921 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_SCALARS, &r->auth_info));
3922 break; }
3924 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO: {
3925 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr, NDR_SCALARS, &r->full_info));
3926 break; }
3928 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL: {
3929 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS, &r->auth_info_internal));
3930 break; }
3932 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL: {
3933 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr, NDR_SCALARS, &r->full_info_internal));
3934 break; }
3936 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL: {
3937 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_SCALARS, &r->info_ex2_internal));
3938 break; }
3940 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL: {
3941 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_SCALARS, &r->full_info2_internal));
3942 break; }
3944 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES: {
3945 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(ndr, NDR_SCALARS, &r->enc_types));
3946 break; }
3948 default:
3949 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
3952 if (ndr_flags & NDR_BUFFERS) {
3953 switch (level) {
3954 case LSA_TRUSTED_DOMAIN_INFO_NAME:
3955 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr, NDR_BUFFERS, &r->name));
3956 break;
3958 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS:
3959 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr, NDR_BUFFERS, &r->controllers));
3960 break;
3962 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET:
3963 break;
3965 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD:
3966 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr, NDR_BUFFERS, &r->password));
3967 break;
3969 case LSA_TRUSTED_DOMAIN_INFO_BASIC:
3970 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr, NDR_BUFFERS, &r->info_basic));
3971 break;
3973 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX:
3974 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->info_ex));
3975 break;
3977 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO:
3978 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr, NDR_BUFFERS, &r->auth_info));
3979 break;
3981 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO:
3982 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr, NDR_BUFFERS, &r->full_info));
3983 break;
3985 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL:
3986 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_BUFFERS, &r->auth_info_internal));
3987 break;
3989 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL:
3990 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr, NDR_BUFFERS, &r->full_info_internal));
3991 break;
3993 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL:
3994 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr, NDR_BUFFERS, &r->info_ex2_internal));
3995 break;
3997 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL:
3998 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr, NDR_BUFFERS, &r->full_info2_internal));
3999 break;
4001 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
4002 break;
4004 default:
4005 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4008 return NDR_ERR_SUCCESS;
4011 _PUBLIC_ void ndr_print_lsa_TrustedDomainInfo(struct ndr_print *ndr, const char *name, const union lsa_TrustedDomainInfo *r)
4013 int level;
4014 level = ndr_print_get_switch_value(ndr, r);
4015 ndr_print_union(ndr, name, level, "lsa_TrustedDomainInfo");
4016 switch (level) {
4017 case LSA_TRUSTED_DOMAIN_INFO_NAME:
4018 ndr_print_lsa_TrustDomainInfoName(ndr, "name", &r->name);
4019 break;
4021 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS:
4022 ndr_print_lsa_TrustDomainInfoControllers(ndr, "controllers", &r->controllers);
4023 break;
4025 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET:
4026 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr, "posix_offset", &r->posix_offset);
4027 break;
4029 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD:
4030 ndr_print_lsa_TrustDomainInfoPassword(ndr, "password", &r->password);
4031 break;
4033 case LSA_TRUSTED_DOMAIN_INFO_BASIC:
4034 ndr_print_lsa_TrustDomainInfoBasic(ndr, "info_basic", &r->info_basic);
4035 break;
4037 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX:
4038 ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info_ex", &r->info_ex);
4039 break;
4041 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO:
4042 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr, "auth_info", &r->auth_info);
4043 break;
4045 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO:
4046 ndr_print_lsa_TrustDomainInfoFullInfo(ndr, "full_info", &r->full_info);
4047 break;
4049 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL:
4050 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr, "auth_info_internal", &r->auth_info_internal);
4051 break;
4053 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL:
4054 ndr_print_lsa_TrustDomainInfoFullInfoInternal(ndr, "full_info_internal", &r->full_info_internal);
4055 break;
4057 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL:
4058 ndr_print_lsa_TrustDomainInfoInfoEx2Internal(ndr, "info_ex2_internal", &r->info_ex2_internal);
4059 break;
4061 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL:
4062 ndr_print_lsa_TrustDomainInfoFullInfo2Internal(ndr, "full_info2_internal", &r->full_info2_internal);
4063 break;
4065 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
4066 ndr_print_lsa_TrustDomainInfoSupportedEncTypes(ndr, "enc_types", &r->enc_types);
4067 break;
4069 default:
4070 ndr_print_bad_level(ndr, name, level);
4074 static enum ndr_err_code ndr_push_lsa_DATA_BUF_PTR(struct ndr_push *ndr, int ndr_flags, const struct lsa_DATA_BUF_PTR *r)
4076 if (ndr_flags & NDR_SCALARS) {
4077 NDR_CHECK(ndr_push_align(ndr, 5));
4078 NDR_CHECK(ndr_push_unique_ptr(ndr, r->buf));
4079 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4081 if (ndr_flags & NDR_BUFFERS) {
4082 if (r->buf) {
4083 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->buf));
4086 return NDR_ERR_SUCCESS;
4089 static enum ndr_err_code ndr_pull_lsa_DATA_BUF_PTR(struct ndr_pull *ndr, int ndr_flags, struct lsa_DATA_BUF_PTR *r)
4091 uint32_t _ptr_buf;
4092 TALLOC_CTX *_mem_save_buf_0;
4093 if (ndr_flags & NDR_SCALARS) {
4094 NDR_CHECK(ndr_pull_align(ndr, 5));
4095 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buf));
4096 if (_ptr_buf) {
4097 NDR_PULL_ALLOC(ndr, r->buf);
4098 } else {
4099 r->buf = NULL;
4101 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4103 if (ndr_flags & NDR_BUFFERS) {
4104 if (r->buf) {
4105 _mem_save_buf_0 = NDR_PULL_GET_MEM_CTX(ndr);
4106 NDR_PULL_SET_MEM_CTX(ndr, r->buf, 0);
4107 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->buf));
4108 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buf_0, 0);
4111 return NDR_ERR_SUCCESS;
4114 _PUBLIC_ void ndr_print_lsa_DATA_BUF_PTR(struct ndr_print *ndr, const char *name, const struct lsa_DATA_BUF_PTR *r)
4116 ndr_print_struct(ndr, name, "lsa_DATA_BUF_PTR");
4117 ndr->depth++;
4118 ndr_print_ptr(ndr, "buf", r->buf);
4119 ndr->depth++;
4120 if (r->buf) {
4121 ndr_print_lsa_DATA_BUF(ndr, "buf", r->buf);
4123 ndr->depth--;
4124 ndr->depth--;
4127 static enum ndr_err_code ndr_push_lsa_RightSet(struct ndr_push *ndr, int ndr_flags, const struct lsa_RightSet *r)
4129 uint32_t cntr_names_1;
4130 if (ndr_flags & NDR_SCALARS) {
4131 NDR_CHECK(ndr_push_align(ndr, 5));
4132 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4133 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
4134 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4136 if (ndr_flags & NDR_BUFFERS) {
4137 if (r->names) {
4138 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4139 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4140 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
4142 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4143 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
4147 return NDR_ERR_SUCCESS;
4150 static enum ndr_err_code ndr_pull_lsa_RightSet(struct ndr_pull *ndr, int ndr_flags, struct lsa_RightSet *r)
4152 uint32_t _ptr_names;
4153 uint32_t size_names_1 = 0;
4154 uint32_t cntr_names_1;
4155 TALLOC_CTX *_mem_save_names_0;
4156 TALLOC_CTX *_mem_save_names_1;
4157 if (ndr_flags & NDR_SCALARS) {
4158 NDR_CHECK(ndr_pull_align(ndr, 5));
4159 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4160 if (r->count > 256) {
4161 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4163 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
4164 if (_ptr_names) {
4165 NDR_PULL_ALLOC(ndr, r->names);
4166 } else {
4167 r->names = NULL;
4169 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4171 if (ndr_flags & NDR_BUFFERS) {
4172 if (r->names) {
4173 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
4174 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
4175 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
4176 size_names_1 = ndr_get_array_size(ndr, &r->names);
4177 NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
4178 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
4179 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
4180 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
4181 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
4183 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
4184 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
4186 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
4187 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
4189 if (r->names) {
4190 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
4193 return NDR_ERR_SUCCESS;
4196 _PUBLIC_ void ndr_print_lsa_RightSet(struct ndr_print *ndr, const char *name, const struct lsa_RightSet *r)
4198 uint32_t cntr_names_1;
4199 ndr_print_struct(ndr, name, "lsa_RightSet");
4200 ndr->depth++;
4201 ndr_print_uint32(ndr, "count", r->count);
4202 ndr_print_ptr(ndr, "names", r->names);
4203 ndr->depth++;
4204 if (r->names) {
4205 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
4206 ndr->depth++;
4207 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
4208 char *idx_1=NULL;
4209 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
4210 ndr_print_lsa_StringLarge(ndr, "names", &r->names[cntr_names_1]);
4211 free(idx_1);
4214 ndr->depth--;
4216 ndr->depth--;
4217 ndr->depth--;
4220 static enum ndr_err_code ndr_push_lsa_DomainListEx(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainListEx *r)
4222 uint32_t cntr_domains_1;
4223 if (ndr_flags & NDR_SCALARS) {
4224 NDR_CHECK(ndr_push_align(ndr, 5));
4225 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4226 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domains));
4227 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4229 if (ndr_flags & NDR_BUFFERS) {
4230 if (r->domains) {
4231 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4232 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
4233 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
4235 for (cntr_domains_1 = 0; cntr_domains_1 < r->count; cntr_domains_1++) {
4236 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
4240 return NDR_ERR_SUCCESS;
4243 static enum ndr_err_code ndr_pull_lsa_DomainListEx(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainListEx *r)
4245 uint32_t _ptr_domains;
4246 uint32_t size_domains_1 = 0;
4247 uint32_t cntr_domains_1;
4248 TALLOC_CTX *_mem_save_domains_0;
4249 TALLOC_CTX *_mem_save_domains_1;
4250 if (ndr_flags & NDR_SCALARS) {
4251 NDR_CHECK(ndr_pull_align(ndr, 5));
4252 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4253 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
4254 if (_ptr_domains) {
4255 NDR_PULL_ALLOC(ndr, r->domains);
4256 } else {
4257 r->domains = NULL;
4259 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4261 if (ndr_flags & NDR_BUFFERS) {
4262 if (r->domains) {
4263 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
4264 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
4265 NDR_CHECK(ndr_pull_array_size(ndr, &r->domains));
4266 size_domains_1 = ndr_get_array_size(ndr, &r->domains);
4267 NDR_PULL_ALLOC_N(ndr, r->domains, size_domains_1);
4268 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
4269 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
4270 for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
4271 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS, &r->domains[cntr_domains_1]));
4273 for (cntr_domains_1 = 0; cntr_domains_1 < size_domains_1; cntr_domains_1++) {
4274 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_BUFFERS, &r->domains[cntr_domains_1]));
4276 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
4277 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
4279 if (r->domains) {
4280 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domains, r->count));
4283 return NDR_ERR_SUCCESS;
4286 _PUBLIC_ void ndr_print_lsa_DomainListEx(struct ndr_print *ndr, const char *name, const struct lsa_DomainListEx *r)
4288 uint32_t cntr_domains_1;
4289 ndr_print_struct(ndr, name, "lsa_DomainListEx");
4290 ndr->depth++;
4291 ndr_print_uint32(ndr, "count", r->count);
4292 ndr_print_ptr(ndr, "domains", r->domains);
4293 ndr->depth++;
4294 if (r->domains) {
4295 ndr->print(ndr, "%s: ARRAY(%d)", "domains", (int)r->count);
4296 ndr->depth++;
4297 for (cntr_domains_1=0;cntr_domains_1<r->count;cntr_domains_1++) {
4298 char *idx_1=NULL;
4299 if (asprintf(&idx_1, "[%d]", cntr_domains_1) != -1) {
4300 ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "domains", &r->domains[cntr_domains_1]);
4301 free(idx_1);
4304 ndr->depth--;
4306 ndr->depth--;
4307 ndr->depth--;
4310 static enum ndr_err_code ndr_push_lsa_DomainInfoKerberos(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainInfoKerberos *r)
4312 if (ndr_flags & NDR_SCALARS) {
4313 NDR_CHECK(ndr_push_align(ndr, 8));
4314 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enforce_restrictions));
4315 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->service_tkt_lifetime));
4316 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->user_tkt_lifetime));
4317 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->user_tkt_renewaltime));
4318 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->clock_skew));
4319 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown6));
4320 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
4322 if (ndr_flags & NDR_BUFFERS) {
4324 return NDR_ERR_SUCCESS;
4327 static enum ndr_err_code ndr_pull_lsa_DomainInfoKerberos(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInfoKerberos *r)
4329 if (ndr_flags & NDR_SCALARS) {
4330 NDR_CHECK(ndr_pull_align(ndr, 8));
4331 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enforce_restrictions));
4332 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->service_tkt_lifetime));
4333 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->user_tkt_lifetime));
4334 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->user_tkt_renewaltime));
4335 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->clock_skew));
4336 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown6));
4337 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
4339 if (ndr_flags & NDR_BUFFERS) {
4341 return NDR_ERR_SUCCESS;
4344 _PUBLIC_ void ndr_print_lsa_DomainInfoKerberos(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfoKerberos *r)
4346 ndr_print_struct(ndr, name, "lsa_DomainInfoKerberos");
4347 ndr->depth++;
4348 ndr_print_uint32(ndr, "enforce_restrictions", r->enforce_restrictions);
4349 ndr_print_hyper(ndr, "service_tkt_lifetime", r->service_tkt_lifetime);
4350 ndr_print_hyper(ndr, "user_tkt_lifetime", r->user_tkt_lifetime);
4351 ndr_print_hyper(ndr, "user_tkt_renewaltime", r->user_tkt_renewaltime);
4352 ndr_print_hyper(ndr, "clock_skew", r->clock_skew);
4353 ndr_print_hyper(ndr, "unknown6", r->unknown6);
4354 ndr->depth--;
4357 static enum ndr_err_code ndr_push_lsa_DomainInfoEfs(struct ndr_push *ndr, int ndr_flags, const struct lsa_DomainInfoEfs *r)
4359 if (ndr_flags & NDR_SCALARS) {
4360 NDR_CHECK(ndr_push_align(ndr, 5));
4361 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->blob_size));
4362 NDR_CHECK(ndr_push_unique_ptr(ndr, r->efs_blob));
4363 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4365 if (ndr_flags & NDR_BUFFERS) {
4366 if (r->efs_blob) {
4367 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->blob_size));
4368 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->efs_blob, r->blob_size));
4371 return NDR_ERR_SUCCESS;
4374 static enum ndr_err_code ndr_pull_lsa_DomainInfoEfs(struct ndr_pull *ndr, int ndr_flags, struct lsa_DomainInfoEfs *r)
4376 uint32_t _ptr_efs_blob;
4377 uint32_t size_efs_blob_1 = 0;
4378 TALLOC_CTX *_mem_save_efs_blob_0;
4379 if (ndr_flags & NDR_SCALARS) {
4380 NDR_CHECK(ndr_pull_align(ndr, 5));
4381 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->blob_size));
4382 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_efs_blob));
4383 if (_ptr_efs_blob) {
4384 NDR_PULL_ALLOC(ndr, r->efs_blob);
4385 } else {
4386 r->efs_blob = NULL;
4388 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4390 if (ndr_flags & NDR_BUFFERS) {
4391 if (r->efs_blob) {
4392 _mem_save_efs_blob_0 = NDR_PULL_GET_MEM_CTX(ndr);
4393 NDR_PULL_SET_MEM_CTX(ndr, r->efs_blob, 0);
4394 NDR_CHECK(ndr_pull_array_size(ndr, &r->efs_blob));
4395 size_efs_blob_1 = ndr_get_array_size(ndr, &r->efs_blob);
4396 NDR_PULL_ALLOC_N(ndr, r->efs_blob, size_efs_blob_1);
4397 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->efs_blob, size_efs_blob_1));
4398 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_efs_blob_0, 0);
4400 if (r->efs_blob) {
4401 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->efs_blob, r->blob_size));
4404 return NDR_ERR_SUCCESS;
4407 _PUBLIC_ void ndr_print_lsa_DomainInfoEfs(struct ndr_print *ndr, const char *name, const struct lsa_DomainInfoEfs *r)
4409 ndr_print_struct(ndr, name, "lsa_DomainInfoEfs");
4410 ndr->depth++;
4411 ndr_print_uint32(ndr, "blob_size", r->blob_size);
4412 ndr_print_ptr(ndr, "efs_blob", r->efs_blob);
4413 ndr->depth++;
4414 if (r->efs_blob) {
4415 ndr_print_array_uint8(ndr, "efs_blob", r->efs_blob, r->blob_size);
4417 ndr->depth--;
4418 ndr->depth--;
4421 static enum ndr_err_code ndr_push_lsa_DomainInformationPolicy(struct ndr_push *ndr, int ndr_flags, const union lsa_DomainInformationPolicy *r)
4423 if (ndr_flags & NDR_SCALARS) {
4424 int level = ndr_push_get_switch_value(ndr, r);
4425 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, level));
4426 NDR_CHECK(ndr_push_union_align(ndr, 8));
4427 switch (level) {
4428 case LSA_DOMAIN_INFO_POLICY_EFS: {
4429 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr, NDR_SCALARS, &r->efs_info));
4430 break; }
4432 case LSA_DOMAIN_INFO_POLICY_KERBEROS: {
4433 NDR_CHECK(ndr_push_lsa_DomainInfoKerberos(ndr, NDR_SCALARS, &r->kerberos_info));
4434 break; }
4436 default:
4437 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4440 if (ndr_flags & NDR_BUFFERS) {
4441 int level = ndr_push_get_switch_value(ndr, r);
4442 switch (level) {
4443 case LSA_DOMAIN_INFO_POLICY_EFS:
4444 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr, NDR_BUFFERS, &r->efs_info));
4445 break;
4447 case LSA_DOMAIN_INFO_POLICY_KERBEROS:
4448 break;
4450 default:
4451 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4454 return NDR_ERR_SUCCESS;
4457 static enum ndr_err_code ndr_pull_lsa_DomainInformationPolicy(struct ndr_pull *ndr, int ndr_flags, union lsa_DomainInformationPolicy *r)
4459 int level;
4460 uint16_t _level;
4461 level = ndr_pull_get_switch_value(ndr, r);
4462 if (ndr_flags & NDR_SCALARS) {
4463 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &_level));
4464 if (_level != level) {
4465 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
4467 NDR_CHECK(ndr_pull_union_align(ndr, 8));
4468 switch (level) {
4469 case LSA_DOMAIN_INFO_POLICY_EFS: {
4470 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr, NDR_SCALARS, &r->efs_info));
4471 break; }
4473 case LSA_DOMAIN_INFO_POLICY_KERBEROS: {
4474 NDR_CHECK(ndr_pull_lsa_DomainInfoKerberos(ndr, NDR_SCALARS, &r->kerberos_info));
4475 break; }
4477 default:
4478 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4481 if (ndr_flags & NDR_BUFFERS) {
4482 switch (level) {
4483 case LSA_DOMAIN_INFO_POLICY_EFS:
4484 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr, NDR_BUFFERS, &r->efs_info));
4485 break;
4487 case LSA_DOMAIN_INFO_POLICY_KERBEROS:
4488 break;
4490 default:
4491 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
4494 return NDR_ERR_SUCCESS;
4497 _PUBLIC_ void ndr_print_lsa_DomainInformationPolicy(struct ndr_print *ndr, const char *name, const union lsa_DomainInformationPolicy *r)
4499 int level;
4500 level = ndr_print_get_switch_value(ndr, r);
4501 ndr_print_union(ndr, name, level, "lsa_DomainInformationPolicy");
4502 switch (level) {
4503 case LSA_DOMAIN_INFO_POLICY_EFS:
4504 ndr_print_lsa_DomainInfoEfs(ndr, "efs_info", &r->efs_info);
4505 break;
4507 case LSA_DOMAIN_INFO_POLICY_KERBEROS:
4508 ndr_print_lsa_DomainInfoKerberos(ndr, "kerberos_info", &r->kerberos_info);
4509 break;
4511 default:
4512 ndr_print_bad_level(ndr, name, level);
4516 static enum ndr_err_code ndr_push_lsa_TranslatedName2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedName2 *r)
4518 if (ndr_flags & NDR_SCALARS) {
4519 NDR_CHECK(ndr_push_align(ndr, 5));
4520 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
4521 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->name));
4522 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
4523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
4524 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4526 if (ndr_flags & NDR_BUFFERS) {
4527 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->name));
4529 return NDR_ERR_SUCCESS;
4532 static enum ndr_err_code ndr_pull_lsa_TranslatedName2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedName2 *r)
4534 if (ndr_flags & NDR_SCALARS) {
4535 NDR_CHECK(ndr_pull_align(ndr, 5));
4536 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
4537 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->name));
4538 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
4539 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
4540 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4542 if (ndr_flags & NDR_BUFFERS) {
4543 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->name));
4545 return NDR_ERR_SUCCESS;
4548 _PUBLIC_ void ndr_print_lsa_TranslatedName2(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedName2 *r)
4550 ndr_print_struct(ndr, name, "lsa_TranslatedName2");
4551 ndr->depth++;
4552 ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type);
4553 ndr_print_lsa_String(ndr, "name", &r->name);
4554 ndr_print_uint32(ndr, "sid_index", r->sid_index);
4555 ndr_print_uint32(ndr, "unknown", r->unknown);
4556 ndr->depth--;
4559 static enum ndr_err_code ndr_push_lsa_TransNameArray2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransNameArray2 *r)
4561 uint32_t cntr_names_1;
4562 if (ndr_flags & NDR_SCALARS) {
4563 NDR_CHECK(ndr_push_align(ndr, 5));
4564 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4565 NDR_CHECK(ndr_push_unique_ptr(ndr, r->names));
4566 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4568 if (ndr_flags & NDR_BUFFERS) {
4569 if (r->names) {
4570 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4571 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4572 NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
4574 for (cntr_names_1 = 0; cntr_names_1 < r->count; cntr_names_1++) {
4575 NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
4579 return NDR_ERR_SUCCESS;
4582 static enum ndr_err_code ndr_pull_lsa_TransNameArray2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransNameArray2 *r)
4584 uint32_t _ptr_names;
4585 uint32_t size_names_1 = 0;
4586 uint32_t cntr_names_1;
4587 TALLOC_CTX *_mem_save_names_0;
4588 TALLOC_CTX *_mem_save_names_1;
4589 if (ndr_flags & NDR_SCALARS) {
4590 NDR_CHECK(ndr_pull_align(ndr, 5));
4591 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4592 if (r->count > 1000) {
4593 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4595 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_names));
4596 if (_ptr_names) {
4597 NDR_PULL_ALLOC(ndr, r->names);
4598 } else {
4599 r->names = NULL;
4601 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4603 if (ndr_flags & NDR_BUFFERS) {
4604 if (r->names) {
4605 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
4606 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
4607 NDR_CHECK(ndr_pull_array_size(ndr, &r->names));
4608 size_names_1 = ndr_get_array_size(ndr, &r->names);
4609 NDR_PULL_ALLOC_N(ndr, r->names, size_names_1);
4610 _mem_save_names_1 = NDR_PULL_GET_MEM_CTX(ndr);
4611 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
4612 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
4613 NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr, NDR_SCALARS, &r->names[cntr_names_1]));
4615 for (cntr_names_1 = 0; cntr_names_1 < size_names_1; cntr_names_1++) {
4616 NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr, NDR_BUFFERS, &r->names[cntr_names_1]));
4618 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_1, 0);
4619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
4621 if (r->names) {
4622 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->names, r->count));
4625 return NDR_ERR_SUCCESS;
4628 _PUBLIC_ void ndr_print_lsa_TransNameArray2(struct ndr_print *ndr, const char *name, const struct lsa_TransNameArray2 *r)
4630 uint32_t cntr_names_1;
4631 ndr_print_struct(ndr, name, "lsa_TransNameArray2");
4632 ndr->depth++;
4633 ndr_print_uint32(ndr, "count", r->count);
4634 ndr_print_ptr(ndr, "names", r->names);
4635 ndr->depth++;
4636 if (r->names) {
4637 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->count);
4638 ndr->depth++;
4639 for (cntr_names_1=0;cntr_names_1<r->count;cntr_names_1++) {
4640 char *idx_1=NULL;
4641 if (asprintf(&idx_1, "[%d]", cntr_names_1) != -1) {
4642 ndr_print_lsa_TranslatedName2(ndr, "names", &r->names[cntr_names_1]);
4643 free(idx_1);
4646 ndr->depth--;
4648 ndr->depth--;
4649 ndr->depth--;
4652 static enum ndr_err_code ndr_push_lsa_LookupOptions(struct ndr_push *ndr, int ndr_flags, enum lsa_LookupOptions r)
4654 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4655 return NDR_ERR_SUCCESS;
4658 static enum ndr_err_code ndr_pull_lsa_LookupOptions(struct ndr_pull *ndr, int ndr_flags, enum lsa_LookupOptions *r)
4660 uint32_t v;
4661 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4662 *r = v;
4663 return NDR_ERR_SUCCESS;
4666 _PUBLIC_ void ndr_print_lsa_LookupOptions(struct ndr_print *ndr, const char *name, enum lsa_LookupOptions r)
4668 const char *val = NULL;
4670 switch (r) {
4671 case LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES: val = "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES"; break;
4672 case LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL: val = "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL"; break;
4674 ndr_print_enum(ndr, name, "ENUM", val, r);
4677 static enum ndr_err_code ndr_push_lsa_ClientRevision(struct ndr_push *ndr, int ndr_flags, enum lsa_ClientRevision r)
4679 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
4680 return NDR_ERR_SUCCESS;
4683 static enum ndr_err_code ndr_pull_lsa_ClientRevision(struct ndr_pull *ndr, int ndr_flags, enum lsa_ClientRevision *r)
4685 uint32_t v;
4686 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
4687 *r = v;
4688 return NDR_ERR_SUCCESS;
4691 _PUBLIC_ void ndr_print_lsa_ClientRevision(struct ndr_print *ndr, const char *name, enum lsa_ClientRevision r)
4693 const char *val = NULL;
4695 switch (r) {
4696 case LSA_CLIENT_REVISION_1: val = "LSA_CLIENT_REVISION_1"; break;
4697 case LSA_CLIENT_REVISION_2: val = "LSA_CLIENT_REVISION_2"; break;
4699 ndr_print_enum(ndr, name, "ENUM", val, r);
4702 static enum ndr_err_code ndr_push_lsa_TranslatedSid2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedSid2 *r)
4704 if (ndr_flags & NDR_SCALARS) {
4705 NDR_CHECK(ndr_push_align(ndr, 4));
4706 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
4707 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
4708 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
4709 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
4710 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
4712 if (ndr_flags & NDR_BUFFERS) {
4714 return NDR_ERR_SUCCESS;
4717 static enum ndr_err_code ndr_pull_lsa_TranslatedSid2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid2 *r)
4719 if (ndr_flags & NDR_SCALARS) {
4720 NDR_CHECK(ndr_pull_align(ndr, 4));
4721 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
4722 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
4723 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
4724 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown));
4725 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
4727 if (ndr_flags & NDR_BUFFERS) {
4729 return NDR_ERR_SUCCESS;
4732 _PUBLIC_ void ndr_print_lsa_TranslatedSid2(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid2 *r)
4734 ndr_print_struct(ndr, name, "lsa_TranslatedSid2");
4735 ndr->depth++;
4736 ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type);
4737 ndr_print_uint32(ndr, "rid", r->rid);
4738 ndr_print_uint32(ndr, "sid_index", r->sid_index);
4739 ndr_print_uint32(ndr, "unknown", r->unknown);
4740 ndr->depth--;
4743 static enum ndr_err_code ndr_push_lsa_TransSidArray2(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransSidArray2 *r)
4745 uint32_t cntr_sids_1;
4746 if (ndr_flags & NDR_SCALARS) {
4747 NDR_CHECK(ndr_push_align(ndr, 5));
4748 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4749 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4750 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4752 if (ndr_flags & NDR_BUFFERS) {
4753 if (r->sids) {
4754 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4755 for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
4756 NDR_CHECK(ndr_push_lsa_TranslatedSid2(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
4760 return NDR_ERR_SUCCESS;
4763 static enum ndr_err_code ndr_pull_lsa_TransSidArray2(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray2 *r)
4765 uint32_t _ptr_sids;
4766 uint32_t size_sids_1 = 0;
4767 uint32_t cntr_sids_1;
4768 TALLOC_CTX *_mem_save_sids_0;
4769 TALLOC_CTX *_mem_save_sids_1;
4770 if (ndr_flags & NDR_SCALARS) {
4771 NDR_CHECK(ndr_pull_align(ndr, 5));
4772 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4773 if (r->count > 1000) {
4774 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4776 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4777 if (_ptr_sids) {
4778 NDR_PULL_ALLOC(ndr, r->sids);
4779 } else {
4780 r->sids = NULL;
4782 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4784 if (ndr_flags & NDR_BUFFERS) {
4785 if (r->sids) {
4786 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4787 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4788 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4789 size_sids_1 = ndr_get_array_size(ndr, &r->sids);
4790 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
4791 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4792 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4793 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
4794 NDR_CHECK(ndr_pull_lsa_TranslatedSid2(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
4796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4797 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4799 if (r->sids) {
4800 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->count));
4803 return NDR_ERR_SUCCESS;
4806 _PUBLIC_ void ndr_print_lsa_TransSidArray2(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray2 *r)
4808 uint32_t cntr_sids_1;
4809 ndr_print_struct(ndr, name, "lsa_TransSidArray2");
4810 ndr->depth++;
4811 ndr_print_uint32(ndr, "count", r->count);
4812 ndr_print_ptr(ndr, "sids", r->sids);
4813 ndr->depth++;
4814 if (r->sids) {
4815 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->count);
4816 ndr->depth++;
4817 for (cntr_sids_1=0;cntr_sids_1<r->count;cntr_sids_1++) {
4818 char *idx_1=NULL;
4819 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4820 ndr_print_lsa_TranslatedSid2(ndr, "sids", &r->sids[cntr_sids_1]);
4821 free(idx_1);
4824 ndr->depth--;
4826 ndr->depth--;
4827 ndr->depth--;
4830 static enum ndr_err_code ndr_push_lsa_TranslatedSid3(struct ndr_push *ndr, int ndr_flags, const struct lsa_TranslatedSid3 *r)
4832 if (ndr_flags & NDR_SCALARS) {
4833 NDR_CHECK(ndr_push_align(ndr, 5));
4834 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->sid_type));
4835 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
4836 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_index));
4837 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
4838 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4840 if (ndr_flags & NDR_BUFFERS) {
4841 if (r->sid) {
4842 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4845 return NDR_ERR_SUCCESS;
4848 static enum ndr_err_code ndr_pull_lsa_TranslatedSid3(struct ndr_pull *ndr, int ndr_flags, struct lsa_TranslatedSid3 *r)
4850 uint32_t _ptr_sid;
4851 TALLOC_CTX *_mem_save_sid_0;
4852 if (ndr_flags & NDR_SCALARS) {
4853 NDR_CHECK(ndr_pull_align(ndr, 5));
4854 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->sid_type));
4855 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
4856 if (_ptr_sid) {
4857 NDR_PULL_ALLOC(ndr, r->sid);
4858 } else {
4859 r->sid = NULL;
4861 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_index));
4862 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
4863 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4865 if (ndr_flags & NDR_BUFFERS) {
4866 if (r->sid) {
4867 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
4868 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
4869 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
4870 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
4873 return NDR_ERR_SUCCESS;
4876 _PUBLIC_ void ndr_print_lsa_TranslatedSid3(struct ndr_print *ndr, const char *name, const struct lsa_TranslatedSid3 *r)
4878 ndr_print_struct(ndr, name, "lsa_TranslatedSid3");
4879 ndr->depth++;
4880 ndr_print_lsa_SidType(ndr, "sid_type", r->sid_type);
4881 ndr_print_ptr(ndr, "sid", r->sid);
4882 ndr->depth++;
4883 if (r->sid) {
4884 ndr_print_dom_sid2(ndr, "sid", r->sid);
4886 ndr->depth--;
4887 ndr_print_uint32(ndr, "sid_index", r->sid_index);
4888 ndr_print_uint32(ndr, "flags", r->flags);
4889 ndr->depth--;
4892 static enum ndr_err_code ndr_push_lsa_TransSidArray3(struct ndr_push *ndr, int ndr_flags, const struct lsa_TransSidArray3 *r)
4894 uint32_t cntr_sids_1;
4895 if (ndr_flags & NDR_SCALARS) {
4896 NDR_CHECK(ndr_push_align(ndr, 5));
4897 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
4898 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
4899 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4901 if (ndr_flags & NDR_BUFFERS) {
4902 if (r->sids) {
4903 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
4904 for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
4905 NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
4907 for (cntr_sids_1 = 0; cntr_sids_1 < r->count; cntr_sids_1++) {
4908 NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
4912 return NDR_ERR_SUCCESS;
4915 static enum ndr_err_code ndr_pull_lsa_TransSidArray3(struct ndr_pull *ndr, int ndr_flags, struct lsa_TransSidArray3 *r)
4917 uint32_t _ptr_sids;
4918 uint32_t size_sids_1 = 0;
4919 uint32_t cntr_sids_1;
4920 TALLOC_CTX *_mem_save_sids_0;
4921 TALLOC_CTX *_mem_save_sids_1;
4922 if (ndr_flags & NDR_SCALARS) {
4923 NDR_CHECK(ndr_pull_align(ndr, 5));
4924 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
4925 if (r->count > 1000) {
4926 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
4928 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
4929 if (_ptr_sids) {
4930 NDR_PULL_ALLOC(ndr, r->sids);
4931 } else {
4932 r->sids = NULL;
4934 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
4936 if (ndr_flags & NDR_BUFFERS) {
4937 if (r->sids) {
4938 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
4939 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4940 NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
4941 size_sids_1 = ndr_get_array_size(ndr, &r->sids);
4942 NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
4943 _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
4944 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
4945 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
4946 NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
4948 for (cntr_sids_1 = 0; cntr_sids_1 < size_sids_1; cntr_sids_1++) {
4949 NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
4951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
4952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
4954 if (r->sids) {
4955 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->count));
4958 return NDR_ERR_SUCCESS;
4961 _PUBLIC_ void ndr_print_lsa_TransSidArray3(struct ndr_print *ndr, const char *name, const struct lsa_TransSidArray3 *r)
4963 uint32_t cntr_sids_1;
4964 ndr_print_struct(ndr, name, "lsa_TransSidArray3");
4965 ndr->depth++;
4966 ndr_print_uint32(ndr, "count", r->count);
4967 ndr_print_ptr(ndr, "sids", r->sids);
4968 ndr->depth++;
4969 if (r->sids) {
4970 ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->count);
4971 ndr->depth++;
4972 for (cntr_sids_1=0;cntr_sids_1<r->count;cntr_sids_1++) {
4973 char *idx_1=NULL;
4974 if (asprintf(&idx_1, "[%d]", cntr_sids_1) != -1) {
4975 ndr_print_lsa_TranslatedSid3(ndr, "sids", &r->sids[cntr_sids_1]);
4976 free(idx_1);
4979 ndr->depth--;
4981 ndr->depth--;
4982 ndr->depth--;
4985 static enum ndr_err_code ndr_push_lsa_ForestTrustBinaryData(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustBinaryData *r)
4987 if (ndr_flags & NDR_SCALARS) {
4988 NDR_CHECK(ndr_push_align(ndr, 5));
4989 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
4990 NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
4991 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
4993 if (ndr_flags & NDR_BUFFERS) {
4994 if (r->data) {
4995 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->length));
4996 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
4999 return NDR_ERR_SUCCESS;
5002 static enum ndr_err_code ndr_pull_lsa_ForestTrustBinaryData(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustBinaryData *r)
5004 uint32_t _ptr_data;
5005 uint32_t size_data_1 = 0;
5006 TALLOC_CTX *_mem_save_data_0;
5007 if (ndr_flags & NDR_SCALARS) {
5008 NDR_CHECK(ndr_pull_align(ndr, 5));
5009 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
5010 if (r->length > 131072) {
5011 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5013 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
5014 if (_ptr_data) {
5015 NDR_PULL_ALLOC(ndr, r->data);
5016 } else {
5017 r->data = NULL;
5019 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5021 if (ndr_flags & NDR_BUFFERS) {
5022 if (r->data) {
5023 _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
5024 NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
5025 NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
5026 size_data_1 = ndr_get_array_size(ndr, &r->data);
5027 NDR_PULL_ALLOC_N(ndr, r->data, size_data_1);
5028 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_1));
5029 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
5031 if (r->data) {
5032 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->length));
5035 return NDR_ERR_SUCCESS;
5038 _PUBLIC_ void ndr_print_lsa_ForestTrustBinaryData(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustBinaryData *r)
5040 ndr_print_struct(ndr, name, "lsa_ForestTrustBinaryData");
5041 ndr->depth++;
5042 ndr_print_uint32(ndr, "length", r->length);
5043 ndr_print_ptr(ndr, "data", r->data);
5044 ndr->depth++;
5045 if (r->data) {
5046 ndr_print_array_uint8(ndr, "data", r->data, r->length);
5048 ndr->depth--;
5049 ndr->depth--;
5052 static enum ndr_err_code ndr_push_lsa_ForestTrustDomainInfo(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustDomainInfo *r)
5054 if (ndr_flags & NDR_SCALARS) {
5055 NDR_CHECK(ndr_push_align(ndr, 5));
5056 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
5057 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain_name));
5058 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_domain_name));
5059 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5061 if (ndr_flags & NDR_BUFFERS) {
5062 if (r->domain_sid) {
5063 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
5065 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain_name));
5066 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_domain_name));
5068 return NDR_ERR_SUCCESS;
5071 static enum ndr_err_code ndr_pull_lsa_ForestTrustDomainInfo(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustDomainInfo *r)
5073 uint32_t _ptr_domain_sid;
5074 TALLOC_CTX *_mem_save_domain_sid_0;
5075 if (ndr_flags & NDR_SCALARS) {
5076 NDR_CHECK(ndr_pull_align(ndr, 5));
5077 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
5078 if (_ptr_domain_sid) {
5079 NDR_PULL_ALLOC(ndr, r->domain_sid);
5080 } else {
5081 r->domain_sid = NULL;
5083 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->dns_domain_name));
5084 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->netbios_domain_name));
5085 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5087 if (ndr_flags & NDR_BUFFERS) {
5088 if (r->domain_sid) {
5089 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
5090 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
5091 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
5092 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
5094 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->dns_domain_name));
5095 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->netbios_domain_name));
5097 return NDR_ERR_SUCCESS;
5100 _PUBLIC_ void ndr_print_lsa_ForestTrustDomainInfo(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustDomainInfo *r)
5102 ndr_print_struct(ndr, name, "lsa_ForestTrustDomainInfo");
5103 ndr->depth++;
5104 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
5105 ndr->depth++;
5106 if (r->domain_sid) {
5107 ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
5109 ndr->depth--;
5110 ndr_print_lsa_StringLarge(ndr, "dns_domain_name", &r->dns_domain_name);
5111 ndr_print_lsa_StringLarge(ndr, "netbios_domain_name", &r->netbios_domain_name);
5112 ndr->depth--;
5115 static enum ndr_err_code ndr_push_lsa_ForestTrustData(struct ndr_push *ndr, int ndr_flags, const union lsa_ForestTrustData *r)
5117 if (ndr_flags & NDR_SCALARS) {
5118 int level = ndr_push_get_switch_value(ndr, r);
5119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
5120 NDR_CHECK(ndr_push_union_align(ndr, 5));
5121 switch (level) {
5122 case LSA_FOREST_TRUST_TOP_LEVEL_NAME: {
5123 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->top_level_name));
5124 break; }
5126 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX: {
5127 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS, &r->top_level_name_ex));
5128 break; }
5130 case LSA_FOREST_TRUST_DOMAIN_INFO: {
5131 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr, NDR_SCALARS, &r->domain_info));
5132 break; }
5134 default: {
5135 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr, NDR_SCALARS, &r->data));
5136 break; }
5140 if (ndr_flags & NDR_BUFFERS) {
5141 int level = ndr_push_get_switch_value(ndr, r);
5142 switch (level) {
5143 case LSA_FOREST_TRUST_TOP_LEVEL_NAME:
5144 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->top_level_name));
5145 break;
5147 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX:
5148 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_BUFFERS, &r->top_level_name_ex));
5149 break;
5151 case LSA_FOREST_TRUST_DOMAIN_INFO:
5152 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr, NDR_BUFFERS, &r->domain_info));
5153 break;
5155 default:
5156 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr, NDR_BUFFERS, &r->data));
5157 break;
5161 return NDR_ERR_SUCCESS;
5164 static enum ndr_err_code ndr_pull_lsa_ForestTrustData(struct ndr_pull *ndr, int ndr_flags, union lsa_ForestTrustData *r)
5166 int level;
5167 uint32_t _level;
5168 level = ndr_pull_get_switch_value(ndr, r);
5169 if (ndr_flags & NDR_SCALARS) {
5170 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
5171 if (_level != level) {
5172 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
5174 NDR_CHECK(ndr_pull_union_align(ndr, 5));
5175 switch (level) {
5176 case LSA_FOREST_TRUST_TOP_LEVEL_NAME: {
5177 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->top_level_name));
5178 break; }
5180 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX: {
5181 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS, &r->top_level_name_ex));
5182 break; }
5184 case LSA_FOREST_TRUST_DOMAIN_INFO: {
5185 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr, NDR_SCALARS, &r->domain_info));
5186 break; }
5188 default: {
5189 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr, NDR_SCALARS, &r->data));
5190 break; }
5194 if (ndr_flags & NDR_BUFFERS) {
5195 switch (level) {
5196 case LSA_FOREST_TRUST_TOP_LEVEL_NAME:
5197 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->top_level_name));
5198 break;
5200 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX:
5201 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_BUFFERS, &r->top_level_name_ex));
5202 break;
5204 case LSA_FOREST_TRUST_DOMAIN_INFO:
5205 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr, NDR_BUFFERS, &r->domain_info));
5206 break;
5208 default:
5209 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr, NDR_BUFFERS, &r->data));
5210 break;
5214 return NDR_ERR_SUCCESS;
5217 _PUBLIC_ void ndr_print_lsa_ForestTrustData(struct ndr_print *ndr, const char *name, const union lsa_ForestTrustData *r)
5219 int level;
5220 level = ndr_print_get_switch_value(ndr, r);
5221 ndr_print_union(ndr, name, level, "lsa_ForestTrustData");
5222 switch (level) {
5223 case LSA_FOREST_TRUST_TOP_LEVEL_NAME:
5224 ndr_print_lsa_String(ndr, "top_level_name", &r->top_level_name);
5225 break;
5227 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX:
5228 ndr_print_lsa_StringLarge(ndr, "top_level_name_ex", &r->top_level_name_ex);
5229 break;
5231 case LSA_FOREST_TRUST_DOMAIN_INFO:
5232 ndr_print_lsa_ForestTrustDomainInfo(ndr, "domain_info", &r->domain_info);
5233 break;
5235 default:
5236 ndr_print_lsa_ForestTrustBinaryData(ndr, "data", &r->data);
5237 break;
5242 static enum ndr_err_code ndr_push_lsa_ForestTrustRecordType(struct ndr_push *ndr, int ndr_flags, enum lsa_ForestTrustRecordType r)
5244 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
5245 return NDR_ERR_SUCCESS;
5248 static enum ndr_err_code ndr_pull_lsa_ForestTrustRecordType(struct ndr_pull *ndr, int ndr_flags, enum lsa_ForestTrustRecordType *r)
5250 uint32_t v;
5251 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
5252 *r = v;
5253 return NDR_ERR_SUCCESS;
5256 _PUBLIC_ void ndr_print_lsa_ForestTrustRecordType(struct ndr_print *ndr, const char *name, enum lsa_ForestTrustRecordType r)
5258 const char *val = NULL;
5260 switch (r) {
5261 case LSA_FOREST_TRUST_TOP_LEVEL_NAME: val = "LSA_FOREST_TRUST_TOP_LEVEL_NAME"; break;
5262 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX: val = "LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX"; break;
5263 case LSA_FOREST_TRUST_DOMAIN_INFO: val = "LSA_FOREST_TRUST_DOMAIN_INFO"; break;
5264 case LSA_FOREST_TRUST_RECORD_TYPE_LAST: val = "LSA_FOREST_TRUST_RECORD_TYPE_LAST"; break;
5266 ndr_print_enum(ndr, name, "ENUM", val, r);
5269 static enum ndr_err_code ndr_push_lsa_ForestTrustRecord(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustRecord *r)
5271 if (ndr_flags & NDR_SCALARS) {
5272 NDR_CHECK(ndr_push_align(ndr, 8));
5273 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
5274 NDR_CHECK(ndr_push_lsa_ForestTrustRecordType(ndr, NDR_SCALARS, r->level));
5275 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->unknown));
5276 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->forest_trust_data, r->level));
5277 NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr, NDR_SCALARS, &r->forest_trust_data));
5278 NDR_CHECK(ndr_push_trailer_align(ndr, 8));
5280 if (ndr_flags & NDR_BUFFERS) {
5281 NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr, NDR_BUFFERS, &r->forest_trust_data));
5283 return NDR_ERR_SUCCESS;
5286 static enum ndr_err_code ndr_pull_lsa_ForestTrustRecord(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustRecord *r)
5288 if (ndr_flags & NDR_SCALARS) {
5289 NDR_CHECK(ndr_pull_align(ndr, 8));
5290 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
5291 NDR_CHECK(ndr_pull_lsa_ForestTrustRecordType(ndr, NDR_SCALARS, &r->level));
5292 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->unknown));
5293 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->forest_trust_data, r->level));
5294 NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr, NDR_SCALARS, &r->forest_trust_data));
5295 NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
5297 if (ndr_flags & NDR_BUFFERS) {
5298 NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr, NDR_BUFFERS, &r->forest_trust_data));
5300 return NDR_ERR_SUCCESS;
5303 _PUBLIC_ void ndr_print_lsa_ForestTrustRecord(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustRecord *r)
5305 ndr_print_struct(ndr, name, "lsa_ForestTrustRecord");
5306 ndr->depth++;
5307 ndr_print_uint32(ndr, "flags", r->flags);
5308 ndr_print_lsa_ForestTrustRecordType(ndr, "level", r->level);
5309 ndr_print_hyper(ndr, "unknown", r->unknown);
5310 ndr_print_set_switch_value(ndr, &r->forest_trust_data, r->level);
5311 ndr_print_lsa_ForestTrustData(ndr, "forest_trust_data", &r->forest_trust_data);
5312 ndr->depth--;
5315 _PUBLIC_ enum ndr_err_code ndr_push_lsa_ForestTrustInformation(struct ndr_push *ndr, int ndr_flags, const struct lsa_ForestTrustInformation *r)
5317 uint32_t cntr_entries_1;
5318 if (ndr_flags & NDR_SCALARS) {
5319 NDR_CHECK(ndr_push_align(ndr, 5));
5320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
5321 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries));
5322 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
5324 if (ndr_flags & NDR_BUFFERS) {
5325 if (r->entries) {
5326 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->count));
5327 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
5328 NDR_CHECK(ndr_push_unique_ptr(ndr, r->entries[cntr_entries_1]));
5330 for (cntr_entries_1 = 0; cntr_entries_1 < r->count; cntr_entries_1++) {
5331 if (r->entries[cntr_entries_1]) {
5332 NDR_CHECK(ndr_push_lsa_ForestTrustRecord(ndr, NDR_SCALARS|NDR_BUFFERS, r->entries[cntr_entries_1]));
5337 return NDR_ERR_SUCCESS;
5340 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_ForestTrustInformation(struct ndr_pull *ndr, int ndr_flags, struct lsa_ForestTrustInformation *r)
5342 uint32_t _ptr_entries;
5343 uint32_t size_entries_1 = 0;
5344 uint32_t cntr_entries_1;
5345 TALLOC_CTX *_mem_save_entries_0;
5346 TALLOC_CTX *_mem_save_entries_1;
5347 TALLOC_CTX *_mem_save_entries_2;
5348 if (ndr_flags & NDR_SCALARS) {
5349 NDR_CHECK(ndr_pull_align(ndr, 5));
5350 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
5351 if (r->count > 4000) {
5352 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
5354 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
5355 if (_ptr_entries) {
5356 NDR_PULL_ALLOC(ndr, r->entries);
5357 } else {
5358 r->entries = NULL;
5360 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
5362 if (ndr_flags & NDR_BUFFERS) {
5363 if (r->entries) {
5364 _mem_save_entries_0 = NDR_PULL_GET_MEM_CTX(ndr);
5365 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
5366 NDR_CHECK(ndr_pull_array_size(ndr, &r->entries));
5367 size_entries_1 = ndr_get_array_size(ndr, &r->entries);
5368 NDR_PULL_ALLOC_N(ndr, r->entries, size_entries_1);
5369 _mem_save_entries_1 = NDR_PULL_GET_MEM_CTX(ndr);
5370 NDR_PULL_SET_MEM_CTX(ndr, r->entries, 0);
5371 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
5372 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_entries));
5373 if (_ptr_entries) {
5374 NDR_PULL_ALLOC(ndr, r->entries[cntr_entries_1]);
5375 } else {
5376 r->entries[cntr_entries_1] = NULL;
5379 for (cntr_entries_1 = 0; cntr_entries_1 < size_entries_1; cntr_entries_1++) {
5380 if (r->entries[cntr_entries_1]) {
5381 _mem_save_entries_2 = NDR_PULL_GET_MEM_CTX(ndr);
5382 NDR_PULL_SET_MEM_CTX(ndr, r->entries[cntr_entries_1], 0);
5383 NDR_CHECK(ndr_pull_lsa_ForestTrustRecord(ndr, NDR_SCALARS|NDR_BUFFERS, r->entries[cntr_entries_1]));
5384 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_2, 0);
5387 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_1, 0);
5388 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_entries_0, 0);
5390 if (r->entries) {
5391 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->entries, r->count));
5394 return NDR_ERR_SUCCESS;
5397 _PUBLIC_ void ndr_print_lsa_ForestTrustInformation(struct ndr_print *ndr, const char *name, const struct lsa_ForestTrustInformation *r)
5399 uint32_t cntr_entries_1;
5400 ndr_print_struct(ndr, name, "lsa_ForestTrustInformation");
5401 ndr->depth++;
5402 ndr_print_uint32(ndr, "count", r->count);
5403 ndr_print_ptr(ndr, "entries", r->entries);
5404 ndr->depth++;
5405 if (r->entries) {
5406 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->count);
5407 ndr->depth++;
5408 for (cntr_entries_1=0;cntr_entries_1<r->count;cntr_entries_1++) {
5409 char *idx_1=NULL;
5410 if (asprintf(&idx_1, "[%d]", cntr_entries_1) != -1) {
5411 ndr_print_ptr(ndr, "entries", r->entries[cntr_entries_1]);
5412 ndr->depth++;
5413 if (r->entries[cntr_entries_1]) {
5414 ndr_print_lsa_ForestTrustRecord(ndr, "entries", r->entries[cntr_entries_1]);
5416 ndr->depth--;
5417 free(idx_1);
5420 ndr->depth--;
5422 ndr->depth--;
5423 ndr->depth--;
5426 static enum ndr_err_code ndr_push_lsa_Close(struct ndr_push *ndr, int flags, const struct lsa_Close *r)
5428 if (flags & NDR_IN) {
5429 if (r->in.handle == NULL) {
5430 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5432 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5434 if (flags & NDR_OUT) {
5435 if (r->out.handle == NULL) {
5436 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5438 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5439 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5441 return NDR_ERR_SUCCESS;
5444 static enum ndr_err_code ndr_pull_lsa_Close(struct ndr_pull *ndr, int flags, struct lsa_Close *r)
5446 TALLOC_CTX *_mem_save_handle_0;
5447 if (flags & NDR_IN) {
5448 ZERO_STRUCT(r->out);
5450 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5451 NDR_PULL_ALLOC(ndr, r->in.handle);
5453 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5454 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5455 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5456 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5457 NDR_PULL_ALLOC(ndr, r->out.handle);
5458 *r->out.handle = *r->in.handle;
5460 if (flags & NDR_OUT) {
5461 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5462 NDR_PULL_ALLOC(ndr, r->out.handle);
5464 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5465 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
5466 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5467 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5468 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5470 return NDR_ERR_SUCCESS;
5473 _PUBLIC_ void ndr_print_lsa_Close(struct ndr_print *ndr, const char *name, int flags, const struct lsa_Close *r)
5475 ndr_print_struct(ndr, name, "lsa_Close");
5476 ndr->depth++;
5477 if (flags & NDR_SET_VALUES) {
5478 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5480 if (flags & NDR_IN) {
5481 ndr_print_struct(ndr, "in", "lsa_Close");
5482 ndr->depth++;
5483 ndr_print_ptr(ndr, "handle", r->in.handle);
5484 ndr->depth++;
5485 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5486 ndr->depth--;
5487 ndr->depth--;
5489 if (flags & NDR_OUT) {
5490 ndr_print_struct(ndr, "out", "lsa_Close");
5491 ndr->depth++;
5492 ndr_print_ptr(ndr, "handle", r->out.handle);
5493 ndr->depth++;
5494 ndr_print_policy_handle(ndr, "handle", r->out.handle);
5495 ndr->depth--;
5496 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5497 ndr->depth--;
5499 ndr->depth--;
5502 _PUBLIC_ enum ndr_err_code ndr_push_lsa_Delete(struct ndr_push *ndr, int flags, const struct lsa_Delete *r)
5504 if (flags & NDR_IN) {
5505 if (r->in.handle == NULL) {
5506 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5508 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5510 if (flags & NDR_OUT) {
5511 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5513 return NDR_ERR_SUCCESS;
5516 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_Delete(struct ndr_pull *ndr, int flags, struct lsa_Delete *r)
5518 TALLOC_CTX *_mem_save_handle_0;
5519 if (flags & NDR_IN) {
5520 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5521 NDR_PULL_ALLOC(ndr, r->in.handle);
5523 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5524 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5525 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5526 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5528 if (flags & NDR_OUT) {
5529 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5531 return NDR_ERR_SUCCESS;
5534 _PUBLIC_ void ndr_print_lsa_Delete(struct ndr_print *ndr, const char *name, int flags, const struct lsa_Delete *r)
5536 ndr_print_struct(ndr, name, "lsa_Delete");
5537 ndr->depth++;
5538 if (flags & NDR_SET_VALUES) {
5539 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5541 if (flags & NDR_IN) {
5542 ndr_print_struct(ndr, "in", "lsa_Delete");
5543 ndr->depth++;
5544 ndr_print_ptr(ndr, "handle", r->in.handle);
5545 ndr->depth++;
5546 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5547 ndr->depth--;
5548 ndr->depth--;
5550 if (flags & NDR_OUT) {
5551 ndr_print_struct(ndr, "out", "lsa_Delete");
5552 ndr->depth++;
5553 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5554 ndr->depth--;
5556 ndr->depth--;
5559 _PUBLIC_ enum ndr_err_code ndr_push_lsa_EnumPrivs(struct ndr_push *ndr, int flags, const struct lsa_EnumPrivs *r)
5561 if (flags & NDR_IN) {
5562 if (r->in.handle == NULL) {
5563 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5565 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5566 if (r->in.resume_handle == NULL) {
5567 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5569 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
5570 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_count));
5572 if (flags & NDR_OUT) {
5573 if (r->out.resume_handle == NULL) {
5574 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5576 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
5577 if (r->out.privs == NULL) {
5578 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5580 NDR_CHECK(ndr_push_lsa_PrivArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs));
5581 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5583 return NDR_ERR_SUCCESS;
5586 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_EnumPrivs(struct ndr_pull *ndr, int flags, struct lsa_EnumPrivs *r)
5588 TALLOC_CTX *_mem_save_handle_0;
5589 TALLOC_CTX *_mem_save_resume_handle_0;
5590 TALLOC_CTX *_mem_save_privs_0;
5591 if (flags & NDR_IN) {
5592 ZERO_STRUCT(r->out);
5594 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5595 NDR_PULL_ALLOC(ndr, r->in.handle);
5597 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5598 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5599 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5600 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5601 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5602 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
5604 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5605 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
5606 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
5607 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
5608 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_count));
5609 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
5610 *r->out.resume_handle = *r->in.resume_handle;
5611 NDR_PULL_ALLOC(ndr, r->out.privs);
5612 ZERO_STRUCTP(r->out.privs);
5614 if (flags & NDR_OUT) {
5615 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5616 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
5618 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5619 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
5620 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
5621 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
5622 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5623 NDR_PULL_ALLOC(ndr, r->out.privs);
5625 _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr);
5626 NDR_PULL_SET_MEM_CTX(ndr, r->out.privs, LIBNDR_FLAG_REF_ALLOC);
5627 NDR_CHECK(ndr_pull_lsa_PrivArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs));
5628 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, LIBNDR_FLAG_REF_ALLOC);
5629 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5631 return NDR_ERR_SUCCESS;
5634 _PUBLIC_ void ndr_print_lsa_EnumPrivs(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumPrivs *r)
5636 ndr_print_struct(ndr, name, "lsa_EnumPrivs");
5637 ndr->depth++;
5638 if (flags & NDR_SET_VALUES) {
5639 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5641 if (flags & NDR_IN) {
5642 ndr_print_struct(ndr, "in", "lsa_EnumPrivs");
5643 ndr->depth++;
5644 ndr_print_ptr(ndr, "handle", r->in.handle);
5645 ndr->depth++;
5646 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5647 ndr->depth--;
5648 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
5649 ndr->depth++;
5650 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
5651 ndr->depth--;
5652 ndr_print_uint32(ndr, "max_count", r->in.max_count);
5653 ndr->depth--;
5655 if (flags & NDR_OUT) {
5656 ndr_print_struct(ndr, "out", "lsa_EnumPrivs");
5657 ndr->depth++;
5658 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
5659 ndr->depth++;
5660 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
5661 ndr->depth--;
5662 ndr_print_ptr(ndr, "privs", r->out.privs);
5663 ndr->depth++;
5664 ndr_print_lsa_PrivArray(ndr, "privs", r->out.privs);
5665 ndr->depth--;
5666 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5667 ndr->depth--;
5669 ndr->depth--;
5672 static enum ndr_err_code ndr_push_lsa_QuerySecurity(struct ndr_push *ndr, int flags, const struct lsa_QuerySecurity *r)
5674 if (flags & NDR_IN) {
5675 if (r->in.handle == NULL) {
5676 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5678 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5679 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
5681 if (flags & NDR_OUT) {
5682 if (r->out.sdbuf == NULL) {
5683 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5685 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.sdbuf));
5686 if (*r->out.sdbuf) {
5687 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
5689 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5691 return NDR_ERR_SUCCESS;
5694 static enum ndr_err_code ndr_pull_lsa_QuerySecurity(struct ndr_pull *ndr, int flags, struct lsa_QuerySecurity *r)
5696 uint32_t _ptr_sdbuf;
5697 TALLOC_CTX *_mem_save_handle_0;
5698 TALLOC_CTX *_mem_save_sdbuf_0;
5699 TALLOC_CTX *_mem_save_sdbuf_1;
5700 if (flags & NDR_IN) {
5701 ZERO_STRUCT(r->out);
5703 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5704 NDR_PULL_ALLOC(ndr, r->in.handle);
5706 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5707 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5708 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5709 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5710 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
5711 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
5712 ZERO_STRUCTP(r->out.sdbuf);
5714 if (flags & NDR_OUT) {
5715 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5716 NDR_PULL_ALLOC(ndr, r->out.sdbuf);
5718 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
5719 NDR_PULL_SET_MEM_CTX(ndr, r->out.sdbuf, LIBNDR_FLAG_REF_ALLOC);
5720 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sdbuf));
5721 if (_ptr_sdbuf) {
5722 NDR_PULL_ALLOC(ndr, *r->out.sdbuf);
5723 } else {
5724 *r->out.sdbuf = NULL;
5726 if (*r->out.sdbuf) {
5727 _mem_save_sdbuf_1 = NDR_PULL_GET_MEM_CTX(ndr);
5728 NDR_PULL_SET_MEM_CTX(ndr, *r->out.sdbuf, 0);
5729 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.sdbuf));
5730 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_1, 0);
5732 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
5733 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5735 return NDR_ERR_SUCCESS;
5738 _PUBLIC_ void ndr_print_lsa_QuerySecurity(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QuerySecurity *r)
5740 ndr_print_struct(ndr, name, "lsa_QuerySecurity");
5741 ndr->depth++;
5742 if (flags & NDR_SET_VALUES) {
5743 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5745 if (flags & NDR_IN) {
5746 ndr_print_struct(ndr, "in", "lsa_QuerySecurity");
5747 ndr->depth++;
5748 ndr_print_ptr(ndr, "handle", r->in.handle);
5749 ndr->depth++;
5750 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5751 ndr->depth--;
5752 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
5753 ndr->depth--;
5755 if (flags & NDR_OUT) {
5756 ndr_print_struct(ndr, "out", "lsa_QuerySecurity");
5757 ndr->depth++;
5758 ndr_print_ptr(ndr, "sdbuf", r->out.sdbuf);
5759 ndr->depth++;
5760 ndr_print_ptr(ndr, "sdbuf", *r->out.sdbuf);
5761 ndr->depth++;
5762 if (*r->out.sdbuf) {
5763 ndr_print_sec_desc_buf(ndr, "sdbuf", *r->out.sdbuf);
5765 ndr->depth--;
5766 ndr->depth--;
5767 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5768 ndr->depth--;
5770 ndr->depth--;
5773 static enum ndr_err_code ndr_push_lsa_SetSecObj(struct ndr_push *ndr, int flags, const struct lsa_SetSecObj *r)
5775 if (flags & NDR_IN) {
5776 if (r->in.handle == NULL) {
5777 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5779 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5780 NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
5781 if (r->in.sdbuf == NULL) {
5782 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5784 NDR_CHECK(ndr_push_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5786 if (flags & NDR_OUT) {
5787 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5789 return NDR_ERR_SUCCESS;
5792 static enum ndr_err_code ndr_pull_lsa_SetSecObj(struct ndr_pull *ndr, int flags, struct lsa_SetSecObj *r)
5794 TALLOC_CTX *_mem_save_handle_0;
5795 TALLOC_CTX *_mem_save_sdbuf_0;
5796 if (flags & NDR_IN) {
5797 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5798 NDR_PULL_ALLOC(ndr, r->in.handle);
5800 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5801 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
5802 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
5803 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5804 NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
5805 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5806 NDR_PULL_ALLOC(ndr, r->in.sdbuf);
5808 _mem_save_sdbuf_0 = NDR_PULL_GET_MEM_CTX(ndr);
5809 NDR_PULL_SET_MEM_CTX(ndr, r->in.sdbuf, LIBNDR_FLAG_REF_ALLOC);
5810 NDR_CHECK(ndr_pull_sec_desc_buf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sdbuf));
5811 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sdbuf_0, LIBNDR_FLAG_REF_ALLOC);
5813 if (flags & NDR_OUT) {
5814 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5816 return NDR_ERR_SUCCESS;
5819 _PUBLIC_ void ndr_print_lsa_SetSecObj(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetSecObj *r)
5821 ndr_print_struct(ndr, name, "lsa_SetSecObj");
5822 ndr->depth++;
5823 if (flags & NDR_SET_VALUES) {
5824 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5826 if (flags & NDR_IN) {
5827 ndr_print_struct(ndr, "in", "lsa_SetSecObj");
5828 ndr->depth++;
5829 ndr_print_ptr(ndr, "handle", r->in.handle);
5830 ndr->depth++;
5831 ndr_print_policy_handle(ndr, "handle", r->in.handle);
5832 ndr->depth--;
5833 ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
5834 ndr_print_ptr(ndr, "sdbuf", r->in.sdbuf);
5835 ndr->depth++;
5836 ndr_print_sec_desc_buf(ndr, "sdbuf", r->in.sdbuf);
5837 ndr->depth--;
5838 ndr->depth--;
5840 if (flags & NDR_OUT) {
5841 ndr_print_struct(ndr, "out", "lsa_SetSecObj");
5842 ndr->depth++;
5843 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5844 ndr->depth--;
5846 ndr->depth--;
5849 static enum ndr_err_code ndr_push_lsa_ChangePassword(struct ndr_push *ndr, int flags, const struct lsa_ChangePassword *r)
5851 if (flags & NDR_IN) {
5853 if (flags & NDR_OUT) {
5854 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5856 return NDR_ERR_SUCCESS;
5859 static enum ndr_err_code ndr_pull_lsa_ChangePassword(struct ndr_pull *ndr, int flags, struct lsa_ChangePassword *r)
5861 if (flags & NDR_IN) {
5863 if (flags & NDR_OUT) {
5864 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5866 return NDR_ERR_SUCCESS;
5869 _PUBLIC_ void ndr_print_lsa_ChangePassword(struct ndr_print *ndr, const char *name, int flags, const struct lsa_ChangePassword *r)
5871 ndr_print_struct(ndr, name, "lsa_ChangePassword");
5872 ndr->depth++;
5873 if (flags & NDR_SET_VALUES) {
5874 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5876 if (flags & NDR_IN) {
5877 ndr_print_struct(ndr, "in", "lsa_ChangePassword");
5878 ndr->depth++;
5879 ndr->depth--;
5881 if (flags & NDR_OUT) {
5882 ndr_print_struct(ndr, "out", "lsa_ChangePassword");
5883 ndr->depth++;
5884 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5885 ndr->depth--;
5887 ndr->depth--;
5890 _PUBLIC_ enum ndr_err_code ndr_push_lsa_OpenPolicy(struct ndr_push *ndr, int flags, const struct lsa_OpenPolicy *r)
5892 if (flags & NDR_IN) {
5893 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
5894 if (r->in.system_name) {
5895 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
5897 if (r->in.attr == NULL) {
5898 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5900 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr));
5901 NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
5903 if (flags & NDR_OUT) {
5904 if (r->out.handle == NULL) {
5905 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
5907 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5908 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
5910 return NDR_ERR_SUCCESS;
5913 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_OpenPolicy(struct ndr_pull *ndr, int flags, struct lsa_OpenPolicy *r)
5915 uint32_t _ptr_system_name;
5916 TALLOC_CTX *_mem_save_system_name_0;
5917 TALLOC_CTX *_mem_save_attr_0;
5918 TALLOC_CTX *_mem_save_handle_0;
5919 if (flags & NDR_IN) {
5920 ZERO_STRUCT(r->out);
5922 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
5923 if (_ptr_system_name) {
5924 NDR_PULL_ALLOC(ndr, r->in.system_name);
5925 } else {
5926 r->in.system_name = NULL;
5928 if (r->in.system_name) {
5929 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
5930 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
5931 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
5932 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
5934 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5935 NDR_PULL_ALLOC(ndr, r->in.attr);
5937 _mem_save_attr_0 = NDR_PULL_GET_MEM_CTX(ndr);
5938 NDR_PULL_SET_MEM_CTX(ndr, r->in.attr, LIBNDR_FLAG_REF_ALLOC);
5939 NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr));
5940 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attr_0, LIBNDR_FLAG_REF_ALLOC);
5941 NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
5942 NDR_PULL_ALLOC(ndr, r->out.handle);
5943 ZERO_STRUCTP(r->out.handle);
5945 if (flags & NDR_OUT) {
5946 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
5947 NDR_PULL_ALLOC(ndr, r->out.handle);
5949 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
5950 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
5951 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
5952 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
5953 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
5955 return NDR_ERR_SUCCESS;
5958 _PUBLIC_ void ndr_print_lsa_OpenPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenPolicy *r)
5960 ndr_print_struct(ndr, name, "lsa_OpenPolicy");
5961 ndr->depth++;
5962 if (flags & NDR_SET_VALUES) {
5963 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5965 if (flags & NDR_IN) {
5966 ndr_print_struct(ndr, "in", "lsa_OpenPolicy");
5967 ndr->depth++;
5968 ndr_print_ptr(ndr, "system_name", r->in.system_name);
5969 ndr->depth++;
5970 if (r->in.system_name) {
5971 ndr_print_uint16(ndr, "system_name", *r->in.system_name);
5973 ndr->depth--;
5974 ndr_print_ptr(ndr, "attr", r->in.attr);
5975 ndr->depth++;
5976 ndr_print_lsa_ObjectAttribute(ndr, "attr", r->in.attr);
5977 ndr->depth--;
5978 ndr_print_lsa_PolicyAccessMask(ndr, "access_mask", r->in.access_mask);
5979 ndr->depth--;
5981 if (flags & NDR_OUT) {
5982 ndr_print_struct(ndr, "out", "lsa_OpenPolicy");
5983 ndr->depth++;
5984 ndr_print_ptr(ndr, "handle", r->out.handle);
5985 ndr->depth++;
5986 ndr_print_policy_handle(ndr, "handle", r->out.handle);
5987 ndr->depth--;
5988 ndr_print_NTSTATUS(ndr, "result", r->out.result);
5989 ndr->depth--;
5991 ndr->depth--;
5994 static enum ndr_err_code ndr_push_lsa_QueryInfoPolicy(struct ndr_push *ndr, int flags, const struct lsa_QueryInfoPolicy *r)
5996 if (flags & NDR_IN) {
5997 if (r->in.handle == NULL) {
5998 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6000 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6001 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr, NDR_SCALARS, r->in.level));
6003 if (flags & NDR_OUT) {
6004 if (r->out.info == NULL) {
6005 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6007 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
6008 if (*r->out.info) {
6009 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
6010 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6012 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6014 return NDR_ERR_SUCCESS;
6017 static enum ndr_err_code ndr_pull_lsa_QueryInfoPolicy(struct ndr_pull *ndr, int flags, struct lsa_QueryInfoPolicy *r)
6019 uint32_t _ptr_info;
6020 TALLOC_CTX *_mem_save_handle_0;
6021 TALLOC_CTX *_mem_save_info_0;
6022 TALLOC_CTX *_mem_save_info_1;
6023 if (flags & NDR_IN) {
6024 ZERO_STRUCT(r->out);
6026 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6027 NDR_PULL_ALLOC(ndr, r->in.handle);
6029 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6030 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6031 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6032 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6033 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr, NDR_SCALARS, &r->in.level));
6034 NDR_PULL_ALLOC(ndr, r->out.info);
6035 ZERO_STRUCTP(r->out.info);
6037 if (flags & NDR_OUT) {
6038 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6039 NDR_PULL_ALLOC(ndr, r->out.info);
6041 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6042 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
6043 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
6044 if (_ptr_info) {
6045 NDR_PULL_ALLOC(ndr, *r->out.info);
6046 } else {
6047 *r->out.info = NULL;
6049 if (*r->out.info) {
6050 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
6051 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
6052 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
6053 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
6054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
6056 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6057 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6059 return NDR_ERR_SUCCESS;
6062 _PUBLIC_ void ndr_print_lsa_QueryInfoPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryInfoPolicy *r)
6064 ndr_print_struct(ndr, name, "lsa_QueryInfoPolicy");
6065 ndr->depth++;
6066 if (flags & NDR_SET_VALUES) {
6067 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6069 if (flags & NDR_IN) {
6070 ndr_print_struct(ndr, "in", "lsa_QueryInfoPolicy");
6071 ndr->depth++;
6072 ndr_print_ptr(ndr, "handle", r->in.handle);
6073 ndr->depth++;
6074 ndr_print_policy_handle(ndr, "handle", r->in.handle);
6075 ndr->depth--;
6076 ndr_print_lsa_PolicyInfo(ndr, "level", r->in.level);
6077 ndr->depth--;
6079 if (flags & NDR_OUT) {
6080 ndr_print_struct(ndr, "out", "lsa_QueryInfoPolicy");
6081 ndr->depth++;
6082 ndr_print_ptr(ndr, "info", r->out.info);
6083 ndr->depth++;
6084 ndr_print_ptr(ndr, "info", *r->out.info);
6085 ndr->depth++;
6086 if (*r->out.info) {
6087 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
6088 ndr_print_lsa_PolicyInformation(ndr, "info", *r->out.info);
6090 ndr->depth--;
6091 ndr->depth--;
6092 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6093 ndr->depth--;
6095 ndr->depth--;
6098 static enum ndr_err_code ndr_push_lsa_SetInfoPolicy(struct ndr_push *ndr, int flags, const struct lsa_SetInfoPolicy *r)
6100 if (flags & NDR_IN) {
6101 if (r->in.handle == NULL) {
6102 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6104 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6105 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr, NDR_SCALARS, r->in.level));
6106 if (r->in.info == NULL) {
6107 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6109 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
6110 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6112 if (flags & NDR_OUT) {
6113 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6115 return NDR_ERR_SUCCESS;
6118 static enum ndr_err_code ndr_pull_lsa_SetInfoPolicy(struct ndr_pull *ndr, int flags, struct lsa_SetInfoPolicy *r)
6120 TALLOC_CTX *_mem_save_handle_0;
6121 TALLOC_CTX *_mem_save_info_0;
6122 if (flags & NDR_IN) {
6123 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6124 NDR_PULL_ALLOC(ndr, r->in.handle);
6126 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6127 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6128 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6129 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6130 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr, NDR_SCALARS, &r->in.level));
6131 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6132 NDR_PULL_ALLOC(ndr, r->in.info);
6134 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6135 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
6136 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
6137 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6138 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6140 if (flags & NDR_OUT) {
6141 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6143 return NDR_ERR_SUCCESS;
6146 _PUBLIC_ void ndr_print_lsa_SetInfoPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetInfoPolicy *r)
6148 ndr_print_struct(ndr, name, "lsa_SetInfoPolicy");
6149 ndr->depth++;
6150 if (flags & NDR_SET_VALUES) {
6151 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6153 if (flags & NDR_IN) {
6154 ndr_print_struct(ndr, "in", "lsa_SetInfoPolicy");
6155 ndr->depth++;
6156 ndr_print_ptr(ndr, "handle", r->in.handle);
6157 ndr->depth++;
6158 ndr_print_policy_handle(ndr, "handle", r->in.handle);
6159 ndr->depth--;
6160 ndr_print_lsa_PolicyInfo(ndr, "level", r->in.level);
6161 ndr_print_ptr(ndr, "info", r->in.info);
6162 ndr->depth++;
6163 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
6164 ndr_print_lsa_PolicyInformation(ndr, "info", r->in.info);
6165 ndr->depth--;
6166 ndr->depth--;
6168 if (flags & NDR_OUT) {
6169 ndr_print_struct(ndr, "out", "lsa_SetInfoPolicy");
6170 ndr->depth++;
6171 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6172 ndr->depth--;
6174 ndr->depth--;
6177 static enum ndr_err_code ndr_push_lsa_ClearAuditLog(struct ndr_push *ndr, int flags, const struct lsa_ClearAuditLog *r)
6179 if (flags & NDR_IN) {
6181 if (flags & NDR_OUT) {
6182 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6184 return NDR_ERR_SUCCESS;
6187 static enum ndr_err_code ndr_pull_lsa_ClearAuditLog(struct ndr_pull *ndr, int flags, struct lsa_ClearAuditLog *r)
6189 if (flags & NDR_IN) {
6191 if (flags & NDR_OUT) {
6192 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6194 return NDR_ERR_SUCCESS;
6197 _PUBLIC_ void ndr_print_lsa_ClearAuditLog(struct ndr_print *ndr, const char *name, int flags, const struct lsa_ClearAuditLog *r)
6199 ndr_print_struct(ndr, name, "lsa_ClearAuditLog");
6200 ndr->depth++;
6201 if (flags & NDR_SET_VALUES) {
6202 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6204 if (flags & NDR_IN) {
6205 ndr_print_struct(ndr, "in", "lsa_ClearAuditLog");
6206 ndr->depth++;
6207 ndr->depth--;
6209 if (flags & NDR_OUT) {
6210 ndr_print_struct(ndr, "out", "lsa_ClearAuditLog");
6211 ndr->depth++;
6212 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6213 ndr->depth--;
6215 ndr->depth--;
6218 _PUBLIC_ enum ndr_err_code ndr_push_lsa_CreateAccount(struct ndr_push *ndr, int flags, const struct lsa_CreateAccount *r)
6220 if (flags & NDR_IN) {
6221 if (r->in.handle == NULL) {
6222 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6224 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6225 if (r->in.sid == NULL) {
6226 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6228 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
6229 NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6231 if (flags & NDR_OUT) {
6232 if (r->out.acct_handle == NULL) {
6233 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6235 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.acct_handle));
6236 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6238 return NDR_ERR_SUCCESS;
6241 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_CreateAccount(struct ndr_pull *ndr, int flags, struct lsa_CreateAccount *r)
6243 TALLOC_CTX *_mem_save_handle_0;
6244 TALLOC_CTX *_mem_save_sid_0;
6245 TALLOC_CTX *_mem_save_acct_handle_0;
6246 if (flags & NDR_IN) {
6247 ZERO_STRUCT(r->out);
6249 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6250 NDR_PULL_ALLOC(ndr, r->in.handle);
6252 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6253 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6254 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6255 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6256 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6257 NDR_PULL_ALLOC(ndr, r->in.sid);
6259 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
6260 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
6261 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
6262 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
6263 NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6264 NDR_PULL_ALLOC(ndr, r->out.acct_handle);
6265 ZERO_STRUCTP(r->out.acct_handle);
6267 if (flags & NDR_OUT) {
6268 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6269 NDR_PULL_ALLOC(ndr, r->out.acct_handle);
6271 _mem_save_acct_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6272 NDR_PULL_SET_MEM_CTX(ndr, r->out.acct_handle, LIBNDR_FLAG_REF_ALLOC);
6273 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.acct_handle));
6274 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_acct_handle_0, LIBNDR_FLAG_REF_ALLOC);
6275 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6277 return NDR_ERR_SUCCESS;
6280 _PUBLIC_ void ndr_print_lsa_CreateAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateAccount *r)
6282 ndr_print_struct(ndr, name, "lsa_CreateAccount");
6283 ndr->depth++;
6284 if (flags & NDR_SET_VALUES) {
6285 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6287 if (flags & NDR_IN) {
6288 ndr_print_struct(ndr, "in", "lsa_CreateAccount");
6289 ndr->depth++;
6290 ndr_print_ptr(ndr, "handle", r->in.handle);
6291 ndr->depth++;
6292 ndr_print_policy_handle(ndr, "handle", r->in.handle);
6293 ndr->depth--;
6294 ndr_print_ptr(ndr, "sid", r->in.sid);
6295 ndr->depth++;
6296 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
6297 ndr->depth--;
6298 ndr_print_lsa_AccountAccessMask(ndr, "access_mask", r->in.access_mask);
6299 ndr->depth--;
6301 if (flags & NDR_OUT) {
6302 ndr_print_struct(ndr, "out", "lsa_CreateAccount");
6303 ndr->depth++;
6304 ndr_print_ptr(ndr, "acct_handle", r->out.acct_handle);
6305 ndr->depth++;
6306 ndr_print_policy_handle(ndr, "acct_handle", r->out.acct_handle);
6307 ndr->depth--;
6308 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6309 ndr->depth--;
6311 ndr->depth--;
6314 _PUBLIC_ enum ndr_err_code ndr_push_lsa_EnumAccounts(struct ndr_push *ndr, int flags, const struct lsa_EnumAccounts *r)
6316 if (flags & NDR_IN) {
6317 if (r->in.handle == NULL) {
6318 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6320 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6321 if (r->in.resume_handle == NULL) {
6322 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6324 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6325 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_entries));
6327 if (flags & NDR_OUT) {
6328 if (r->out.resume_handle == NULL) {
6329 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6332 if (r->out.sids == NULL) {
6333 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6335 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
6336 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6338 return NDR_ERR_SUCCESS;
6341 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_EnumAccounts(struct ndr_pull *ndr, int flags, struct lsa_EnumAccounts *r)
6343 TALLOC_CTX *_mem_save_handle_0;
6344 TALLOC_CTX *_mem_save_resume_handle_0;
6345 TALLOC_CTX *_mem_save_sids_0;
6346 if (flags & NDR_IN) {
6347 ZERO_STRUCT(r->out);
6349 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6350 NDR_PULL_ALLOC(ndr, r->in.handle);
6352 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6353 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6354 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6356 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6357 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6359 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6360 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6361 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6363 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_entries));
6364 if (r->in.num_entries > 8192) {
6365 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6367 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6368 *r->out.resume_handle = *r->in.resume_handle;
6369 NDR_PULL_ALLOC(ndr, r->out.sids);
6370 ZERO_STRUCTP(r->out.sids);
6372 if (flags & NDR_OUT) {
6373 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6374 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6376 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6377 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6378 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6379 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6380 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6381 NDR_PULL_ALLOC(ndr, r->out.sids);
6383 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
6384 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
6385 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
6386 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
6387 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6389 return NDR_ERR_SUCCESS;
6392 _PUBLIC_ void ndr_print_lsa_EnumAccounts(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumAccounts *r)
6394 ndr_print_struct(ndr, name, "lsa_EnumAccounts");
6395 ndr->depth++;
6396 if (flags & NDR_SET_VALUES) {
6397 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6399 if (flags & NDR_IN) {
6400 ndr_print_struct(ndr, "in", "lsa_EnumAccounts");
6401 ndr->depth++;
6402 ndr_print_ptr(ndr, "handle", r->in.handle);
6403 ndr->depth++;
6404 ndr_print_policy_handle(ndr, "handle", r->in.handle);
6405 ndr->depth--;
6406 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6407 ndr->depth++;
6408 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6409 ndr->depth--;
6410 ndr_print_uint32(ndr, "num_entries", r->in.num_entries);
6411 ndr->depth--;
6413 if (flags & NDR_OUT) {
6414 ndr_print_struct(ndr, "out", "lsa_EnumAccounts");
6415 ndr->depth++;
6416 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6417 ndr->depth++;
6418 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6419 ndr->depth--;
6420 ndr_print_ptr(ndr, "sids", r->out.sids);
6421 ndr->depth++;
6422 ndr_print_lsa_SidArray(ndr, "sids", r->out.sids);
6423 ndr->depth--;
6424 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6425 ndr->depth--;
6427 ndr->depth--;
6430 _PUBLIC_ enum ndr_err_code ndr_push_lsa_CreateTrustedDomain(struct ndr_push *ndr, int flags, const struct lsa_CreateTrustedDomain *r)
6432 if (flags & NDR_IN) {
6433 if (r->in.policy_handle == NULL) {
6434 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6436 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle));
6437 if (r->in.info == NULL) {
6438 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6440 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6441 NDR_CHECK(ndr_push_lsa_TrustedAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
6443 if (flags & NDR_OUT) {
6444 if (r->out.trustdom_handle == NULL) {
6445 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6447 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
6448 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6450 return NDR_ERR_SUCCESS;
6453 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_CreateTrustedDomain(struct ndr_pull *ndr, int flags, struct lsa_CreateTrustedDomain *r)
6455 TALLOC_CTX *_mem_save_policy_handle_0;
6456 TALLOC_CTX *_mem_save_info_0;
6457 TALLOC_CTX *_mem_save_trustdom_handle_0;
6458 if (flags & NDR_IN) {
6459 ZERO_STRUCT(r->out);
6461 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6462 NDR_PULL_ALLOC(ndr, r->in.policy_handle);
6464 _mem_save_policy_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6465 NDR_PULL_SET_MEM_CTX(ndr, r->in.policy_handle, LIBNDR_FLAG_REF_ALLOC);
6466 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle));
6467 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_handle_0, LIBNDR_FLAG_REF_ALLOC);
6468 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6469 NDR_PULL_ALLOC(ndr, r->in.info);
6471 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
6472 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
6473 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
6474 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
6475 NDR_CHECK(ndr_pull_lsa_TrustedAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
6476 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
6477 ZERO_STRUCTP(r->out.trustdom_handle);
6479 if (flags & NDR_OUT) {
6480 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6481 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
6483 _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6484 NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC);
6485 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
6486 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC);
6487 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6489 return NDR_ERR_SUCCESS;
6492 _PUBLIC_ void ndr_print_lsa_CreateTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateTrustedDomain *r)
6494 ndr_print_struct(ndr, name, "lsa_CreateTrustedDomain");
6495 ndr->depth++;
6496 if (flags & NDR_SET_VALUES) {
6497 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6499 if (flags & NDR_IN) {
6500 ndr_print_struct(ndr, "in", "lsa_CreateTrustedDomain");
6501 ndr->depth++;
6502 ndr_print_ptr(ndr, "policy_handle", r->in.policy_handle);
6503 ndr->depth++;
6504 ndr_print_policy_handle(ndr, "policy_handle", r->in.policy_handle);
6505 ndr->depth--;
6506 ndr_print_ptr(ndr, "info", r->in.info);
6507 ndr->depth++;
6508 ndr_print_lsa_DomainInfo(ndr, "info", r->in.info);
6509 ndr->depth--;
6510 ndr_print_lsa_TrustedAccessMask(ndr, "access_mask", r->in.access_mask);
6511 ndr->depth--;
6513 if (flags & NDR_OUT) {
6514 ndr_print_struct(ndr, "out", "lsa_CreateTrustedDomain");
6515 ndr->depth++;
6516 ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle);
6517 ndr->depth++;
6518 ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle);
6519 ndr->depth--;
6520 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6521 ndr->depth--;
6523 ndr->depth--;
6526 static enum ndr_err_code ndr_push_lsa_EnumTrustDom(struct ndr_push *ndr, int flags, const struct lsa_EnumTrustDom *r)
6528 if (flags & NDR_IN) {
6529 if (r->in.handle == NULL) {
6530 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6532 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6533 if (r->in.resume_handle == NULL) {
6534 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
6537 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
6539 if (flags & NDR_OUT) {
6540 if (r->out.resume_handle == NULL) {
6541 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6543 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
6544 if (r->out.domains == NULL) {
6545 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6547 NDR_CHECK(ndr_push_lsa_DomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
6548 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6550 return NDR_ERR_SUCCESS;
6553 static enum ndr_err_code ndr_pull_lsa_EnumTrustDom(struct ndr_pull *ndr, int flags, struct lsa_EnumTrustDom *r)
6555 TALLOC_CTX *_mem_save_handle_0;
6556 TALLOC_CTX *_mem_save_resume_handle_0;
6557 TALLOC_CTX *_mem_save_domains_0;
6558 if (flags & NDR_IN) {
6559 ZERO_STRUCT(r->out);
6561 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6562 NDR_PULL_ALLOC(ndr, r->in.handle);
6564 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6565 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6566 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6567 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6568 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6569 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
6571 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6572 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6573 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
6574 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6575 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
6576 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6577 *r->out.resume_handle = *r->in.resume_handle;
6578 NDR_PULL_ALLOC(ndr, r->out.domains);
6579 ZERO_STRUCTP(r->out.domains);
6581 if (flags & NDR_OUT) {
6582 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6583 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
6585 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6586 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
6587 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
6588 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
6589 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6590 NDR_PULL_ALLOC(ndr, r->out.domains);
6592 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
6593 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
6594 NDR_CHECK(ndr_pull_lsa_DomainList(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
6595 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
6596 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6598 return NDR_ERR_SUCCESS;
6601 _PUBLIC_ void ndr_print_lsa_EnumTrustDom(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumTrustDom *r)
6603 ndr_print_struct(ndr, name, "lsa_EnumTrustDom");
6604 ndr->depth++;
6605 if (flags & NDR_SET_VALUES) {
6606 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6608 if (flags & NDR_IN) {
6609 ndr_print_struct(ndr, "in", "lsa_EnumTrustDom");
6610 ndr->depth++;
6611 ndr_print_ptr(ndr, "handle", r->in.handle);
6612 ndr->depth++;
6613 ndr_print_policy_handle(ndr, "handle", r->in.handle);
6614 ndr->depth--;
6615 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
6616 ndr->depth++;
6617 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
6618 ndr->depth--;
6619 ndr_print_uint32(ndr, "max_size", r->in.max_size);
6620 ndr->depth--;
6622 if (flags & NDR_OUT) {
6623 ndr_print_struct(ndr, "out", "lsa_EnumTrustDom");
6624 ndr->depth++;
6625 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
6626 ndr->depth++;
6627 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
6628 ndr->depth--;
6629 ndr_print_ptr(ndr, "domains", r->out.domains);
6630 ndr->depth++;
6631 ndr_print_lsa_DomainList(ndr, "domains", r->out.domains);
6632 ndr->depth--;
6633 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6634 ndr->depth--;
6636 ndr->depth--;
6639 _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames(struct ndr_push *ndr, int flags, const struct lsa_LookupNames *r)
6641 uint32_t cntr_names_0;
6642 if (flags & NDR_IN) {
6643 if (r->in.handle == NULL) {
6644 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6646 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6647 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
6648 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
6649 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
6650 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
6652 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
6653 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
6655 if (r->in.sids == NULL) {
6656 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6658 NDR_CHECK(ndr_push_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
6659 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
6660 if (r->in.count == NULL) {
6661 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6663 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
6665 if (flags & NDR_OUT) {
6666 if (r->out.domains == NULL) {
6667 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6669 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains));
6670 if (*r->out.domains) {
6671 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
6673 if (r->out.sids == NULL) {
6674 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6676 NDR_CHECK(ndr_push_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
6677 if (r->out.count == NULL) {
6678 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6680 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
6681 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6683 return NDR_ERR_SUCCESS;
6686 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames(struct ndr_pull *ndr, int flags, struct lsa_LookupNames *r)
6688 uint32_t size_names_0 = 0;
6689 uint32_t cntr_names_0;
6690 uint32_t _ptr_domains;
6691 TALLOC_CTX *_mem_save_handle_0;
6692 TALLOC_CTX *_mem_save_names_0;
6693 TALLOC_CTX *_mem_save_domains_0;
6694 TALLOC_CTX *_mem_save_domains_1;
6695 TALLOC_CTX *_mem_save_sids_0;
6696 TALLOC_CTX *_mem_save_count_0;
6697 if (flags & NDR_IN) {
6698 ZERO_STRUCT(r->out);
6700 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6701 NDR_PULL_ALLOC(ndr, r->in.handle);
6703 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6704 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6705 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6706 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6707 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
6708 if (r->in.num_names > 1000) {
6709 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
6711 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
6712 size_names_0 = ndr_get_array_size(ndr, &r->in.names);
6713 NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
6714 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6715 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
6716 for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
6717 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
6719 for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
6720 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
6722 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
6723 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6724 NDR_PULL_ALLOC(ndr, r->in.sids);
6726 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
6727 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
6728 NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
6729 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
6730 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
6731 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6732 NDR_PULL_ALLOC(ndr, r->in.count);
6734 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
6735 NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
6736 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
6737 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
6738 NDR_PULL_ALLOC(ndr, r->out.domains);
6739 ZERO_STRUCTP(r->out.domains);
6740 NDR_PULL_ALLOC(ndr, r->out.sids);
6741 *r->out.sids = *r->in.sids;
6742 NDR_PULL_ALLOC(ndr, r->out.count);
6743 *r->out.count = *r->in.count;
6744 if (r->in.names) {
6745 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, r->in.num_names));
6748 if (flags & NDR_OUT) {
6749 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6750 NDR_PULL_ALLOC(ndr, r->out.domains);
6752 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
6753 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
6754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
6755 if (_ptr_domains) {
6756 NDR_PULL_ALLOC(ndr, *r->out.domains);
6757 } else {
6758 *r->out.domains = NULL;
6760 if (*r->out.domains) {
6761 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
6762 NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0);
6763 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
6764 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
6766 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
6767 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6768 NDR_PULL_ALLOC(ndr, r->out.sids);
6770 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
6771 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
6772 NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
6773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
6774 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6775 NDR_PULL_ALLOC(ndr, r->out.count);
6777 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
6778 NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
6779 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
6780 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
6781 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6783 return NDR_ERR_SUCCESS;
6786 _PUBLIC_ void ndr_print_lsa_LookupNames(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames *r)
6788 uint32_t cntr_names_0;
6789 ndr_print_struct(ndr, name, "lsa_LookupNames");
6790 ndr->depth++;
6791 if (flags & NDR_SET_VALUES) {
6792 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6794 if (flags & NDR_IN) {
6795 ndr_print_struct(ndr, "in", "lsa_LookupNames");
6796 ndr->depth++;
6797 ndr_print_ptr(ndr, "handle", r->in.handle);
6798 ndr->depth++;
6799 ndr_print_policy_handle(ndr, "handle", r->in.handle);
6800 ndr->depth--;
6801 ndr_print_uint32(ndr, "num_names", r->in.num_names);
6802 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
6803 ndr->depth++;
6804 for (cntr_names_0=0;cntr_names_0<r->in.num_names;cntr_names_0++) {
6805 char *idx_0=NULL;
6806 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
6807 ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
6808 free(idx_0);
6811 ndr->depth--;
6812 ndr_print_ptr(ndr, "sids", r->in.sids);
6813 ndr->depth++;
6814 ndr_print_lsa_TransSidArray(ndr, "sids", r->in.sids);
6815 ndr->depth--;
6816 ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
6817 ndr_print_ptr(ndr, "count", r->in.count);
6818 ndr->depth++;
6819 ndr_print_uint32(ndr, "count", *r->in.count);
6820 ndr->depth--;
6821 ndr->depth--;
6823 if (flags & NDR_OUT) {
6824 ndr_print_struct(ndr, "out", "lsa_LookupNames");
6825 ndr->depth++;
6826 ndr_print_ptr(ndr, "domains", r->out.domains);
6827 ndr->depth++;
6828 ndr_print_ptr(ndr, "domains", *r->out.domains);
6829 ndr->depth++;
6830 if (*r->out.domains) {
6831 ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains);
6833 ndr->depth--;
6834 ndr->depth--;
6835 ndr_print_ptr(ndr, "sids", r->out.sids);
6836 ndr->depth++;
6837 ndr_print_lsa_TransSidArray(ndr, "sids", r->out.sids);
6838 ndr->depth--;
6839 ndr_print_ptr(ndr, "count", r->out.count);
6840 ndr->depth++;
6841 ndr_print_uint32(ndr, "count", *r->out.count);
6842 ndr->depth--;
6843 ndr_print_NTSTATUS(ndr, "result", r->out.result);
6844 ndr->depth--;
6846 ndr->depth--;
6849 _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupSids(struct ndr_push *ndr, int flags, const struct lsa_LookupSids *r)
6851 if (flags & NDR_IN) {
6852 if (r->in.handle == NULL) {
6853 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6855 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6856 if (r->in.sids == NULL) {
6857 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6859 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
6860 if (r->in.names == NULL) {
6861 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6863 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
6864 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
6865 if (r->in.count == NULL) {
6866 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6868 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
6870 if (flags & NDR_OUT) {
6871 if (r->out.domains == NULL) {
6872 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6874 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains));
6875 if (*r->out.domains) {
6876 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
6878 if (r->out.names == NULL) {
6879 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6881 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
6882 if (r->out.count == NULL) {
6883 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
6885 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
6886 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
6888 return NDR_ERR_SUCCESS;
6891 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids(struct ndr_pull *ndr, int flags, struct lsa_LookupSids *r)
6893 uint32_t _ptr_domains;
6894 TALLOC_CTX *_mem_save_handle_0;
6895 TALLOC_CTX *_mem_save_sids_0;
6896 TALLOC_CTX *_mem_save_domains_0;
6897 TALLOC_CTX *_mem_save_domains_1;
6898 TALLOC_CTX *_mem_save_names_0;
6899 TALLOC_CTX *_mem_save_count_0;
6900 if (flags & NDR_IN) {
6901 ZERO_STRUCT(r->out);
6903 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6904 NDR_PULL_ALLOC(ndr, r->in.handle);
6906 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
6907 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
6908 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
6909 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
6910 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6911 NDR_PULL_ALLOC(ndr, r->in.sids);
6913 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
6914 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
6915 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
6916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
6917 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6918 NDR_PULL_ALLOC(ndr, r->in.names);
6920 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6921 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, LIBNDR_FLAG_REF_ALLOC);
6922 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
6923 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
6924 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
6925 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6926 NDR_PULL_ALLOC(ndr, r->in.count);
6928 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
6929 NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
6930 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
6931 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
6932 NDR_PULL_ALLOC(ndr, r->out.domains);
6933 ZERO_STRUCTP(r->out.domains);
6934 NDR_PULL_ALLOC(ndr, r->out.names);
6935 *r->out.names = *r->in.names;
6936 NDR_PULL_ALLOC(ndr, r->out.count);
6937 *r->out.count = *r->in.count;
6939 if (flags & NDR_OUT) {
6940 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6941 NDR_PULL_ALLOC(ndr, r->out.domains);
6943 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
6944 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
6945 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
6946 if (_ptr_domains) {
6947 NDR_PULL_ALLOC(ndr, *r->out.domains);
6948 } else {
6949 *r->out.domains = NULL;
6951 if (*r->out.domains) {
6952 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
6953 NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0);
6954 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
6955 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
6957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
6958 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6959 NDR_PULL_ALLOC(ndr, r->out.names);
6961 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
6962 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
6963 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
6964 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
6965 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
6966 NDR_PULL_ALLOC(ndr, r->out.count);
6968 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
6969 NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
6970 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
6971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
6972 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
6974 return NDR_ERR_SUCCESS;
6977 _PUBLIC_ void ndr_print_lsa_LookupSids(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupSids *r)
6979 ndr_print_struct(ndr, name, "lsa_LookupSids");
6980 ndr->depth++;
6981 if (flags & NDR_SET_VALUES) {
6982 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
6984 if (flags & NDR_IN) {
6985 ndr_print_struct(ndr, "in", "lsa_LookupSids");
6986 ndr->depth++;
6987 ndr_print_ptr(ndr, "handle", r->in.handle);
6988 ndr->depth++;
6989 ndr_print_policy_handle(ndr, "handle", r->in.handle);
6990 ndr->depth--;
6991 ndr_print_ptr(ndr, "sids", r->in.sids);
6992 ndr->depth++;
6993 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
6994 ndr->depth--;
6995 ndr_print_ptr(ndr, "names", r->in.names);
6996 ndr->depth++;
6997 ndr_print_lsa_TransNameArray(ndr, "names", r->in.names);
6998 ndr->depth--;
6999 ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
7000 ndr_print_ptr(ndr, "count", r->in.count);
7001 ndr->depth++;
7002 ndr_print_uint32(ndr, "count", *r->in.count);
7003 ndr->depth--;
7004 ndr->depth--;
7006 if (flags & NDR_OUT) {
7007 ndr_print_struct(ndr, "out", "lsa_LookupSids");
7008 ndr->depth++;
7009 ndr_print_ptr(ndr, "domains", r->out.domains);
7010 ndr->depth++;
7011 ndr_print_ptr(ndr, "domains", *r->out.domains);
7012 ndr->depth++;
7013 if (*r->out.domains) {
7014 ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains);
7016 ndr->depth--;
7017 ndr->depth--;
7018 ndr_print_ptr(ndr, "names", r->out.names);
7019 ndr->depth++;
7020 ndr_print_lsa_TransNameArray(ndr, "names", r->out.names);
7021 ndr->depth--;
7022 ndr_print_ptr(ndr, "count", r->out.count);
7023 ndr->depth++;
7024 ndr_print_uint32(ndr, "count", *r->out.count);
7025 ndr->depth--;
7026 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7027 ndr->depth--;
7029 ndr->depth--;
7032 _PUBLIC_ enum ndr_err_code ndr_push_lsa_CreateSecret(struct ndr_push *ndr, int flags, const struct lsa_CreateSecret *r)
7034 if (flags & NDR_IN) {
7035 if (r->in.handle == NULL) {
7036 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7038 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7039 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
7040 NDR_CHECK(ndr_push_lsa_SecretAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7042 if (flags & NDR_OUT) {
7043 if (r->out.sec_handle == NULL) {
7044 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7046 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.sec_handle));
7047 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7049 return NDR_ERR_SUCCESS;
7052 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_CreateSecret(struct ndr_pull *ndr, int flags, struct lsa_CreateSecret *r)
7054 TALLOC_CTX *_mem_save_handle_0;
7055 TALLOC_CTX *_mem_save_sec_handle_0;
7056 if (flags & NDR_IN) {
7057 ZERO_STRUCT(r->out);
7059 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7060 NDR_PULL_ALLOC(ndr, r->in.handle);
7062 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7063 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
7064 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7065 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
7066 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
7067 NDR_CHECK(ndr_pull_lsa_SecretAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7068 NDR_PULL_ALLOC(ndr, r->out.sec_handle);
7069 ZERO_STRUCTP(r->out.sec_handle);
7071 if (flags & NDR_OUT) {
7072 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7073 NDR_PULL_ALLOC(ndr, r->out.sec_handle);
7075 _mem_save_sec_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7076 NDR_PULL_SET_MEM_CTX(ndr, r->out.sec_handle, LIBNDR_FLAG_REF_ALLOC);
7077 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.sec_handle));
7078 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_handle_0, LIBNDR_FLAG_REF_ALLOC);
7079 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7081 return NDR_ERR_SUCCESS;
7084 _PUBLIC_ void ndr_print_lsa_CreateSecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateSecret *r)
7086 ndr_print_struct(ndr, name, "lsa_CreateSecret");
7087 ndr->depth++;
7088 if (flags & NDR_SET_VALUES) {
7089 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7091 if (flags & NDR_IN) {
7092 ndr_print_struct(ndr, "in", "lsa_CreateSecret");
7093 ndr->depth++;
7094 ndr_print_ptr(ndr, "handle", r->in.handle);
7095 ndr->depth++;
7096 ndr_print_policy_handle(ndr, "handle", r->in.handle);
7097 ndr->depth--;
7098 ndr_print_lsa_String(ndr, "name", &r->in.name);
7099 ndr_print_lsa_SecretAccessMask(ndr, "access_mask", r->in.access_mask);
7100 ndr->depth--;
7102 if (flags & NDR_OUT) {
7103 ndr_print_struct(ndr, "out", "lsa_CreateSecret");
7104 ndr->depth++;
7105 ndr_print_ptr(ndr, "sec_handle", r->out.sec_handle);
7106 ndr->depth++;
7107 ndr_print_policy_handle(ndr, "sec_handle", r->out.sec_handle);
7108 ndr->depth--;
7109 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7110 ndr->depth--;
7112 ndr->depth--;
7115 static enum ndr_err_code ndr_push_lsa_OpenAccount(struct ndr_push *ndr, int flags, const struct lsa_OpenAccount *r)
7117 if (flags & NDR_IN) {
7118 if (r->in.handle == NULL) {
7119 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7121 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7122 if (r->in.sid == NULL) {
7123 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7125 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
7126 NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7128 if (flags & NDR_OUT) {
7129 if (r->out.acct_handle == NULL) {
7130 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7132 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.acct_handle));
7133 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7135 return NDR_ERR_SUCCESS;
7138 static enum ndr_err_code ndr_pull_lsa_OpenAccount(struct ndr_pull *ndr, int flags, struct lsa_OpenAccount *r)
7140 TALLOC_CTX *_mem_save_handle_0;
7141 TALLOC_CTX *_mem_save_sid_0;
7142 TALLOC_CTX *_mem_save_acct_handle_0;
7143 if (flags & NDR_IN) {
7144 ZERO_STRUCT(r->out);
7146 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7147 NDR_PULL_ALLOC(ndr, r->in.handle);
7149 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7150 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
7151 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7152 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
7153 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7154 NDR_PULL_ALLOC(ndr, r->in.sid);
7156 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7157 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
7158 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
7159 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
7160 NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7161 NDR_PULL_ALLOC(ndr, r->out.acct_handle);
7162 ZERO_STRUCTP(r->out.acct_handle);
7164 if (flags & NDR_OUT) {
7165 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7166 NDR_PULL_ALLOC(ndr, r->out.acct_handle);
7168 _mem_save_acct_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7169 NDR_PULL_SET_MEM_CTX(ndr, r->out.acct_handle, LIBNDR_FLAG_REF_ALLOC);
7170 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.acct_handle));
7171 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_acct_handle_0, LIBNDR_FLAG_REF_ALLOC);
7172 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7174 return NDR_ERR_SUCCESS;
7177 _PUBLIC_ void ndr_print_lsa_OpenAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenAccount *r)
7179 ndr_print_struct(ndr, name, "lsa_OpenAccount");
7180 ndr->depth++;
7181 if (flags & NDR_SET_VALUES) {
7182 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7184 if (flags & NDR_IN) {
7185 ndr_print_struct(ndr, "in", "lsa_OpenAccount");
7186 ndr->depth++;
7187 ndr_print_ptr(ndr, "handle", r->in.handle);
7188 ndr->depth++;
7189 ndr_print_policy_handle(ndr, "handle", r->in.handle);
7190 ndr->depth--;
7191 ndr_print_ptr(ndr, "sid", r->in.sid);
7192 ndr->depth++;
7193 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
7194 ndr->depth--;
7195 ndr_print_lsa_AccountAccessMask(ndr, "access_mask", r->in.access_mask);
7196 ndr->depth--;
7198 if (flags & NDR_OUT) {
7199 ndr_print_struct(ndr, "out", "lsa_OpenAccount");
7200 ndr->depth++;
7201 ndr_print_ptr(ndr, "acct_handle", r->out.acct_handle);
7202 ndr->depth++;
7203 ndr_print_policy_handle(ndr, "acct_handle", r->out.acct_handle);
7204 ndr->depth--;
7205 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7206 ndr->depth--;
7208 ndr->depth--;
7211 static enum ndr_err_code ndr_push_lsa_EnumPrivsAccount(struct ndr_push *ndr, int flags, const struct lsa_EnumPrivsAccount *r)
7213 if (flags & NDR_IN) {
7214 if (r->in.handle == NULL) {
7215 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7217 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7219 if (flags & NDR_OUT) {
7220 if (r->out.privs == NULL) {
7221 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7223 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.privs));
7224 if (*r->out.privs) {
7225 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr, NDR_SCALARS, *r->out.privs));
7227 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7229 return NDR_ERR_SUCCESS;
7232 static enum ndr_err_code ndr_pull_lsa_EnumPrivsAccount(struct ndr_pull *ndr, int flags, struct lsa_EnumPrivsAccount *r)
7234 uint32_t _ptr_privs;
7235 TALLOC_CTX *_mem_save_handle_0;
7236 TALLOC_CTX *_mem_save_privs_0;
7237 TALLOC_CTX *_mem_save_privs_1;
7238 if (flags & NDR_IN) {
7239 ZERO_STRUCT(r->out);
7241 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7242 NDR_PULL_ALLOC(ndr, r->in.handle);
7244 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7245 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
7246 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7247 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
7248 NDR_PULL_ALLOC(ndr, r->out.privs);
7249 ZERO_STRUCTP(r->out.privs);
7251 if (flags & NDR_OUT) {
7252 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7253 NDR_PULL_ALLOC(ndr, r->out.privs);
7255 _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr);
7256 NDR_PULL_SET_MEM_CTX(ndr, r->out.privs, LIBNDR_FLAG_REF_ALLOC);
7257 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privs));
7258 if (_ptr_privs) {
7259 NDR_PULL_ALLOC(ndr, *r->out.privs);
7260 } else {
7261 *r->out.privs = NULL;
7263 if (*r->out.privs) {
7264 _mem_save_privs_1 = NDR_PULL_GET_MEM_CTX(ndr);
7265 NDR_PULL_SET_MEM_CTX(ndr, *r->out.privs, 0);
7266 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS, *r->out.privs));
7267 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_1, 0);
7269 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, LIBNDR_FLAG_REF_ALLOC);
7270 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7272 return NDR_ERR_SUCCESS;
7275 _PUBLIC_ void ndr_print_lsa_EnumPrivsAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumPrivsAccount *r)
7277 ndr_print_struct(ndr, name, "lsa_EnumPrivsAccount");
7278 ndr->depth++;
7279 if (flags & NDR_SET_VALUES) {
7280 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7282 if (flags & NDR_IN) {
7283 ndr_print_struct(ndr, "in", "lsa_EnumPrivsAccount");
7284 ndr->depth++;
7285 ndr_print_ptr(ndr, "handle", r->in.handle);
7286 ndr->depth++;
7287 ndr_print_policy_handle(ndr, "handle", r->in.handle);
7288 ndr->depth--;
7289 ndr->depth--;
7291 if (flags & NDR_OUT) {
7292 ndr_print_struct(ndr, "out", "lsa_EnumPrivsAccount");
7293 ndr->depth++;
7294 ndr_print_ptr(ndr, "privs", r->out.privs);
7295 ndr->depth++;
7296 ndr_print_ptr(ndr, "privs", *r->out.privs);
7297 ndr->depth++;
7298 if (*r->out.privs) {
7299 ndr_print_lsa_PrivilegeSet(ndr, "privs", *r->out.privs);
7301 ndr->depth--;
7302 ndr->depth--;
7303 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7304 ndr->depth--;
7306 ndr->depth--;
7309 static enum ndr_err_code ndr_push_lsa_AddPrivilegesToAccount(struct ndr_push *ndr, int flags, const struct lsa_AddPrivilegesToAccount *r)
7311 if (flags & NDR_IN) {
7312 if (r->in.handle == NULL) {
7313 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7315 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7316 if (r->in.privs == NULL) {
7317 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7319 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr, NDR_SCALARS, r->in.privs));
7321 if (flags & NDR_OUT) {
7322 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7324 return NDR_ERR_SUCCESS;
7327 static enum ndr_err_code ndr_pull_lsa_AddPrivilegesToAccount(struct ndr_pull *ndr, int flags, struct lsa_AddPrivilegesToAccount *r)
7329 TALLOC_CTX *_mem_save_handle_0;
7330 TALLOC_CTX *_mem_save_privs_0;
7331 if (flags & NDR_IN) {
7332 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7333 NDR_PULL_ALLOC(ndr, r->in.handle);
7335 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7336 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
7337 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7338 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
7339 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7340 NDR_PULL_ALLOC(ndr, r->in.privs);
7342 _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr);
7343 NDR_PULL_SET_MEM_CTX(ndr, r->in.privs, LIBNDR_FLAG_REF_ALLOC);
7344 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS, r->in.privs));
7345 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, LIBNDR_FLAG_REF_ALLOC);
7347 if (flags & NDR_OUT) {
7348 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7350 return NDR_ERR_SUCCESS;
7353 _PUBLIC_ void ndr_print_lsa_AddPrivilegesToAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_AddPrivilegesToAccount *r)
7355 ndr_print_struct(ndr, name, "lsa_AddPrivilegesToAccount");
7356 ndr->depth++;
7357 if (flags & NDR_SET_VALUES) {
7358 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7360 if (flags & NDR_IN) {
7361 ndr_print_struct(ndr, "in", "lsa_AddPrivilegesToAccount");
7362 ndr->depth++;
7363 ndr_print_ptr(ndr, "handle", r->in.handle);
7364 ndr->depth++;
7365 ndr_print_policy_handle(ndr, "handle", r->in.handle);
7366 ndr->depth--;
7367 ndr_print_ptr(ndr, "privs", r->in.privs);
7368 ndr->depth++;
7369 ndr_print_lsa_PrivilegeSet(ndr, "privs", r->in.privs);
7370 ndr->depth--;
7371 ndr->depth--;
7373 if (flags & NDR_OUT) {
7374 ndr_print_struct(ndr, "out", "lsa_AddPrivilegesToAccount");
7375 ndr->depth++;
7376 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7377 ndr->depth--;
7379 ndr->depth--;
7382 static enum ndr_err_code ndr_push_lsa_RemovePrivilegesFromAccount(struct ndr_push *ndr, int flags, const struct lsa_RemovePrivilegesFromAccount *r)
7384 if (flags & NDR_IN) {
7385 if (r->in.handle == NULL) {
7386 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7388 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7389 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.remove_all));
7390 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.privs));
7391 if (r->in.privs) {
7392 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr, NDR_SCALARS, r->in.privs));
7395 if (flags & NDR_OUT) {
7396 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7398 return NDR_ERR_SUCCESS;
7401 static enum ndr_err_code ndr_pull_lsa_RemovePrivilegesFromAccount(struct ndr_pull *ndr, int flags, struct lsa_RemovePrivilegesFromAccount *r)
7403 uint32_t _ptr_privs;
7404 TALLOC_CTX *_mem_save_handle_0;
7405 TALLOC_CTX *_mem_save_privs_0;
7406 if (flags & NDR_IN) {
7407 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7408 NDR_PULL_ALLOC(ndr, r->in.handle);
7410 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7411 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
7412 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7413 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
7414 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.remove_all));
7415 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_privs));
7416 if (_ptr_privs) {
7417 NDR_PULL_ALLOC(ndr, r->in.privs);
7418 } else {
7419 r->in.privs = NULL;
7421 if (r->in.privs) {
7422 _mem_save_privs_0 = NDR_PULL_GET_MEM_CTX(ndr);
7423 NDR_PULL_SET_MEM_CTX(ndr, r->in.privs, 0);
7424 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS, r->in.privs));
7425 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_privs_0, 0);
7428 if (flags & NDR_OUT) {
7429 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7431 return NDR_ERR_SUCCESS;
7434 _PUBLIC_ void ndr_print_lsa_RemovePrivilegesFromAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_RemovePrivilegesFromAccount *r)
7436 ndr_print_struct(ndr, name, "lsa_RemovePrivilegesFromAccount");
7437 ndr->depth++;
7438 if (flags & NDR_SET_VALUES) {
7439 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7441 if (flags & NDR_IN) {
7442 ndr_print_struct(ndr, "in", "lsa_RemovePrivilegesFromAccount");
7443 ndr->depth++;
7444 ndr_print_ptr(ndr, "handle", r->in.handle);
7445 ndr->depth++;
7446 ndr_print_policy_handle(ndr, "handle", r->in.handle);
7447 ndr->depth--;
7448 ndr_print_uint8(ndr, "remove_all", r->in.remove_all);
7449 ndr_print_ptr(ndr, "privs", r->in.privs);
7450 ndr->depth++;
7451 if (r->in.privs) {
7452 ndr_print_lsa_PrivilegeSet(ndr, "privs", r->in.privs);
7454 ndr->depth--;
7455 ndr->depth--;
7457 if (flags & NDR_OUT) {
7458 ndr_print_struct(ndr, "out", "lsa_RemovePrivilegesFromAccount");
7459 ndr->depth++;
7460 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7461 ndr->depth--;
7463 ndr->depth--;
7466 static enum ndr_err_code ndr_push_lsa_GetQuotasForAccount(struct ndr_push *ndr, int flags, const struct lsa_GetQuotasForAccount *r)
7468 if (flags & NDR_IN) {
7470 if (flags & NDR_OUT) {
7471 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7473 return NDR_ERR_SUCCESS;
7476 static enum ndr_err_code ndr_pull_lsa_GetQuotasForAccount(struct ndr_pull *ndr, int flags, struct lsa_GetQuotasForAccount *r)
7478 if (flags & NDR_IN) {
7480 if (flags & NDR_OUT) {
7481 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7483 return NDR_ERR_SUCCESS;
7486 _PUBLIC_ void ndr_print_lsa_GetQuotasForAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_GetQuotasForAccount *r)
7488 ndr_print_struct(ndr, name, "lsa_GetQuotasForAccount");
7489 ndr->depth++;
7490 if (flags & NDR_SET_VALUES) {
7491 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7493 if (flags & NDR_IN) {
7494 ndr_print_struct(ndr, "in", "lsa_GetQuotasForAccount");
7495 ndr->depth++;
7496 ndr->depth--;
7498 if (flags & NDR_OUT) {
7499 ndr_print_struct(ndr, "out", "lsa_GetQuotasForAccount");
7500 ndr->depth++;
7501 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7502 ndr->depth--;
7504 ndr->depth--;
7507 static enum ndr_err_code ndr_push_lsa_SetQuotasForAccount(struct ndr_push *ndr, int flags, const struct lsa_SetQuotasForAccount *r)
7509 if (flags & NDR_IN) {
7511 if (flags & NDR_OUT) {
7512 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7514 return NDR_ERR_SUCCESS;
7517 static enum ndr_err_code ndr_pull_lsa_SetQuotasForAccount(struct ndr_pull *ndr, int flags, struct lsa_SetQuotasForAccount *r)
7519 if (flags & NDR_IN) {
7521 if (flags & NDR_OUT) {
7522 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7524 return NDR_ERR_SUCCESS;
7527 _PUBLIC_ void ndr_print_lsa_SetQuotasForAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetQuotasForAccount *r)
7529 ndr_print_struct(ndr, name, "lsa_SetQuotasForAccount");
7530 ndr->depth++;
7531 if (flags & NDR_SET_VALUES) {
7532 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7534 if (flags & NDR_IN) {
7535 ndr_print_struct(ndr, "in", "lsa_SetQuotasForAccount");
7536 ndr->depth++;
7537 ndr->depth--;
7539 if (flags & NDR_OUT) {
7540 ndr_print_struct(ndr, "out", "lsa_SetQuotasForAccount");
7541 ndr->depth++;
7542 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7543 ndr->depth--;
7545 ndr->depth--;
7548 static enum ndr_err_code ndr_push_lsa_GetSystemAccessAccount(struct ndr_push *ndr, int flags, const struct lsa_GetSystemAccessAccount *r)
7550 if (flags & NDR_IN) {
7551 if (r->in.handle == NULL) {
7552 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7554 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7556 if (flags & NDR_OUT) {
7557 if (r->out.access_mask == NULL) {
7558 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7560 NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr, NDR_SCALARS, *r->out.access_mask));
7561 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7563 return NDR_ERR_SUCCESS;
7566 static enum ndr_err_code ndr_pull_lsa_GetSystemAccessAccount(struct ndr_pull *ndr, int flags, struct lsa_GetSystemAccessAccount *r)
7568 TALLOC_CTX *_mem_save_handle_0;
7569 TALLOC_CTX *_mem_save_access_mask_0;
7570 if (flags & NDR_IN) {
7571 ZERO_STRUCT(r->out);
7573 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7574 NDR_PULL_ALLOC(ndr, r->in.handle);
7576 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7577 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
7578 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7579 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
7580 NDR_PULL_ALLOC(ndr, r->out.access_mask);
7581 ZERO_STRUCTP(r->out.access_mask);
7583 if (flags & NDR_OUT) {
7584 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7585 NDR_PULL_ALLOC(ndr, r->out.access_mask);
7587 _mem_save_access_mask_0 = NDR_PULL_GET_MEM_CTX(ndr);
7588 NDR_PULL_SET_MEM_CTX(ndr, r->out.access_mask, LIBNDR_FLAG_REF_ALLOC);
7589 NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr, NDR_SCALARS, r->out.access_mask));
7590 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_access_mask_0, LIBNDR_FLAG_REF_ALLOC);
7591 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7593 return NDR_ERR_SUCCESS;
7596 _PUBLIC_ void ndr_print_lsa_GetSystemAccessAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_GetSystemAccessAccount *r)
7598 ndr_print_struct(ndr, name, "lsa_GetSystemAccessAccount");
7599 ndr->depth++;
7600 if (flags & NDR_SET_VALUES) {
7601 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7603 if (flags & NDR_IN) {
7604 ndr_print_struct(ndr, "in", "lsa_GetSystemAccessAccount");
7605 ndr->depth++;
7606 ndr_print_ptr(ndr, "handle", r->in.handle);
7607 ndr->depth++;
7608 ndr_print_policy_handle(ndr, "handle", r->in.handle);
7609 ndr->depth--;
7610 ndr->depth--;
7612 if (flags & NDR_OUT) {
7613 ndr_print_struct(ndr, "out", "lsa_GetSystemAccessAccount");
7614 ndr->depth++;
7615 ndr_print_ptr(ndr, "access_mask", r->out.access_mask);
7616 ndr->depth++;
7617 ndr_print_lsa_AccountAccessMask(ndr, "access_mask", *r->out.access_mask);
7618 ndr->depth--;
7619 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7620 ndr->depth--;
7622 ndr->depth--;
7625 static enum ndr_err_code ndr_push_lsa_SetSystemAccessAccount(struct ndr_push *ndr, int flags, const struct lsa_SetSystemAccessAccount *r)
7627 if (flags & NDR_IN) {
7628 if (r->in.handle == NULL) {
7629 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7631 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7632 NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7634 if (flags & NDR_OUT) {
7635 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7637 return NDR_ERR_SUCCESS;
7640 static enum ndr_err_code ndr_pull_lsa_SetSystemAccessAccount(struct ndr_pull *ndr, int flags, struct lsa_SetSystemAccessAccount *r)
7642 TALLOC_CTX *_mem_save_handle_0;
7643 if (flags & NDR_IN) {
7644 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7645 NDR_PULL_ALLOC(ndr, r->in.handle);
7647 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7648 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
7649 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7650 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
7651 NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7653 if (flags & NDR_OUT) {
7654 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7656 return NDR_ERR_SUCCESS;
7659 _PUBLIC_ void ndr_print_lsa_SetSystemAccessAccount(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetSystemAccessAccount *r)
7661 ndr_print_struct(ndr, name, "lsa_SetSystemAccessAccount");
7662 ndr->depth++;
7663 if (flags & NDR_SET_VALUES) {
7664 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7666 if (flags & NDR_IN) {
7667 ndr_print_struct(ndr, "in", "lsa_SetSystemAccessAccount");
7668 ndr->depth++;
7669 ndr_print_ptr(ndr, "handle", r->in.handle);
7670 ndr->depth++;
7671 ndr_print_policy_handle(ndr, "handle", r->in.handle);
7672 ndr->depth--;
7673 ndr_print_lsa_AccountAccessMask(ndr, "access_mask", r->in.access_mask);
7674 ndr->depth--;
7676 if (flags & NDR_OUT) {
7677 ndr_print_struct(ndr, "out", "lsa_SetSystemAccessAccount");
7678 ndr->depth++;
7679 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7680 ndr->depth--;
7682 ndr->depth--;
7685 static enum ndr_err_code ndr_push_lsa_OpenTrustedDomain(struct ndr_push *ndr, int flags, const struct lsa_OpenTrustedDomain *r)
7687 if (flags & NDR_IN) {
7688 if (r->in.handle == NULL) {
7689 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7691 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7692 if (r->in.sid == NULL) {
7693 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7695 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
7696 NDR_CHECK(ndr_push_lsa_TrustedAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7698 if (flags & NDR_OUT) {
7699 if (r->out.trustdom_handle == NULL) {
7700 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7702 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
7703 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7705 return NDR_ERR_SUCCESS;
7708 static enum ndr_err_code ndr_pull_lsa_OpenTrustedDomain(struct ndr_pull *ndr, int flags, struct lsa_OpenTrustedDomain *r)
7710 TALLOC_CTX *_mem_save_handle_0;
7711 TALLOC_CTX *_mem_save_sid_0;
7712 TALLOC_CTX *_mem_save_trustdom_handle_0;
7713 if (flags & NDR_IN) {
7714 ZERO_STRUCT(r->out);
7716 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7717 NDR_PULL_ALLOC(ndr, r->in.handle);
7719 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7720 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
7721 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7722 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
7723 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7724 NDR_PULL_ALLOC(ndr, r->in.sid);
7726 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
7727 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
7728 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
7729 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
7730 NDR_CHECK(ndr_pull_lsa_TrustedAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
7731 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
7732 ZERO_STRUCTP(r->out.trustdom_handle);
7734 if (flags & NDR_OUT) {
7735 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7736 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
7738 _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7739 NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC);
7740 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
7741 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC);
7742 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7744 return NDR_ERR_SUCCESS;
7747 _PUBLIC_ void ndr_print_lsa_OpenTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenTrustedDomain *r)
7749 ndr_print_struct(ndr, name, "lsa_OpenTrustedDomain");
7750 ndr->depth++;
7751 if (flags & NDR_SET_VALUES) {
7752 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7754 if (flags & NDR_IN) {
7755 ndr_print_struct(ndr, "in", "lsa_OpenTrustedDomain");
7756 ndr->depth++;
7757 ndr_print_ptr(ndr, "handle", r->in.handle);
7758 ndr->depth++;
7759 ndr_print_policy_handle(ndr, "handle", r->in.handle);
7760 ndr->depth--;
7761 ndr_print_ptr(ndr, "sid", r->in.sid);
7762 ndr->depth++;
7763 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
7764 ndr->depth--;
7765 ndr_print_lsa_TrustedAccessMask(ndr, "access_mask", r->in.access_mask);
7766 ndr->depth--;
7768 if (flags & NDR_OUT) {
7769 ndr_print_struct(ndr, "out", "lsa_OpenTrustedDomain");
7770 ndr->depth++;
7771 ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle);
7772 ndr->depth++;
7773 ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle);
7774 ndr->depth--;
7775 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7776 ndr->depth--;
7778 ndr->depth--;
7781 static enum ndr_err_code ndr_push_lsa_QueryTrustedDomainInfo(struct ndr_push *ndr, int flags, const struct lsa_QueryTrustedDomainInfo *r)
7783 if (flags & NDR_IN) {
7784 if (r->in.trustdom_handle == NULL) {
7785 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7787 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.trustdom_handle));
7788 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level));
7790 if (flags & NDR_OUT) {
7791 if (r->out.info == NULL) {
7792 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7794 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
7795 if (*r->out.info) {
7796 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
7797 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
7799 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7801 return NDR_ERR_SUCCESS;
7804 static enum ndr_err_code ndr_pull_lsa_QueryTrustedDomainInfo(struct ndr_pull *ndr, int flags, struct lsa_QueryTrustedDomainInfo *r)
7806 uint32_t _ptr_info;
7807 TALLOC_CTX *_mem_save_trustdom_handle_0;
7808 TALLOC_CTX *_mem_save_info_0;
7809 TALLOC_CTX *_mem_save_info_1;
7810 if (flags & NDR_IN) {
7811 ZERO_STRUCT(r->out);
7813 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7814 NDR_PULL_ALLOC(ndr, r->in.trustdom_handle);
7816 _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7817 NDR_PULL_SET_MEM_CTX(ndr, r->in.trustdom_handle, LIBNDR_FLAG_REF_ALLOC);
7818 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.trustdom_handle));
7819 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC);
7820 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level));
7821 NDR_PULL_ALLOC(ndr, r->out.info);
7822 ZERO_STRUCTP(r->out.info);
7824 if (flags & NDR_OUT) {
7825 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7826 NDR_PULL_ALLOC(ndr, r->out.info);
7828 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7829 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
7830 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
7831 if (_ptr_info) {
7832 NDR_PULL_ALLOC(ndr, *r->out.info);
7833 } else {
7834 *r->out.info = NULL;
7836 if (*r->out.info) {
7837 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
7838 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
7839 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
7840 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
7841 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
7843 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
7844 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7846 return NDR_ERR_SUCCESS;
7849 _PUBLIC_ void ndr_print_lsa_QueryTrustedDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryTrustedDomainInfo *r)
7851 ndr_print_struct(ndr, name, "lsa_QueryTrustedDomainInfo");
7852 ndr->depth++;
7853 if (flags & NDR_SET_VALUES) {
7854 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7856 if (flags & NDR_IN) {
7857 ndr_print_struct(ndr, "in", "lsa_QueryTrustedDomainInfo");
7858 ndr->depth++;
7859 ndr_print_ptr(ndr, "trustdom_handle", r->in.trustdom_handle);
7860 ndr->depth++;
7861 ndr_print_policy_handle(ndr, "trustdom_handle", r->in.trustdom_handle);
7862 ndr->depth--;
7863 ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level);
7864 ndr->depth--;
7866 if (flags & NDR_OUT) {
7867 ndr_print_struct(ndr, "out", "lsa_QueryTrustedDomainInfo");
7868 ndr->depth++;
7869 ndr_print_ptr(ndr, "info", r->out.info);
7870 ndr->depth++;
7871 ndr_print_ptr(ndr, "info", *r->out.info);
7872 ndr->depth++;
7873 if (*r->out.info) {
7874 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
7875 ndr_print_lsa_TrustedDomainInfo(ndr, "info", *r->out.info);
7877 ndr->depth--;
7878 ndr->depth--;
7879 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7880 ndr->depth--;
7882 ndr->depth--;
7885 static enum ndr_err_code ndr_push_lsa_SetInformationTrustedDomain(struct ndr_push *ndr, int flags, const struct lsa_SetInformationTrustedDomain *r)
7887 if (flags & NDR_IN) {
7888 if (r->in.trustdom_handle == NULL) {
7889 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7891 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.trustdom_handle));
7892 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level));
7893 if (r->in.info == NULL) {
7894 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7896 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
7897 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
7899 if (flags & NDR_OUT) {
7900 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7902 return NDR_ERR_SUCCESS;
7905 static enum ndr_err_code ndr_pull_lsa_SetInformationTrustedDomain(struct ndr_pull *ndr, int flags, struct lsa_SetInformationTrustedDomain *r)
7907 TALLOC_CTX *_mem_save_trustdom_handle_0;
7908 TALLOC_CTX *_mem_save_info_0;
7909 if (flags & NDR_IN) {
7910 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7911 NDR_PULL_ALLOC(ndr, r->in.trustdom_handle);
7913 _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7914 NDR_PULL_SET_MEM_CTX(ndr, r->in.trustdom_handle, LIBNDR_FLAG_REF_ALLOC);
7915 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.trustdom_handle));
7916 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC);
7917 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level));
7918 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7919 NDR_PULL_ALLOC(ndr, r->in.info);
7921 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
7922 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
7923 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
7924 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
7925 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
7927 if (flags & NDR_OUT) {
7928 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
7930 return NDR_ERR_SUCCESS;
7933 _PUBLIC_ void ndr_print_lsa_SetInformationTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetInformationTrustedDomain *r)
7935 ndr_print_struct(ndr, name, "lsa_SetInformationTrustedDomain");
7936 ndr->depth++;
7937 if (flags & NDR_SET_VALUES) {
7938 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
7940 if (flags & NDR_IN) {
7941 ndr_print_struct(ndr, "in", "lsa_SetInformationTrustedDomain");
7942 ndr->depth++;
7943 ndr_print_ptr(ndr, "trustdom_handle", r->in.trustdom_handle);
7944 ndr->depth++;
7945 ndr_print_policy_handle(ndr, "trustdom_handle", r->in.trustdom_handle);
7946 ndr->depth--;
7947 ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level);
7948 ndr_print_ptr(ndr, "info", r->in.info);
7949 ndr->depth++;
7950 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
7951 ndr_print_lsa_TrustedDomainInfo(ndr, "info", r->in.info);
7952 ndr->depth--;
7953 ndr->depth--;
7955 if (flags & NDR_OUT) {
7956 ndr_print_struct(ndr, "out", "lsa_SetInformationTrustedDomain");
7957 ndr->depth++;
7958 ndr_print_NTSTATUS(ndr, "result", r->out.result);
7959 ndr->depth--;
7961 ndr->depth--;
7964 _PUBLIC_ enum ndr_err_code ndr_push_lsa_OpenSecret(struct ndr_push *ndr, int flags, const struct lsa_OpenSecret *r)
7966 if (flags & NDR_IN) {
7967 if (r->in.handle == NULL) {
7968 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7970 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7971 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
7972 NDR_CHECK(ndr_push_lsa_SecretAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
7974 if (flags & NDR_OUT) {
7975 if (r->out.sec_handle == NULL) {
7976 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
7978 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.sec_handle));
7979 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
7981 return NDR_ERR_SUCCESS;
7984 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_OpenSecret(struct ndr_pull *ndr, int flags, struct lsa_OpenSecret *r)
7986 TALLOC_CTX *_mem_save_handle_0;
7987 TALLOC_CTX *_mem_save_sec_handle_0;
7988 if (flags & NDR_IN) {
7989 ZERO_STRUCT(r->out);
7991 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
7992 NDR_PULL_ALLOC(ndr, r->in.handle);
7994 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
7995 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
7996 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
7997 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
7998 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
7999 NDR_CHECK(ndr_pull_lsa_SecretAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
8000 NDR_PULL_ALLOC(ndr, r->out.sec_handle);
8001 ZERO_STRUCTP(r->out.sec_handle);
8003 if (flags & NDR_OUT) {
8004 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8005 NDR_PULL_ALLOC(ndr, r->out.sec_handle);
8007 _mem_save_sec_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8008 NDR_PULL_SET_MEM_CTX(ndr, r->out.sec_handle, LIBNDR_FLAG_REF_ALLOC);
8009 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.sec_handle));
8010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_handle_0, LIBNDR_FLAG_REF_ALLOC);
8011 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8013 return NDR_ERR_SUCCESS;
8016 _PUBLIC_ void ndr_print_lsa_OpenSecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenSecret *r)
8018 ndr_print_struct(ndr, name, "lsa_OpenSecret");
8019 ndr->depth++;
8020 if (flags & NDR_SET_VALUES) {
8021 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8023 if (flags & NDR_IN) {
8024 ndr_print_struct(ndr, "in", "lsa_OpenSecret");
8025 ndr->depth++;
8026 ndr_print_ptr(ndr, "handle", r->in.handle);
8027 ndr->depth++;
8028 ndr_print_policy_handle(ndr, "handle", r->in.handle);
8029 ndr->depth--;
8030 ndr_print_lsa_String(ndr, "name", &r->in.name);
8031 ndr_print_lsa_SecretAccessMask(ndr, "access_mask", r->in.access_mask);
8032 ndr->depth--;
8034 if (flags & NDR_OUT) {
8035 ndr_print_struct(ndr, "out", "lsa_OpenSecret");
8036 ndr->depth++;
8037 ndr_print_ptr(ndr, "sec_handle", r->out.sec_handle);
8038 ndr->depth++;
8039 ndr_print_policy_handle(ndr, "sec_handle", r->out.sec_handle);
8040 ndr->depth--;
8041 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8042 ndr->depth--;
8044 ndr->depth--;
8047 _PUBLIC_ enum ndr_err_code ndr_push_lsa_SetSecret(struct ndr_push *ndr, int flags, const struct lsa_SetSecret *r)
8049 if (flags & NDR_IN) {
8050 if (r->in.sec_handle == NULL) {
8051 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8053 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.sec_handle));
8054 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_val));
8055 if (r->in.new_val) {
8056 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_val));
8058 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_val));
8059 if (r->in.old_val) {
8060 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_val));
8063 if (flags & NDR_OUT) {
8064 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8066 return NDR_ERR_SUCCESS;
8069 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_SetSecret(struct ndr_pull *ndr, int flags, struct lsa_SetSecret *r)
8071 uint32_t _ptr_new_val;
8072 uint32_t _ptr_old_val;
8073 TALLOC_CTX *_mem_save_sec_handle_0;
8074 TALLOC_CTX *_mem_save_new_val_0;
8075 TALLOC_CTX *_mem_save_old_val_0;
8076 if (flags & NDR_IN) {
8077 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8078 NDR_PULL_ALLOC(ndr, r->in.sec_handle);
8080 _mem_save_sec_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8081 NDR_PULL_SET_MEM_CTX(ndr, r->in.sec_handle, LIBNDR_FLAG_REF_ALLOC);
8082 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.sec_handle));
8083 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_handle_0, LIBNDR_FLAG_REF_ALLOC);
8084 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_val));
8085 if (_ptr_new_val) {
8086 NDR_PULL_ALLOC(ndr, r->in.new_val);
8087 } else {
8088 r->in.new_val = NULL;
8090 if (r->in.new_val) {
8091 _mem_save_new_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
8092 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_val, 0);
8093 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_val));
8094 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_val_0, 0);
8096 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_val));
8097 if (_ptr_old_val) {
8098 NDR_PULL_ALLOC(ndr, r->in.old_val);
8099 } else {
8100 r->in.old_val = NULL;
8102 if (r->in.old_val) {
8103 _mem_save_old_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
8104 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_val, 0);
8105 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_val));
8106 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_val_0, 0);
8109 if (flags & NDR_OUT) {
8110 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8112 return NDR_ERR_SUCCESS;
8115 _PUBLIC_ void ndr_print_lsa_SetSecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetSecret *r)
8117 ndr_print_struct(ndr, name, "lsa_SetSecret");
8118 ndr->depth++;
8119 if (flags & NDR_SET_VALUES) {
8120 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8122 if (flags & NDR_IN) {
8123 ndr_print_struct(ndr, "in", "lsa_SetSecret");
8124 ndr->depth++;
8125 ndr_print_ptr(ndr, "sec_handle", r->in.sec_handle);
8126 ndr->depth++;
8127 ndr_print_policy_handle(ndr, "sec_handle", r->in.sec_handle);
8128 ndr->depth--;
8129 ndr_print_ptr(ndr, "new_val", r->in.new_val);
8130 ndr->depth++;
8131 if (r->in.new_val) {
8132 ndr_print_lsa_DATA_BUF(ndr, "new_val", r->in.new_val);
8134 ndr->depth--;
8135 ndr_print_ptr(ndr, "old_val", r->in.old_val);
8136 ndr->depth++;
8137 if (r->in.old_val) {
8138 ndr_print_lsa_DATA_BUF(ndr, "old_val", r->in.old_val);
8140 ndr->depth--;
8141 ndr->depth--;
8143 if (flags & NDR_OUT) {
8144 ndr_print_struct(ndr, "out", "lsa_SetSecret");
8145 ndr->depth++;
8146 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8147 ndr->depth--;
8149 ndr->depth--;
8152 _PUBLIC_ enum ndr_err_code ndr_push_lsa_QuerySecret(struct ndr_push *ndr, int flags, const struct lsa_QuerySecret *r)
8154 if (flags & NDR_IN) {
8155 if (r->in.sec_handle == NULL) {
8156 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8158 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.sec_handle));
8159 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_val));
8160 if (r->in.new_val) {
8161 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_val));
8163 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.new_mtime));
8164 if (r->in.new_mtime) {
8165 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, *r->in.new_mtime));
8167 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_val));
8168 if (r->in.old_val) {
8169 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_val));
8171 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.old_mtime));
8172 if (r->in.old_mtime) {
8173 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, *r->in.old_mtime));
8176 if (flags & NDR_OUT) {
8177 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.new_val));
8178 if (r->out.new_val) {
8179 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.new_val));
8181 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.new_mtime));
8182 if (r->out.new_mtime) {
8183 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, *r->out.new_mtime));
8185 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.old_val));
8186 if (r->out.old_val) {
8187 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.old_val));
8189 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.old_mtime));
8190 if (r->out.old_mtime) {
8191 NDR_CHECK(ndr_push_NTTIME_hyper(ndr, NDR_SCALARS, *r->out.old_mtime));
8193 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8195 return NDR_ERR_SUCCESS;
8198 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_QuerySecret(struct ndr_pull *ndr, int flags, struct lsa_QuerySecret *r)
8200 uint32_t _ptr_new_val;
8201 uint32_t _ptr_new_mtime;
8202 uint32_t _ptr_old_val;
8203 uint32_t _ptr_old_mtime;
8204 TALLOC_CTX *_mem_save_sec_handle_0;
8205 TALLOC_CTX *_mem_save_new_val_0;
8206 TALLOC_CTX *_mem_save_new_mtime_0;
8207 TALLOC_CTX *_mem_save_old_val_0;
8208 TALLOC_CTX *_mem_save_old_mtime_0;
8209 if (flags & NDR_IN) {
8210 ZERO_STRUCT(r->out);
8212 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8213 NDR_PULL_ALLOC(ndr, r->in.sec_handle);
8215 _mem_save_sec_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8216 NDR_PULL_SET_MEM_CTX(ndr, r->in.sec_handle, LIBNDR_FLAG_REF_ALLOC);
8217 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.sec_handle));
8218 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_handle_0, LIBNDR_FLAG_REF_ALLOC);
8219 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_val));
8220 if (_ptr_new_val) {
8221 NDR_PULL_ALLOC(ndr, r->in.new_val);
8222 } else {
8223 r->in.new_val = NULL;
8225 if (r->in.new_val) {
8226 _mem_save_new_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
8227 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_val, 0);
8228 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.new_val));
8229 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_val_0, 0);
8231 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_mtime));
8232 if (_ptr_new_mtime) {
8233 NDR_PULL_ALLOC(ndr, r->in.new_mtime);
8234 } else {
8235 r->in.new_mtime = NULL;
8237 if (r->in.new_mtime) {
8238 _mem_save_new_mtime_0 = NDR_PULL_GET_MEM_CTX(ndr);
8239 NDR_PULL_SET_MEM_CTX(ndr, r->in.new_mtime, 0);
8240 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, r->in.new_mtime));
8241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_mtime_0, 0);
8243 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_val));
8244 if (_ptr_old_val) {
8245 NDR_PULL_ALLOC(ndr, r->in.old_val);
8246 } else {
8247 r->in.old_val = NULL;
8249 if (r->in.old_val) {
8250 _mem_save_old_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
8251 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_val, 0);
8252 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.old_val));
8253 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_val_0, 0);
8255 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_mtime));
8256 if (_ptr_old_mtime) {
8257 NDR_PULL_ALLOC(ndr, r->in.old_mtime);
8258 } else {
8259 r->in.old_mtime = NULL;
8261 if (r->in.old_mtime) {
8262 _mem_save_old_mtime_0 = NDR_PULL_GET_MEM_CTX(ndr);
8263 NDR_PULL_SET_MEM_CTX(ndr, r->in.old_mtime, 0);
8264 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, r->in.old_mtime));
8265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_mtime_0, 0);
8268 if (flags & NDR_OUT) {
8269 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_val));
8270 if (_ptr_new_val) {
8271 NDR_PULL_ALLOC(ndr, r->out.new_val);
8272 } else {
8273 r->out.new_val = NULL;
8275 if (r->out.new_val) {
8276 _mem_save_new_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
8277 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_val, 0);
8278 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.new_val));
8279 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_val_0, 0);
8281 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_new_mtime));
8282 if (_ptr_new_mtime) {
8283 NDR_PULL_ALLOC(ndr, r->out.new_mtime);
8284 } else {
8285 r->out.new_mtime = NULL;
8287 if (r->out.new_mtime) {
8288 _mem_save_new_mtime_0 = NDR_PULL_GET_MEM_CTX(ndr);
8289 NDR_PULL_SET_MEM_CTX(ndr, r->out.new_mtime, 0);
8290 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, r->out.new_mtime));
8291 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_mtime_0, 0);
8293 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_val));
8294 if (_ptr_old_val) {
8295 NDR_PULL_ALLOC(ndr, r->out.old_val);
8296 } else {
8297 r->out.old_val = NULL;
8299 if (r->out.old_val) {
8300 _mem_save_old_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
8301 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_val, 0);
8302 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.old_val));
8303 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_val_0, 0);
8305 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_old_mtime));
8306 if (_ptr_old_mtime) {
8307 NDR_PULL_ALLOC(ndr, r->out.old_mtime);
8308 } else {
8309 r->out.old_mtime = NULL;
8311 if (r->out.old_mtime) {
8312 _mem_save_old_mtime_0 = NDR_PULL_GET_MEM_CTX(ndr);
8313 NDR_PULL_SET_MEM_CTX(ndr, r->out.old_mtime, 0);
8314 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr, NDR_SCALARS, r->out.old_mtime));
8315 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_old_mtime_0, 0);
8317 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8319 return NDR_ERR_SUCCESS;
8322 _PUBLIC_ void ndr_print_lsa_QuerySecret(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QuerySecret *r)
8324 ndr_print_struct(ndr, name, "lsa_QuerySecret");
8325 ndr->depth++;
8326 if (flags & NDR_SET_VALUES) {
8327 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8329 if (flags & NDR_IN) {
8330 ndr_print_struct(ndr, "in", "lsa_QuerySecret");
8331 ndr->depth++;
8332 ndr_print_ptr(ndr, "sec_handle", r->in.sec_handle);
8333 ndr->depth++;
8334 ndr_print_policy_handle(ndr, "sec_handle", r->in.sec_handle);
8335 ndr->depth--;
8336 ndr_print_ptr(ndr, "new_val", r->in.new_val);
8337 ndr->depth++;
8338 if (r->in.new_val) {
8339 ndr_print_lsa_DATA_BUF_PTR(ndr, "new_val", r->in.new_val);
8341 ndr->depth--;
8342 ndr_print_ptr(ndr, "new_mtime", r->in.new_mtime);
8343 ndr->depth++;
8344 if (r->in.new_mtime) {
8345 ndr_print_NTTIME_hyper(ndr, "new_mtime", *r->in.new_mtime);
8347 ndr->depth--;
8348 ndr_print_ptr(ndr, "old_val", r->in.old_val);
8349 ndr->depth++;
8350 if (r->in.old_val) {
8351 ndr_print_lsa_DATA_BUF_PTR(ndr, "old_val", r->in.old_val);
8353 ndr->depth--;
8354 ndr_print_ptr(ndr, "old_mtime", r->in.old_mtime);
8355 ndr->depth++;
8356 if (r->in.old_mtime) {
8357 ndr_print_NTTIME_hyper(ndr, "old_mtime", *r->in.old_mtime);
8359 ndr->depth--;
8360 ndr->depth--;
8362 if (flags & NDR_OUT) {
8363 ndr_print_struct(ndr, "out", "lsa_QuerySecret");
8364 ndr->depth++;
8365 ndr_print_ptr(ndr, "new_val", r->out.new_val);
8366 ndr->depth++;
8367 if (r->out.new_val) {
8368 ndr_print_lsa_DATA_BUF_PTR(ndr, "new_val", r->out.new_val);
8370 ndr->depth--;
8371 ndr_print_ptr(ndr, "new_mtime", r->out.new_mtime);
8372 ndr->depth++;
8373 if (r->out.new_mtime) {
8374 ndr_print_NTTIME_hyper(ndr, "new_mtime", *r->out.new_mtime);
8376 ndr->depth--;
8377 ndr_print_ptr(ndr, "old_val", r->out.old_val);
8378 ndr->depth++;
8379 if (r->out.old_val) {
8380 ndr_print_lsa_DATA_BUF_PTR(ndr, "old_val", r->out.old_val);
8382 ndr->depth--;
8383 ndr_print_ptr(ndr, "old_mtime", r->out.old_mtime);
8384 ndr->depth++;
8385 if (r->out.old_mtime) {
8386 ndr_print_NTTIME_hyper(ndr, "old_mtime", *r->out.old_mtime);
8388 ndr->depth--;
8389 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8390 ndr->depth--;
8392 ndr->depth--;
8395 static enum ndr_err_code ndr_push_lsa_LookupPrivValue(struct ndr_push *ndr, int flags, const struct lsa_LookupPrivValue *r)
8397 if (flags & NDR_IN) {
8398 if (r->in.handle == NULL) {
8399 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8401 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8402 if (r->in.name == NULL) {
8403 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8405 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
8407 if (flags & NDR_OUT) {
8408 if (r->out.luid == NULL) {
8409 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8411 NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, r->out.luid));
8412 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8414 return NDR_ERR_SUCCESS;
8417 static enum ndr_err_code ndr_pull_lsa_LookupPrivValue(struct ndr_pull *ndr, int flags, struct lsa_LookupPrivValue *r)
8419 TALLOC_CTX *_mem_save_handle_0;
8420 TALLOC_CTX *_mem_save_name_0;
8421 TALLOC_CTX *_mem_save_luid_0;
8422 if (flags & NDR_IN) {
8423 ZERO_STRUCT(r->out);
8425 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8426 NDR_PULL_ALLOC(ndr, r->in.handle);
8428 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8429 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
8430 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8431 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
8432 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8433 NDR_PULL_ALLOC(ndr, r->in.name);
8435 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8436 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
8437 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
8438 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
8439 NDR_PULL_ALLOC(ndr, r->out.luid);
8440 ZERO_STRUCTP(r->out.luid);
8442 if (flags & NDR_OUT) {
8443 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8444 NDR_PULL_ALLOC(ndr, r->out.luid);
8446 _mem_save_luid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8447 NDR_PULL_SET_MEM_CTX(ndr, r->out.luid, LIBNDR_FLAG_REF_ALLOC);
8448 NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, r->out.luid));
8449 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_luid_0, LIBNDR_FLAG_REF_ALLOC);
8450 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8452 return NDR_ERR_SUCCESS;
8455 _PUBLIC_ void ndr_print_lsa_LookupPrivValue(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupPrivValue *r)
8457 ndr_print_struct(ndr, name, "lsa_LookupPrivValue");
8458 ndr->depth++;
8459 if (flags & NDR_SET_VALUES) {
8460 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8462 if (flags & NDR_IN) {
8463 ndr_print_struct(ndr, "in", "lsa_LookupPrivValue");
8464 ndr->depth++;
8465 ndr_print_ptr(ndr, "handle", r->in.handle);
8466 ndr->depth++;
8467 ndr_print_policy_handle(ndr, "handle", r->in.handle);
8468 ndr->depth--;
8469 ndr_print_ptr(ndr, "name", r->in.name);
8470 ndr->depth++;
8471 ndr_print_lsa_String(ndr, "name", r->in.name);
8472 ndr->depth--;
8473 ndr->depth--;
8475 if (flags & NDR_OUT) {
8476 ndr_print_struct(ndr, "out", "lsa_LookupPrivValue");
8477 ndr->depth++;
8478 ndr_print_ptr(ndr, "luid", r->out.luid);
8479 ndr->depth++;
8480 ndr_print_lsa_LUID(ndr, "luid", r->out.luid);
8481 ndr->depth--;
8482 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8483 ndr->depth--;
8485 ndr->depth--;
8488 static enum ndr_err_code ndr_push_lsa_LookupPrivName(struct ndr_push *ndr, int flags, const struct lsa_LookupPrivName *r)
8490 if (flags & NDR_IN) {
8491 if (r->in.handle == NULL) {
8492 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8494 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8495 if (r->in.luid == NULL) {
8496 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8498 NDR_CHECK(ndr_push_lsa_LUID(ndr, NDR_SCALARS, r->in.luid));
8500 if (flags & NDR_OUT) {
8501 if (r->out.name == NULL) {
8502 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8504 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.name));
8505 if (*r->out.name) {
8506 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.name));
8508 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8510 return NDR_ERR_SUCCESS;
8513 static enum ndr_err_code ndr_pull_lsa_LookupPrivName(struct ndr_pull *ndr, int flags, struct lsa_LookupPrivName *r)
8515 uint32_t _ptr_name;
8516 TALLOC_CTX *_mem_save_handle_0;
8517 TALLOC_CTX *_mem_save_luid_0;
8518 TALLOC_CTX *_mem_save_name_0;
8519 TALLOC_CTX *_mem_save_name_1;
8520 if (flags & NDR_IN) {
8521 ZERO_STRUCT(r->out);
8523 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8524 NDR_PULL_ALLOC(ndr, r->in.handle);
8526 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8527 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
8528 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8529 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
8530 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8531 NDR_PULL_ALLOC(ndr, r->in.luid);
8533 _mem_save_luid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8534 NDR_PULL_SET_MEM_CTX(ndr, r->in.luid, LIBNDR_FLAG_REF_ALLOC);
8535 NDR_CHECK(ndr_pull_lsa_LUID(ndr, NDR_SCALARS, r->in.luid));
8536 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_luid_0, LIBNDR_FLAG_REF_ALLOC);
8537 NDR_PULL_ALLOC(ndr, r->out.name);
8538 ZERO_STRUCTP(r->out.name);
8540 if (flags & NDR_OUT) {
8541 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8542 NDR_PULL_ALLOC(ndr, r->out.name);
8544 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8545 NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
8546 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
8547 if (_ptr_name) {
8548 NDR_PULL_ALLOC(ndr, *r->out.name);
8549 } else {
8550 *r->out.name = NULL;
8552 if (*r->out.name) {
8553 _mem_save_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
8554 NDR_PULL_SET_MEM_CTX(ndr, *r->out.name, 0);
8555 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.name));
8556 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_1, 0);
8558 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
8559 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8561 return NDR_ERR_SUCCESS;
8564 _PUBLIC_ void ndr_print_lsa_LookupPrivName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupPrivName *r)
8566 ndr_print_struct(ndr, name, "lsa_LookupPrivName");
8567 ndr->depth++;
8568 if (flags & NDR_SET_VALUES) {
8569 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8571 if (flags & NDR_IN) {
8572 ndr_print_struct(ndr, "in", "lsa_LookupPrivName");
8573 ndr->depth++;
8574 ndr_print_ptr(ndr, "handle", r->in.handle);
8575 ndr->depth++;
8576 ndr_print_policy_handle(ndr, "handle", r->in.handle);
8577 ndr->depth--;
8578 ndr_print_ptr(ndr, "luid", r->in.luid);
8579 ndr->depth++;
8580 ndr_print_lsa_LUID(ndr, "luid", r->in.luid);
8581 ndr->depth--;
8582 ndr->depth--;
8584 if (flags & NDR_OUT) {
8585 ndr_print_struct(ndr, "out", "lsa_LookupPrivName");
8586 ndr->depth++;
8587 ndr_print_ptr(ndr, "name", r->out.name);
8588 ndr->depth++;
8589 ndr_print_ptr(ndr, "name", *r->out.name);
8590 ndr->depth++;
8591 if (*r->out.name) {
8592 ndr_print_lsa_StringLarge(ndr, "name", *r->out.name);
8594 ndr->depth--;
8595 ndr->depth--;
8596 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8597 ndr->depth--;
8599 ndr->depth--;
8602 static enum ndr_err_code ndr_push_lsa_LookupPrivDisplayName(struct ndr_push *ndr, int flags, const struct lsa_LookupPrivDisplayName *r)
8604 if (flags & NDR_IN) {
8605 if (r->in.handle == NULL) {
8606 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8608 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8609 if (r->in.name == NULL) {
8610 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8612 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
8613 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.language_id));
8614 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.language_id_sys));
8616 if (flags & NDR_OUT) {
8617 if (r->out.disp_name == NULL) {
8618 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8620 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.disp_name));
8621 if (*r->out.disp_name) {
8622 NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.disp_name));
8624 if (r->out.returned_language_id == NULL) {
8625 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8627 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->out.returned_language_id));
8628 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8630 return NDR_ERR_SUCCESS;
8633 static enum ndr_err_code ndr_pull_lsa_LookupPrivDisplayName(struct ndr_pull *ndr, int flags, struct lsa_LookupPrivDisplayName *r)
8635 uint32_t _ptr_disp_name;
8636 TALLOC_CTX *_mem_save_handle_0;
8637 TALLOC_CTX *_mem_save_name_0;
8638 TALLOC_CTX *_mem_save_disp_name_0;
8639 TALLOC_CTX *_mem_save_disp_name_1;
8640 TALLOC_CTX *_mem_save_returned_language_id_0;
8641 if (flags & NDR_IN) {
8642 ZERO_STRUCT(r->out);
8644 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8645 NDR_PULL_ALLOC(ndr, r->in.handle);
8647 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8648 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
8649 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8650 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
8651 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8652 NDR_PULL_ALLOC(ndr, r->in.name);
8654 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8655 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
8656 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
8657 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
8658 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.language_id));
8659 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.language_id_sys));
8660 NDR_PULL_ALLOC(ndr, r->out.disp_name);
8661 ZERO_STRUCTP(r->out.disp_name);
8662 NDR_PULL_ALLOC(ndr, r->out.returned_language_id);
8663 ZERO_STRUCTP(r->out.returned_language_id);
8665 if (flags & NDR_OUT) {
8666 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8667 NDR_PULL_ALLOC(ndr, r->out.disp_name);
8669 _mem_save_disp_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8670 NDR_PULL_SET_MEM_CTX(ndr, r->out.disp_name, LIBNDR_FLAG_REF_ALLOC);
8671 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_disp_name));
8672 if (_ptr_disp_name) {
8673 NDR_PULL_ALLOC(ndr, *r->out.disp_name);
8674 } else {
8675 *r->out.disp_name = NULL;
8677 if (*r->out.disp_name) {
8678 _mem_save_disp_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
8679 NDR_PULL_SET_MEM_CTX(ndr, *r->out.disp_name, 0);
8680 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.disp_name));
8681 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_disp_name_1, 0);
8683 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_disp_name_0, LIBNDR_FLAG_REF_ALLOC);
8684 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8685 NDR_PULL_ALLOC(ndr, r->out.returned_language_id);
8687 _mem_save_returned_language_id_0 = NDR_PULL_GET_MEM_CTX(ndr);
8688 NDR_PULL_SET_MEM_CTX(ndr, r->out.returned_language_id, LIBNDR_FLAG_REF_ALLOC);
8689 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->out.returned_language_id));
8690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_returned_language_id_0, LIBNDR_FLAG_REF_ALLOC);
8691 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8693 return NDR_ERR_SUCCESS;
8696 _PUBLIC_ void ndr_print_lsa_LookupPrivDisplayName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupPrivDisplayName *r)
8698 ndr_print_struct(ndr, name, "lsa_LookupPrivDisplayName");
8699 ndr->depth++;
8700 if (flags & NDR_SET_VALUES) {
8701 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8703 if (flags & NDR_IN) {
8704 ndr_print_struct(ndr, "in", "lsa_LookupPrivDisplayName");
8705 ndr->depth++;
8706 ndr_print_ptr(ndr, "handle", r->in.handle);
8707 ndr->depth++;
8708 ndr_print_policy_handle(ndr, "handle", r->in.handle);
8709 ndr->depth--;
8710 ndr_print_ptr(ndr, "name", r->in.name);
8711 ndr->depth++;
8712 ndr_print_lsa_String(ndr, "name", r->in.name);
8713 ndr->depth--;
8714 ndr_print_uint16(ndr, "language_id", r->in.language_id);
8715 ndr_print_uint16(ndr, "language_id_sys", r->in.language_id_sys);
8716 ndr->depth--;
8718 if (flags & NDR_OUT) {
8719 ndr_print_struct(ndr, "out", "lsa_LookupPrivDisplayName");
8720 ndr->depth++;
8721 ndr_print_ptr(ndr, "disp_name", r->out.disp_name);
8722 ndr->depth++;
8723 ndr_print_ptr(ndr, "disp_name", *r->out.disp_name);
8724 ndr->depth++;
8725 if (*r->out.disp_name) {
8726 ndr_print_lsa_StringLarge(ndr, "disp_name", *r->out.disp_name);
8728 ndr->depth--;
8729 ndr->depth--;
8730 ndr_print_ptr(ndr, "returned_language_id", r->out.returned_language_id);
8731 ndr->depth++;
8732 ndr_print_uint16(ndr, "returned_language_id", *r->out.returned_language_id);
8733 ndr->depth--;
8734 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8735 ndr->depth--;
8737 ndr->depth--;
8740 static enum ndr_err_code ndr_push_lsa_DeleteObject(struct ndr_push *ndr, int flags, const struct lsa_DeleteObject *r)
8742 if (flags & NDR_IN) {
8743 if (r->in.handle == NULL) {
8744 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8746 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8748 if (flags & NDR_OUT) {
8749 if (r->out.handle == NULL) {
8750 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8752 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
8753 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8755 return NDR_ERR_SUCCESS;
8758 static enum ndr_err_code ndr_pull_lsa_DeleteObject(struct ndr_pull *ndr, int flags, struct lsa_DeleteObject *r)
8760 TALLOC_CTX *_mem_save_handle_0;
8761 if (flags & NDR_IN) {
8762 ZERO_STRUCT(r->out);
8764 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8765 NDR_PULL_ALLOC(ndr, r->in.handle);
8767 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8768 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
8769 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8770 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
8771 NDR_PULL_ALLOC(ndr, r->out.handle);
8772 *r->out.handle = *r->in.handle;
8774 if (flags & NDR_OUT) {
8775 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8776 NDR_PULL_ALLOC(ndr, r->out.handle);
8778 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8779 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
8780 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
8781 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
8782 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8784 return NDR_ERR_SUCCESS;
8787 _PUBLIC_ void ndr_print_lsa_DeleteObject(struct ndr_print *ndr, const char *name, int flags, const struct lsa_DeleteObject *r)
8789 ndr_print_struct(ndr, name, "lsa_DeleteObject");
8790 ndr->depth++;
8791 if (flags & NDR_SET_VALUES) {
8792 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8794 if (flags & NDR_IN) {
8795 ndr_print_struct(ndr, "in", "lsa_DeleteObject");
8796 ndr->depth++;
8797 ndr_print_ptr(ndr, "handle", r->in.handle);
8798 ndr->depth++;
8799 ndr_print_policy_handle(ndr, "handle", r->in.handle);
8800 ndr->depth--;
8801 ndr->depth--;
8803 if (flags & NDR_OUT) {
8804 ndr_print_struct(ndr, "out", "lsa_DeleteObject");
8805 ndr->depth++;
8806 ndr_print_ptr(ndr, "handle", r->out.handle);
8807 ndr->depth++;
8808 ndr_print_policy_handle(ndr, "handle", r->out.handle);
8809 ndr->depth--;
8810 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8811 ndr->depth--;
8813 ndr->depth--;
8816 static enum ndr_err_code ndr_push_lsa_EnumAccountsWithUserRight(struct ndr_push *ndr, int flags, const struct lsa_EnumAccountsWithUserRight *r)
8818 if (flags & NDR_IN) {
8819 if (r->in.handle == NULL) {
8820 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8822 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8823 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.name));
8824 if (r->in.name) {
8825 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
8828 if (flags & NDR_OUT) {
8829 if (r->out.sids == NULL) {
8830 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8832 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
8833 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8835 return NDR_ERR_SUCCESS;
8838 static enum ndr_err_code ndr_pull_lsa_EnumAccountsWithUserRight(struct ndr_pull *ndr, int flags, struct lsa_EnumAccountsWithUserRight *r)
8840 uint32_t _ptr_name;
8841 TALLOC_CTX *_mem_save_handle_0;
8842 TALLOC_CTX *_mem_save_name_0;
8843 TALLOC_CTX *_mem_save_sids_0;
8844 if (flags & NDR_IN) {
8845 ZERO_STRUCT(r->out);
8847 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8848 NDR_PULL_ALLOC(ndr, r->in.handle);
8850 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8851 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
8852 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8853 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
8854 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
8855 if (_ptr_name) {
8856 NDR_PULL_ALLOC(ndr, r->in.name);
8857 } else {
8858 r->in.name = NULL;
8860 if (r->in.name) {
8861 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
8862 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, 0);
8863 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
8864 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
8866 NDR_PULL_ALLOC(ndr, r->out.sids);
8867 ZERO_STRUCTP(r->out.sids);
8869 if (flags & NDR_OUT) {
8870 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8871 NDR_PULL_ALLOC(ndr, r->out.sids);
8873 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
8874 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
8875 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
8876 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
8877 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8879 return NDR_ERR_SUCCESS;
8882 _PUBLIC_ void ndr_print_lsa_EnumAccountsWithUserRight(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumAccountsWithUserRight *r)
8884 ndr_print_struct(ndr, name, "lsa_EnumAccountsWithUserRight");
8885 ndr->depth++;
8886 if (flags & NDR_SET_VALUES) {
8887 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8889 if (flags & NDR_IN) {
8890 ndr_print_struct(ndr, "in", "lsa_EnumAccountsWithUserRight");
8891 ndr->depth++;
8892 ndr_print_ptr(ndr, "handle", r->in.handle);
8893 ndr->depth++;
8894 ndr_print_policy_handle(ndr, "handle", r->in.handle);
8895 ndr->depth--;
8896 ndr_print_ptr(ndr, "name", r->in.name);
8897 ndr->depth++;
8898 if (r->in.name) {
8899 ndr_print_lsa_String(ndr, "name", r->in.name);
8901 ndr->depth--;
8902 ndr->depth--;
8904 if (flags & NDR_OUT) {
8905 ndr_print_struct(ndr, "out", "lsa_EnumAccountsWithUserRight");
8906 ndr->depth++;
8907 ndr_print_ptr(ndr, "sids", r->out.sids);
8908 ndr->depth++;
8909 ndr_print_lsa_SidArray(ndr, "sids", r->out.sids);
8910 ndr->depth--;
8911 ndr_print_NTSTATUS(ndr, "result", r->out.result);
8912 ndr->depth--;
8914 ndr->depth--;
8917 static enum ndr_err_code ndr_push_lsa_EnumAccountRights(struct ndr_push *ndr, int flags, const struct lsa_EnumAccountRights *r)
8919 if (flags & NDR_IN) {
8920 if (r->in.handle == NULL) {
8921 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8923 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8924 if (r->in.sid == NULL) {
8925 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8927 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8929 if (flags & NDR_OUT) {
8930 if (r->out.rights == NULL) {
8931 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
8933 NDR_CHECK(ndr_push_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rights));
8934 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
8936 return NDR_ERR_SUCCESS;
8939 static enum ndr_err_code ndr_pull_lsa_EnumAccountRights(struct ndr_pull *ndr, int flags, struct lsa_EnumAccountRights *r)
8941 TALLOC_CTX *_mem_save_handle_0;
8942 TALLOC_CTX *_mem_save_sid_0;
8943 TALLOC_CTX *_mem_save_rights_0;
8944 if (flags & NDR_IN) {
8945 ZERO_STRUCT(r->out);
8947 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8948 NDR_PULL_ALLOC(ndr, r->in.handle);
8950 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
8951 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
8952 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
8953 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
8954 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8955 NDR_PULL_ALLOC(ndr, r->in.sid);
8957 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
8958 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
8959 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
8960 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
8961 NDR_PULL_ALLOC(ndr, r->out.rights);
8962 ZERO_STRUCTP(r->out.rights);
8964 if (flags & NDR_OUT) {
8965 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
8966 NDR_PULL_ALLOC(ndr, r->out.rights);
8968 _mem_save_rights_0 = NDR_PULL_GET_MEM_CTX(ndr);
8969 NDR_PULL_SET_MEM_CTX(ndr, r->out.rights, LIBNDR_FLAG_REF_ALLOC);
8970 NDR_CHECK(ndr_pull_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rights));
8971 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rights_0, LIBNDR_FLAG_REF_ALLOC);
8972 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
8974 return NDR_ERR_SUCCESS;
8977 _PUBLIC_ void ndr_print_lsa_EnumAccountRights(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumAccountRights *r)
8979 ndr_print_struct(ndr, name, "lsa_EnumAccountRights");
8980 ndr->depth++;
8981 if (flags & NDR_SET_VALUES) {
8982 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
8984 if (flags & NDR_IN) {
8985 ndr_print_struct(ndr, "in", "lsa_EnumAccountRights");
8986 ndr->depth++;
8987 ndr_print_ptr(ndr, "handle", r->in.handle);
8988 ndr->depth++;
8989 ndr_print_policy_handle(ndr, "handle", r->in.handle);
8990 ndr->depth--;
8991 ndr_print_ptr(ndr, "sid", r->in.sid);
8992 ndr->depth++;
8993 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
8994 ndr->depth--;
8995 ndr->depth--;
8997 if (flags & NDR_OUT) {
8998 ndr_print_struct(ndr, "out", "lsa_EnumAccountRights");
8999 ndr->depth++;
9000 ndr_print_ptr(ndr, "rights", r->out.rights);
9001 ndr->depth++;
9002 ndr_print_lsa_RightSet(ndr, "rights", r->out.rights);
9003 ndr->depth--;
9004 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9005 ndr->depth--;
9007 ndr->depth--;
9010 static enum ndr_err_code ndr_push_lsa_AddAccountRights(struct ndr_push *ndr, int flags, const struct lsa_AddAccountRights *r)
9012 if (flags & NDR_IN) {
9013 if (r->in.handle == NULL) {
9014 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9016 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9017 if (r->in.sid == NULL) {
9018 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9020 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9021 if (r->in.rights == NULL) {
9022 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9024 NDR_CHECK(ndr_push_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.rights));
9026 if (flags & NDR_OUT) {
9027 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9029 return NDR_ERR_SUCCESS;
9032 static enum ndr_err_code ndr_pull_lsa_AddAccountRights(struct ndr_pull *ndr, int flags, struct lsa_AddAccountRights *r)
9034 TALLOC_CTX *_mem_save_handle_0;
9035 TALLOC_CTX *_mem_save_sid_0;
9036 TALLOC_CTX *_mem_save_rights_0;
9037 if (flags & NDR_IN) {
9038 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9039 NDR_PULL_ALLOC(ndr, r->in.handle);
9041 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9042 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9043 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9044 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9045 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9046 NDR_PULL_ALLOC(ndr, r->in.sid);
9048 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9049 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
9050 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9051 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
9052 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9053 NDR_PULL_ALLOC(ndr, r->in.rights);
9055 _mem_save_rights_0 = NDR_PULL_GET_MEM_CTX(ndr);
9056 NDR_PULL_SET_MEM_CTX(ndr, r->in.rights, LIBNDR_FLAG_REF_ALLOC);
9057 NDR_CHECK(ndr_pull_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.rights));
9058 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rights_0, LIBNDR_FLAG_REF_ALLOC);
9060 if (flags & NDR_OUT) {
9061 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9063 return NDR_ERR_SUCCESS;
9066 _PUBLIC_ void ndr_print_lsa_AddAccountRights(struct ndr_print *ndr, const char *name, int flags, const struct lsa_AddAccountRights *r)
9068 ndr_print_struct(ndr, name, "lsa_AddAccountRights");
9069 ndr->depth++;
9070 if (flags & NDR_SET_VALUES) {
9071 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9073 if (flags & NDR_IN) {
9074 ndr_print_struct(ndr, "in", "lsa_AddAccountRights");
9075 ndr->depth++;
9076 ndr_print_ptr(ndr, "handle", r->in.handle);
9077 ndr->depth++;
9078 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9079 ndr->depth--;
9080 ndr_print_ptr(ndr, "sid", r->in.sid);
9081 ndr->depth++;
9082 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
9083 ndr->depth--;
9084 ndr_print_ptr(ndr, "rights", r->in.rights);
9085 ndr->depth++;
9086 ndr_print_lsa_RightSet(ndr, "rights", r->in.rights);
9087 ndr->depth--;
9088 ndr->depth--;
9090 if (flags & NDR_OUT) {
9091 ndr_print_struct(ndr, "out", "lsa_AddAccountRights");
9092 ndr->depth++;
9093 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9094 ndr->depth--;
9096 ndr->depth--;
9099 static enum ndr_err_code ndr_push_lsa_RemoveAccountRights(struct ndr_push *ndr, int flags, const struct lsa_RemoveAccountRights *r)
9101 if (flags & NDR_IN) {
9102 if (r->in.handle == NULL) {
9103 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9105 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9106 if (r->in.sid == NULL) {
9107 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9109 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9110 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.remove_all));
9111 if (r->in.rights == NULL) {
9112 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9114 NDR_CHECK(ndr_push_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.rights));
9116 if (flags & NDR_OUT) {
9117 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9119 return NDR_ERR_SUCCESS;
9122 static enum ndr_err_code ndr_pull_lsa_RemoveAccountRights(struct ndr_pull *ndr, int flags, struct lsa_RemoveAccountRights *r)
9124 TALLOC_CTX *_mem_save_handle_0;
9125 TALLOC_CTX *_mem_save_sid_0;
9126 TALLOC_CTX *_mem_save_rights_0;
9127 if (flags & NDR_IN) {
9128 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9129 NDR_PULL_ALLOC(ndr, r->in.handle);
9131 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9132 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9133 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9134 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9135 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9136 NDR_PULL_ALLOC(ndr, r->in.sid);
9138 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9139 NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC);
9140 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sid));
9141 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
9142 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.remove_all));
9143 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9144 NDR_PULL_ALLOC(ndr, r->in.rights);
9146 _mem_save_rights_0 = NDR_PULL_GET_MEM_CTX(ndr);
9147 NDR_PULL_SET_MEM_CTX(ndr, r->in.rights, LIBNDR_FLAG_REF_ALLOC);
9148 NDR_CHECK(ndr_pull_lsa_RightSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.rights));
9149 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rights_0, LIBNDR_FLAG_REF_ALLOC);
9151 if (flags & NDR_OUT) {
9152 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9154 return NDR_ERR_SUCCESS;
9157 _PUBLIC_ void ndr_print_lsa_RemoveAccountRights(struct ndr_print *ndr, const char *name, int flags, const struct lsa_RemoveAccountRights *r)
9159 ndr_print_struct(ndr, name, "lsa_RemoveAccountRights");
9160 ndr->depth++;
9161 if (flags & NDR_SET_VALUES) {
9162 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9164 if (flags & NDR_IN) {
9165 ndr_print_struct(ndr, "in", "lsa_RemoveAccountRights");
9166 ndr->depth++;
9167 ndr_print_ptr(ndr, "handle", r->in.handle);
9168 ndr->depth++;
9169 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9170 ndr->depth--;
9171 ndr_print_ptr(ndr, "sid", r->in.sid);
9172 ndr->depth++;
9173 ndr_print_dom_sid2(ndr, "sid", r->in.sid);
9174 ndr->depth--;
9175 ndr_print_uint8(ndr, "remove_all", r->in.remove_all);
9176 ndr_print_ptr(ndr, "rights", r->in.rights);
9177 ndr->depth++;
9178 ndr_print_lsa_RightSet(ndr, "rights", r->in.rights);
9179 ndr->depth--;
9180 ndr->depth--;
9182 if (flags & NDR_OUT) {
9183 ndr_print_struct(ndr, "out", "lsa_RemoveAccountRights");
9184 ndr->depth++;
9185 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9186 ndr->depth--;
9188 ndr->depth--;
9191 static enum ndr_err_code ndr_push_lsa_QueryTrustedDomainInfoBySid(struct ndr_push *ndr, int flags, const struct lsa_QueryTrustedDomainInfoBySid *r)
9193 if (flags & NDR_IN) {
9194 if (r->in.handle == NULL) {
9195 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9197 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9198 if (r->in.dom_sid == NULL) {
9199 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9201 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid));
9202 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level));
9204 if (flags & NDR_OUT) {
9205 if (r->out.info == NULL) {
9206 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9208 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
9209 if (*r->out.info) {
9210 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
9211 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9213 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9215 return NDR_ERR_SUCCESS;
9218 static enum ndr_err_code ndr_pull_lsa_QueryTrustedDomainInfoBySid(struct ndr_pull *ndr, int flags, struct lsa_QueryTrustedDomainInfoBySid *r)
9220 uint32_t _ptr_info;
9221 TALLOC_CTX *_mem_save_handle_0;
9222 TALLOC_CTX *_mem_save_dom_sid_0;
9223 TALLOC_CTX *_mem_save_info_0;
9224 TALLOC_CTX *_mem_save_info_1;
9225 if (flags & NDR_IN) {
9226 ZERO_STRUCT(r->out);
9228 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9229 NDR_PULL_ALLOC(ndr, r->in.handle);
9231 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9232 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9233 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9234 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9235 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9236 NDR_PULL_ALLOC(ndr, r->in.dom_sid);
9238 _mem_save_dom_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9239 NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_sid, LIBNDR_FLAG_REF_ALLOC);
9240 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid));
9241 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_sid_0, LIBNDR_FLAG_REF_ALLOC);
9242 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level));
9243 NDR_PULL_ALLOC(ndr, r->out.info);
9244 ZERO_STRUCTP(r->out.info);
9246 if (flags & NDR_OUT) {
9247 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9248 NDR_PULL_ALLOC(ndr, r->out.info);
9250 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9251 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
9252 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
9253 if (_ptr_info) {
9254 NDR_PULL_ALLOC(ndr, *r->out.info);
9255 } else {
9256 *r->out.info = NULL;
9258 if (*r->out.info) {
9259 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
9260 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
9261 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
9262 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
9263 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
9265 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9266 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9268 return NDR_ERR_SUCCESS;
9271 _PUBLIC_ void ndr_print_lsa_QueryTrustedDomainInfoBySid(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryTrustedDomainInfoBySid *r)
9273 ndr_print_struct(ndr, name, "lsa_QueryTrustedDomainInfoBySid");
9274 ndr->depth++;
9275 if (flags & NDR_SET_VALUES) {
9276 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9278 if (flags & NDR_IN) {
9279 ndr_print_struct(ndr, "in", "lsa_QueryTrustedDomainInfoBySid");
9280 ndr->depth++;
9281 ndr_print_ptr(ndr, "handle", r->in.handle);
9282 ndr->depth++;
9283 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9284 ndr->depth--;
9285 ndr_print_ptr(ndr, "dom_sid", r->in.dom_sid);
9286 ndr->depth++;
9287 ndr_print_dom_sid2(ndr, "dom_sid", r->in.dom_sid);
9288 ndr->depth--;
9289 ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level);
9290 ndr->depth--;
9292 if (flags & NDR_OUT) {
9293 ndr_print_struct(ndr, "out", "lsa_QueryTrustedDomainInfoBySid");
9294 ndr->depth++;
9295 ndr_print_ptr(ndr, "info", r->out.info);
9296 ndr->depth++;
9297 ndr_print_ptr(ndr, "info", *r->out.info);
9298 ndr->depth++;
9299 if (*r->out.info) {
9300 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
9301 ndr_print_lsa_TrustedDomainInfo(ndr, "info", *r->out.info);
9303 ndr->depth--;
9304 ndr->depth--;
9305 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9306 ndr->depth--;
9308 ndr->depth--;
9311 static enum ndr_err_code ndr_push_lsa_SetTrustedDomainInfo(struct ndr_push *ndr, int flags, const struct lsa_SetTrustedDomainInfo *r)
9313 if (flags & NDR_IN) {
9314 if (r->in.handle == NULL) {
9315 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9317 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9318 if (r->in.dom_sid == NULL) {
9319 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9321 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid));
9322 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level));
9323 if (r->in.info == NULL) {
9324 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9326 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
9327 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9329 if (flags & NDR_OUT) {
9330 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9332 return NDR_ERR_SUCCESS;
9335 static enum ndr_err_code ndr_pull_lsa_SetTrustedDomainInfo(struct ndr_pull *ndr, int flags, struct lsa_SetTrustedDomainInfo *r)
9337 TALLOC_CTX *_mem_save_handle_0;
9338 TALLOC_CTX *_mem_save_dom_sid_0;
9339 TALLOC_CTX *_mem_save_info_0;
9340 if (flags & NDR_IN) {
9341 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9342 NDR_PULL_ALLOC(ndr, r->in.handle);
9344 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9345 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9346 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9347 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9348 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9349 NDR_PULL_ALLOC(ndr, r->in.dom_sid);
9351 _mem_save_dom_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9352 NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_sid, LIBNDR_FLAG_REF_ALLOC);
9353 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid));
9354 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_sid_0, LIBNDR_FLAG_REF_ALLOC);
9355 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level));
9356 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9357 NDR_PULL_ALLOC(ndr, r->in.info);
9359 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
9360 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
9361 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
9362 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
9363 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
9365 if (flags & NDR_OUT) {
9366 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9368 return NDR_ERR_SUCCESS;
9371 _PUBLIC_ void ndr_print_lsa_SetTrustedDomainInfo(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetTrustedDomainInfo *r)
9373 ndr_print_struct(ndr, name, "lsa_SetTrustedDomainInfo");
9374 ndr->depth++;
9375 if (flags & NDR_SET_VALUES) {
9376 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9378 if (flags & NDR_IN) {
9379 ndr_print_struct(ndr, "in", "lsa_SetTrustedDomainInfo");
9380 ndr->depth++;
9381 ndr_print_ptr(ndr, "handle", r->in.handle);
9382 ndr->depth++;
9383 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9384 ndr->depth--;
9385 ndr_print_ptr(ndr, "dom_sid", r->in.dom_sid);
9386 ndr->depth++;
9387 ndr_print_dom_sid2(ndr, "dom_sid", r->in.dom_sid);
9388 ndr->depth--;
9389 ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level);
9390 ndr_print_ptr(ndr, "info", r->in.info);
9391 ndr->depth++;
9392 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
9393 ndr_print_lsa_TrustedDomainInfo(ndr, "info", r->in.info);
9394 ndr->depth--;
9395 ndr->depth--;
9397 if (flags & NDR_OUT) {
9398 ndr_print_struct(ndr, "out", "lsa_SetTrustedDomainInfo");
9399 ndr->depth++;
9400 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9401 ndr->depth--;
9403 ndr->depth--;
9406 static enum ndr_err_code ndr_push_lsa_DeleteTrustedDomain(struct ndr_push *ndr, int flags, const struct lsa_DeleteTrustedDomain *r)
9408 if (flags & NDR_IN) {
9409 if (r->in.handle == NULL) {
9410 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9412 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9413 if (r->in.dom_sid == NULL) {
9414 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9416 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid));
9418 if (flags & NDR_OUT) {
9419 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9421 return NDR_ERR_SUCCESS;
9424 static enum ndr_err_code ndr_pull_lsa_DeleteTrustedDomain(struct ndr_pull *ndr, int flags, struct lsa_DeleteTrustedDomain *r)
9426 TALLOC_CTX *_mem_save_handle_0;
9427 TALLOC_CTX *_mem_save_dom_sid_0;
9428 if (flags & NDR_IN) {
9429 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9430 NDR_PULL_ALLOC(ndr, r->in.handle);
9432 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9433 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9434 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9435 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9436 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9437 NDR_PULL_ALLOC(ndr, r->in.dom_sid);
9439 _mem_save_dom_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
9440 NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_sid, LIBNDR_FLAG_REF_ALLOC);
9441 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.dom_sid));
9442 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_sid_0, LIBNDR_FLAG_REF_ALLOC);
9444 if (flags & NDR_OUT) {
9445 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9447 return NDR_ERR_SUCCESS;
9450 _PUBLIC_ void ndr_print_lsa_DeleteTrustedDomain(struct ndr_print *ndr, const char *name, int flags, const struct lsa_DeleteTrustedDomain *r)
9452 ndr_print_struct(ndr, name, "lsa_DeleteTrustedDomain");
9453 ndr->depth++;
9454 if (flags & NDR_SET_VALUES) {
9455 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9457 if (flags & NDR_IN) {
9458 ndr_print_struct(ndr, "in", "lsa_DeleteTrustedDomain");
9459 ndr->depth++;
9460 ndr_print_ptr(ndr, "handle", r->in.handle);
9461 ndr->depth++;
9462 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9463 ndr->depth--;
9464 ndr_print_ptr(ndr, "dom_sid", r->in.dom_sid);
9465 ndr->depth++;
9466 ndr_print_dom_sid2(ndr, "dom_sid", r->in.dom_sid);
9467 ndr->depth--;
9468 ndr->depth--;
9470 if (flags & NDR_OUT) {
9471 ndr_print_struct(ndr, "out", "lsa_DeleteTrustedDomain");
9472 ndr->depth++;
9473 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9474 ndr->depth--;
9476 ndr->depth--;
9479 static enum ndr_err_code ndr_push_lsa_StorePrivateData(struct ndr_push *ndr, int flags, const struct lsa_StorePrivateData *r)
9481 if (flags & NDR_IN) {
9482 if (r->in.handle == NULL) {
9483 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9485 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9486 if (r->in.name == NULL) {
9487 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9489 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9490 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.val));
9491 if (r->in.val) {
9492 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.val));
9495 if (flags & NDR_OUT) {
9496 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9498 return NDR_ERR_SUCCESS;
9501 static enum ndr_err_code ndr_pull_lsa_StorePrivateData(struct ndr_pull *ndr, int flags, struct lsa_StorePrivateData *r)
9503 uint32_t _ptr_val;
9504 TALLOC_CTX *_mem_save_handle_0;
9505 TALLOC_CTX *_mem_save_name_0;
9506 TALLOC_CTX *_mem_save_val_0;
9507 if (flags & NDR_IN) {
9508 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9509 NDR_PULL_ALLOC(ndr, r->in.handle);
9511 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9512 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9513 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9514 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9515 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9516 NDR_PULL_ALLOC(ndr, r->in.name);
9518 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9519 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
9520 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9521 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
9522 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_val));
9523 if (_ptr_val) {
9524 NDR_PULL_ALLOC(ndr, r->in.val);
9525 } else {
9526 r->in.val = NULL;
9528 if (r->in.val) {
9529 _mem_save_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
9530 NDR_PULL_SET_MEM_CTX(ndr, r->in.val, 0);
9531 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.val));
9532 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_0, 0);
9535 if (flags & NDR_OUT) {
9536 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9538 return NDR_ERR_SUCCESS;
9541 _PUBLIC_ void ndr_print_lsa_StorePrivateData(struct ndr_print *ndr, const char *name, int flags, const struct lsa_StorePrivateData *r)
9543 ndr_print_struct(ndr, name, "lsa_StorePrivateData");
9544 ndr->depth++;
9545 if (flags & NDR_SET_VALUES) {
9546 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9548 if (flags & NDR_IN) {
9549 ndr_print_struct(ndr, "in", "lsa_StorePrivateData");
9550 ndr->depth++;
9551 ndr_print_ptr(ndr, "handle", r->in.handle);
9552 ndr->depth++;
9553 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9554 ndr->depth--;
9555 ndr_print_ptr(ndr, "name", r->in.name);
9556 ndr->depth++;
9557 ndr_print_lsa_String(ndr, "name", r->in.name);
9558 ndr->depth--;
9559 ndr_print_ptr(ndr, "val", r->in.val);
9560 ndr->depth++;
9561 if (r->in.val) {
9562 ndr_print_lsa_DATA_BUF(ndr, "val", r->in.val);
9564 ndr->depth--;
9565 ndr->depth--;
9567 if (flags & NDR_OUT) {
9568 ndr_print_struct(ndr, "out", "lsa_StorePrivateData");
9569 ndr->depth++;
9570 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9571 ndr->depth--;
9573 ndr->depth--;
9576 static enum ndr_err_code ndr_push_lsa_RetrievePrivateData(struct ndr_push *ndr, int flags, const struct lsa_RetrievePrivateData *r)
9578 if (flags & NDR_IN) {
9579 if (r->in.handle == NULL) {
9580 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9582 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9583 if (r->in.name == NULL) {
9584 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9586 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9587 if (r->in.val == NULL) {
9588 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9590 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.val));
9591 if (*r->in.val) {
9592 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.val));
9595 if (flags & NDR_OUT) {
9596 if (r->out.val == NULL) {
9597 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9599 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.val));
9600 if (*r->out.val) {
9601 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.val));
9603 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9605 return NDR_ERR_SUCCESS;
9608 static enum ndr_err_code ndr_pull_lsa_RetrievePrivateData(struct ndr_pull *ndr, int flags, struct lsa_RetrievePrivateData *r)
9610 uint32_t _ptr_val;
9611 TALLOC_CTX *_mem_save_handle_0;
9612 TALLOC_CTX *_mem_save_name_0;
9613 TALLOC_CTX *_mem_save_val_0;
9614 TALLOC_CTX *_mem_save_val_1;
9615 if (flags & NDR_IN) {
9616 ZERO_STRUCT(r->out);
9618 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9619 NDR_PULL_ALLOC(ndr, r->in.handle);
9621 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9622 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
9623 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
9624 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9625 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9626 NDR_PULL_ALLOC(ndr, r->in.name);
9628 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9629 NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
9630 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
9631 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
9632 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9633 NDR_PULL_ALLOC(ndr, r->in.val);
9635 _mem_save_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
9636 NDR_PULL_SET_MEM_CTX(ndr, r->in.val, LIBNDR_FLAG_REF_ALLOC);
9637 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_val));
9638 if (_ptr_val) {
9639 NDR_PULL_ALLOC(ndr, *r->in.val);
9640 } else {
9641 *r->in.val = NULL;
9643 if (*r->in.val) {
9644 _mem_save_val_1 = NDR_PULL_GET_MEM_CTX(ndr);
9645 NDR_PULL_SET_MEM_CTX(ndr, *r->in.val, 0);
9646 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.val));
9647 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_1, 0);
9649 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_0, LIBNDR_FLAG_REF_ALLOC);
9650 NDR_PULL_ALLOC(ndr, r->out.val);
9651 *r->out.val = *r->in.val;
9653 if (flags & NDR_OUT) {
9654 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9655 NDR_PULL_ALLOC(ndr, r->out.val);
9657 _mem_save_val_0 = NDR_PULL_GET_MEM_CTX(ndr);
9658 NDR_PULL_SET_MEM_CTX(ndr, r->out.val, LIBNDR_FLAG_REF_ALLOC);
9659 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_val));
9660 if (_ptr_val) {
9661 NDR_PULL_ALLOC(ndr, *r->out.val);
9662 } else {
9663 *r->out.val = NULL;
9665 if (*r->out.val) {
9666 _mem_save_val_1 = NDR_PULL_GET_MEM_CTX(ndr);
9667 NDR_PULL_SET_MEM_CTX(ndr, *r->out.val, 0);
9668 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.val));
9669 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_1, 0);
9671 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_val_0, LIBNDR_FLAG_REF_ALLOC);
9672 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9674 return NDR_ERR_SUCCESS;
9677 _PUBLIC_ void ndr_print_lsa_RetrievePrivateData(struct ndr_print *ndr, const char *name, int flags, const struct lsa_RetrievePrivateData *r)
9679 ndr_print_struct(ndr, name, "lsa_RetrievePrivateData");
9680 ndr->depth++;
9681 if (flags & NDR_SET_VALUES) {
9682 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9684 if (flags & NDR_IN) {
9685 ndr_print_struct(ndr, "in", "lsa_RetrievePrivateData");
9686 ndr->depth++;
9687 ndr_print_ptr(ndr, "handle", r->in.handle);
9688 ndr->depth++;
9689 ndr_print_policy_handle(ndr, "handle", r->in.handle);
9690 ndr->depth--;
9691 ndr_print_ptr(ndr, "name", r->in.name);
9692 ndr->depth++;
9693 ndr_print_lsa_String(ndr, "name", r->in.name);
9694 ndr->depth--;
9695 ndr_print_ptr(ndr, "val", r->in.val);
9696 ndr->depth++;
9697 ndr_print_ptr(ndr, "val", *r->in.val);
9698 ndr->depth++;
9699 if (*r->in.val) {
9700 ndr_print_lsa_DATA_BUF(ndr, "val", *r->in.val);
9702 ndr->depth--;
9703 ndr->depth--;
9704 ndr->depth--;
9706 if (flags & NDR_OUT) {
9707 ndr_print_struct(ndr, "out", "lsa_RetrievePrivateData");
9708 ndr->depth++;
9709 ndr_print_ptr(ndr, "val", r->out.val);
9710 ndr->depth++;
9711 ndr_print_ptr(ndr, "val", *r->out.val);
9712 ndr->depth++;
9713 if (*r->out.val) {
9714 ndr_print_lsa_DATA_BUF(ndr, "val", *r->out.val);
9716 ndr->depth--;
9717 ndr->depth--;
9718 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9719 ndr->depth--;
9721 ndr->depth--;
9724 _PUBLIC_ enum ndr_err_code ndr_push_lsa_OpenPolicy2(struct ndr_push *ndr, int flags, const struct lsa_OpenPolicy2 *r)
9726 if (flags & NDR_IN) {
9727 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
9728 if (r->in.system_name) {
9729 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
9730 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9731 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
9732 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9734 if (r->in.attr == NULL) {
9735 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9737 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr));
9738 NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr, NDR_SCALARS, r->in.access_mask));
9740 if (flags & NDR_OUT) {
9741 if (r->out.handle == NULL) {
9742 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9744 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
9745 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9747 return NDR_ERR_SUCCESS;
9750 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_OpenPolicy2(struct ndr_pull *ndr, int flags, struct lsa_OpenPolicy2 *r)
9752 uint32_t _ptr_system_name;
9753 uint32_t size_system_name_1 = 0;
9754 uint32_t length_system_name_1 = 0;
9755 TALLOC_CTX *_mem_save_system_name_0;
9756 TALLOC_CTX *_mem_save_attr_0;
9757 TALLOC_CTX *_mem_save_handle_0;
9758 if (flags & NDR_IN) {
9759 ZERO_STRUCT(r->out);
9761 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
9762 if (_ptr_system_name) {
9763 NDR_PULL_ALLOC(ndr, r->in.system_name);
9764 } else {
9765 r->in.system_name = NULL;
9767 if (r->in.system_name) {
9768 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9769 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
9770 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
9771 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
9772 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
9773 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
9774 if (length_system_name_1 > size_system_name_1) {
9775 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
9777 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
9778 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
9779 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
9781 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9782 NDR_PULL_ALLOC(ndr, r->in.attr);
9784 _mem_save_attr_0 = NDR_PULL_GET_MEM_CTX(ndr);
9785 NDR_PULL_SET_MEM_CTX(ndr, r->in.attr, LIBNDR_FLAG_REF_ALLOC);
9786 NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.attr));
9787 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attr_0, LIBNDR_FLAG_REF_ALLOC);
9788 NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
9789 NDR_PULL_ALLOC(ndr, r->out.handle);
9790 ZERO_STRUCTP(r->out.handle);
9792 if (flags & NDR_OUT) {
9793 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9794 NDR_PULL_ALLOC(ndr, r->out.handle);
9796 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
9797 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
9798 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
9799 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
9800 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
9802 return NDR_ERR_SUCCESS;
9805 _PUBLIC_ void ndr_print_lsa_OpenPolicy2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenPolicy2 *r)
9807 ndr_print_struct(ndr, name, "lsa_OpenPolicy2");
9808 ndr->depth++;
9809 if (flags & NDR_SET_VALUES) {
9810 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
9812 if (flags & NDR_IN) {
9813 ndr_print_struct(ndr, "in", "lsa_OpenPolicy2");
9814 ndr->depth++;
9815 ndr_print_ptr(ndr, "system_name", r->in.system_name);
9816 ndr->depth++;
9817 if (r->in.system_name) {
9818 ndr_print_string(ndr, "system_name", r->in.system_name);
9820 ndr->depth--;
9821 ndr_print_ptr(ndr, "attr", r->in.attr);
9822 ndr->depth++;
9823 ndr_print_lsa_ObjectAttribute(ndr, "attr", r->in.attr);
9824 ndr->depth--;
9825 ndr_print_lsa_PolicyAccessMask(ndr, "access_mask", r->in.access_mask);
9826 ndr->depth--;
9828 if (flags & NDR_OUT) {
9829 ndr_print_struct(ndr, "out", "lsa_OpenPolicy2");
9830 ndr->depth++;
9831 ndr_print_ptr(ndr, "handle", r->out.handle);
9832 ndr->depth++;
9833 ndr_print_policy_handle(ndr, "handle", r->out.handle);
9834 ndr->depth--;
9835 ndr_print_NTSTATUS(ndr, "result", r->out.result);
9836 ndr->depth--;
9838 ndr->depth--;
9841 static enum ndr_err_code ndr_push_lsa_GetUserName(struct ndr_push *ndr, int flags, const struct lsa_GetUserName *r)
9843 if (flags & NDR_IN) {
9844 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
9845 if (r->in.system_name) {
9846 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
9847 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
9848 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.system_name, CH_UTF16)));
9849 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.system_name, ndr_charset_length(r->in.system_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
9851 if (r->in.account_name == NULL) {
9852 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9854 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.account_name));
9855 if (*r->in.account_name) {
9856 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.account_name));
9858 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.authority_name));
9859 if (r->in.authority_name) {
9860 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->in.authority_name));
9861 if (*r->in.authority_name) {
9862 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.authority_name));
9866 if (flags & NDR_OUT) {
9867 if (r->out.account_name == NULL) {
9868 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
9870 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.account_name));
9871 if (*r->out.account_name) {
9872 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.account_name));
9874 NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.authority_name));
9875 if (r->out.authority_name) {
9876 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.authority_name));
9877 if (*r->out.authority_name) {
9878 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.authority_name));
9881 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
9883 return NDR_ERR_SUCCESS;
9886 static enum ndr_err_code ndr_pull_lsa_GetUserName(struct ndr_pull *ndr, int flags, struct lsa_GetUserName *r)
9888 uint32_t _ptr_system_name;
9889 uint32_t size_system_name_1 = 0;
9890 uint32_t length_system_name_1 = 0;
9891 uint32_t _ptr_account_name;
9892 uint32_t _ptr_authority_name;
9893 TALLOC_CTX *_mem_save_system_name_0;
9894 TALLOC_CTX *_mem_save_account_name_0;
9895 TALLOC_CTX *_mem_save_account_name_1;
9896 TALLOC_CTX *_mem_save_authority_name_0;
9897 TALLOC_CTX *_mem_save_authority_name_1;
9898 if (flags & NDR_IN) {
9899 ZERO_STRUCT(r->out);
9901 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
9902 if (_ptr_system_name) {
9903 NDR_PULL_ALLOC(ndr, r->in.system_name);
9904 } else {
9905 r->in.system_name = NULL;
9907 if (r->in.system_name) {
9908 _mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9909 NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
9910 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.system_name));
9911 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.system_name));
9912 size_system_name_1 = ndr_get_array_size(ndr, &r->in.system_name);
9913 length_system_name_1 = ndr_get_array_length(ndr, &r->in.system_name);
9914 if (length_system_name_1 > size_system_name_1) {
9915 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", size_system_name_1, length_system_name_1);
9917 NDR_CHECK(ndr_check_string_terminator(ndr, length_system_name_1, sizeof(uint16_t)));
9918 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.system_name, length_system_name_1, sizeof(uint16_t), CH_UTF16));
9919 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
9921 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9922 NDR_PULL_ALLOC(ndr, r->in.account_name);
9924 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9925 NDR_PULL_SET_MEM_CTX(ndr, r->in.account_name, LIBNDR_FLAG_REF_ALLOC);
9926 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
9927 if (_ptr_account_name) {
9928 NDR_PULL_ALLOC(ndr, *r->in.account_name);
9929 } else {
9930 *r->in.account_name = NULL;
9932 if (*r->in.account_name) {
9933 _mem_save_account_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
9934 NDR_PULL_SET_MEM_CTX(ndr, *r->in.account_name, 0);
9935 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.account_name));
9936 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_1, 0);
9938 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
9939 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name));
9940 if (_ptr_authority_name) {
9941 NDR_PULL_ALLOC(ndr, r->in.authority_name);
9942 } else {
9943 r->in.authority_name = NULL;
9945 if (r->in.authority_name) {
9946 _mem_save_authority_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9947 NDR_PULL_SET_MEM_CTX(ndr, r->in.authority_name, 0);
9948 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name));
9949 if (_ptr_authority_name) {
9950 NDR_PULL_ALLOC(ndr, *r->in.authority_name);
9951 } else {
9952 *r->in.authority_name = NULL;
9954 if (*r->in.authority_name) {
9955 _mem_save_authority_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
9956 NDR_PULL_SET_MEM_CTX(ndr, *r->in.authority_name, 0);
9957 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->in.authority_name));
9958 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_1, 0);
9960 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_0, 0);
9962 NDR_PULL_ALLOC(ndr, r->out.account_name);
9963 *r->out.account_name = *r->in.account_name;
9965 if (flags & NDR_OUT) {
9966 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
9967 NDR_PULL_ALLOC(ndr, r->out.account_name);
9969 _mem_save_account_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9970 NDR_PULL_SET_MEM_CTX(ndr, r->out.account_name, LIBNDR_FLAG_REF_ALLOC);
9971 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_account_name));
9972 if (_ptr_account_name) {
9973 NDR_PULL_ALLOC(ndr, *r->out.account_name);
9974 } else {
9975 *r->out.account_name = NULL;
9977 if (*r->out.account_name) {
9978 _mem_save_account_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
9979 NDR_PULL_SET_MEM_CTX(ndr, *r->out.account_name, 0);
9980 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.account_name));
9981 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_1, 0);
9983 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_account_name_0, LIBNDR_FLAG_REF_ALLOC);
9984 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name));
9985 if (_ptr_authority_name) {
9986 NDR_PULL_ALLOC(ndr, r->out.authority_name);
9987 } else {
9988 r->out.authority_name = NULL;
9990 if (r->out.authority_name) {
9991 _mem_save_authority_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
9992 NDR_PULL_SET_MEM_CTX(ndr, r->out.authority_name, 0);
9993 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_authority_name));
9994 if (_ptr_authority_name) {
9995 NDR_PULL_ALLOC(ndr, *r->out.authority_name);
9996 } else {
9997 *r->out.authority_name = NULL;
9999 if (*r->out.authority_name) {
10000 _mem_save_authority_name_1 = NDR_PULL_GET_MEM_CTX(ndr);
10001 NDR_PULL_SET_MEM_CTX(ndr, *r->out.authority_name, 0);
10002 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.authority_name));
10003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_1, 0);
10005 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_authority_name_0, 0);
10007 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10009 return NDR_ERR_SUCCESS;
10012 _PUBLIC_ void ndr_print_lsa_GetUserName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_GetUserName *r)
10014 ndr_print_struct(ndr, name, "lsa_GetUserName");
10015 ndr->depth++;
10016 if (flags & NDR_SET_VALUES) {
10017 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10019 if (flags & NDR_IN) {
10020 ndr_print_struct(ndr, "in", "lsa_GetUserName");
10021 ndr->depth++;
10022 ndr_print_ptr(ndr, "system_name", r->in.system_name);
10023 ndr->depth++;
10024 if (r->in.system_name) {
10025 ndr_print_string(ndr, "system_name", r->in.system_name);
10027 ndr->depth--;
10028 ndr_print_ptr(ndr, "account_name", r->in.account_name);
10029 ndr->depth++;
10030 ndr_print_ptr(ndr, "account_name", *r->in.account_name);
10031 ndr->depth++;
10032 if (*r->in.account_name) {
10033 ndr_print_lsa_String(ndr, "account_name", *r->in.account_name);
10035 ndr->depth--;
10036 ndr->depth--;
10037 ndr_print_ptr(ndr, "authority_name", r->in.authority_name);
10038 ndr->depth++;
10039 if (r->in.authority_name) {
10040 ndr_print_ptr(ndr, "authority_name", *r->in.authority_name);
10041 ndr->depth++;
10042 if (*r->in.authority_name) {
10043 ndr_print_lsa_String(ndr, "authority_name", *r->in.authority_name);
10045 ndr->depth--;
10047 ndr->depth--;
10048 ndr->depth--;
10050 if (flags & NDR_OUT) {
10051 ndr_print_struct(ndr, "out", "lsa_GetUserName");
10052 ndr->depth++;
10053 ndr_print_ptr(ndr, "account_name", r->out.account_name);
10054 ndr->depth++;
10055 ndr_print_ptr(ndr, "account_name", *r->out.account_name);
10056 ndr->depth++;
10057 if (*r->out.account_name) {
10058 ndr_print_lsa_String(ndr, "account_name", *r->out.account_name);
10060 ndr->depth--;
10061 ndr->depth--;
10062 ndr_print_ptr(ndr, "authority_name", r->out.authority_name);
10063 ndr->depth++;
10064 if (r->out.authority_name) {
10065 ndr_print_ptr(ndr, "authority_name", *r->out.authority_name);
10066 ndr->depth++;
10067 if (*r->out.authority_name) {
10068 ndr_print_lsa_String(ndr, "authority_name", *r->out.authority_name);
10070 ndr->depth--;
10072 ndr->depth--;
10073 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10074 ndr->depth--;
10076 ndr->depth--;
10079 static enum ndr_err_code ndr_push_lsa_QueryInfoPolicy2(struct ndr_push *ndr, int flags, const struct lsa_QueryInfoPolicy2 *r)
10081 if (flags & NDR_IN) {
10082 if (r->in.handle == NULL) {
10083 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10085 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10086 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr, NDR_SCALARS, r->in.level));
10088 if (flags & NDR_OUT) {
10089 if (r->out.info == NULL) {
10090 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10092 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
10093 if (*r->out.info) {
10094 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
10095 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10097 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10099 return NDR_ERR_SUCCESS;
10102 static enum ndr_err_code ndr_pull_lsa_QueryInfoPolicy2(struct ndr_pull *ndr, int flags, struct lsa_QueryInfoPolicy2 *r)
10104 uint32_t _ptr_info;
10105 TALLOC_CTX *_mem_save_handle_0;
10106 TALLOC_CTX *_mem_save_info_0;
10107 TALLOC_CTX *_mem_save_info_1;
10108 if (flags & NDR_IN) {
10109 ZERO_STRUCT(r->out);
10111 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10112 NDR_PULL_ALLOC(ndr, r->in.handle);
10114 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10115 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10116 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10117 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10118 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr, NDR_SCALARS, &r->in.level));
10119 NDR_PULL_ALLOC(ndr, r->out.info);
10120 ZERO_STRUCTP(r->out.info);
10122 if (flags & NDR_OUT) {
10123 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10124 NDR_PULL_ALLOC(ndr, r->out.info);
10126 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10127 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10128 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10129 if (_ptr_info) {
10130 NDR_PULL_ALLOC(ndr, *r->out.info);
10131 } else {
10132 *r->out.info = NULL;
10134 if (*r->out.info) {
10135 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
10136 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
10137 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
10138 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
10141 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10142 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10144 return NDR_ERR_SUCCESS;
10147 _PUBLIC_ void ndr_print_lsa_QueryInfoPolicy2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryInfoPolicy2 *r)
10149 ndr_print_struct(ndr, name, "lsa_QueryInfoPolicy2");
10150 ndr->depth++;
10151 if (flags & NDR_SET_VALUES) {
10152 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10154 if (flags & NDR_IN) {
10155 ndr_print_struct(ndr, "in", "lsa_QueryInfoPolicy2");
10156 ndr->depth++;
10157 ndr_print_ptr(ndr, "handle", r->in.handle);
10158 ndr->depth++;
10159 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10160 ndr->depth--;
10161 ndr_print_lsa_PolicyInfo(ndr, "level", r->in.level);
10162 ndr->depth--;
10164 if (flags & NDR_OUT) {
10165 ndr_print_struct(ndr, "out", "lsa_QueryInfoPolicy2");
10166 ndr->depth++;
10167 ndr_print_ptr(ndr, "info", r->out.info);
10168 ndr->depth++;
10169 ndr_print_ptr(ndr, "info", *r->out.info);
10170 ndr->depth++;
10171 if (*r->out.info) {
10172 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
10173 ndr_print_lsa_PolicyInformation(ndr, "info", *r->out.info);
10175 ndr->depth--;
10176 ndr->depth--;
10177 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10178 ndr->depth--;
10180 ndr->depth--;
10183 static enum ndr_err_code ndr_push_lsa_SetInfoPolicy2(struct ndr_push *ndr, int flags, const struct lsa_SetInfoPolicy2 *r)
10185 if (flags & NDR_IN) {
10186 if (r->in.handle == NULL) {
10187 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10189 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10190 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr, NDR_SCALARS, r->in.level));
10191 if (r->in.info == NULL) {
10192 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10194 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
10195 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
10197 if (flags & NDR_OUT) {
10198 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10200 return NDR_ERR_SUCCESS;
10203 static enum ndr_err_code ndr_pull_lsa_SetInfoPolicy2(struct ndr_pull *ndr, int flags, struct lsa_SetInfoPolicy2 *r)
10205 TALLOC_CTX *_mem_save_handle_0;
10206 TALLOC_CTX *_mem_save_info_0;
10207 if (flags & NDR_IN) {
10208 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10209 NDR_PULL_ALLOC(ndr, r->in.handle);
10211 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10212 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10213 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10215 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr, NDR_SCALARS, &r->in.level));
10216 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10217 NDR_PULL_ALLOC(ndr, r->in.info);
10219 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10220 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
10221 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
10222 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
10223 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10225 if (flags & NDR_OUT) {
10226 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10228 return NDR_ERR_SUCCESS;
10231 _PUBLIC_ void ndr_print_lsa_SetInfoPolicy2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetInfoPolicy2 *r)
10233 ndr_print_struct(ndr, name, "lsa_SetInfoPolicy2");
10234 ndr->depth++;
10235 if (flags & NDR_SET_VALUES) {
10236 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10238 if (flags & NDR_IN) {
10239 ndr_print_struct(ndr, "in", "lsa_SetInfoPolicy2");
10240 ndr->depth++;
10241 ndr_print_ptr(ndr, "handle", r->in.handle);
10242 ndr->depth++;
10243 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10244 ndr->depth--;
10245 ndr_print_lsa_PolicyInfo(ndr, "level", r->in.level);
10246 ndr_print_ptr(ndr, "info", r->in.info);
10247 ndr->depth++;
10248 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
10249 ndr_print_lsa_PolicyInformation(ndr, "info", r->in.info);
10250 ndr->depth--;
10251 ndr->depth--;
10253 if (flags & NDR_OUT) {
10254 ndr_print_struct(ndr, "out", "lsa_SetInfoPolicy2");
10255 ndr->depth++;
10256 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10257 ndr->depth--;
10259 ndr->depth--;
10262 static enum ndr_err_code ndr_push_lsa_QueryTrustedDomainInfoByName(struct ndr_push *ndr, int flags, const struct lsa_QueryTrustedDomainInfoByName *r)
10264 if (flags & NDR_IN) {
10265 if (r->in.handle == NULL) {
10266 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10268 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10269 if (r->in.trusted_domain == NULL) {
10270 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10272 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain));
10273 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level));
10275 if (flags & NDR_OUT) {
10276 if (r->out.info == NULL) {
10277 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10279 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
10280 if (*r->out.info) {
10281 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
10282 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10284 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10286 return NDR_ERR_SUCCESS;
10289 static enum ndr_err_code ndr_pull_lsa_QueryTrustedDomainInfoByName(struct ndr_pull *ndr, int flags, struct lsa_QueryTrustedDomainInfoByName *r)
10291 uint32_t _ptr_info;
10292 TALLOC_CTX *_mem_save_handle_0;
10293 TALLOC_CTX *_mem_save_trusted_domain_0;
10294 TALLOC_CTX *_mem_save_info_0;
10295 TALLOC_CTX *_mem_save_info_1;
10296 if (flags & NDR_IN) {
10297 ZERO_STRUCT(r->out);
10299 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10300 NDR_PULL_ALLOC(ndr, r->in.handle);
10302 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10303 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10304 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10306 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10307 NDR_PULL_ALLOC(ndr, r->in.trusted_domain);
10309 _mem_save_trusted_domain_0 = NDR_PULL_GET_MEM_CTX(ndr);
10310 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain, LIBNDR_FLAG_REF_ALLOC);
10311 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain));
10312 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_0, LIBNDR_FLAG_REF_ALLOC);
10313 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level));
10314 NDR_PULL_ALLOC(ndr, r->out.info);
10315 ZERO_STRUCTP(r->out.info);
10317 if (flags & NDR_OUT) {
10318 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10319 NDR_PULL_ALLOC(ndr, r->out.info);
10321 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10322 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10323 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10324 if (_ptr_info) {
10325 NDR_PULL_ALLOC(ndr, *r->out.info);
10326 } else {
10327 *r->out.info = NULL;
10329 if (*r->out.info) {
10330 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
10331 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
10332 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
10333 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10334 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
10336 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10337 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10339 return NDR_ERR_SUCCESS;
10342 _PUBLIC_ void ndr_print_lsa_QueryTrustedDomainInfoByName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryTrustedDomainInfoByName *r)
10344 ndr_print_struct(ndr, name, "lsa_QueryTrustedDomainInfoByName");
10345 ndr->depth++;
10346 if (flags & NDR_SET_VALUES) {
10347 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10349 if (flags & NDR_IN) {
10350 ndr_print_struct(ndr, "in", "lsa_QueryTrustedDomainInfoByName");
10351 ndr->depth++;
10352 ndr_print_ptr(ndr, "handle", r->in.handle);
10353 ndr->depth++;
10354 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10355 ndr->depth--;
10356 ndr_print_ptr(ndr, "trusted_domain", r->in.trusted_domain);
10357 ndr->depth++;
10358 ndr_print_lsa_String(ndr, "trusted_domain", r->in.trusted_domain);
10359 ndr->depth--;
10360 ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level);
10361 ndr->depth--;
10363 if (flags & NDR_OUT) {
10364 ndr_print_struct(ndr, "out", "lsa_QueryTrustedDomainInfoByName");
10365 ndr->depth++;
10366 ndr_print_ptr(ndr, "info", r->out.info);
10367 ndr->depth++;
10368 ndr_print_ptr(ndr, "info", *r->out.info);
10369 ndr->depth++;
10370 if (*r->out.info) {
10371 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
10372 ndr_print_lsa_TrustedDomainInfo(ndr, "info", *r->out.info);
10374 ndr->depth--;
10375 ndr->depth--;
10376 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10377 ndr->depth--;
10379 ndr->depth--;
10382 static enum ndr_err_code ndr_push_lsa_SetTrustedDomainInfoByName(struct ndr_push *ndr, int flags, const struct lsa_SetTrustedDomainInfoByName *r)
10384 if (flags & NDR_IN) {
10385 if (r->in.handle == NULL) {
10386 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10388 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10389 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.trusted_domain));
10390 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, r->in.level));
10391 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info));
10392 if (r->in.info) {
10393 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
10394 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
10397 if (flags & NDR_OUT) {
10398 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10400 return NDR_ERR_SUCCESS;
10403 static enum ndr_err_code ndr_pull_lsa_SetTrustedDomainInfoByName(struct ndr_pull *ndr, int flags, struct lsa_SetTrustedDomainInfoByName *r)
10405 uint32_t _ptr_info;
10406 TALLOC_CTX *_mem_save_handle_0;
10407 TALLOC_CTX *_mem_save_info_0;
10408 if (flags & NDR_IN) {
10409 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10410 NDR_PULL_ALLOC(ndr, r->in.handle);
10412 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10413 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10414 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10416 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.trusted_domain));
10417 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr, NDR_SCALARS, &r->in.level));
10418 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10419 if (_ptr_info) {
10420 NDR_PULL_ALLOC(ndr, r->in.info);
10421 } else {
10422 r->in.info = NULL;
10424 if (r->in.info) {
10425 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10426 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, 0);
10427 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
10428 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
10429 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
10432 if (flags & NDR_OUT) {
10433 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10435 return NDR_ERR_SUCCESS;
10438 _PUBLIC_ void ndr_print_lsa_SetTrustedDomainInfoByName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetTrustedDomainInfoByName *r)
10440 ndr_print_struct(ndr, name, "lsa_SetTrustedDomainInfoByName");
10441 ndr->depth++;
10442 if (flags & NDR_SET_VALUES) {
10443 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10445 if (flags & NDR_IN) {
10446 ndr_print_struct(ndr, "in", "lsa_SetTrustedDomainInfoByName");
10447 ndr->depth++;
10448 ndr_print_ptr(ndr, "handle", r->in.handle);
10449 ndr->depth++;
10450 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10451 ndr->depth--;
10452 ndr_print_lsa_String(ndr, "trusted_domain", &r->in.trusted_domain);
10453 ndr_print_lsa_TrustDomInfoEnum(ndr, "level", r->in.level);
10454 ndr_print_ptr(ndr, "info", r->in.info);
10455 ndr->depth++;
10456 if (r->in.info) {
10457 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
10458 ndr_print_lsa_TrustedDomainInfo(ndr, "info", r->in.info);
10460 ndr->depth--;
10461 ndr->depth--;
10463 if (flags & NDR_OUT) {
10464 ndr_print_struct(ndr, "out", "lsa_SetTrustedDomainInfoByName");
10465 ndr->depth++;
10466 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10467 ndr->depth--;
10469 ndr->depth--;
10472 static enum ndr_err_code ndr_push_lsa_EnumTrustedDomainsEx(struct ndr_push *ndr, int flags, const struct lsa_EnumTrustedDomainsEx *r)
10474 if (flags & NDR_IN) {
10475 if (r->in.handle == NULL) {
10476 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10478 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10479 if (r->in.resume_handle == NULL) {
10480 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.resume_handle));
10483 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.max_size));
10485 if (flags & NDR_OUT) {
10486 if (r->out.resume_handle == NULL) {
10487 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10489 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.resume_handle));
10490 if (r->out.domains == NULL) {
10491 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10493 NDR_CHECK(ndr_push_lsa_DomainListEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
10494 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10496 return NDR_ERR_SUCCESS;
10499 static enum ndr_err_code ndr_pull_lsa_EnumTrustedDomainsEx(struct ndr_pull *ndr, int flags, struct lsa_EnumTrustedDomainsEx *r)
10501 TALLOC_CTX *_mem_save_handle_0;
10502 TALLOC_CTX *_mem_save_resume_handle_0;
10503 TALLOC_CTX *_mem_save_domains_0;
10504 if (flags & NDR_IN) {
10505 ZERO_STRUCT(r->out);
10507 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10508 NDR_PULL_ALLOC(ndr, r->in.handle);
10510 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10511 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10512 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10513 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10514 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10515 NDR_PULL_ALLOC(ndr, r->in.resume_handle);
10517 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10518 NDR_PULL_SET_MEM_CTX(ndr, r->in.resume_handle, LIBNDR_FLAG_REF_ALLOC);
10519 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.resume_handle));
10520 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
10521 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.max_size));
10522 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
10523 *r->out.resume_handle = *r->in.resume_handle;
10524 NDR_PULL_ALLOC(ndr, r->out.domains);
10525 ZERO_STRUCTP(r->out.domains);
10527 if (flags & NDR_OUT) {
10528 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10529 NDR_PULL_ALLOC(ndr, r->out.resume_handle);
10531 _mem_save_resume_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10532 NDR_PULL_SET_MEM_CTX(ndr, r->out.resume_handle, LIBNDR_FLAG_REF_ALLOC);
10533 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.resume_handle));
10534 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_resume_handle_0, LIBNDR_FLAG_REF_ALLOC);
10535 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10536 NDR_PULL_ALLOC(ndr, r->out.domains);
10538 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
10539 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
10540 NDR_CHECK(ndr_pull_lsa_DomainListEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domains));
10541 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
10542 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10544 return NDR_ERR_SUCCESS;
10547 _PUBLIC_ void ndr_print_lsa_EnumTrustedDomainsEx(struct ndr_print *ndr, const char *name, int flags, const struct lsa_EnumTrustedDomainsEx *r)
10549 ndr_print_struct(ndr, name, "lsa_EnumTrustedDomainsEx");
10550 ndr->depth++;
10551 if (flags & NDR_SET_VALUES) {
10552 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10554 if (flags & NDR_IN) {
10555 ndr_print_struct(ndr, "in", "lsa_EnumTrustedDomainsEx");
10556 ndr->depth++;
10557 ndr_print_ptr(ndr, "handle", r->in.handle);
10558 ndr->depth++;
10559 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10560 ndr->depth--;
10561 ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
10562 ndr->depth++;
10563 ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
10564 ndr->depth--;
10565 ndr_print_uint32(ndr, "max_size", r->in.max_size);
10566 ndr->depth--;
10568 if (flags & NDR_OUT) {
10569 ndr_print_struct(ndr, "out", "lsa_EnumTrustedDomainsEx");
10570 ndr->depth++;
10571 ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
10572 ndr->depth++;
10573 ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
10574 ndr->depth--;
10575 ndr_print_ptr(ndr, "domains", r->out.domains);
10576 ndr->depth++;
10577 ndr_print_lsa_DomainListEx(ndr, "domains", r->out.domains);
10578 ndr->depth--;
10579 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10580 ndr->depth--;
10582 ndr->depth--;
10585 static enum ndr_err_code ndr_push_lsa_CreateTrustedDomainEx(struct ndr_push *ndr, int flags, const struct lsa_CreateTrustedDomainEx *r)
10587 if (flags & NDR_IN) {
10588 if (r->in.policy_handle == NULL) {
10589 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10591 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle));
10592 if (r->in.info == NULL) {
10593 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10595 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
10596 if (r->in.auth_info == NULL) {
10597 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10599 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.auth_info));
10600 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask));
10602 if (flags & NDR_OUT) {
10603 if (r->out.trustdom_handle == NULL) {
10604 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10606 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
10607 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10609 return NDR_ERR_SUCCESS;
10612 static enum ndr_err_code ndr_pull_lsa_CreateTrustedDomainEx(struct ndr_pull *ndr, int flags, struct lsa_CreateTrustedDomainEx *r)
10614 TALLOC_CTX *_mem_save_policy_handle_0;
10615 TALLOC_CTX *_mem_save_info_0;
10616 TALLOC_CTX *_mem_save_auth_info_0;
10617 TALLOC_CTX *_mem_save_trustdom_handle_0;
10618 if (flags & NDR_IN) {
10619 ZERO_STRUCT(r->out);
10621 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10622 NDR_PULL_ALLOC(ndr, r->in.policy_handle);
10624 _mem_save_policy_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10625 NDR_PULL_SET_MEM_CTX(ndr, r->in.policy_handle, LIBNDR_FLAG_REF_ALLOC);
10626 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle));
10627 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_handle_0, LIBNDR_FLAG_REF_ALLOC);
10628 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10629 NDR_PULL_ALLOC(ndr, r->in.info);
10631 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10632 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
10633 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
10634 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10635 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10636 NDR_PULL_ALLOC(ndr, r->in.auth_info);
10638 _mem_save_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10639 NDR_PULL_SET_MEM_CTX(ndr, r->in.auth_info, LIBNDR_FLAG_REF_ALLOC);
10640 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.auth_info));
10641 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_info_0, LIBNDR_FLAG_REF_ALLOC);
10642 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
10643 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
10644 ZERO_STRUCTP(r->out.trustdom_handle);
10646 if (flags & NDR_OUT) {
10647 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10648 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
10650 _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10651 NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC);
10652 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
10653 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC);
10654 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10656 return NDR_ERR_SUCCESS;
10659 _PUBLIC_ void ndr_print_lsa_CreateTrustedDomainEx(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateTrustedDomainEx *r)
10661 ndr_print_struct(ndr, name, "lsa_CreateTrustedDomainEx");
10662 ndr->depth++;
10663 if (flags & NDR_SET_VALUES) {
10664 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10666 if (flags & NDR_IN) {
10667 ndr_print_struct(ndr, "in", "lsa_CreateTrustedDomainEx");
10668 ndr->depth++;
10669 ndr_print_ptr(ndr, "policy_handle", r->in.policy_handle);
10670 ndr->depth++;
10671 ndr_print_policy_handle(ndr, "policy_handle", r->in.policy_handle);
10672 ndr->depth--;
10673 ndr_print_ptr(ndr, "info", r->in.info);
10674 ndr->depth++;
10675 ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info", r->in.info);
10676 ndr->depth--;
10677 ndr_print_ptr(ndr, "auth_info", r->in.auth_info);
10678 ndr->depth++;
10679 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr, "auth_info", r->in.auth_info);
10680 ndr->depth--;
10681 ndr_print_uint32(ndr, "access_mask", r->in.access_mask);
10682 ndr->depth--;
10684 if (flags & NDR_OUT) {
10685 ndr_print_struct(ndr, "out", "lsa_CreateTrustedDomainEx");
10686 ndr->depth++;
10687 ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle);
10688 ndr->depth++;
10689 ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle);
10690 ndr->depth--;
10691 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10692 ndr->depth--;
10694 ndr->depth--;
10697 static enum ndr_err_code ndr_push_lsa_CloseTrustedDomainEx(struct ndr_push *ndr, int flags, const struct lsa_CloseTrustedDomainEx *r)
10699 if (flags & NDR_IN) {
10700 if (r->in.handle == NULL) {
10701 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10703 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10705 if (flags & NDR_OUT) {
10706 if (r->out.handle == NULL) {
10707 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10709 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
10710 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10712 return NDR_ERR_SUCCESS;
10715 static enum ndr_err_code ndr_pull_lsa_CloseTrustedDomainEx(struct ndr_pull *ndr, int flags, struct lsa_CloseTrustedDomainEx *r)
10717 TALLOC_CTX *_mem_save_handle_0;
10718 if (flags & NDR_IN) {
10719 ZERO_STRUCT(r->out);
10721 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10722 NDR_PULL_ALLOC(ndr, r->in.handle);
10724 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10725 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10726 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10727 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10728 NDR_PULL_ALLOC(ndr, r->out.handle);
10729 *r->out.handle = *r->in.handle;
10731 if (flags & NDR_OUT) {
10732 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10733 NDR_PULL_ALLOC(ndr, r->out.handle);
10735 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10736 NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
10737 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
10738 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10739 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10741 return NDR_ERR_SUCCESS;
10744 _PUBLIC_ void ndr_print_lsa_CloseTrustedDomainEx(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CloseTrustedDomainEx *r)
10746 ndr_print_struct(ndr, name, "lsa_CloseTrustedDomainEx");
10747 ndr->depth++;
10748 if (flags & NDR_SET_VALUES) {
10749 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10751 if (flags & NDR_IN) {
10752 ndr_print_struct(ndr, "in", "lsa_CloseTrustedDomainEx");
10753 ndr->depth++;
10754 ndr_print_ptr(ndr, "handle", r->in.handle);
10755 ndr->depth++;
10756 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10757 ndr->depth--;
10758 ndr->depth--;
10760 if (flags & NDR_OUT) {
10761 ndr_print_struct(ndr, "out", "lsa_CloseTrustedDomainEx");
10762 ndr->depth++;
10763 ndr_print_ptr(ndr, "handle", r->out.handle);
10764 ndr->depth++;
10765 ndr_print_policy_handle(ndr, "handle", r->out.handle);
10766 ndr->depth--;
10767 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10768 ndr->depth--;
10770 ndr->depth--;
10773 static enum ndr_err_code ndr_push_lsa_QueryDomainInformationPolicy(struct ndr_push *ndr, int flags, const struct lsa_QueryDomainInformationPolicy *r)
10775 if (flags & NDR_IN) {
10776 if (r->in.handle == NULL) {
10777 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10779 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10780 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10782 if (flags & NDR_OUT) {
10783 if (r->out.info == NULL) {
10784 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10786 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.info));
10787 if (*r->out.info) {
10788 NDR_CHECK(ndr_push_set_switch_value(ndr, *r->out.info, r->in.level));
10789 NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10791 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10793 return NDR_ERR_SUCCESS;
10796 static enum ndr_err_code ndr_pull_lsa_QueryDomainInformationPolicy(struct ndr_pull *ndr, int flags, struct lsa_QueryDomainInformationPolicy *r)
10798 uint32_t _ptr_info;
10799 TALLOC_CTX *_mem_save_handle_0;
10800 TALLOC_CTX *_mem_save_info_0;
10801 TALLOC_CTX *_mem_save_info_1;
10802 if (flags & NDR_IN) {
10803 ZERO_STRUCT(r->out);
10805 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10806 NDR_PULL_ALLOC(ndr, r->in.handle);
10808 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10809 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10810 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10811 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10812 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10813 NDR_PULL_ALLOC(ndr, r->out.info);
10814 ZERO_STRUCTP(r->out.info);
10816 if (flags & NDR_OUT) {
10817 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10818 NDR_PULL_ALLOC(ndr, r->out.info);
10820 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10821 NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC);
10822 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10823 if (_ptr_info) {
10824 NDR_PULL_ALLOC(ndr, *r->out.info);
10825 } else {
10826 *r->out.info = NULL;
10828 if (*r->out.info) {
10829 _mem_save_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
10830 NDR_PULL_SET_MEM_CTX(ndr, *r->out.info, 0);
10831 NDR_CHECK(ndr_pull_set_switch_value(ndr, *r->out.info, r->in.level));
10832 NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.info));
10833 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_1, 0);
10835 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
10836 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10838 return NDR_ERR_SUCCESS;
10841 _PUBLIC_ void ndr_print_lsa_QueryDomainInformationPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_QueryDomainInformationPolicy *r)
10843 ndr_print_struct(ndr, name, "lsa_QueryDomainInformationPolicy");
10844 ndr->depth++;
10845 if (flags & NDR_SET_VALUES) {
10846 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10848 if (flags & NDR_IN) {
10849 ndr_print_struct(ndr, "in", "lsa_QueryDomainInformationPolicy");
10850 ndr->depth++;
10851 ndr_print_ptr(ndr, "handle", r->in.handle);
10852 ndr->depth++;
10853 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10854 ndr->depth--;
10855 ndr_print_uint16(ndr, "level", r->in.level);
10856 ndr->depth--;
10858 if (flags & NDR_OUT) {
10859 ndr_print_struct(ndr, "out", "lsa_QueryDomainInformationPolicy");
10860 ndr->depth++;
10861 ndr_print_ptr(ndr, "info", r->out.info);
10862 ndr->depth++;
10863 ndr_print_ptr(ndr, "info", *r->out.info);
10864 ndr->depth++;
10865 if (*r->out.info) {
10866 ndr_print_set_switch_value(ndr, *r->out.info, r->in.level);
10867 ndr_print_lsa_DomainInformationPolicy(ndr, "info", *r->out.info);
10869 ndr->depth--;
10870 ndr->depth--;
10871 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10872 ndr->depth--;
10874 ndr->depth--;
10877 static enum ndr_err_code ndr_push_lsa_SetDomainInformationPolicy(struct ndr_push *ndr, int flags, const struct lsa_SetDomainInformationPolicy *r)
10879 if (flags & NDR_IN) {
10880 if (r->in.handle == NULL) {
10881 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10883 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10884 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level));
10885 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.info));
10886 if (r->in.info) {
10887 NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.info, r->in.level));
10888 NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
10891 if (flags & NDR_OUT) {
10892 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10894 return NDR_ERR_SUCCESS;
10897 static enum ndr_err_code ndr_pull_lsa_SetDomainInformationPolicy(struct ndr_pull *ndr, int flags, struct lsa_SetDomainInformationPolicy *r)
10899 uint32_t _ptr_info;
10900 TALLOC_CTX *_mem_save_handle_0;
10901 TALLOC_CTX *_mem_save_info_0;
10902 if (flags & NDR_IN) {
10903 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10904 NDR_PULL_ALLOC(ndr, r->in.handle);
10906 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10907 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10908 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10909 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10910 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level));
10911 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
10912 if (_ptr_info) {
10913 NDR_PULL_ALLOC(ndr, r->in.info);
10914 } else {
10915 r->in.info = NULL;
10917 if (r->in.info) {
10918 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
10919 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, 0);
10920 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.info, r->in.level));
10921 NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
10922 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
10925 if (flags & NDR_OUT) {
10926 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
10928 return NDR_ERR_SUCCESS;
10931 _PUBLIC_ void ndr_print_lsa_SetDomainInformationPolicy(struct ndr_print *ndr, const char *name, int flags, const struct lsa_SetDomainInformationPolicy *r)
10933 ndr_print_struct(ndr, name, "lsa_SetDomainInformationPolicy");
10934 ndr->depth++;
10935 if (flags & NDR_SET_VALUES) {
10936 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
10938 if (flags & NDR_IN) {
10939 ndr_print_struct(ndr, "in", "lsa_SetDomainInformationPolicy");
10940 ndr->depth++;
10941 ndr_print_ptr(ndr, "handle", r->in.handle);
10942 ndr->depth++;
10943 ndr_print_policy_handle(ndr, "handle", r->in.handle);
10944 ndr->depth--;
10945 ndr_print_uint16(ndr, "level", r->in.level);
10946 ndr_print_ptr(ndr, "info", r->in.info);
10947 ndr->depth++;
10948 if (r->in.info) {
10949 ndr_print_set_switch_value(ndr, r->in.info, r->in.level);
10950 ndr_print_lsa_DomainInformationPolicy(ndr, "info", r->in.info);
10952 ndr->depth--;
10953 ndr->depth--;
10955 if (flags & NDR_OUT) {
10956 ndr_print_struct(ndr, "out", "lsa_SetDomainInformationPolicy");
10957 ndr->depth++;
10958 ndr_print_NTSTATUS(ndr, "result", r->out.result);
10959 ndr->depth--;
10961 ndr->depth--;
10964 static enum ndr_err_code ndr_push_lsa_OpenTrustedDomainByName(struct ndr_push *ndr, int flags, const struct lsa_OpenTrustedDomainByName *r)
10966 if (flags & NDR_IN) {
10967 if (r->in.handle == NULL) {
10968 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10970 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10971 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
10972 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask));
10974 if (flags & NDR_OUT) {
10975 if (r->out.trustdom_handle == NULL) {
10976 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
10978 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
10979 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
10981 return NDR_ERR_SUCCESS;
10984 static enum ndr_err_code ndr_pull_lsa_OpenTrustedDomainByName(struct ndr_pull *ndr, int flags, struct lsa_OpenTrustedDomainByName *r)
10986 TALLOC_CTX *_mem_save_handle_0;
10987 TALLOC_CTX *_mem_save_trustdom_handle_0;
10988 if (flags & NDR_IN) {
10989 ZERO_STRUCT(r->out);
10991 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
10992 NDR_PULL_ALLOC(ndr, r->in.handle);
10994 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
10995 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
10996 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
10997 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
10998 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
10999 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
11000 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
11001 ZERO_STRUCTP(r->out.trustdom_handle);
11003 if (flags & NDR_OUT) {
11004 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11005 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
11007 _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11008 NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC);
11009 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
11010 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC);
11011 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11013 return NDR_ERR_SUCCESS;
11016 _PUBLIC_ void ndr_print_lsa_OpenTrustedDomainByName(struct ndr_print *ndr, const char *name, int flags, const struct lsa_OpenTrustedDomainByName *r)
11018 ndr_print_struct(ndr, name, "lsa_OpenTrustedDomainByName");
11019 ndr->depth++;
11020 if (flags & NDR_SET_VALUES) {
11021 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11023 if (flags & NDR_IN) {
11024 ndr_print_struct(ndr, "in", "lsa_OpenTrustedDomainByName");
11025 ndr->depth++;
11026 ndr_print_ptr(ndr, "handle", r->in.handle);
11027 ndr->depth++;
11028 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11029 ndr->depth--;
11030 ndr_print_lsa_String(ndr, "name", &r->in.name);
11031 ndr_print_uint32(ndr, "access_mask", r->in.access_mask);
11032 ndr->depth--;
11034 if (flags & NDR_OUT) {
11035 ndr_print_struct(ndr, "out", "lsa_OpenTrustedDomainByName");
11036 ndr->depth++;
11037 ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle);
11038 ndr->depth++;
11039 ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle);
11040 ndr->depth--;
11041 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11042 ndr->depth--;
11044 ndr->depth--;
11047 static enum ndr_err_code ndr_push_lsa_TestCall(struct ndr_push *ndr, int flags, const struct lsa_TestCall *r)
11049 if (flags & NDR_IN) {
11051 if (flags & NDR_OUT) {
11052 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11054 return NDR_ERR_SUCCESS;
11057 static enum ndr_err_code ndr_pull_lsa_TestCall(struct ndr_pull *ndr, int flags, struct lsa_TestCall *r)
11059 if (flags & NDR_IN) {
11061 if (flags & NDR_OUT) {
11062 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11064 return NDR_ERR_SUCCESS;
11067 _PUBLIC_ void ndr_print_lsa_TestCall(struct ndr_print *ndr, const char *name, int flags, const struct lsa_TestCall *r)
11069 ndr_print_struct(ndr, name, "lsa_TestCall");
11070 ndr->depth++;
11071 if (flags & NDR_SET_VALUES) {
11072 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11074 if (flags & NDR_IN) {
11075 ndr_print_struct(ndr, "in", "lsa_TestCall");
11076 ndr->depth++;
11077 ndr->depth--;
11079 if (flags & NDR_OUT) {
11080 ndr_print_struct(ndr, "out", "lsa_TestCall");
11081 ndr->depth++;
11082 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11083 ndr->depth--;
11085 ndr->depth--;
11088 _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupSids2(struct ndr_push *ndr, int flags, const struct lsa_LookupSids2 *r)
11090 if (flags & NDR_IN) {
11091 if (r->in.handle == NULL) {
11092 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11094 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11095 if (r->in.sids == NULL) {
11096 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11098 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11099 if (r->in.names == NULL) {
11100 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11102 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
11103 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
11104 if (r->in.count == NULL) {
11105 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
11108 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
11109 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
11111 if (flags & NDR_OUT) {
11112 if (r->out.domains == NULL) {
11113 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11115 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains));
11116 if (*r->out.domains) {
11117 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
11119 if (r->out.names == NULL) {
11120 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11122 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
11123 if (r->out.count == NULL) {
11124 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11126 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
11127 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11129 return NDR_ERR_SUCCESS;
11132 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids2(struct ndr_pull *ndr, int flags, struct lsa_LookupSids2 *r)
11134 uint32_t _ptr_domains;
11135 TALLOC_CTX *_mem_save_handle_0;
11136 TALLOC_CTX *_mem_save_sids_0;
11137 TALLOC_CTX *_mem_save_domains_0;
11138 TALLOC_CTX *_mem_save_domains_1;
11139 TALLOC_CTX *_mem_save_names_0;
11140 TALLOC_CTX *_mem_save_count_0;
11141 if (flags & NDR_IN) {
11142 ZERO_STRUCT(r->out);
11144 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11145 NDR_PULL_ALLOC(ndr, r->in.handle);
11147 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11148 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11149 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11151 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11152 NDR_PULL_ALLOC(ndr, r->in.sids);
11154 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
11155 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
11156 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11157 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
11158 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11159 NDR_PULL_ALLOC(ndr, r->in.names);
11161 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
11162 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, LIBNDR_FLAG_REF_ALLOC);
11163 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
11164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
11165 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
11166 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11167 NDR_PULL_ALLOC(ndr, r->in.count);
11169 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
11170 NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
11171 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
11172 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
11173 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
11174 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
11175 NDR_PULL_ALLOC(ndr, r->out.domains);
11176 ZERO_STRUCTP(r->out.domains);
11177 NDR_PULL_ALLOC(ndr, r->out.names);
11178 *r->out.names = *r->in.names;
11179 NDR_PULL_ALLOC(ndr, r->out.count);
11180 *r->out.count = *r->in.count;
11182 if (flags & NDR_OUT) {
11183 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11184 NDR_PULL_ALLOC(ndr, r->out.domains);
11186 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
11187 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
11188 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
11189 if (_ptr_domains) {
11190 NDR_PULL_ALLOC(ndr, *r->out.domains);
11191 } else {
11192 *r->out.domains = NULL;
11194 if (*r->out.domains) {
11195 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
11196 NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0);
11197 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
11198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
11200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
11201 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11202 NDR_PULL_ALLOC(ndr, r->out.names);
11204 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
11205 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
11206 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
11207 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
11208 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11209 NDR_PULL_ALLOC(ndr, r->out.count);
11211 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
11212 NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
11213 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
11214 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
11215 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11217 return NDR_ERR_SUCCESS;
11220 _PUBLIC_ void ndr_print_lsa_LookupSids2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupSids2 *r)
11222 ndr_print_struct(ndr, name, "lsa_LookupSids2");
11223 ndr->depth++;
11224 if (flags & NDR_SET_VALUES) {
11225 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11227 if (flags & NDR_IN) {
11228 ndr_print_struct(ndr, "in", "lsa_LookupSids2");
11229 ndr->depth++;
11230 ndr_print_ptr(ndr, "handle", r->in.handle);
11231 ndr->depth++;
11232 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11233 ndr->depth--;
11234 ndr_print_ptr(ndr, "sids", r->in.sids);
11235 ndr->depth++;
11236 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
11237 ndr->depth--;
11238 ndr_print_ptr(ndr, "names", r->in.names);
11239 ndr->depth++;
11240 ndr_print_lsa_TransNameArray2(ndr, "names", r->in.names);
11241 ndr->depth--;
11242 ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
11243 ndr_print_ptr(ndr, "count", r->in.count);
11244 ndr->depth++;
11245 ndr_print_uint32(ndr, "count", *r->in.count);
11246 ndr->depth--;
11247 ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
11248 ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
11249 ndr->depth--;
11251 if (flags & NDR_OUT) {
11252 ndr_print_struct(ndr, "out", "lsa_LookupSids2");
11253 ndr->depth++;
11254 ndr_print_ptr(ndr, "domains", r->out.domains);
11255 ndr->depth++;
11256 ndr_print_ptr(ndr, "domains", *r->out.domains);
11257 ndr->depth++;
11258 if (*r->out.domains) {
11259 ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains);
11261 ndr->depth--;
11262 ndr->depth--;
11263 ndr_print_ptr(ndr, "names", r->out.names);
11264 ndr->depth++;
11265 ndr_print_lsa_TransNameArray2(ndr, "names", r->out.names);
11266 ndr->depth--;
11267 ndr_print_ptr(ndr, "count", r->out.count);
11268 ndr->depth++;
11269 ndr_print_uint32(ndr, "count", *r->out.count);
11270 ndr->depth--;
11271 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11272 ndr->depth--;
11274 ndr->depth--;
11277 _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames2(struct ndr_push *ndr, int flags, const struct lsa_LookupNames2 *r)
11279 uint32_t cntr_names_0;
11280 if (flags & NDR_IN) {
11281 if (r->in.handle == NULL) {
11282 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11284 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11285 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
11286 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
11287 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
11288 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
11290 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
11291 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
11293 if (r->in.sids == NULL) {
11294 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11296 NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11297 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
11298 if (r->in.count == NULL) {
11299 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11301 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
11302 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
11303 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
11305 if (flags & NDR_OUT) {
11306 if (r->out.domains == NULL) {
11307 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11309 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains));
11310 if (*r->out.domains) {
11311 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
11313 if (r->out.sids == NULL) {
11314 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11316 NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
11317 if (r->out.count == NULL) {
11318 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11320 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
11321 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11323 return NDR_ERR_SUCCESS;
11326 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames2(struct ndr_pull *ndr, int flags, struct lsa_LookupNames2 *r)
11328 uint32_t size_names_0 = 0;
11329 uint32_t cntr_names_0;
11330 uint32_t _ptr_domains;
11331 TALLOC_CTX *_mem_save_handle_0;
11332 TALLOC_CTX *_mem_save_names_0;
11333 TALLOC_CTX *_mem_save_domains_0;
11334 TALLOC_CTX *_mem_save_domains_1;
11335 TALLOC_CTX *_mem_save_sids_0;
11336 TALLOC_CTX *_mem_save_count_0;
11337 if (flags & NDR_IN) {
11338 ZERO_STRUCT(r->out);
11340 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11341 NDR_PULL_ALLOC(ndr, r->in.handle);
11343 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11344 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
11345 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11346 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
11347 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
11348 if (r->in.num_names > 1000) {
11349 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
11351 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
11352 size_names_0 = ndr_get_array_size(ndr, &r->in.names);
11353 NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
11354 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
11355 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
11356 for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
11357 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
11359 for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
11360 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
11362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
11363 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11364 NDR_PULL_ALLOC(ndr, r->in.sids);
11366 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
11367 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
11368 NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11369 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
11370 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
11371 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11372 NDR_PULL_ALLOC(ndr, r->in.count);
11374 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
11375 NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
11376 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
11377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
11378 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
11379 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
11380 NDR_PULL_ALLOC(ndr, r->out.domains);
11381 ZERO_STRUCTP(r->out.domains);
11382 NDR_PULL_ALLOC(ndr, r->out.sids);
11383 *r->out.sids = *r->in.sids;
11384 NDR_PULL_ALLOC(ndr, r->out.count);
11385 *r->out.count = *r->in.count;
11386 if (r->in.names) {
11387 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, r->in.num_names));
11390 if (flags & NDR_OUT) {
11391 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11392 NDR_PULL_ALLOC(ndr, r->out.domains);
11394 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
11395 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
11396 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
11397 if (_ptr_domains) {
11398 NDR_PULL_ALLOC(ndr, *r->out.domains);
11399 } else {
11400 *r->out.domains = NULL;
11402 if (*r->out.domains) {
11403 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
11404 NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0);
11405 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
11406 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
11408 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
11409 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11410 NDR_PULL_ALLOC(ndr, r->out.sids);
11412 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
11413 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
11414 NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
11415 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
11416 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11417 NDR_PULL_ALLOC(ndr, r->out.count);
11419 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
11420 NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
11421 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
11422 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
11423 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11425 return NDR_ERR_SUCCESS;
11428 _PUBLIC_ void ndr_print_lsa_LookupNames2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames2 *r)
11430 uint32_t cntr_names_0;
11431 ndr_print_struct(ndr, name, "lsa_LookupNames2");
11432 ndr->depth++;
11433 if (flags & NDR_SET_VALUES) {
11434 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11436 if (flags & NDR_IN) {
11437 ndr_print_struct(ndr, "in", "lsa_LookupNames2");
11438 ndr->depth++;
11439 ndr_print_ptr(ndr, "handle", r->in.handle);
11440 ndr->depth++;
11441 ndr_print_policy_handle(ndr, "handle", r->in.handle);
11442 ndr->depth--;
11443 ndr_print_uint32(ndr, "num_names", r->in.num_names);
11444 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
11445 ndr->depth++;
11446 for (cntr_names_0=0;cntr_names_0<r->in.num_names;cntr_names_0++) {
11447 char *idx_0=NULL;
11448 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
11449 ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
11450 free(idx_0);
11453 ndr->depth--;
11454 ndr_print_ptr(ndr, "sids", r->in.sids);
11455 ndr->depth++;
11456 ndr_print_lsa_TransSidArray2(ndr, "sids", r->in.sids);
11457 ndr->depth--;
11458 ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
11459 ndr_print_ptr(ndr, "count", r->in.count);
11460 ndr->depth++;
11461 ndr_print_uint32(ndr, "count", *r->in.count);
11462 ndr->depth--;
11463 ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
11464 ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
11465 ndr->depth--;
11467 if (flags & NDR_OUT) {
11468 ndr_print_struct(ndr, "out", "lsa_LookupNames2");
11469 ndr->depth++;
11470 ndr_print_ptr(ndr, "domains", r->out.domains);
11471 ndr->depth++;
11472 ndr_print_ptr(ndr, "domains", *r->out.domains);
11473 ndr->depth++;
11474 if (*r->out.domains) {
11475 ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains);
11477 ndr->depth--;
11478 ndr->depth--;
11479 ndr_print_ptr(ndr, "sids", r->out.sids);
11480 ndr->depth++;
11481 ndr_print_lsa_TransSidArray2(ndr, "sids", r->out.sids);
11482 ndr->depth--;
11483 ndr_print_ptr(ndr, "count", r->out.count);
11484 ndr->depth++;
11485 ndr_print_uint32(ndr, "count", *r->out.count);
11486 ndr->depth--;
11487 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11488 ndr->depth--;
11490 ndr->depth--;
11493 static enum ndr_err_code ndr_push_lsa_CreateTrustedDomainEx2(struct ndr_push *ndr, int flags, const struct lsa_CreateTrustedDomainEx2 *r)
11495 if (flags & NDR_IN) {
11496 if (r->in.policy_handle == NULL) {
11497 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11499 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle));
11500 if (r->in.info == NULL) {
11501 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11503 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11504 if (r->in.auth_info == NULL) {
11505 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11507 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.auth_info));
11508 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.access_mask));
11510 if (flags & NDR_OUT) {
11511 if (r->out.trustdom_handle == NULL) {
11512 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11514 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
11515 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11517 return NDR_ERR_SUCCESS;
11520 static enum ndr_err_code ndr_pull_lsa_CreateTrustedDomainEx2(struct ndr_pull *ndr, int flags, struct lsa_CreateTrustedDomainEx2 *r)
11522 TALLOC_CTX *_mem_save_policy_handle_0;
11523 TALLOC_CTX *_mem_save_info_0;
11524 TALLOC_CTX *_mem_save_auth_info_0;
11525 TALLOC_CTX *_mem_save_trustdom_handle_0;
11526 if (flags & NDR_IN) {
11527 ZERO_STRUCT(r->out);
11529 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11530 NDR_PULL_ALLOC(ndr, r->in.policy_handle);
11532 _mem_save_policy_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11533 NDR_PULL_SET_MEM_CTX(ndr, r->in.policy_handle, LIBNDR_FLAG_REF_ALLOC);
11534 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.policy_handle));
11535 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_policy_handle_0, LIBNDR_FLAG_REF_ALLOC);
11536 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11537 NDR_PULL_ALLOC(ndr, r->in.info);
11539 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11540 NDR_PULL_SET_MEM_CTX(ndr, r->in.info, LIBNDR_FLAG_REF_ALLOC);
11541 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.info));
11542 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC);
11543 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11544 NDR_PULL_ALLOC(ndr, r->in.auth_info);
11546 _mem_save_auth_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
11547 NDR_PULL_SET_MEM_CTX(ndr, r->in.auth_info, LIBNDR_FLAG_REF_ALLOC);
11548 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.auth_info));
11549 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_auth_info_0, LIBNDR_FLAG_REF_ALLOC);
11550 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.access_mask));
11551 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
11552 ZERO_STRUCTP(r->out.trustdom_handle);
11554 if (flags & NDR_OUT) {
11555 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11556 NDR_PULL_ALLOC(ndr, r->out.trustdom_handle);
11558 _mem_save_trustdom_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
11559 NDR_PULL_SET_MEM_CTX(ndr, r->out.trustdom_handle, LIBNDR_FLAG_REF_ALLOC);
11560 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.trustdom_handle));
11561 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trustdom_handle_0, LIBNDR_FLAG_REF_ALLOC);
11562 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11564 return NDR_ERR_SUCCESS;
11567 _PUBLIC_ void ndr_print_lsa_CreateTrustedDomainEx2(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CreateTrustedDomainEx2 *r)
11569 ndr_print_struct(ndr, name, "lsa_CreateTrustedDomainEx2");
11570 ndr->depth++;
11571 if (flags & NDR_SET_VALUES) {
11572 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11574 if (flags & NDR_IN) {
11575 ndr_print_struct(ndr, "in", "lsa_CreateTrustedDomainEx2");
11576 ndr->depth++;
11577 ndr_print_ptr(ndr, "policy_handle", r->in.policy_handle);
11578 ndr->depth++;
11579 ndr_print_policy_handle(ndr, "policy_handle", r->in.policy_handle);
11580 ndr->depth--;
11581 ndr_print_ptr(ndr, "info", r->in.info);
11582 ndr->depth++;
11583 ndr_print_lsa_TrustDomainInfoInfoEx(ndr, "info", r->in.info);
11584 ndr->depth--;
11585 ndr_print_ptr(ndr, "auth_info", r->in.auth_info);
11586 ndr->depth++;
11587 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr, "auth_info", r->in.auth_info);
11588 ndr->depth--;
11589 ndr_print_uint32(ndr, "access_mask", r->in.access_mask);
11590 ndr->depth--;
11592 if (flags & NDR_OUT) {
11593 ndr_print_struct(ndr, "out", "lsa_CreateTrustedDomainEx2");
11594 ndr->depth++;
11595 ndr_print_ptr(ndr, "trustdom_handle", r->out.trustdom_handle);
11596 ndr->depth++;
11597 ndr_print_policy_handle(ndr, "trustdom_handle", r->out.trustdom_handle);
11598 ndr->depth--;
11599 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11600 ndr->depth--;
11602 ndr->depth--;
11605 static enum ndr_err_code ndr_push_lsa_CREDRWRITE(struct ndr_push *ndr, int flags, const struct lsa_CREDRWRITE *r)
11607 if (flags & NDR_IN) {
11609 if (flags & NDR_OUT) {
11610 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11612 return NDR_ERR_SUCCESS;
11615 static enum ndr_err_code ndr_pull_lsa_CREDRWRITE(struct ndr_pull *ndr, int flags, struct lsa_CREDRWRITE *r)
11617 if (flags & NDR_IN) {
11619 if (flags & NDR_OUT) {
11620 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11622 return NDR_ERR_SUCCESS;
11625 _PUBLIC_ void ndr_print_lsa_CREDRWRITE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRWRITE *r)
11627 ndr_print_struct(ndr, name, "lsa_CREDRWRITE");
11628 ndr->depth++;
11629 if (flags & NDR_SET_VALUES) {
11630 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11632 if (flags & NDR_IN) {
11633 ndr_print_struct(ndr, "in", "lsa_CREDRWRITE");
11634 ndr->depth++;
11635 ndr->depth--;
11637 if (flags & NDR_OUT) {
11638 ndr_print_struct(ndr, "out", "lsa_CREDRWRITE");
11639 ndr->depth++;
11640 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11641 ndr->depth--;
11643 ndr->depth--;
11646 static enum ndr_err_code ndr_push_lsa_CREDRREAD(struct ndr_push *ndr, int flags, const struct lsa_CREDRREAD *r)
11648 if (flags & NDR_IN) {
11650 if (flags & NDR_OUT) {
11651 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11653 return NDR_ERR_SUCCESS;
11656 static enum ndr_err_code ndr_pull_lsa_CREDRREAD(struct ndr_pull *ndr, int flags, struct lsa_CREDRREAD *r)
11658 if (flags & NDR_IN) {
11660 if (flags & NDR_OUT) {
11661 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11663 return NDR_ERR_SUCCESS;
11666 _PUBLIC_ void ndr_print_lsa_CREDRREAD(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRREAD *r)
11668 ndr_print_struct(ndr, name, "lsa_CREDRREAD");
11669 ndr->depth++;
11670 if (flags & NDR_SET_VALUES) {
11671 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11673 if (flags & NDR_IN) {
11674 ndr_print_struct(ndr, "in", "lsa_CREDRREAD");
11675 ndr->depth++;
11676 ndr->depth--;
11678 if (flags & NDR_OUT) {
11679 ndr_print_struct(ndr, "out", "lsa_CREDRREAD");
11680 ndr->depth++;
11681 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11682 ndr->depth--;
11684 ndr->depth--;
11687 static enum ndr_err_code ndr_push_lsa_CREDRENUMERATE(struct ndr_push *ndr, int flags, const struct lsa_CREDRENUMERATE *r)
11689 if (flags & NDR_IN) {
11691 if (flags & NDR_OUT) {
11692 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11694 return NDR_ERR_SUCCESS;
11697 static enum ndr_err_code ndr_pull_lsa_CREDRENUMERATE(struct ndr_pull *ndr, int flags, struct lsa_CREDRENUMERATE *r)
11699 if (flags & NDR_IN) {
11701 if (flags & NDR_OUT) {
11702 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11704 return NDR_ERR_SUCCESS;
11707 _PUBLIC_ void ndr_print_lsa_CREDRENUMERATE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRENUMERATE *r)
11709 ndr_print_struct(ndr, name, "lsa_CREDRENUMERATE");
11710 ndr->depth++;
11711 if (flags & NDR_SET_VALUES) {
11712 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11714 if (flags & NDR_IN) {
11715 ndr_print_struct(ndr, "in", "lsa_CREDRENUMERATE");
11716 ndr->depth++;
11717 ndr->depth--;
11719 if (flags & NDR_OUT) {
11720 ndr_print_struct(ndr, "out", "lsa_CREDRENUMERATE");
11721 ndr->depth++;
11722 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11723 ndr->depth--;
11725 ndr->depth--;
11728 static enum ndr_err_code ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_push *ndr, int flags, const struct lsa_CREDRWRITEDOMAINCREDENTIALS *r)
11730 if (flags & NDR_IN) {
11732 if (flags & NDR_OUT) {
11733 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11735 return NDR_ERR_SUCCESS;
11738 static enum ndr_err_code ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_pull *ndr, int flags, struct lsa_CREDRWRITEDOMAINCREDENTIALS *r)
11740 if (flags & NDR_IN) {
11742 if (flags & NDR_OUT) {
11743 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11745 return NDR_ERR_SUCCESS;
11748 _PUBLIC_ void ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRWRITEDOMAINCREDENTIALS *r)
11750 ndr_print_struct(ndr, name, "lsa_CREDRWRITEDOMAINCREDENTIALS");
11751 ndr->depth++;
11752 if (flags & NDR_SET_VALUES) {
11753 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11755 if (flags & NDR_IN) {
11756 ndr_print_struct(ndr, "in", "lsa_CREDRWRITEDOMAINCREDENTIALS");
11757 ndr->depth++;
11758 ndr->depth--;
11760 if (flags & NDR_OUT) {
11761 ndr_print_struct(ndr, "out", "lsa_CREDRWRITEDOMAINCREDENTIALS");
11762 ndr->depth++;
11763 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11764 ndr->depth--;
11766 ndr->depth--;
11769 static enum ndr_err_code ndr_push_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_push *ndr, int flags, const struct lsa_CREDRREADDOMAINCREDENTIALS *r)
11771 if (flags & NDR_IN) {
11773 if (flags & NDR_OUT) {
11774 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11776 return NDR_ERR_SUCCESS;
11779 static enum ndr_err_code ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_pull *ndr, int flags, struct lsa_CREDRREADDOMAINCREDENTIALS *r)
11781 if (flags & NDR_IN) {
11783 if (flags & NDR_OUT) {
11784 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11786 return NDR_ERR_SUCCESS;
11789 _PUBLIC_ void ndr_print_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRREADDOMAINCREDENTIALS *r)
11791 ndr_print_struct(ndr, name, "lsa_CREDRREADDOMAINCREDENTIALS");
11792 ndr->depth++;
11793 if (flags & NDR_SET_VALUES) {
11794 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11796 if (flags & NDR_IN) {
11797 ndr_print_struct(ndr, "in", "lsa_CREDRREADDOMAINCREDENTIALS");
11798 ndr->depth++;
11799 ndr->depth--;
11801 if (flags & NDR_OUT) {
11802 ndr_print_struct(ndr, "out", "lsa_CREDRREADDOMAINCREDENTIALS");
11803 ndr->depth++;
11804 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11805 ndr->depth--;
11807 ndr->depth--;
11810 static enum ndr_err_code ndr_push_lsa_CREDRDELETE(struct ndr_push *ndr, int flags, const struct lsa_CREDRDELETE *r)
11812 if (flags & NDR_IN) {
11814 if (flags & NDR_OUT) {
11815 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11817 return NDR_ERR_SUCCESS;
11820 static enum ndr_err_code ndr_pull_lsa_CREDRDELETE(struct ndr_pull *ndr, int flags, struct lsa_CREDRDELETE *r)
11822 if (flags & NDR_IN) {
11824 if (flags & NDR_OUT) {
11825 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11827 return NDR_ERR_SUCCESS;
11830 _PUBLIC_ void ndr_print_lsa_CREDRDELETE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRDELETE *r)
11832 ndr_print_struct(ndr, name, "lsa_CREDRDELETE");
11833 ndr->depth++;
11834 if (flags & NDR_SET_VALUES) {
11835 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11837 if (flags & NDR_IN) {
11838 ndr_print_struct(ndr, "in", "lsa_CREDRDELETE");
11839 ndr->depth++;
11840 ndr->depth--;
11842 if (flags & NDR_OUT) {
11843 ndr_print_struct(ndr, "out", "lsa_CREDRDELETE");
11844 ndr->depth++;
11845 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11846 ndr->depth--;
11848 ndr->depth--;
11851 static enum ndr_err_code ndr_push_lsa_CREDRGETTARGETINFO(struct ndr_push *ndr, int flags, const struct lsa_CREDRGETTARGETINFO *r)
11853 if (flags & NDR_IN) {
11855 if (flags & NDR_OUT) {
11856 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11858 return NDR_ERR_SUCCESS;
11861 static enum ndr_err_code ndr_pull_lsa_CREDRGETTARGETINFO(struct ndr_pull *ndr, int flags, struct lsa_CREDRGETTARGETINFO *r)
11863 if (flags & NDR_IN) {
11865 if (flags & NDR_OUT) {
11866 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11868 return NDR_ERR_SUCCESS;
11871 _PUBLIC_ void ndr_print_lsa_CREDRGETTARGETINFO(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRGETTARGETINFO *r)
11873 ndr_print_struct(ndr, name, "lsa_CREDRGETTARGETINFO");
11874 ndr->depth++;
11875 if (flags & NDR_SET_VALUES) {
11876 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11878 if (flags & NDR_IN) {
11879 ndr_print_struct(ndr, "in", "lsa_CREDRGETTARGETINFO");
11880 ndr->depth++;
11881 ndr->depth--;
11883 if (flags & NDR_OUT) {
11884 ndr_print_struct(ndr, "out", "lsa_CREDRGETTARGETINFO");
11885 ndr->depth++;
11886 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11887 ndr->depth--;
11889 ndr->depth--;
11892 static enum ndr_err_code ndr_push_lsa_CREDRPROFILELOADED(struct ndr_push *ndr, int flags, const struct lsa_CREDRPROFILELOADED *r)
11894 if (flags & NDR_IN) {
11896 if (flags & NDR_OUT) {
11897 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11899 return NDR_ERR_SUCCESS;
11902 static enum ndr_err_code ndr_pull_lsa_CREDRPROFILELOADED(struct ndr_pull *ndr, int flags, struct lsa_CREDRPROFILELOADED *r)
11904 if (flags & NDR_IN) {
11906 if (flags & NDR_OUT) {
11907 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
11909 return NDR_ERR_SUCCESS;
11912 _PUBLIC_ void ndr_print_lsa_CREDRPROFILELOADED(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRPROFILELOADED *r)
11914 ndr_print_struct(ndr, name, "lsa_CREDRPROFILELOADED");
11915 ndr->depth++;
11916 if (flags & NDR_SET_VALUES) {
11917 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
11919 if (flags & NDR_IN) {
11920 ndr_print_struct(ndr, "in", "lsa_CREDRPROFILELOADED");
11921 ndr->depth++;
11922 ndr->depth--;
11924 if (flags & NDR_OUT) {
11925 ndr_print_struct(ndr, "out", "lsa_CREDRPROFILELOADED");
11926 ndr->depth++;
11927 ndr_print_NTSTATUS(ndr, "result", r->out.result);
11928 ndr->depth--;
11930 ndr->depth--;
11933 _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupNames3(struct ndr_push *ndr, int flags, const struct lsa_LookupNames3 *r)
11935 uint32_t cntr_names_0;
11936 if (flags & NDR_IN) {
11937 if (r->in.handle == NULL) {
11938 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11940 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
11941 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
11942 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
11943 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
11944 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
11946 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
11947 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
11949 if (r->in.sids == NULL) {
11950 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11952 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
11953 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
11954 if (r->in.count == NULL) {
11955 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11957 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
11958 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
11959 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
11961 if (flags & NDR_OUT) {
11962 if (r->out.domains == NULL) {
11963 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11965 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains));
11966 if (*r->out.domains) {
11967 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
11969 if (r->out.sids == NULL) {
11970 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11972 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
11973 if (r->out.count == NULL) {
11974 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
11976 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
11977 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
11979 return NDR_ERR_SUCCESS;
11982 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupNames3(struct ndr_pull *ndr, int flags, struct lsa_LookupNames3 *r)
11984 uint32_t size_names_0 = 0;
11985 uint32_t cntr_names_0;
11986 uint32_t _ptr_domains;
11987 TALLOC_CTX *_mem_save_handle_0;
11988 TALLOC_CTX *_mem_save_names_0;
11989 TALLOC_CTX *_mem_save_domains_0;
11990 TALLOC_CTX *_mem_save_domains_1;
11991 TALLOC_CTX *_mem_save_sids_0;
11992 TALLOC_CTX *_mem_save_count_0;
11993 if (flags & NDR_IN) {
11994 ZERO_STRUCT(r->out);
11996 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
11997 NDR_PULL_ALLOC(ndr, r->in.handle);
11999 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12000 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
12001 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
12002 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
12003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
12004 if (r->in.num_names > 1000) {
12005 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12007 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
12008 size_names_0 = ndr_get_array_size(ndr, &r->in.names);
12009 NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
12010 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
12011 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
12012 for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
12013 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
12015 for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
12016 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
12018 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
12019 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12020 NDR_PULL_ALLOC(ndr, r->in.sids);
12022 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
12023 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
12024 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
12025 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
12026 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
12027 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12028 NDR_PULL_ALLOC(ndr, r->in.count);
12030 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
12031 NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
12032 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
12033 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
12034 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
12035 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
12036 NDR_PULL_ALLOC(ndr, r->out.domains);
12037 ZERO_STRUCTP(r->out.domains);
12038 NDR_PULL_ALLOC(ndr, r->out.sids);
12039 *r->out.sids = *r->in.sids;
12040 NDR_PULL_ALLOC(ndr, r->out.count);
12041 *r->out.count = *r->in.count;
12042 if (r->in.names) {
12043 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, r->in.num_names));
12046 if (flags & NDR_OUT) {
12047 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12048 NDR_PULL_ALLOC(ndr, r->out.domains);
12050 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
12051 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
12052 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
12053 if (_ptr_domains) {
12054 NDR_PULL_ALLOC(ndr, *r->out.domains);
12055 } else {
12056 *r->out.domains = NULL;
12058 if (*r->out.domains) {
12059 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
12060 NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0);
12061 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
12062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
12064 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
12065 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12066 NDR_PULL_ALLOC(ndr, r->out.sids);
12068 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
12069 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
12070 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
12071 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
12072 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12073 NDR_PULL_ALLOC(ndr, r->out.count);
12075 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
12076 NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
12077 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
12078 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
12079 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12081 return NDR_ERR_SUCCESS;
12084 _PUBLIC_ void ndr_print_lsa_LookupNames3(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames3 *r)
12086 uint32_t cntr_names_0;
12087 ndr_print_struct(ndr, name, "lsa_LookupNames3");
12088 ndr->depth++;
12089 if (flags & NDR_SET_VALUES) {
12090 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12092 if (flags & NDR_IN) {
12093 ndr_print_struct(ndr, "in", "lsa_LookupNames3");
12094 ndr->depth++;
12095 ndr_print_ptr(ndr, "handle", r->in.handle);
12096 ndr->depth++;
12097 ndr_print_policy_handle(ndr, "handle", r->in.handle);
12098 ndr->depth--;
12099 ndr_print_uint32(ndr, "num_names", r->in.num_names);
12100 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
12101 ndr->depth++;
12102 for (cntr_names_0=0;cntr_names_0<r->in.num_names;cntr_names_0++) {
12103 char *idx_0=NULL;
12104 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
12105 ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
12106 free(idx_0);
12109 ndr->depth--;
12110 ndr_print_ptr(ndr, "sids", r->in.sids);
12111 ndr->depth++;
12112 ndr_print_lsa_TransSidArray3(ndr, "sids", r->in.sids);
12113 ndr->depth--;
12114 ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
12115 ndr_print_ptr(ndr, "count", r->in.count);
12116 ndr->depth++;
12117 ndr_print_uint32(ndr, "count", *r->in.count);
12118 ndr->depth--;
12119 ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
12120 ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
12121 ndr->depth--;
12123 if (flags & NDR_OUT) {
12124 ndr_print_struct(ndr, "out", "lsa_LookupNames3");
12125 ndr->depth++;
12126 ndr_print_ptr(ndr, "domains", r->out.domains);
12127 ndr->depth++;
12128 ndr_print_ptr(ndr, "domains", *r->out.domains);
12129 ndr->depth++;
12130 if (*r->out.domains) {
12131 ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains);
12133 ndr->depth--;
12134 ndr->depth--;
12135 ndr_print_ptr(ndr, "sids", r->out.sids);
12136 ndr->depth++;
12137 ndr_print_lsa_TransSidArray3(ndr, "sids", r->out.sids);
12138 ndr->depth--;
12139 ndr_print_ptr(ndr, "count", r->out.count);
12140 ndr->depth++;
12141 ndr_print_uint32(ndr, "count", *r->out.count);
12142 ndr->depth--;
12143 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12144 ndr->depth--;
12146 ndr->depth--;
12149 static enum ndr_err_code ndr_push_lsa_CREDRGETSESSIONTYPES(struct ndr_push *ndr, int flags, const struct lsa_CREDRGETSESSIONTYPES *r)
12151 if (flags & NDR_IN) {
12153 if (flags & NDR_OUT) {
12154 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12156 return NDR_ERR_SUCCESS;
12159 static enum ndr_err_code ndr_pull_lsa_CREDRGETSESSIONTYPES(struct ndr_pull *ndr, int flags, struct lsa_CREDRGETSESSIONTYPES *r)
12161 if (flags & NDR_IN) {
12163 if (flags & NDR_OUT) {
12164 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12166 return NDR_ERR_SUCCESS;
12169 _PUBLIC_ void ndr_print_lsa_CREDRGETSESSIONTYPES(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRGETSESSIONTYPES *r)
12171 ndr_print_struct(ndr, name, "lsa_CREDRGETSESSIONTYPES");
12172 ndr->depth++;
12173 if (flags & NDR_SET_VALUES) {
12174 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12176 if (flags & NDR_IN) {
12177 ndr_print_struct(ndr, "in", "lsa_CREDRGETSESSIONTYPES");
12178 ndr->depth++;
12179 ndr->depth--;
12181 if (flags & NDR_OUT) {
12182 ndr_print_struct(ndr, "out", "lsa_CREDRGETSESSIONTYPES");
12183 ndr->depth++;
12184 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12185 ndr->depth--;
12187 ndr->depth--;
12190 static enum ndr_err_code ndr_push_lsa_LSARREGISTERAUDITEVENT(struct ndr_push *ndr, int flags, const struct lsa_LSARREGISTERAUDITEVENT *r)
12192 if (flags & NDR_IN) {
12194 if (flags & NDR_OUT) {
12195 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12197 return NDR_ERR_SUCCESS;
12200 static enum ndr_err_code ndr_pull_lsa_LSARREGISTERAUDITEVENT(struct ndr_pull *ndr, int flags, struct lsa_LSARREGISTERAUDITEVENT *r)
12202 if (flags & NDR_IN) {
12204 if (flags & NDR_OUT) {
12205 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12207 return NDR_ERR_SUCCESS;
12210 _PUBLIC_ void ndr_print_lsa_LSARREGISTERAUDITEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARREGISTERAUDITEVENT *r)
12212 ndr_print_struct(ndr, name, "lsa_LSARREGISTERAUDITEVENT");
12213 ndr->depth++;
12214 if (flags & NDR_SET_VALUES) {
12215 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12217 if (flags & NDR_IN) {
12218 ndr_print_struct(ndr, "in", "lsa_LSARREGISTERAUDITEVENT");
12219 ndr->depth++;
12220 ndr->depth--;
12222 if (flags & NDR_OUT) {
12223 ndr_print_struct(ndr, "out", "lsa_LSARREGISTERAUDITEVENT");
12224 ndr->depth++;
12225 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12226 ndr->depth--;
12228 ndr->depth--;
12231 static enum ndr_err_code ndr_push_lsa_LSARGENAUDITEVENT(struct ndr_push *ndr, int flags, const struct lsa_LSARGENAUDITEVENT *r)
12233 if (flags & NDR_IN) {
12235 if (flags & NDR_OUT) {
12236 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12238 return NDR_ERR_SUCCESS;
12241 static enum ndr_err_code ndr_pull_lsa_LSARGENAUDITEVENT(struct ndr_pull *ndr, int flags, struct lsa_LSARGENAUDITEVENT *r)
12243 if (flags & NDR_IN) {
12245 if (flags & NDR_OUT) {
12246 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12248 return NDR_ERR_SUCCESS;
12251 _PUBLIC_ void ndr_print_lsa_LSARGENAUDITEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARGENAUDITEVENT *r)
12253 ndr_print_struct(ndr, name, "lsa_LSARGENAUDITEVENT");
12254 ndr->depth++;
12255 if (flags & NDR_SET_VALUES) {
12256 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12258 if (flags & NDR_IN) {
12259 ndr_print_struct(ndr, "in", "lsa_LSARGENAUDITEVENT");
12260 ndr->depth++;
12261 ndr->depth--;
12263 if (flags & NDR_OUT) {
12264 ndr_print_struct(ndr, "out", "lsa_LSARGENAUDITEVENT");
12265 ndr->depth++;
12266 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12267 ndr->depth--;
12269 ndr->depth--;
12272 static enum ndr_err_code ndr_push_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_push *ndr, int flags, const struct lsa_LSARUNREGISTERAUDITEVENT *r)
12274 if (flags & NDR_IN) {
12276 if (flags & NDR_OUT) {
12277 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12279 return NDR_ERR_SUCCESS;
12282 static enum ndr_err_code ndr_pull_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_pull *ndr, int flags, struct lsa_LSARUNREGISTERAUDITEVENT *r)
12284 if (flags & NDR_IN) {
12286 if (flags & NDR_OUT) {
12287 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12289 return NDR_ERR_SUCCESS;
12292 _PUBLIC_ void ndr_print_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARUNREGISTERAUDITEVENT *r)
12294 ndr_print_struct(ndr, name, "lsa_LSARUNREGISTERAUDITEVENT");
12295 ndr->depth++;
12296 if (flags & NDR_SET_VALUES) {
12297 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12299 if (flags & NDR_IN) {
12300 ndr_print_struct(ndr, "in", "lsa_LSARUNREGISTERAUDITEVENT");
12301 ndr->depth++;
12302 ndr->depth--;
12304 if (flags & NDR_OUT) {
12305 ndr_print_struct(ndr, "out", "lsa_LSARUNREGISTERAUDITEVENT");
12306 ndr->depth++;
12307 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12308 ndr->depth--;
12310 ndr->depth--;
12313 static enum ndr_err_code ndr_push_lsa_lsaRQueryForestTrustInformation(struct ndr_push *ndr, int flags, const struct lsa_lsaRQueryForestTrustInformation *r)
12315 if (flags & NDR_IN) {
12316 if (r->in.handle == NULL) {
12317 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12319 NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
12320 if (r->in.trusted_domain_name == NULL) {
12321 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12323 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain_name));
12324 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.unknown));
12326 if (flags & NDR_OUT) {
12327 if (r->out.forest_trust_info == NULL) {
12328 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12330 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.forest_trust_info));
12331 if (*r->out.forest_trust_info) {
12332 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
12334 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12336 return NDR_ERR_SUCCESS;
12339 static enum ndr_err_code ndr_pull_lsa_lsaRQueryForestTrustInformation(struct ndr_pull *ndr, int flags, struct lsa_lsaRQueryForestTrustInformation *r)
12341 uint32_t _ptr_forest_trust_info;
12342 TALLOC_CTX *_mem_save_handle_0;
12343 TALLOC_CTX *_mem_save_trusted_domain_name_0;
12344 TALLOC_CTX *_mem_save_forest_trust_info_0;
12345 TALLOC_CTX *_mem_save_forest_trust_info_1;
12346 if (flags & NDR_IN) {
12347 ZERO_STRUCT(r->out);
12349 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12350 NDR_PULL_ALLOC(ndr, r->in.handle);
12352 _mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
12353 NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
12354 NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
12355 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
12356 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12357 NDR_PULL_ALLOC(ndr, r->in.trusted_domain_name);
12359 _mem_save_trusted_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
12360 NDR_PULL_SET_MEM_CTX(ndr, r->in.trusted_domain_name, LIBNDR_FLAG_REF_ALLOC);
12361 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.trusted_domain_name));
12362 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_trusted_domain_name_0, LIBNDR_FLAG_REF_ALLOC);
12363 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.unknown));
12364 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
12365 ZERO_STRUCTP(r->out.forest_trust_info);
12367 if (flags & NDR_OUT) {
12368 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12369 NDR_PULL_ALLOC(ndr, r->out.forest_trust_info);
12371 _mem_save_forest_trust_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
12372 NDR_PULL_SET_MEM_CTX(ndr, r->out.forest_trust_info, LIBNDR_FLAG_REF_ALLOC);
12373 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_forest_trust_info));
12374 if (_ptr_forest_trust_info) {
12375 NDR_PULL_ALLOC(ndr, *r->out.forest_trust_info);
12376 } else {
12377 *r->out.forest_trust_info = NULL;
12379 if (*r->out.forest_trust_info) {
12380 _mem_save_forest_trust_info_1 = NDR_PULL_GET_MEM_CTX(ndr);
12381 NDR_PULL_SET_MEM_CTX(ndr, *r->out.forest_trust_info, 0);
12382 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.forest_trust_info));
12383 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_1, 0);
12385 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_forest_trust_info_0, LIBNDR_FLAG_REF_ALLOC);
12386 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12388 return NDR_ERR_SUCCESS;
12391 _PUBLIC_ void ndr_print_lsa_lsaRQueryForestTrustInformation(struct ndr_print *ndr, const char *name, int flags, const struct lsa_lsaRQueryForestTrustInformation *r)
12393 ndr_print_struct(ndr, name, "lsa_lsaRQueryForestTrustInformation");
12394 ndr->depth++;
12395 if (flags & NDR_SET_VALUES) {
12396 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12398 if (flags & NDR_IN) {
12399 ndr_print_struct(ndr, "in", "lsa_lsaRQueryForestTrustInformation");
12400 ndr->depth++;
12401 ndr_print_ptr(ndr, "handle", r->in.handle);
12402 ndr->depth++;
12403 ndr_print_policy_handle(ndr, "handle", r->in.handle);
12404 ndr->depth--;
12405 ndr_print_ptr(ndr, "trusted_domain_name", r->in.trusted_domain_name);
12406 ndr->depth++;
12407 ndr_print_lsa_String(ndr, "trusted_domain_name", r->in.trusted_domain_name);
12408 ndr->depth--;
12409 ndr_print_uint16(ndr, "unknown", r->in.unknown);
12410 ndr->depth--;
12412 if (flags & NDR_OUT) {
12413 ndr_print_struct(ndr, "out", "lsa_lsaRQueryForestTrustInformation");
12414 ndr->depth++;
12415 ndr_print_ptr(ndr, "forest_trust_info", r->out.forest_trust_info);
12416 ndr->depth++;
12417 ndr_print_ptr(ndr, "forest_trust_info", *r->out.forest_trust_info);
12418 ndr->depth++;
12419 if (*r->out.forest_trust_info) {
12420 ndr_print_lsa_ForestTrustInformation(ndr, "forest_trust_info", *r->out.forest_trust_info);
12422 ndr->depth--;
12423 ndr->depth--;
12424 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12425 ndr->depth--;
12427 ndr->depth--;
12430 static enum ndr_err_code ndr_push_lsa_LSARSETFORESTTRUSTINFORMATION(struct ndr_push *ndr, int flags, const struct lsa_LSARSETFORESTTRUSTINFORMATION *r)
12432 if (flags & NDR_IN) {
12434 if (flags & NDR_OUT) {
12435 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12437 return NDR_ERR_SUCCESS;
12440 static enum ndr_err_code ndr_pull_lsa_LSARSETFORESTTRUSTINFORMATION(struct ndr_pull *ndr, int flags, struct lsa_LSARSETFORESTTRUSTINFORMATION *r)
12442 if (flags & NDR_IN) {
12444 if (flags & NDR_OUT) {
12445 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12447 return NDR_ERR_SUCCESS;
12450 _PUBLIC_ void ndr_print_lsa_LSARSETFORESTTRUSTINFORMATION(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARSETFORESTTRUSTINFORMATION *r)
12452 ndr_print_struct(ndr, name, "lsa_LSARSETFORESTTRUSTINFORMATION");
12453 ndr->depth++;
12454 if (flags & NDR_SET_VALUES) {
12455 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12457 if (flags & NDR_IN) {
12458 ndr_print_struct(ndr, "in", "lsa_LSARSETFORESTTRUSTINFORMATION");
12459 ndr->depth++;
12460 ndr->depth--;
12462 if (flags & NDR_OUT) {
12463 ndr_print_struct(ndr, "out", "lsa_LSARSETFORESTTRUSTINFORMATION");
12464 ndr->depth++;
12465 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12466 ndr->depth--;
12468 ndr->depth--;
12471 static enum ndr_err_code ndr_push_lsa_CREDRRENAME(struct ndr_push *ndr, int flags, const struct lsa_CREDRRENAME *r)
12473 if (flags & NDR_IN) {
12475 if (flags & NDR_OUT) {
12476 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12478 return NDR_ERR_SUCCESS;
12481 static enum ndr_err_code ndr_pull_lsa_CREDRRENAME(struct ndr_pull *ndr, int flags, struct lsa_CREDRRENAME *r)
12483 if (flags & NDR_IN) {
12485 if (flags & NDR_OUT) {
12486 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12488 return NDR_ERR_SUCCESS;
12491 _PUBLIC_ void ndr_print_lsa_CREDRRENAME(struct ndr_print *ndr, const char *name, int flags, const struct lsa_CREDRRENAME *r)
12493 ndr_print_struct(ndr, name, "lsa_CREDRRENAME");
12494 ndr->depth++;
12495 if (flags & NDR_SET_VALUES) {
12496 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12498 if (flags & NDR_IN) {
12499 ndr_print_struct(ndr, "in", "lsa_CREDRRENAME");
12500 ndr->depth++;
12501 ndr->depth--;
12503 if (flags & NDR_OUT) {
12504 ndr_print_struct(ndr, "out", "lsa_CREDRRENAME");
12505 ndr->depth++;
12506 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12507 ndr->depth--;
12509 ndr->depth--;
12512 _PUBLIC_ enum ndr_err_code ndr_push_lsa_LookupSids3(struct ndr_push *ndr, int flags, const struct lsa_LookupSids3 *r)
12514 if (flags & NDR_IN) {
12515 if (r->in.sids == NULL) {
12516 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12518 NDR_CHECK(ndr_push_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
12519 if (r->in.names == NULL) {
12520 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12522 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
12523 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
12524 if (r->in.count == NULL) {
12525 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12527 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
12528 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
12529 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
12531 if (flags & NDR_OUT) {
12532 if (r->out.domains == NULL) {
12533 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12535 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains));
12536 if (*r->out.domains) {
12537 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
12539 if (r->out.names == NULL) {
12540 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12542 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
12543 if (r->out.count == NULL) {
12544 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12546 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
12547 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12549 return NDR_ERR_SUCCESS;
12552 _PUBLIC_ enum ndr_err_code ndr_pull_lsa_LookupSids3(struct ndr_pull *ndr, int flags, struct lsa_LookupSids3 *r)
12554 uint32_t _ptr_domains;
12555 TALLOC_CTX *_mem_save_sids_0;
12556 TALLOC_CTX *_mem_save_domains_0;
12557 TALLOC_CTX *_mem_save_domains_1;
12558 TALLOC_CTX *_mem_save_names_0;
12559 TALLOC_CTX *_mem_save_count_0;
12560 if (flags & NDR_IN) {
12561 ZERO_STRUCT(r->out);
12563 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12564 NDR_PULL_ALLOC(ndr, r->in.sids);
12566 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
12567 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
12568 NDR_CHECK(ndr_pull_lsa_SidArray(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
12569 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
12570 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12571 NDR_PULL_ALLOC(ndr, r->in.names);
12573 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
12574 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, LIBNDR_FLAG_REF_ALLOC);
12575 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.names));
12576 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
12577 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
12578 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12579 NDR_PULL_ALLOC(ndr, r->in.count);
12581 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
12582 NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
12583 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
12584 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
12585 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
12586 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
12587 NDR_PULL_ALLOC(ndr, r->out.domains);
12588 ZERO_STRUCTP(r->out.domains);
12589 NDR_PULL_ALLOC(ndr, r->out.names);
12590 *r->out.names = *r->in.names;
12591 NDR_PULL_ALLOC(ndr, r->out.count);
12592 *r->out.count = *r->in.count;
12594 if (flags & NDR_OUT) {
12595 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12596 NDR_PULL_ALLOC(ndr, r->out.domains);
12598 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
12599 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
12600 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
12601 if (_ptr_domains) {
12602 NDR_PULL_ALLOC(ndr, *r->out.domains);
12603 } else {
12604 *r->out.domains = NULL;
12606 if (*r->out.domains) {
12607 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
12608 NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0);
12609 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
12610 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
12612 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
12613 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12614 NDR_PULL_ALLOC(ndr, r->out.names);
12616 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
12617 NDR_PULL_SET_MEM_CTX(ndr, r->out.names, LIBNDR_FLAG_REF_ALLOC);
12618 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.names));
12619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, LIBNDR_FLAG_REF_ALLOC);
12620 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12621 NDR_PULL_ALLOC(ndr, r->out.count);
12623 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
12624 NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
12625 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
12626 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
12627 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12629 return NDR_ERR_SUCCESS;
12632 _PUBLIC_ void ndr_print_lsa_LookupSids3(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupSids3 *r)
12634 ndr_print_struct(ndr, name, "lsa_LookupSids3");
12635 ndr->depth++;
12636 if (flags & NDR_SET_VALUES) {
12637 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12639 if (flags & NDR_IN) {
12640 ndr_print_struct(ndr, "in", "lsa_LookupSids3");
12641 ndr->depth++;
12642 ndr_print_ptr(ndr, "sids", r->in.sids);
12643 ndr->depth++;
12644 ndr_print_lsa_SidArray(ndr, "sids", r->in.sids);
12645 ndr->depth--;
12646 ndr_print_ptr(ndr, "names", r->in.names);
12647 ndr->depth++;
12648 ndr_print_lsa_TransNameArray2(ndr, "names", r->in.names);
12649 ndr->depth--;
12650 ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
12651 ndr_print_ptr(ndr, "count", r->in.count);
12652 ndr->depth++;
12653 ndr_print_uint32(ndr, "count", *r->in.count);
12654 ndr->depth--;
12655 ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
12656 ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
12657 ndr->depth--;
12659 if (flags & NDR_OUT) {
12660 ndr_print_struct(ndr, "out", "lsa_LookupSids3");
12661 ndr->depth++;
12662 ndr_print_ptr(ndr, "domains", r->out.domains);
12663 ndr->depth++;
12664 ndr_print_ptr(ndr, "domains", *r->out.domains);
12665 ndr->depth++;
12666 if (*r->out.domains) {
12667 ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains);
12669 ndr->depth--;
12670 ndr->depth--;
12671 ndr_print_ptr(ndr, "names", r->out.names);
12672 ndr->depth++;
12673 ndr_print_lsa_TransNameArray2(ndr, "names", r->out.names);
12674 ndr->depth--;
12675 ndr_print_ptr(ndr, "count", r->out.count);
12676 ndr->depth++;
12677 ndr_print_uint32(ndr, "count", *r->out.count);
12678 ndr->depth--;
12679 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12680 ndr->depth--;
12682 ndr->depth--;
12685 static enum ndr_err_code ndr_push_lsa_LookupNames4(struct ndr_push *ndr, int flags, const struct lsa_LookupNames4 *r)
12687 uint32_t cntr_names_0;
12688 if (flags & NDR_IN) {
12689 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_names));
12690 NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.num_names));
12691 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
12692 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
12694 for (cntr_names_0 = 0; cntr_names_0 < r->in.num_names; cntr_names_0++) {
12695 NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
12697 if (r->in.sids == NULL) {
12698 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12700 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
12701 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr, NDR_SCALARS, r->in.level));
12702 if (r->in.count == NULL) {
12703 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12705 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.count));
12706 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr, NDR_SCALARS, r->in.lookup_options));
12707 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr, NDR_SCALARS, r->in.client_revision));
12709 if (flags & NDR_OUT) {
12710 if (r->out.domains == NULL) {
12711 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12713 NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domains));
12714 if (*r->out.domains) {
12715 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
12717 if (r->out.sids == NULL) {
12718 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12720 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
12721 if (r->out.count == NULL) {
12722 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
12724 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.count));
12725 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12727 return NDR_ERR_SUCCESS;
12730 static enum ndr_err_code ndr_pull_lsa_LookupNames4(struct ndr_pull *ndr, int flags, struct lsa_LookupNames4 *r)
12732 uint32_t size_names_0 = 0;
12733 uint32_t cntr_names_0;
12734 uint32_t _ptr_domains;
12735 TALLOC_CTX *_mem_save_names_0;
12736 TALLOC_CTX *_mem_save_domains_0;
12737 TALLOC_CTX *_mem_save_domains_1;
12738 TALLOC_CTX *_mem_save_sids_0;
12739 TALLOC_CTX *_mem_save_count_0;
12740 if (flags & NDR_IN) {
12741 ZERO_STRUCT(r->out);
12743 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_names));
12744 if (r->in.num_names > 1000) {
12745 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
12747 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.names));
12748 size_names_0 = ndr_get_array_size(ndr, &r->in.names);
12749 NDR_PULL_ALLOC_N(ndr, r->in.names, size_names_0);
12750 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
12751 NDR_PULL_SET_MEM_CTX(ndr, r->in.names, 0);
12752 for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
12753 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->in.names[cntr_names_0]));
12755 for (cntr_names_0 = 0; cntr_names_0 < size_names_0; cntr_names_0++) {
12756 NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->in.names[cntr_names_0]));
12758 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
12759 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12760 NDR_PULL_ALLOC(ndr, r->in.sids);
12762 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
12763 NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC);
12764 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sids));
12765 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
12766 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr, NDR_SCALARS, &r->in.level));
12767 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12768 NDR_PULL_ALLOC(ndr, r->in.count);
12770 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
12771 NDR_PULL_SET_MEM_CTX(ndr, r->in.count, LIBNDR_FLAG_REF_ALLOC);
12772 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.count));
12773 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
12774 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr, NDR_SCALARS, &r->in.lookup_options));
12775 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr, NDR_SCALARS, &r->in.client_revision));
12776 NDR_PULL_ALLOC(ndr, r->out.domains);
12777 ZERO_STRUCTP(r->out.domains);
12778 NDR_PULL_ALLOC(ndr, r->out.sids);
12779 *r->out.sids = *r->in.sids;
12780 NDR_PULL_ALLOC(ndr, r->out.count);
12781 *r->out.count = *r->in.count;
12782 if (r->in.names) {
12783 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.names, r->in.num_names));
12786 if (flags & NDR_OUT) {
12787 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12788 NDR_PULL_ALLOC(ndr, r->out.domains);
12790 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
12791 NDR_PULL_SET_MEM_CTX(ndr, r->out.domains, LIBNDR_FLAG_REF_ALLOC);
12792 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domains));
12793 if (_ptr_domains) {
12794 NDR_PULL_ALLOC(ndr, *r->out.domains);
12795 } else {
12796 *r->out.domains = NULL;
12798 if (*r->out.domains) {
12799 _mem_save_domains_1 = NDR_PULL_GET_MEM_CTX(ndr);
12800 NDR_PULL_SET_MEM_CTX(ndr, *r->out.domains, 0);
12801 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr, NDR_SCALARS|NDR_BUFFERS, *r->out.domains));
12802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_1, 0);
12804 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, LIBNDR_FLAG_REF_ALLOC);
12805 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12806 NDR_PULL_ALLOC(ndr, r->out.sids);
12808 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
12809 NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC);
12810 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sids));
12811 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC);
12812 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
12813 NDR_PULL_ALLOC(ndr, r->out.count);
12815 _mem_save_count_0 = NDR_PULL_GET_MEM_CTX(ndr);
12816 NDR_PULL_SET_MEM_CTX(ndr, r->out.count, LIBNDR_FLAG_REF_ALLOC);
12817 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.count));
12818 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_count_0, LIBNDR_FLAG_REF_ALLOC);
12819 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12821 return NDR_ERR_SUCCESS;
12824 _PUBLIC_ void ndr_print_lsa_LookupNames4(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LookupNames4 *r)
12826 uint32_t cntr_names_0;
12827 ndr_print_struct(ndr, name, "lsa_LookupNames4");
12828 ndr->depth++;
12829 if (flags & NDR_SET_VALUES) {
12830 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12832 if (flags & NDR_IN) {
12833 ndr_print_struct(ndr, "in", "lsa_LookupNames4");
12834 ndr->depth++;
12835 ndr_print_uint32(ndr, "num_names", r->in.num_names);
12836 ndr->print(ndr, "%s: ARRAY(%d)", "names", (int)r->in.num_names);
12837 ndr->depth++;
12838 for (cntr_names_0=0;cntr_names_0<r->in.num_names;cntr_names_0++) {
12839 char *idx_0=NULL;
12840 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
12841 ndr_print_lsa_String(ndr, "names", &r->in.names[cntr_names_0]);
12842 free(idx_0);
12845 ndr->depth--;
12846 ndr_print_ptr(ndr, "sids", r->in.sids);
12847 ndr->depth++;
12848 ndr_print_lsa_TransSidArray3(ndr, "sids", r->in.sids);
12849 ndr->depth--;
12850 ndr_print_lsa_LookupNamesLevel(ndr, "level", r->in.level);
12851 ndr_print_ptr(ndr, "count", r->in.count);
12852 ndr->depth++;
12853 ndr_print_uint32(ndr, "count", *r->in.count);
12854 ndr->depth--;
12855 ndr_print_lsa_LookupOptions(ndr, "lookup_options", r->in.lookup_options);
12856 ndr_print_lsa_ClientRevision(ndr, "client_revision", r->in.client_revision);
12857 ndr->depth--;
12859 if (flags & NDR_OUT) {
12860 ndr_print_struct(ndr, "out", "lsa_LookupNames4");
12861 ndr->depth++;
12862 ndr_print_ptr(ndr, "domains", r->out.domains);
12863 ndr->depth++;
12864 ndr_print_ptr(ndr, "domains", *r->out.domains);
12865 ndr->depth++;
12866 if (*r->out.domains) {
12867 ndr_print_lsa_RefDomainList(ndr, "domains", *r->out.domains);
12869 ndr->depth--;
12870 ndr->depth--;
12871 ndr_print_ptr(ndr, "sids", r->out.sids);
12872 ndr->depth++;
12873 ndr_print_lsa_TransSidArray3(ndr, "sids", r->out.sids);
12874 ndr->depth--;
12875 ndr_print_ptr(ndr, "count", r->out.count);
12876 ndr->depth++;
12877 ndr_print_uint32(ndr, "count", *r->out.count);
12878 ndr->depth--;
12879 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12880 ndr->depth--;
12882 ndr->depth--;
12885 static enum ndr_err_code ndr_push_lsa_LSAROPENPOLICYSCE(struct ndr_push *ndr, int flags, const struct lsa_LSAROPENPOLICYSCE *r)
12887 if (flags & NDR_IN) {
12889 if (flags & NDR_OUT) {
12890 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12892 return NDR_ERR_SUCCESS;
12895 static enum ndr_err_code ndr_pull_lsa_LSAROPENPOLICYSCE(struct ndr_pull *ndr, int flags, struct lsa_LSAROPENPOLICYSCE *r)
12897 if (flags & NDR_IN) {
12899 if (flags & NDR_OUT) {
12900 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12902 return NDR_ERR_SUCCESS;
12905 _PUBLIC_ void ndr_print_lsa_LSAROPENPOLICYSCE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSAROPENPOLICYSCE *r)
12907 ndr_print_struct(ndr, name, "lsa_LSAROPENPOLICYSCE");
12908 ndr->depth++;
12909 if (flags & NDR_SET_VALUES) {
12910 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12912 if (flags & NDR_IN) {
12913 ndr_print_struct(ndr, "in", "lsa_LSAROPENPOLICYSCE");
12914 ndr->depth++;
12915 ndr->depth--;
12917 if (flags & NDR_OUT) {
12918 ndr_print_struct(ndr, "out", "lsa_LSAROPENPOLICYSCE");
12919 ndr->depth++;
12920 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12921 ndr->depth--;
12923 ndr->depth--;
12926 static enum ndr_err_code ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_push *ndr, int flags, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r)
12928 if (flags & NDR_IN) {
12930 if (flags & NDR_OUT) {
12931 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12933 return NDR_ERR_SUCCESS;
12936 static enum ndr_err_code ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_pull *ndr, int flags, struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r)
12938 if (flags & NDR_IN) {
12940 if (flags & NDR_OUT) {
12941 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12943 return NDR_ERR_SUCCESS;
12946 _PUBLIC_ void ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE *r)
12948 ndr_print_struct(ndr, name, "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
12949 ndr->depth++;
12950 if (flags & NDR_SET_VALUES) {
12951 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12953 if (flags & NDR_IN) {
12954 ndr_print_struct(ndr, "in", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
12955 ndr->depth++;
12956 ndr->depth--;
12958 if (flags & NDR_OUT) {
12959 ndr_print_struct(ndr, "out", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
12960 ndr->depth++;
12961 ndr_print_NTSTATUS(ndr, "result", r->out.result);
12962 ndr->depth--;
12964 ndr->depth--;
12967 static enum ndr_err_code ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_push *ndr, int flags, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r)
12969 if (flags & NDR_IN) {
12971 if (flags & NDR_OUT) {
12972 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
12974 return NDR_ERR_SUCCESS;
12977 static enum ndr_err_code ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_pull *ndr, int flags, struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r)
12979 if (flags & NDR_IN) {
12981 if (flags & NDR_OUT) {
12982 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
12984 return NDR_ERR_SUCCESS;
12987 _PUBLIC_ void ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE *r)
12989 ndr_print_struct(ndr, name, "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
12990 ndr->depth++;
12991 if (flags & NDR_SET_VALUES) {
12992 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
12994 if (flags & NDR_IN) {
12995 ndr_print_struct(ndr, "in", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
12996 ndr->depth++;
12997 ndr->depth--;
12999 if (flags & NDR_OUT) {
13000 ndr_print_struct(ndr, "out", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
13001 ndr->depth++;
13002 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13003 ndr->depth--;
13005 ndr->depth--;
13008 static enum ndr_err_code ndr_push_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_push *ndr, int flags, const struct lsa_LSARADTREPORTSECURITYEVENT *r)
13010 if (flags & NDR_IN) {
13012 if (flags & NDR_OUT) {
13013 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result));
13015 return NDR_ERR_SUCCESS;
13018 static enum ndr_err_code ndr_pull_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_pull *ndr, int flags, struct lsa_LSARADTREPORTSECURITYEVENT *r)
13020 if (flags & NDR_IN) {
13022 if (flags & NDR_OUT) {
13023 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result));
13025 return NDR_ERR_SUCCESS;
13028 _PUBLIC_ void ndr_print_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_print *ndr, const char *name, int flags, const struct lsa_LSARADTREPORTSECURITYEVENT *r)
13030 ndr_print_struct(ndr, name, "lsa_LSARADTREPORTSECURITYEVENT");
13031 ndr->depth++;
13032 if (flags & NDR_SET_VALUES) {
13033 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
13035 if (flags & NDR_IN) {
13036 ndr_print_struct(ndr, "in", "lsa_LSARADTREPORTSECURITYEVENT");
13037 ndr->depth++;
13038 ndr->depth--;
13040 if (flags & NDR_OUT) {
13041 ndr_print_struct(ndr, "out", "lsa_LSARADTREPORTSECURITYEVENT");
13042 ndr->depth++;
13043 ndr_print_NTSTATUS(ndr, "result", r->out.result);
13044 ndr->depth--;
13046 ndr->depth--;
13049 static const struct ndr_interface_call lsarpc_calls[] = {
13051 "lsa_Close",
13052 sizeof(struct lsa_Close),
13053 (ndr_push_flags_fn_t) ndr_push_lsa_Close,
13054 (ndr_pull_flags_fn_t) ndr_pull_lsa_Close,
13055 (ndr_print_function_t) ndr_print_lsa_Close,
13056 false,
13059 "lsa_Delete",
13060 sizeof(struct lsa_Delete),
13061 (ndr_push_flags_fn_t) ndr_push_lsa_Delete,
13062 (ndr_pull_flags_fn_t) ndr_pull_lsa_Delete,
13063 (ndr_print_function_t) ndr_print_lsa_Delete,
13064 false,
13067 "lsa_EnumPrivs",
13068 sizeof(struct lsa_EnumPrivs),
13069 (ndr_push_flags_fn_t) ndr_push_lsa_EnumPrivs,
13070 (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumPrivs,
13071 (ndr_print_function_t) ndr_print_lsa_EnumPrivs,
13072 false,
13075 "lsa_QuerySecurity",
13076 sizeof(struct lsa_QuerySecurity),
13077 (ndr_push_flags_fn_t) ndr_push_lsa_QuerySecurity,
13078 (ndr_pull_flags_fn_t) ndr_pull_lsa_QuerySecurity,
13079 (ndr_print_function_t) ndr_print_lsa_QuerySecurity,
13080 false,
13083 "lsa_SetSecObj",
13084 sizeof(struct lsa_SetSecObj),
13085 (ndr_push_flags_fn_t) ndr_push_lsa_SetSecObj,
13086 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetSecObj,
13087 (ndr_print_function_t) ndr_print_lsa_SetSecObj,
13088 false,
13091 "lsa_ChangePassword",
13092 sizeof(struct lsa_ChangePassword),
13093 (ndr_push_flags_fn_t) ndr_push_lsa_ChangePassword,
13094 (ndr_pull_flags_fn_t) ndr_pull_lsa_ChangePassword,
13095 (ndr_print_function_t) ndr_print_lsa_ChangePassword,
13096 false,
13099 "lsa_OpenPolicy",
13100 sizeof(struct lsa_OpenPolicy),
13101 (ndr_push_flags_fn_t) ndr_push_lsa_OpenPolicy,
13102 (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenPolicy,
13103 (ndr_print_function_t) ndr_print_lsa_OpenPolicy,
13104 false,
13107 "lsa_QueryInfoPolicy",
13108 sizeof(struct lsa_QueryInfoPolicy),
13109 (ndr_push_flags_fn_t) ndr_push_lsa_QueryInfoPolicy,
13110 (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryInfoPolicy,
13111 (ndr_print_function_t) ndr_print_lsa_QueryInfoPolicy,
13112 false,
13115 "lsa_SetInfoPolicy",
13116 sizeof(struct lsa_SetInfoPolicy),
13117 (ndr_push_flags_fn_t) ndr_push_lsa_SetInfoPolicy,
13118 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetInfoPolicy,
13119 (ndr_print_function_t) ndr_print_lsa_SetInfoPolicy,
13120 false,
13123 "lsa_ClearAuditLog",
13124 sizeof(struct lsa_ClearAuditLog),
13125 (ndr_push_flags_fn_t) ndr_push_lsa_ClearAuditLog,
13126 (ndr_pull_flags_fn_t) ndr_pull_lsa_ClearAuditLog,
13127 (ndr_print_function_t) ndr_print_lsa_ClearAuditLog,
13128 false,
13131 "lsa_CreateAccount",
13132 sizeof(struct lsa_CreateAccount),
13133 (ndr_push_flags_fn_t) ndr_push_lsa_CreateAccount,
13134 (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateAccount,
13135 (ndr_print_function_t) ndr_print_lsa_CreateAccount,
13136 false,
13139 "lsa_EnumAccounts",
13140 sizeof(struct lsa_EnumAccounts),
13141 (ndr_push_flags_fn_t) ndr_push_lsa_EnumAccounts,
13142 (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumAccounts,
13143 (ndr_print_function_t) ndr_print_lsa_EnumAccounts,
13144 false,
13147 "lsa_CreateTrustedDomain",
13148 sizeof(struct lsa_CreateTrustedDomain),
13149 (ndr_push_flags_fn_t) ndr_push_lsa_CreateTrustedDomain,
13150 (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateTrustedDomain,
13151 (ndr_print_function_t) ndr_print_lsa_CreateTrustedDomain,
13152 false,
13155 "lsa_EnumTrustDom",
13156 sizeof(struct lsa_EnumTrustDom),
13157 (ndr_push_flags_fn_t) ndr_push_lsa_EnumTrustDom,
13158 (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumTrustDom,
13159 (ndr_print_function_t) ndr_print_lsa_EnumTrustDom,
13160 false,
13163 "lsa_LookupNames",
13164 sizeof(struct lsa_LookupNames),
13165 (ndr_push_flags_fn_t) ndr_push_lsa_LookupNames,
13166 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupNames,
13167 (ndr_print_function_t) ndr_print_lsa_LookupNames,
13168 false,
13171 "lsa_LookupSids",
13172 sizeof(struct lsa_LookupSids),
13173 (ndr_push_flags_fn_t) ndr_push_lsa_LookupSids,
13174 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupSids,
13175 (ndr_print_function_t) ndr_print_lsa_LookupSids,
13176 false,
13179 "lsa_CreateSecret",
13180 sizeof(struct lsa_CreateSecret),
13181 (ndr_push_flags_fn_t) ndr_push_lsa_CreateSecret,
13182 (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateSecret,
13183 (ndr_print_function_t) ndr_print_lsa_CreateSecret,
13184 false,
13187 "lsa_OpenAccount",
13188 sizeof(struct lsa_OpenAccount),
13189 (ndr_push_flags_fn_t) ndr_push_lsa_OpenAccount,
13190 (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenAccount,
13191 (ndr_print_function_t) ndr_print_lsa_OpenAccount,
13192 false,
13195 "lsa_EnumPrivsAccount",
13196 sizeof(struct lsa_EnumPrivsAccount),
13197 (ndr_push_flags_fn_t) ndr_push_lsa_EnumPrivsAccount,
13198 (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumPrivsAccount,
13199 (ndr_print_function_t) ndr_print_lsa_EnumPrivsAccount,
13200 false,
13203 "lsa_AddPrivilegesToAccount",
13204 sizeof(struct lsa_AddPrivilegesToAccount),
13205 (ndr_push_flags_fn_t) ndr_push_lsa_AddPrivilegesToAccount,
13206 (ndr_pull_flags_fn_t) ndr_pull_lsa_AddPrivilegesToAccount,
13207 (ndr_print_function_t) ndr_print_lsa_AddPrivilegesToAccount,
13208 false,
13211 "lsa_RemovePrivilegesFromAccount",
13212 sizeof(struct lsa_RemovePrivilegesFromAccount),
13213 (ndr_push_flags_fn_t) ndr_push_lsa_RemovePrivilegesFromAccount,
13214 (ndr_pull_flags_fn_t) ndr_pull_lsa_RemovePrivilegesFromAccount,
13215 (ndr_print_function_t) ndr_print_lsa_RemovePrivilegesFromAccount,
13216 false,
13219 "lsa_GetQuotasForAccount",
13220 sizeof(struct lsa_GetQuotasForAccount),
13221 (ndr_push_flags_fn_t) ndr_push_lsa_GetQuotasForAccount,
13222 (ndr_pull_flags_fn_t) ndr_pull_lsa_GetQuotasForAccount,
13223 (ndr_print_function_t) ndr_print_lsa_GetQuotasForAccount,
13224 false,
13227 "lsa_SetQuotasForAccount",
13228 sizeof(struct lsa_SetQuotasForAccount),
13229 (ndr_push_flags_fn_t) ndr_push_lsa_SetQuotasForAccount,
13230 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetQuotasForAccount,
13231 (ndr_print_function_t) ndr_print_lsa_SetQuotasForAccount,
13232 false,
13235 "lsa_GetSystemAccessAccount",
13236 sizeof(struct lsa_GetSystemAccessAccount),
13237 (ndr_push_flags_fn_t) ndr_push_lsa_GetSystemAccessAccount,
13238 (ndr_pull_flags_fn_t) ndr_pull_lsa_GetSystemAccessAccount,
13239 (ndr_print_function_t) ndr_print_lsa_GetSystemAccessAccount,
13240 false,
13243 "lsa_SetSystemAccessAccount",
13244 sizeof(struct lsa_SetSystemAccessAccount),
13245 (ndr_push_flags_fn_t) ndr_push_lsa_SetSystemAccessAccount,
13246 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetSystemAccessAccount,
13247 (ndr_print_function_t) ndr_print_lsa_SetSystemAccessAccount,
13248 false,
13251 "lsa_OpenTrustedDomain",
13252 sizeof(struct lsa_OpenTrustedDomain),
13253 (ndr_push_flags_fn_t) ndr_push_lsa_OpenTrustedDomain,
13254 (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenTrustedDomain,
13255 (ndr_print_function_t) ndr_print_lsa_OpenTrustedDomain,
13256 false,
13259 "lsa_QueryTrustedDomainInfo",
13260 sizeof(struct lsa_QueryTrustedDomainInfo),
13261 (ndr_push_flags_fn_t) ndr_push_lsa_QueryTrustedDomainInfo,
13262 (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryTrustedDomainInfo,
13263 (ndr_print_function_t) ndr_print_lsa_QueryTrustedDomainInfo,
13264 false,
13267 "lsa_SetInformationTrustedDomain",
13268 sizeof(struct lsa_SetInformationTrustedDomain),
13269 (ndr_push_flags_fn_t) ndr_push_lsa_SetInformationTrustedDomain,
13270 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetInformationTrustedDomain,
13271 (ndr_print_function_t) ndr_print_lsa_SetInformationTrustedDomain,
13272 false,
13275 "lsa_OpenSecret",
13276 sizeof(struct lsa_OpenSecret),
13277 (ndr_push_flags_fn_t) ndr_push_lsa_OpenSecret,
13278 (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenSecret,
13279 (ndr_print_function_t) ndr_print_lsa_OpenSecret,
13280 false,
13283 "lsa_SetSecret",
13284 sizeof(struct lsa_SetSecret),
13285 (ndr_push_flags_fn_t) ndr_push_lsa_SetSecret,
13286 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetSecret,
13287 (ndr_print_function_t) ndr_print_lsa_SetSecret,
13288 false,
13291 "lsa_QuerySecret",
13292 sizeof(struct lsa_QuerySecret),
13293 (ndr_push_flags_fn_t) ndr_push_lsa_QuerySecret,
13294 (ndr_pull_flags_fn_t) ndr_pull_lsa_QuerySecret,
13295 (ndr_print_function_t) ndr_print_lsa_QuerySecret,
13296 false,
13299 "lsa_LookupPrivValue",
13300 sizeof(struct lsa_LookupPrivValue),
13301 (ndr_push_flags_fn_t) ndr_push_lsa_LookupPrivValue,
13302 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupPrivValue,
13303 (ndr_print_function_t) ndr_print_lsa_LookupPrivValue,
13304 false,
13307 "lsa_LookupPrivName",
13308 sizeof(struct lsa_LookupPrivName),
13309 (ndr_push_flags_fn_t) ndr_push_lsa_LookupPrivName,
13310 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupPrivName,
13311 (ndr_print_function_t) ndr_print_lsa_LookupPrivName,
13312 false,
13315 "lsa_LookupPrivDisplayName",
13316 sizeof(struct lsa_LookupPrivDisplayName),
13317 (ndr_push_flags_fn_t) ndr_push_lsa_LookupPrivDisplayName,
13318 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupPrivDisplayName,
13319 (ndr_print_function_t) ndr_print_lsa_LookupPrivDisplayName,
13320 false,
13323 "lsa_DeleteObject",
13324 sizeof(struct lsa_DeleteObject),
13325 (ndr_push_flags_fn_t) ndr_push_lsa_DeleteObject,
13326 (ndr_pull_flags_fn_t) ndr_pull_lsa_DeleteObject,
13327 (ndr_print_function_t) ndr_print_lsa_DeleteObject,
13328 false,
13331 "lsa_EnumAccountsWithUserRight",
13332 sizeof(struct lsa_EnumAccountsWithUserRight),
13333 (ndr_push_flags_fn_t) ndr_push_lsa_EnumAccountsWithUserRight,
13334 (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumAccountsWithUserRight,
13335 (ndr_print_function_t) ndr_print_lsa_EnumAccountsWithUserRight,
13336 false,
13339 "lsa_EnumAccountRights",
13340 sizeof(struct lsa_EnumAccountRights),
13341 (ndr_push_flags_fn_t) ndr_push_lsa_EnumAccountRights,
13342 (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumAccountRights,
13343 (ndr_print_function_t) ndr_print_lsa_EnumAccountRights,
13344 false,
13347 "lsa_AddAccountRights",
13348 sizeof(struct lsa_AddAccountRights),
13349 (ndr_push_flags_fn_t) ndr_push_lsa_AddAccountRights,
13350 (ndr_pull_flags_fn_t) ndr_pull_lsa_AddAccountRights,
13351 (ndr_print_function_t) ndr_print_lsa_AddAccountRights,
13352 false,
13355 "lsa_RemoveAccountRights",
13356 sizeof(struct lsa_RemoveAccountRights),
13357 (ndr_push_flags_fn_t) ndr_push_lsa_RemoveAccountRights,
13358 (ndr_pull_flags_fn_t) ndr_pull_lsa_RemoveAccountRights,
13359 (ndr_print_function_t) ndr_print_lsa_RemoveAccountRights,
13360 false,
13363 "lsa_QueryTrustedDomainInfoBySid",
13364 sizeof(struct lsa_QueryTrustedDomainInfoBySid),
13365 (ndr_push_flags_fn_t) ndr_push_lsa_QueryTrustedDomainInfoBySid,
13366 (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryTrustedDomainInfoBySid,
13367 (ndr_print_function_t) ndr_print_lsa_QueryTrustedDomainInfoBySid,
13368 false,
13371 "lsa_SetTrustedDomainInfo",
13372 sizeof(struct lsa_SetTrustedDomainInfo),
13373 (ndr_push_flags_fn_t) ndr_push_lsa_SetTrustedDomainInfo,
13374 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetTrustedDomainInfo,
13375 (ndr_print_function_t) ndr_print_lsa_SetTrustedDomainInfo,
13376 false,
13379 "lsa_DeleteTrustedDomain",
13380 sizeof(struct lsa_DeleteTrustedDomain),
13381 (ndr_push_flags_fn_t) ndr_push_lsa_DeleteTrustedDomain,
13382 (ndr_pull_flags_fn_t) ndr_pull_lsa_DeleteTrustedDomain,
13383 (ndr_print_function_t) ndr_print_lsa_DeleteTrustedDomain,
13384 false,
13387 "lsa_StorePrivateData",
13388 sizeof(struct lsa_StorePrivateData),
13389 (ndr_push_flags_fn_t) ndr_push_lsa_StorePrivateData,
13390 (ndr_pull_flags_fn_t) ndr_pull_lsa_StorePrivateData,
13391 (ndr_print_function_t) ndr_print_lsa_StorePrivateData,
13392 false,
13395 "lsa_RetrievePrivateData",
13396 sizeof(struct lsa_RetrievePrivateData),
13397 (ndr_push_flags_fn_t) ndr_push_lsa_RetrievePrivateData,
13398 (ndr_pull_flags_fn_t) ndr_pull_lsa_RetrievePrivateData,
13399 (ndr_print_function_t) ndr_print_lsa_RetrievePrivateData,
13400 false,
13403 "lsa_OpenPolicy2",
13404 sizeof(struct lsa_OpenPolicy2),
13405 (ndr_push_flags_fn_t) ndr_push_lsa_OpenPolicy2,
13406 (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenPolicy2,
13407 (ndr_print_function_t) ndr_print_lsa_OpenPolicy2,
13408 false,
13411 "lsa_GetUserName",
13412 sizeof(struct lsa_GetUserName),
13413 (ndr_push_flags_fn_t) ndr_push_lsa_GetUserName,
13414 (ndr_pull_flags_fn_t) ndr_pull_lsa_GetUserName,
13415 (ndr_print_function_t) ndr_print_lsa_GetUserName,
13416 false,
13419 "lsa_QueryInfoPolicy2",
13420 sizeof(struct lsa_QueryInfoPolicy2),
13421 (ndr_push_flags_fn_t) ndr_push_lsa_QueryInfoPolicy2,
13422 (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryInfoPolicy2,
13423 (ndr_print_function_t) ndr_print_lsa_QueryInfoPolicy2,
13424 false,
13427 "lsa_SetInfoPolicy2",
13428 sizeof(struct lsa_SetInfoPolicy2),
13429 (ndr_push_flags_fn_t) ndr_push_lsa_SetInfoPolicy2,
13430 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetInfoPolicy2,
13431 (ndr_print_function_t) ndr_print_lsa_SetInfoPolicy2,
13432 false,
13435 "lsa_QueryTrustedDomainInfoByName",
13436 sizeof(struct lsa_QueryTrustedDomainInfoByName),
13437 (ndr_push_flags_fn_t) ndr_push_lsa_QueryTrustedDomainInfoByName,
13438 (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryTrustedDomainInfoByName,
13439 (ndr_print_function_t) ndr_print_lsa_QueryTrustedDomainInfoByName,
13440 false,
13443 "lsa_SetTrustedDomainInfoByName",
13444 sizeof(struct lsa_SetTrustedDomainInfoByName),
13445 (ndr_push_flags_fn_t) ndr_push_lsa_SetTrustedDomainInfoByName,
13446 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetTrustedDomainInfoByName,
13447 (ndr_print_function_t) ndr_print_lsa_SetTrustedDomainInfoByName,
13448 false,
13451 "lsa_EnumTrustedDomainsEx",
13452 sizeof(struct lsa_EnumTrustedDomainsEx),
13453 (ndr_push_flags_fn_t) ndr_push_lsa_EnumTrustedDomainsEx,
13454 (ndr_pull_flags_fn_t) ndr_pull_lsa_EnumTrustedDomainsEx,
13455 (ndr_print_function_t) ndr_print_lsa_EnumTrustedDomainsEx,
13456 false,
13459 "lsa_CreateTrustedDomainEx",
13460 sizeof(struct lsa_CreateTrustedDomainEx),
13461 (ndr_push_flags_fn_t) ndr_push_lsa_CreateTrustedDomainEx,
13462 (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateTrustedDomainEx,
13463 (ndr_print_function_t) ndr_print_lsa_CreateTrustedDomainEx,
13464 false,
13467 "lsa_CloseTrustedDomainEx",
13468 sizeof(struct lsa_CloseTrustedDomainEx),
13469 (ndr_push_flags_fn_t) ndr_push_lsa_CloseTrustedDomainEx,
13470 (ndr_pull_flags_fn_t) ndr_pull_lsa_CloseTrustedDomainEx,
13471 (ndr_print_function_t) ndr_print_lsa_CloseTrustedDomainEx,
13472 false,
13475 "lsa_QueryDomainInformationPolicy",
13476 sizeof(struct lsa_QueryDomainInformationPolicy),
13477 (ndr_push_flags_fn_t) ndr_push_lsa_QueryDomainInformationPolicy,
13478 (ndr_pull_flags_fn_t) ndr_pull_lsa_QueryDomainInformationPolicy,
13479 (ndr_print_function_t) ndr_print_lsa_QueryDomainInformationPolicy,
13480 false,
13483 "lsa_SetDomainInformationPolicy",
13484 sizeof(struct lsa_SetDomainInformationPolicy),
13485 (ndr_push_flags_fn_t) ndr_push_lsa_SetDomainInformationPolicy,
13486 (ndr_pull_flags_fn_t) ndr_pull_lsa_SetDomainInformationPolicy,
13487 (ndr_print_function_t) ndr_print_lsa_SetDomainInformationPolicy,
13488 false,
13491 "lsa_OpenTrustedDomainByName",
13492 sizeof(struct lsa_OpenTrustedDomainByName),
13493 (ndr_push_flags_fn_t) ndr_push_lsa_OpenTrustedDomainByName,
13494 (ndr_pull_flags_fn_t) ndr_pull_lsa_OpenTrustedDomainByName,
13495 (ndr_print_function_t) ndr_print_lsa_OpenTrustedDomainByName,
13496 false,
13499 "lsa_TestCall",
13500 sizeof(struct lsa_TestCall),
13501 (ndr_push_flags_fn_t) ndr_push_lsa_TestCall,
13502 (ndr_pull_flags_fn_t) ndr_pull_lsa_TestCall,
13503 (ndr_print_function_t) ndr_print_lsa_TestCall,
13504 false,
13507 "lsa_LookupSids2",
13508 sizeof(struct lsa_LookupSids2),
13509 (ndr_push_flags_fn_t) ndr_push_lsa_LookupSids2,
13510 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupSids2,
13511 (ndr_print_function_t) ndr_print_lsa_LookupSids2,
13512 false,
13515 "lsa_LookupNames2",
13516 sizeof(struct lsa_LookupNames2),
13517 (ndr_push_flags_fn_t) ndr_push_lsa_LookupNames2,
13518 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupNames2,
13519 (ndr_print_function_t) ndr_print_lsa_LookupNames2,
13520 false,
13523 "lsa_CreateTrustedDomainEx2",
13524 sizeof(struct lsa_CreateTrustedDomainEx2),
13525 (ndr_push_flags_fn_t) ndr_push_lsa_CreateTrustedDomainEx2,
13526 (ndr_pull_flags_fn_t) ndr_pull_lsa_CreateTrustedDomainEx2,
13527 (ndr_print_function_t) ndr_print_lsa_CreateTrustedDomainEx2,
13528 false,
13531 "lsa_CREDRWRITE",
13532 sizeof(struct lsa_CREDRWRITE),
13533 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRWRITE,
13534 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRWRITE,
13535 (ndr_print_function_t) ndr_print_lsa_CREDRWRITE,
13536 false,
13539 "lsa_CREDRREAD",
13540 sizeof(struct lsa_CREDRREAD),
13541 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRREAD,
13542 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRREAD,
13543 (ndr_print_function_t) ndr_print_lsa_CREDRREAD,
13544 false,
13547 "lsa_CREDRENUMERATE",
13548 sizeof(struct lsa_CREDRENUMERATE),
13549 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRENUMERATE,
13550 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRENUMERATE,
13551 (ndr_print_function_t) ndr_print_lsa_CREDRENUMERATE,
13552 false,
13555 "lsa_CREDRWRITEDOMAINCREDENTIALS",
13556 sizeof(struct lsa_CREDRWRITEDOMAINCREDENTIALS),
13557 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS,
13558 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS,
13559 (ndr_print_function_t) ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS,
13560 false,
13563 "lsa_CREDRREADDOMAINCREDENTIALS",
13564 sizeof(struct lsa_CREDRREADDOMAINCREDENTIALS),
13565 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRREADDOMAINCREDENTIALS,
13566 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS,
13567 (ndr_print_function_t) ndr_print_lsa_CREDRREADDOMAINCREDENTIALS,
13568 false,
13571 "lsa_CREDRDELETE",
13572 sizeof(struct lsa_CREDRDELETE),
13573 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRDELETE,
13574 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRDELETE,
13575 (ndr_print_function_t) ndr_print_lsa_CREDRDELETE,
13576 false,
13579 "lsa_CREDRGETTARGETINFO",
13580 sizeof(struct lsa_CREDRGETTARGETINFO),
13581 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRGETTARGETINFO,
13582 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRGETTARGETINFO,
13583 (ndr_print_function_t) ndr_print_lsa_CREDRGETTARGETINFO,
13584 false,
13587 "lsa_CREDRPROFILELOADED",
13588 sizeof(struct lsa_CREDRPROFILELOADED),
13589 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRPROFILELOADED,
13590 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRPROFILELOADED,
13591 (ndr_print_function_t) ndr_print_lsa_CREDRPROFILELOADED,
13592 false,
13595 "lsa_LookupNames3",
13596 sizeof(struct lsa_LookupNames3),
13597 (ndr_push_flags_fn_t) ndr_push_lsa_LookupNames3,
13598 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupNames3,
13599 (ndr_print_function_t) ndr_print_lsa_LookupNames3,
13600 false,
13603 "lsa_CREDRGETSESSIONTYPES",
13604 sizeof(struct lsa_CREDRGETSESSIONTYPES),
13605 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRGETSESSIONTYPES,
13606 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRGETSESSIONTYPES,
13607 (ndr_print_function_t) ndr_print_lsa_CREDRGETSESSIONTYPES,
13608 false,
13611 "lsa_LSARREGISTERAUDITEVENT",
13612 sizeof(struct lsa_LSARREGISTERAUDITEVENT),
13613 (ndr_push_flags_fn_t) ndr_push_lsa_LSARREGISTERAUDITEVENT,
13614 (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARREGISTERAUDITEVENT,
13615 (ndr_print_function_t) ndr_print_lsa_LSARREGISTERAUDITEVENT,
13616 false,
13619 "lsa_LSARGENAUDITEVENT",
13620 sizeof(struct lsa_LSARGENAUDITEVENT),
13621 (ndr_push_flags_fn_t) ndr_push_lsa_LSARGENAUDITEVENT,
13622 (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARGENAUDITEVENT,
13623 (ndr_print_function_t) ndr_print_lsa_LSARGENAUDITEVENT,
13624 false,
13627 "lsa_LSARUNREGISTERAUDITEVENT",
13628 sizeof(struct lsa_LSARUNREGISTERAUDITEVENT),
13629 (ndr_push_flags_fn_t) ndr_push_lsa_LSARUNREGISTERAUDITEVENT,
13630 (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARUNREGISTERAUDITEVENT,
13631 (ndr_print_function_t) ndr_print_lsa_LSARUNREGISTERAUDITEVENT,
13632 false,
13635 "lsa_lsaRQueryForestTrustInformation",
13636 sizeof(struct lsa_lsaRQueryForestTrustInformation),
13637 (ndr_push_flags_fn_t) ndr_push_lsa_lsaRQueryForestTrustInformation,
13638 (ndr_pull_flags_fn_t) ndr_pull_lsa_lsaRQueryForestTrustInformation,
13639 (ndr_print_function_t) ndr_print_lsa_lsaRQueryForestTrustInformation,
13640 false,
13643 "lsa_LSARSETFORESTTRUSTINFORMATION",
13644 sizeof(struct lsa_LSARSETFORESTTRUSTINFORMATION),
13645 (ndr_push_flags_fn_t) ndr_push_lsa_LSARSETFORESTTRUSTINFORMATION,
13646 (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARSETFORESTTRUSTINFORMATION,
13647 (ndr_print_function_t) ndr_print_lsa_LSARSETFORESTTRUSTINFORMATION,
13648 false,
13651 "lsa_CREDRRENAME",
13652 sizeof(struct lsa_CREDRRENAME),
13653 (ndr_push_flags_fn_t) ndr_push_lsa_CREDRRENAME,
13654 (ndr_pull_flags_fn_t) ndr_pull_lsa_CREDRRENAME,
13655 (ndr_print_function_t) ndr_print_lsa_CREDRRENAME,
13656 false,
13659 "lsa_LookupSids3",
13660 sizeof(struct lsa_LookupSids3),
13661 (ndr_push_flags_fn_t) ndr_push_lsa_LookupSids3,
13662 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupSids3,
13663 (ndr_print_function_t) ndr_print_lsa_LookupSids3,
13664 false,
13667 "lsa_LookupNames4",
13668 sizeof(struct lsa_LookupNames4),
13669 (ndr_push_flags_fn_t) ndr_push_lsa_LookupNames4,
13670 (ndr_pull_flags_fn_t) ndr_pull_lsa_LookupNames4,
13671 (ndr_print_function_t) ndr_print_lsa_LookupNames4,
13672 false,
13675 "lsa_LSAROPENPOLICYSCE",
13676 sizeof(struct lsa_LSAROPENPOLICYSCE),
13677 (ndr_push_flags_fn_t) ndr_push_lsa_LSAROPENPOLICYSCE,
13678 (ndr_pull_flags_fn_t) ndr_pull_lsa_LSAROPENPOLICYSCE,
13679 (ndr_print_function_t) ndr_print_lsa_LSAROPENPOLICYSCE,
13680 false,
13683 "lsa_LSARADTREGISTERSECURITYEVENTSOURCE",
13684 sizeof(struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE),
13685 (ndr_push_flags_fn_t) ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE,
13686 (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE,
13687 (ndr_print_function_t) ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE,
13688 false,
13691 "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE",
13692 sizeof(struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE),
13693 (ndr_push_flags_fn_t) ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE,
13694 (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE,
13695 (ndr_print_function_t) ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE,
13696 false,
13699 "lsa_LSARADTREPORTSECURITYEVENT",
13700 sizeof(struct lsa_LSARADTREPORTSECURITYEVENT),
13701 (ndr_push_flags_fn_t) ndr_push_lsa_LSARADTREPORTSECURITYEVENT,
13702 (ndr_pull_flags_fn_t) ndr_pull_lsa_LSARADTREPORTSECURITYEVENT,
13703 (ndr_print_function_t) ndr_print_lsa_LSARADTREPORTSECURITYEVENT,
13704 false,
13706 { NULL, 0, NULL, NULL, NULL, false }
13709 static const char * const lsarpc_endpoint_strings[] = {
13710 "ncacn_np:[\\pipe\\lsarpc]",
13711 "ncacn_np:[\\pipe\\netlogon]",
13712 "ncacn_np:[\\pipe\\lsass]",
13713 "ncacn_ip_tcp:",
13714 "ncalrpc:",
13717 static const struct ndr_interface_string_array lsarpc_endpoints = {
13718 .count = 5,
13719 .names = lsarpc_endpoint_strings
13722 static const char * const lsarpc_authservice_strings[] = {
13723 "host",
13726 static const struct ndr_interface_string_array lsarpc_authservices = {
13727 .count = 1,
13728 .names = lsarpc_authservice_strings
13732 const struct ndr_interface_table ndr_table_lsarpc = {
13733 .name = "lsarpc",
13734 .syntax_id = {
13735 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},
13736 NDR_LSARPC_VERSION
13738 .helpstring = NDR_LSARPC_HELPSTRING,
13739 .num_calls = 82,
13740 .calls = lsarpc_calls,
13741 .endpoints = &lsarpc_endpoints,
13742 .authservices = &lsarpc_authservices