1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_lsa.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_security.h"
8 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_String(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_String
*r
)
10 if (ndr_flags
& NDR_SCALARS
) {
11 NDR_CHECK(ndr_push_align(ndr
, 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
) {
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
)
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
));
40 NDR_PULL_ALLOC(ndr
, r
->string
);
44 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
46 if (ndr_flags
& NDR_BUFFERS
) {
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);
61 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
/ 2));
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");
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
);
79 ndr_print_string(ndr
, "string", r
->string
);
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
) {
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
));
117 NDR_PULL_ALLOC(ndr
, r
->string
);
121 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
123 if (ndr_flags
& NDR_BUFFERS
) {
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);
138 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
/ 2));
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");
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
);
156 ndr_print_string(ndr
, "string", r
->string
);
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
) {
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
)
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
));
197 NDR_PULL_ALLOC(ndr
, r
->names
);
201 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
203 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
233 ndr_print_uint32(ndr
, "count", r
->count
);
234 ndr_print_ptr(ndr
, "names", r
->names
);
237 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
239 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
241 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
242 ndr_print_lsa_String(ndr
, "names", &r
->names
[cntr_names_1
]);
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
) {
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
));
284 NDR_PULL_ALLOC(ndr
, r
->string
);
288 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
290 if (ndr_flags
& NDR_BUFFERS
) {
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);
305 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
));
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");
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
);
323 ndr_print_string(ndr
, "string", r
->string
);
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
) {
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
));
361 NDR_PULL_ALLOC(ndr
, r
->string
);
365 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
367 if (ndr_flags
& NDR_BUFFERS
) {
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);
382 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
));
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");
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
);
400 ndr_print_string(ndr
, "string", r
->string
);
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
) {
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
)
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
));
443 NDR_PULL_ALLOC(ndr
, r
->array
);
447 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
449 if (ndr_flags
& NDR_BUFFERS
) {
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);
470 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->size
/ 2));
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");
484 ndr_print_uint16(ndr
, "length", r
->length
);
485 ndr_print_uint16(ndr
, "size", r
->size
);
486 ndr_print_ptr(ndr
, "array", r
->array
);
489 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->length
/ 2);
491 for (cntr_array_1
=0;cntr_array_1
<r
->length
/ 2;cntr_array_1
++) {
493 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
494 ndr_print_uint16(ndr
, "array", r
->array
[cntr_array_1
]);
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");
534 ndr_print_uint32(ndr
, "low", r
->low
);
535 ndr_print_uint32(ndr
, "high", r
->high
);
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");
571 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
572 ndr_print_lsa_LUID(ndr
, "luid", &r
->luid
);
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
) {
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
)
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
));
611 NDR_PULL_ALLOC(ndr
, r
->privs
);
615 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
617 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
647 ndr_print_uint32(ndr
, "count", r
->count
);
648 ndr_print_ptr(ndr
, "privs", r
->privs
);
651 ndr
->print(ndr
, "%s: ARRAY(%d)", "privs", (int)r
->count
);
653 for (cntr_privs_1
=0;cntr_privs_1
<r
->count
;cntr_privs_1
++) {
655 if (asprintf(&idx_1
, "[%d]", cntr_privs_1
) != -1) {
656 ndr_print_lsa_PrivEntry(ndr
, "privs", &r
->privs
[cntr_privs_1
]);
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");
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
);
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
) {
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
));
730 NDR_CHECK(ndr_push_security_descriptor(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sec_desc
));
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
));
756 NDR_PULL_ALLOC(ndr
, r
->root_dir
);
760 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_name
));
761 if (_ptr_object_name
) {
762 NDR_PULL_ALLOC(ndr
, r
->object_name
);
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
));
769 NDR_PULL_ALLOC(ndr
, r
->sec_desc
);
773 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sec_qos
));
775 NDR_PULL_ALLOC(ndr
, r
->sec_qos
);
779 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
781 if (ndr_flags
& NDR_BUFFERS
) {
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);
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);
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");
822 ndr_print_uint32(ndr
, "len", r
->len
);
823 ndr_print_ptr(ndr
, "root_dir", r
->root_dir
);
826 ndr_print_uint8(ndr
, "root_dir", *r
->root_dir
);
829 ndr_print_ptr(ndr
, "object_name", r
->object_name
);
831 if (r
->object_name
) {
832 ndr_print_string(ndr
, "object_name", r
->object_name
);
835 ndr_print_uint32(ndr
, "attributes", r
->attributes
);
836 ndr_print_ptr(ndr
, "sec_desc", r
->sec_desc
);
839 ndr_print_security_descriptor(ndr
, "sec_desc", r
->sec_desc
);
842 ndr_print_ptr(ndr
, "sec_qos", r
->sec_qos
);
845 ndr_print_lsa_QosInfo(ndr
, "sec_qos", r
->sec_qos
);
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
)
860 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &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
);
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
);
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
)
894 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &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
);
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
);
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
)
919 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &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
);
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
);
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
)
942 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &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
);
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
);
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");
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
);
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
)
1017 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &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
;
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
) {
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
);
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
) {
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);
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");
1103 ndr_print_uint32(ndr
, "auditing_mode", r
->auditing_mode
);
1104 ndr_print_ptr(ndr
, "settings", r
->settings
);
1107 ndr
->print(ndr
, "%s: ARRAY(%d)", "settings", (int)r
->count
);
1109 for (cntr_settings_1
=0;cntr_settings_1
<r
->count
;cntr_settings_1
++) {
1111 if (asprintf(&idx_1
, "[%d]", cntr_settings_1
) != -1) {
1112 ndr_print_lsa_PolicyAuditPolicy(ndr
, "settings", r
->settings
[cntr_settings_1
]);
1119 ndr_print_uint32(ndr
, "count", r
->count
);
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
));
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
)
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
));
1149 NDR_PULL_ALLOC(ndr
, r
->sid
);
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
));
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");
1171 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
1172 ndr_print_ptr(ndr
, "sid", r
->sid
);
1175 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
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");
1211 ndr_print_lsa_String(ndr
, "name", &r
->name
);
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
)
1224 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &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
;
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");
1268 ndr_print_lsa_Role(ndr
, "role", r
->role
);
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");
1306 ndr_print_lsa_String(ndr
, "source", &r
->source
);
1307 ndr_print_lsa_String(ndr
, "account", &r
->account
);
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");
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
);
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");
1388 ndr_print_hyper(ndr
, "modified_id", r
->modified_id
);
1389 ndr_print_NTTIME_hyper(ndr
, "db_create_time", r
->db_create_time
);
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");
1421 ndr_print_uint8(ndr
, "shutdown_on_full", r
->shutdown_on_full
);
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");
1455 ndr_print_uint8(ndr
, "shutdown_on_full", r
->shutdown_on_full
);
1456 ndr_print_uint8(ndr
, "log_is_full", r
->log_is_full
);
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
));
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
)
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
));
1494 NDR_PULL_ALLOC(ndr
, r
->sid
);
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
));
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");
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
);
1525 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
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
)
1540 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &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
;
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));
1575 case LSA_POLICY_INFO_AUDIT_LOG
: {
1576 NDR_CHECK(ndr_push_lsa_AuditLogInfo(ndr
, NDR_SCALARS
, &r
->audit_log
));
1579 case LSA_POLICY_INFO_AUDIT_EVENTS
: {
1580 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr
, NDR_SCALARS
, &r
->audit_events
));
1583 case LSA_POLICY_INFO_DOMAIN
: {
1584 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domain
));
1587 case LSA_POLICY_INFO_PD
: {
1588 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr
, NDR_SCALARS
, &r
->pd
));
1591 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: {
1592 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->account_domain
));
1595 case LSA_POLICY_INFO_ROLE
: {
1596 NDR_CHECK(ndr_push_lsa_ServerRole(ndr
, NDR_SCALARS
, &r
->role
));
1599 case LSA_POLICY_INFO_REPLICA
: {
1600 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr
, NDR_SCALARS
, &r
->replica
));
1603 case LSA_POLICY_INFO_QUOTA
: {
1604 NDR_CHECK(ndr_push_lsa_DefaultQuotaInfo(ndr
, NDR_SCALARS
, &r
->quota
));
1607 case LSA_POLICY_INFO_MOD
: {
1608 NDR_CHECK(ndr_push_lsa_ModificationInfo(ndr
, NDR_SCALARS
, &r
->mod
));
1611 case LSA_POLICY_INFO_AUDIT_FULL_SET
: {
1612 NDR_CHECK(ndr_push_lsa_AuditFullSetInfo(ndr
, NDR_SCALARS
, &r
->auditfullset
));
1615 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: {
1616 NDR_CHECK(ndr_push_lsa_AuditFullQueryInfo(ndr
, NDR_SCALARS
, &r
->auditfullquery
));
1619 case LSA_POLICY_INFO_DNS
: {
1620 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1623 case LSA_POLICY_INFO_DNS_INT
: {
1624 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1627 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
: {
1628 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->l_account_domain
));
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
);
1638 case LSA_POLICY_INFO_AUDIT_LOG
:
1641 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1642 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr
, NDR_BUFFERS
, &r
->audit_events
));
1645 case LSA_POLICY_INFO_DOMAIN
:
1646 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domain
));
1649 case LSA_POLICY_INFO_PD
:
1650 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr
, NDR_BUFFERS
, &r
->pd
));
1653 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1654 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->account_domain
));
1657 case LSA_POLICY_INFO_ROLE
:
1660 case LSA_POLICY_INFO_REPLICA
:
1661 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr
, NDR_BUFFERS
, &r
->replica
));
1664 case LSA_POLICY_INFO_QUOTA
:
1667 case LSA_POLICY_INFO_MOD
:
1670 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1673 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1676 case LSA_POLICY_INFO_DNS
:
1677 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1680 case LSA_POLICY_INFO_DNS_INT
:
1681 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1684 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
:
1685 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->l_account_domain
));
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
)
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));
1707 case LSA_POLICY_INFO_AUDIT_LOG
: {
1708 NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr
, NDR_SCALARS
, &r
->audit_log
));
1711 case LSA_POLICY_INFO_AUDIT_EVENTS
: {
1712 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr
, NDR_SCALARS
, &r
->audit_events
));
1715 case LSA_POLICY_INFO_DOMAIN
: {
1716 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domain
));
1719 case LSA_POLICY_INFO_PD
: {
1720 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr
, NDR_SCALARS
, &r
->pd
));
1723 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: {
1724 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->account_domain
));
1727 case LSA_POLICY_INFO_ROLE
: {
1728 NDR_CHECK(ndr_pull_lsa_ServerRole(ndr
, NDR_SCALARS
, &r
->role
));
1731 case LSA_POLICY_INFO_REPLICA
: {
1732 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr
, NDR_SCALARS
, &r
->replica
));
1735 case LSA_POLICY_INFO_QUOTA
: {
1736 NDR_CHECK(ndr_pull_lsa_DefaultQuotaInfo(ndr
, NDR_SCALARS
, &r
->quota
));
1739 case LSA_POLICY_INFO_MOD
: {
1740 NDR_CHECK(ndr_pull_lsa_ModificationInfo(ndr
, NDR_SCALARS
, &r
->mod
));
1743 case LSA_POLICY_INFO_AUDIT_FULL_SET
: {
1744 NDR_CHECK(ndr_pull_lsa_AuditFullSetInfo(ndr
, NDR_SCALARS
, &r
->auditfullset
));
1747 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: {
1748 NDR_CHECK(ndr_pull_lsa_AuditFullQueryInfo(ndr
, NDR_SCALARS
, &r
->auditfullquery
));
1751 case LSA_POLICY_INFO_DNS
: {
1752 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1755 case LSA_POLICY_INFO_DNS_INT
: {
1756 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1759 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
: {
1760 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->l_account_domain
));
1764 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1767 if (ndr_flags
& NDR_BUFFERS
) {
1769 case LSA_POLICY_INFO_AUDIT_LOG
:
1772 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1773 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr
, NDR_BUFFERS
, &r
->audit_events
));
1776 case LSA_POLICY_INFO_DOMAIN
:
1777 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domain
));
1780 case LSA_POLICY_INFO_PD
:
1781 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr
, NDR_BUFFERS
, &r
->pd
));
1784 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1785 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->account_domain
));
1788 case LSA_POLICY_INFO_ROLE
:
1791 case LSA_POLICY_INFO_REPLICA
:
1792 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr
, NDR_BUFFERS
, &r
->replica
));
1795 case LSA_POLICY_INFO_QUOTA
:
1798 case LSA_POLICY_INFO_MOD
:
1801 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1804 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1807 case LSA_POLICY_INFO_DNS
:
1808 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1811 case LSA_POLICY_INFO_DNS_INT
:
1812 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1815 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
:
1816 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->l_account_domain
));
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
)
1829 level
= ndr_print_get_switch_value(ndr
, r
);
1830 ndr_print_union(ndr
, name
, level
, "lsa_PolicyInformation");
1832 case LSA_POLICY_INFO_AUDIT_LOG
:
1833 ndr_print_lsa_AuditLogInfo(ndr
, "audit_log", &r
->audit_log
);
1836 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1837 ndr_print_lsa_AuditEventsInfo(ndr
, "audit_events", &r
->audit_events
);
1840 case LSA_POLICY_INFO_DOMAIN
:
1841 ndr_print_lsa_DomainInfo(ndr
, "domain", &r
->domain
);
1844 case LSA_POLICY_INFO_PD
:
1845 ndr_print_lsa_PDAccountInfo(ndr
, "pd", &r
->pd
);
1848 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1849 ndr_print_lsa_DomainInfo(ndr
, "account_domain", &r
->account_domain
);
1852 case LSA_POLICY_INFO_ROLE
:
1853 ndr_print_lsa_ServerRole(ndr
, "role", &r
->role
);
1856 case LSA_POLICY_INFO_REPLICA
:
1857 ndr_print_lsa_ReplicaSourceInfo(ndr
, "replica", &r
->replica
);
1860 case LSA_POLICY_INFO_QUOTA
:
1861 ndr_print_lsa_DefaultQuotaInfo(ndr
, "quota", &r
->quota
);
1864 case LSA_POLICY_INFO_MOD
:
1865 ndr_print_lsa_ModificationInfo(ndr
, "mod", &r
->mod
);
1868 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1869 ndr_print_lsa_AuditFullSetInfo(ndr
, "auditfullset", &r
->auditfullset
);
1872 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1873 ndr_print_lsa_AuditFullQueryInfo(ndr
, "auditfullquery", &r
->auditfullquery
);
1876 case LSA_POLICY_INFO_DNS
:
1877 ndr_print_lsa_DnsDomainInfo(ndr
, "dns", &r
->dns
);
1880 case LSA_POLICY_INFO_DNS_INT
:
1881 ndr_print_lsa_DnsDomainInfo(ndr
, "dns", &r
->dns
);
1884 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
:
1885 ndr_print_lsa_DomainInfo(ndr
, "l_account_domain", &r
->l_account_domain
);
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
) {
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
)
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
));
1916 NDR_PULL_ALLOC(ndr
, r
->sid
);
1920 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1922 if (ndr_flags
& NDR_BUFFERS
) {
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");
1937 ndr_print_ptr(ndr
, "sid", r
->sid
);
1940 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
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
) {
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
)
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
));
1984 NDR_PULL_ALLOC(ndr
, r
->sids
);
1988 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1990 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
2020 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
2021 ndr_print_ptr(ndr
, "sids", r
->sids
);
2024 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
2026 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
2028 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
2029 ndr_print_lsa_SidPtr(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
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
) {
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
));
2074 NDR_PULL_ALLOC(ndr
, r
->domains
);
2078 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2080 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
2110 ndr_print_uint32(ndr
, "count", r
->count
);
2111 ndr_print_ptr(ndr
, "domains", r
->domains
);
2114 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
2116 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
2118 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
2119 ndr_print_lsa_DomainInfo(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
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
)
2138 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &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
;
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");
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
);
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
) {
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
)
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
));
2235 NDR_PULL_ALLOC(ndr
, r
->sids
);
2239 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2241 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
2268 ndr_print_uint32(ndr
, "count", r
->count
);
2269 ndr_print_ptr(ndr
, "sids", r
->sids
);
2272 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
2274 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
2276 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
2277 ndr_print_lsa_TranslatedSid(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
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
) {
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
));
2326 NDR_PULL_ALLOC(ndr
, r
->domains
);
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
) {
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);
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");
2363 ndr_print_uint32(ndr
, "count", r
->count
);
2364 ndr_print_ptr(ndr
, "domains", r
->domains
);
2367 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
2369 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
2371 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
2372 ndr_print_lsa_DomainInfo(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
2379 ndr_print_uint32(ndr
, "max_size", r
->max_size
);
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
)
2392 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &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
;
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");
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
);
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
) {
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
));
2491 NDR_PULL_ALLOC(ndr
, r
->names
);
2495 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2497 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
2527 ndr_print_uint32(ndr
, "count", r
->count
);
2528 ndr_print_ptr(ndr
, "names", r
->names
);
2531 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
2533 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
2535 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
2536 ndr_print_lsa_TranslatedName(ndr
, "names", &r
->names
[cntr_names_1
]);
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");
2576 ndr_print_lsa_LUID(ndr
, "luid", &r
->luid
);
2577 ndr_print_uint32(ndr
, "attribute", r
->attribute
);
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);
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");
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
);
2639 for (cntr_set_0
=0;cntr_set_0
<r
->count
;cntr_set_0
++) {
2641 if (asprintf(&idx_0
, "[%d]", cntr_set_0
) != -1) {
2642 ndr_print_lsa_LUIDAttribute(ndr
, "set", &r
->set
[cntr_set_0
]);
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
) {
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
)
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
));
2690 NDR_PULL_ALLOC(ndr
, r
->data
);
2694 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2696 if (ndr_flags
& NDR_BUFFERS
) {
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);
2712 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
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
);
2730 ndr_print_uint32(ndr
, "length", r
->length
);
2731 ndr_print_uint32(ndr
, "size", r
->size
);
2732 ndr_print_ptr(ndr
, "data", r
->data
);
2735 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
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
) {
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
)
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
));
2781 NDR_PULL_ALLOC(ndr
, r
->data
);
2785 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2787 if (ndr_flags
& NDR_BUFFERS
) {
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);
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
);
2813 ndr_print_uint32(ndr
, "size", r
->size
);
2814 ndr_print_ptr(ndr
, "data", r
->data
);
2817 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
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
)
2834 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &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
;
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
)
2870 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &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
);
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
);
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
)
2893 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &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
;
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
)
2919 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &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
);
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
);
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");
2969 ndr_print_lsa_StringLarge(ndr
, "netbios_name", &r
->netbios_name
);
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
);
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");
3044 ndr_print_uint32(ndr
, "entries", r
->entries
);
3045 ndr_print_ptr(ndr
, "netbios_names", r
->netbios_names
);
3047 if (r
->netbios_names
) {
3048 ndr
->print(ndr
, "%s: ARRAY(%d)", "netbios_names", (int)r
->entries
);
3050 for (cntr_netbios_names_1
=0;cntr_netbios_names_1
<r
->entries
;cntr_netbios_names_1
++) {
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
]);
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");
3091 ndr_print_uint32(ndr
, "posix_offset", r
->posix_offset
);
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
) {
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
);
3128 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_password
));
3129 if (_ptr_old_password
) {
3130 NDR_PULL_ALLOC(ndr
, r
->old_password
);
3132 r
->old_password
= NULL
;
3134 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3136 if (ndr_flags
& NDR_BUFFERS
) {
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");
3157 ndr_print_ptr(ndr
, "password", r
->password
);
3160 ndr_print_lsa_DATA_BUF(ndr
, "password", r
->password
);
3163 ndr_print_ptr(ndr
, "old_password", r
->old_password
);
3165 if (r
->old_password
) {
3166 ndr_print_lsa_DATA_BUF(ndr
, "old_password", r
->old_password
);
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
));
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
)
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
));
3198 NDR_PULL_ALLOC(ndr
, r
->sid
);
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
));
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");
3220 ndr_print_lsa_String(ndr
, "netbios_name", &r
->netbios_name
);
3221 ndr_print_ptr(ndr
, "sid", r
->sid
);
3224 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
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
));
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
)
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
));
3262 NDR_PULL_ALLOC(ndr
, r
->sid
);
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
));
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");
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
);
3293 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
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
);
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
)
3311 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &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
;
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");
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
);
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
);
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
);
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
);
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
);
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");
3471 ndr_print_uint32(ndr
, "incoming_count", r
->incoming_count
);
3472 ndr_print_ptr(ndr
, "incoming_current_auth_info", r
->incoming_current_auth_info
);
3474 if (r
->incoming_current_auth_info
) {
3475 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "incoming_current_auth_info", r
->incoming_current_auth_info
);
3478 ndr_print_ptr(ndr
, "incoming_previous_auth_info", r
->incoming_previous_auth_info
);
3480 if (r
->incoming_previous_auth_info
) {
3481 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "incoming_previous_auth_info", r
->incoming_previous_auth_info
);
3484 ndr_print_uint32(ndr
, "outgoing_count", r
->outgoing_count
);
3485 ndr_print_ptr(ndr
, "outgoing_current_auth_info", r
->outgoing_current_auth_info
);
3487 if (r
->outgoing_current_auth_info
) {
3488 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "outgoing_current_auth_info", r
->outgoing_current_auth_info
);
3491 ndr_print_ptr(ndr
, "outgoing_previous_auth_info", r
->outgoing_previous_auth_info
);
3493 if (r
->outgoing_previous_auth_info
) {
3494 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "outgoing_previous_auth_info", r
->outgoing_previous_auth_info
);
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");
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
);
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");
3572 ndr_print_lsa_DATA_BUF2(ndr
, "auth_blob", &r
->auth_blob
);
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");
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
);
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
);
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");
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
);
3680 if (r
->forest_trust_data
) {
3681 ndr_print_array_uint8(ndr
, "forest_trust_data", r
->forest_trust_data
, r
->forest_trust_length
);
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");
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
);
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");
3757 ndr_print_kerb_EncTypes(ndr
, "enc_types", r
->enc_types
);
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));
3768 case LSA_TRUSTED_DOMAIN_INFO_NAME
: {
3769 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr
, NDR_SCALARS
, &r
->name
));
3772 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
: {
3773 NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr
, NDR_SCALARS
, &r
->controllers
));
3776 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: {
3777 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3780 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: {
3781 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr
, NDR_SCALARS
, &r
->password
));
3784 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: {
3785 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr
, NDR_SCALARS
, &r
->info_basic
));
3788 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: {
3789 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3792 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: {
3793 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3796 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: {
3797 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr
, NDR_SCALARS
, &r
->full_info
));
3800 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
: {
3801 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info_internal
));
3804 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
: {
3805 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_SCALARS
, &r
->full_info_internal
));
3808 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
: {
3809 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info_ex2_internal
));
3812 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
: {
3813 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_SCALARS
, &r
->full_info2_internal
));
3816 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
: {
3817 NDR_CHECK(ndr_push_lsa_TrustDomainInfoSupportedEncTypes(ndr
, NDR_SCALARS
, &r
->enc_types
));
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
);
3827 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3828 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr
, NDR_BUFFERS
, &r
->name
));
3831 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
:
3832 NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr
, NDR_BUFFERS
, &r
->controllers
));
3835 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3838 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3839 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr
, NDR_BUFFERS
, &r
->password
));
3842 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3843 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr
, NDR_BUFFERS
, &r
->info_basic
));
3846 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3847 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3850 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3851 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3854 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3855 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr
, NDR_BUFFERS
, &r
->full_info
));
3858 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
:
3859 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info_internal
));
3862 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
:
3863 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_BUFFERS
, &r
->full_info_internal
));
3866 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
:
3867 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info_ex2_internal
));
3870 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
:
3871 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_BUFFERS
, &r
->full_info2_internal
));
3874 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
:
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
)
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));
3896 case LSA_TRUSTED_DOMAIN_INFO_NAME
: {
3897 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr
, NDR_SCALARS
, &r
->name
));
3900 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
: {
3901 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr
, NDR_SCALARS
, &r
->controllers
));
3904 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: {
3905 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3908 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: {
3909 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr
, NDR_SCALARS
, &r
->password
));
3912 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: {
3913 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr
, NDR_SCALARS
, &r
->info_basic
));
3916 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: {
3917 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3920 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: {
3921 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3924 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: {
3925 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr
, NDR_SCALARS
, &r
->full_info
));
3928 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
: {
3929 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info_internal
));
3932 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
: {
3933 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_SCALARS
, &r
->full_info_internal
));
3936 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
: {
3937 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info_ex2_internal
));
3940 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
: {
3941 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_SCALARS
, &r
->full_info2_internal
));
3944 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
: {
3945 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(ndr
, NDR_SCALARS
, &r
->enc_types
));
3949 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3952 if (ndr_flags
& NDR_BUFFERS
) {
3954 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3955 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr
, NDR_BUFFERS
, &r
->name
));
3958 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
:
3959 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr
, NDR_BUFFERS
, &r
->controllers
));
3962 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3965 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3966 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr
, NDR_BUFFERS
, &r
->password
));
3969 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3970 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr
, NDR_BUFFERS
, &r
->info_basic
));
3973 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3974 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3977 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3978 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3981 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3982 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr
, NDR_BUFFERS
, &r
->full_info
));
3985 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
:
3986 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info_internal
));
3989 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
:
3990 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_BUFFERS
, &r
->full_info_internal
));
3993 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
:
3994 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info_ex2_internal
));
3997 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
:
3998 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_BUFFERS
, &r
->full_info2_internal
));
4001 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
:
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
)
4014 level
= ndr_print_get_switch_value(ndr
, r
);
4015 ndr_print_union(ndr
, name
, level
, "lsa_TrustedDomainInfo");
4017 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
4018 ndr_print_lsa_TrustDomainInfoName(ndr
, "name", &r
->name
);
4021 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
:
4022 ndr_print_lsa_TrustDomainInfoControllers(ndr
, "controllers", &r
->controllers
);
4025 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
4026 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
4029 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
4030 ndr_print_lsa_TrustDomainInfoPassword(ndr
, "password", &r
->password
);
4033 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
4034 ndr_print_lsa_TrustDomainInfoBasic(ndr
, "info_basic", &r
->info_basic
);
4037 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
4038 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
4041 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
4042 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
4045 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
4046 ndr_print_lsa_TrustDomainInfoFullInfo(ndr
, "full_info", &r
->full_info
);
4049 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
:
4050 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info_internal", &r
->auth_info_internal
);
4053 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
:
4054 ndr_print_lsa_TrustDomainInfoFullInfoInternal(ndr
, "full_info_internal", &r
->full_info_internal
);
4057 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
:
4058 ndr_print_lsa_TrustDomainInfoInfoEx2Internal(ndr
, "info_ex2_internal", &r
->info_ex2_internal
);
4061 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
:
4062 ndr_print_lsa_TrustDomainInfoFullInfo2Internal(ndr
, "full_info2_internal", &r
->full_info2_internal
);
4065 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
:
4066 ndr_print_lsa_TrustDomainInfoSupportedEncTypes(ndr
, "enc_types", &r
->enc_types
);
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
) {
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
)
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
));
4097 NDR_PULL_ALLOC(ndr
, r
->buf
);
4101 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4103 if (ndr_flags
& NDR_BUFFERS
) {
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");
4118 ndr_print_ptr(ndr
, "buf", r
->buf
);
4121 ndr_print_lsa_DATA_BUF(ndr
, "buf", r
->buf
);
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
) {
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
));
4165 NDR_PULL_ALLOC(ndr
, r
->names
);
4169 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4171 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
4201 ndr_print_uint32(ndr
, "count", r
->count
);
4202 ndr_print_ptr(ndr
, "names", r
->names
);
4205 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
4207 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
4209 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
4210 ndr_print_lsa_StringLarge(ndr
, "names", &r
->names
[cntr_names_1
]);
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
) {
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
));
4255 NDR_PULL_ALLOC(ndr
, r
->domains
);
4259 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4261 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
4291 ndr_print_uint32(ndr
, "count", r
->count
);
4292 ndr_print_ptr(ndr
, "domains", r
->domains
);
4295 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
4297 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
4299 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
4300 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
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");
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
);
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
) {
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
);
4388 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4390 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
4411 ndr_print_uint32(ndr
, "blob_size", r
->blob_size
);
4412 ndr_print_ptr(ndr
, "efs_blob", r
->efs_blob
);
4415 ndr_print_array_uint8(ndr
, "efs_blob", r
->efs_blob
, r
->blob_size
);
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));
4428 case LSA_DOMAIN_INFO_POLICY_EFS
: {
4429 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr
, NDR_SCALARS
, &r
->efs_info
));
4432 case LSA_DOMAIN_INFO_POLICY_KERBEROS
: {
4433 NDR_CHECK(ndr_push_lsa_DomainInfoKerberos(ndr
, NDR_SCALARS
, &r
->kerberos_info
));
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
);
4443 case LSA_DOMAIN_INFO_POLICY_EFS
:
4444 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr
, NDR_BUFFERS
, &r
->efs_info
));
4447 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
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
)
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));
4469 case LSA_DOMAIN_INFO_POLICY_EFS
: {
4470 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr
, NDR_SCALARS
, &r
->efs_info
));
4473 case LSA_DOMAIN_INFO_POLICY_KERBEROS
: {
4474 NDR_CHECK(ndr_pull_lsa_DomainInfoKerberos(ndr
, NDR_SCALARS
, &r
->kerberos_info
));
4478 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4481 if (ndr_flags
& NDR_BUFFERS
) {
4483 case LSA_DOMAIN_INFO_POLICY_EFS
:
4484 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr
, NDR_BUFFERS
, &r
->efs_info
));
4487 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
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
)
4500 level
= ndr_print_get_switch_value(ndr
, r
);
4501 ndr_print_union(ndr
, name
, level
, "lsa_DomainInformationPolicy");
4503 case LSA_DOMAIN_INFO_POLICY_EFS
:
4504 ndr_print_lsa_DomainInfoEfs(ndr
, "efs_info", &r
->efs_info
);
4507 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
4508 ndr_print_lsa_DomainInfoKerberos(ndr
, "kerberos_info", &r
->kerberos_info
);
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");
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
);
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
) {
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
));
4597 NDR_PULL_ALLOC(ndr
, r
->names
);
4601 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4603 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
4633 ndr_print_uint32(ndr
, "count", r
->count
);
4634 ndr_print_ptr(ndr
, "names", r
->names
);
4637 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
4639 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
4641 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
4642 ndr_print_lsa_TranslatedName2(ndr
, "names", &r
->names
[cntr_names_1
]);
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
)
4661 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &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
;
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
)
4686 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &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
;
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");
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
);
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
) {
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
)
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
));
4778 NDR_PULL_ALLOC(ndr
, r
->sids
);
4782 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4784 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
4811 ndr_print_uint32(ndr
, "count", r
->count
);
4812 ndr_print_ptr(ndr
, "sids", r
->sids
);
4815 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
4817 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
4819 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4820 ndr_print_lsa_TranslatedSid2(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
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
) {
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
)
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
));
4857 NDR_PULL_ALLOC(ndr
, r
->sid
);
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
) {
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");
4880 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
4881 ndr_print_ptr(ndr
, "sid", r
->sid
);
4884 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
4887 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
4888 ndr_print_uint32(ndr
, "flags", r
->flags
);
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
) {
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
)
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
));
4930 NDR_PULL_ALLOC(ndr
, r
->sids
);
4934 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4936 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
4966 ndr_print_uint32(ndr
, "count", r
->count
);
4967 ndr_print_ptr(ndr
, "sids", r
->sids
);
4970 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
4972 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
4974 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4975 ndr_print_lsa_TranslatedSid3(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
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
) {
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
)
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
));
5015 NDR_PULL_ALLOC(ndr
, r
->data
);
5019 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5021 if (ndr_flags
& NDR_BUFFERS
) {
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);
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");
5042 ndr_print_uint32(ndr
, "length", r
->length
);
5043 ndr_print_ptr(ndr
, "data", r
->data
);
5046 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
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
);
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");
5104 ndr_print_ptr(ndr
, "domain_sid", r
->domain_sid
);
5106 if (r
->domain_sid
) {
5107 ndr_print_dom_sid2(ndr
, "domain_sid", r
->domain_sid
);
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
);
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));
5122 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: {
5123 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->top_level_name
));
5126 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
5127 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name_ex
));
5130 case LSA_FOREST_TRUST_DOMAIN_INFO
: {
5131 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr
, NDR_SCALARS
, &r
->domain_info
));
5135 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
5140 if (ndr_flags
& NDR_BUFFERS
) {
5141 int level
= ndr_push_get_switch_value(ndr
, r
);
5143 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
5144 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->top_level_name
));
5147 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
5148 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name_ex
));
5151 case LSA_FOREST_TRUST_DOMAIN_INFO
:
5152 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr
, NDR_BUFFERS
, &r
->domain_info
));
5156 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr
, NDR_BUFFERS
, &r
->data
));
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
)
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));
5176 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: {
5177 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->top_level_name
));
5180 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
5181 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name_ex
));
5184 case LSA_FOREST_TRUST_DOMAIN_INFO
: {
5185 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr
, NDR_SCALARS
, &r
->domain_info
));
5189 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
5194 if (ndr_flags
& NDR_BUFFERS
) {
5196 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
5197 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->top_level_name
));
5200 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
5201 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name_ex
));
5204 case LSA_FOREST_TRUST_DOMAIN_INFO
:
5205 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr
, NDR_BUFFERS
, &r
->domain_info
));
5209 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr
, NDR_BUFFERS
, &r
->data
));
5214 return NDR_ERR_SUCCESS
;
5217 _PUBLIC_
void ndr_print_lsa_ForestTrustData(struct ndr_print
*ndr
, const char *name
, const union lsa_ForestTrustData
*r
)
5220 level
= ndr_print_get_switch_value(ndr
, r
);
5221 ndr_print_union(ndr
, name
, level
, "lsa_ForestTrustData");
5223 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
5224 ndr_print_lsa_String(ndr
, "top_level_name", &r
->top_level_name
);
5227 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
5228 ndr_print_lsa_StringLarge(ndr
, "top_level_name_ex", &r
->top_level_name_ex
);
5231 case LSA_FOREST_TRUST_DOMAIN_INFO
:
5232 ndr_print_lsa_ForestTrustDomainInfo(ndr
, "domain_info", &r
->domain_info
);
5236 ndr_print_lsa_ForestTrustBinaryData(ndr
, "data", &r
->data
);
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
)
5251 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &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
;
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");
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
);
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
) {
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
));
5356 NDR_PULL_ALLOC(ndr
, r
->entries
);
5360 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5362 if (ndr_flags
& NDR_BUFFERS
) {
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
));
5374 NDR_PULL_ALLOC(ndr
, r
->entries
[cntr_entries_1
]);
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);
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");
5402 ndr_print_uint32(ndr
, "count", r
->count
);
5403 ndr_print_ptr(ndr
, "entries", r
->entries
);
5406 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
5408 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
5410 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
5411 ndr_print_ptr(ndr
, "entries", r
->entries
[cntr_entries_1
]);
5413 if (r
->entries
[cntr_entries_1
]) {
5414 ndr_print_lsa_ForestTrustRecord(ndr
, "entries", r
->entries
[cntr_entries_1
]);
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");
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");
5483 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5485 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5489 if (flags
& NDR_OUT
) {
5490 ndr_print_struct(ndr
, "out", "lsa_Close");
5492 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5494 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5496 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
5544 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5546 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5550 if (flags
& NDR_OUT
) {
5551 ndr_print_struct(ndr
, "out", "lsa_Delete");
5553 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
5644 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5646 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5648 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
5650 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
5652 ndr_print_uint32(ndr
, "max_count", r
->in
.max_count
);
5655 if (flags
& NDR_OUT
) {
5656 ndr_print_struct(ndr
, "out", "lsa_EnumPrivs");
5658 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
5660 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
5662 ndr_print_ptr(ndr
, "privs", r
->out
.privs
);
5664 ndr_print_lsa_PrivArray(ndr
, "privs", r
->out
.privs
);
5666 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
5722 NDR_PULL_ALLOC(ndr
, *r
->out
.sdbuf
);
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");
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");
5748 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5750 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5752 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5755 if (flags
& NDR_OUT
) {
5756 ndr_print_struct(ndr
, "out", "lsa_QuerySecurity");
5758 ndr_print_ptr(ndr
, "sdbuf", r
->out
.sdbuf
);
5760 ndr_print_ptr(ndr
, "sdbuf", *r
->out
.sdbuf
);
5762 if (*r
->out
.sdbuf
) {
5763 ndr_print_sec_desc_buf(ndr
, "sdbuf", *r
->out
.sdbuf
);
5767 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
5829 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5831 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5833 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5834 ndr_print_ptr(ndr
, "sdbuf", r
->in
.sdbuf
);
5836 ndr_print_sec_desc_buf(ndr
, "sdbuf", r
->in
.sdbuf
);
5840 if (flags
& NDR_OUT
) {
5841 ndr_print_struct(ndr
, "out", "lsa_SetSecObj");
5843 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
5881 if (flags
& NDR_OUT
) {
5882 ndr_print_struct(ndr
, "out", "lsa_ChangePassword");
5884 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
);
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");
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");
5968 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
5970 if (r
->in
.system_name
) {
5971 ndr_print_uint16(ndr
, "system_name", *r
->in
.system_name
);
5974 ndr_print_ptr(ndr
, "attr", r
->in
.attr
);
5976 ndr_print_lsa_ObjectAttribute(ndr
, "attr", r
->in
.attr
);
5978 ndr_print_lsa_PolicyAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
5981 if (flags
& NDR_OUT
) {
5982 ndr_print_struct(ndr
, "out", "lsa_OpenPolicy");
5984 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5986 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5988 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
)
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
));
6045 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
6047 *r
->out
.info
= NULL
;
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");
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");
6072 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6074 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6076 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
6079 if (flags
& NDR_OUT
) {
6080 ndr_print_struct(ndr
, "out", "lsa_QueryInfoPolicy");
6082 ndr_print_ptr(ndr
, "info", r
->out
.info
);
6084 ndr_print_ptr(ndr
, "info", *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
);
6092 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
6156 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6158 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6160 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
6161 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6163 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
6164 ndr_print_lsa_PolicyInformation(ndr
, "info", r
->in
.info
);
6168 if (flags
& NDR_OUT
) {
6169 ndr_print_struct(ndr
, "out", "lsa_SetInfoPolicy");
6171 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
6209 if (flags
& NDR_OUT
) {
6210 ndr_print_struct(ndr
, "out", "lsa_ClearAuditLog");
6212 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
6290 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6292 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6294 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6296 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6298 ndr_print_lsa_AccountAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6301 if (flags
& NDR_OUT
) {
6302 ndr_print_struct(ndr
, "out", "lsa_CreateAccount");
6304 ndr_print_ptr(ndr
, "acct_handle", r
->out
.acct_handle
);
6306 ndr_print_policy_handle(ndr
, "acct_handle", r
->out
.acct_handle
);
6308 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
6402 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6404 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6406 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6408 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6410 ndr_print_uint32(ndr
, "num_entries", r
->in
.num_entries
);
6413 if (flags
& NDR_OUT
) {
6414 ndr_print_struct(ndr
, "out", "lsa_EnumAccounts");
6416 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6418 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6420 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
6422 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
6424 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
6502 ndr_print_ptr(ndr
, "policy_handle", r
->in
.policy_handle
);
6504 ndr_print_policy_handle(ndr
, "policy_handle", r
->in
.policy_handle
);
6506 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6508 ndr_print_lsa_DomainInfo(ndr
, "info", r
->in
.info
);
6510 ndr_print_lsa_TrustedAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6513 if (flags
& NDR_OUT
) {
6514 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomain");
6516 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
6518 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
6520 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
6611 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6613 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6615 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6617 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6619 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6622 if (flags
& NDR_OUT
) {
6623 ndr_print_struct(ndr
, "out", "lsa_EnumTrustDom");
6625 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6627 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6629 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
6631 ndr_print_lsa_DomainList(ndr
, "domains", r
->out
.domains
);
6633 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
;
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
));
6756 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
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");
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");
6797 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6799 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6801 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
6802 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
6804 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
6806 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
6807 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
6812 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
6814 ndr_print_lsa_TransSidArray(ndr
, "sids", r
->in
.sids
);
6816 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
6817 ndr_print_ptr(ndr
, "count", r
->in
.count
);
6819 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
6823 if (flags
& NDR_OUT
) {
6824 ndr_print_struct(ndr
, "out", "lsa_LookupNames");
6826 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
6828 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
6830 if (*r
->out
.domains
) {
6831 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
6835 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
6837 ndr_print_lsa_TransSidArray(ndr
, "sids", r
->out
.sids
);
6839 ndr_print_ptr(ndr
, "count", r
->out
.count
);
6841 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
6843 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
6947 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
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");
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");
6987 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6989 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6991 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
6993 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
6995 ndr_print_ptr(ndr
, "names", r
->in
.names
);
6997 ndr_print_lsa_TransNameArray(ndr
, "names", r
->in
.names
);
6999 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
7000 ndr_print_ptr(ndr
, "count", r
->in
.count
);
7002 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
7006 if (flags
& NDR_OUT
) {
7007 ndr_print_struct(ndr
, "out", "lsa_LookupSids");
7009 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
7011 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
7013 if (*r
->out
.domains
) {
7014 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
7018 ndr_print_ptr(ndr
, "names", r
->out
.names
);
7020 ndr_print_lsa_TransNameArray(ndr
, "names", r
->out
.names
);
7022 ndr_print_ptr(ndr
, "count", r
->out
.count
);
7024 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
7026 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
7094 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7096 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7098 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
7099 ndr_print_lsa_SecretAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7102 if (flags
& NDR_OUT
) {
7103 ndr_print_struct(ndr
, "out", "lsa_CreateSecret");
7105 ndr_print_ptr(ndr
, "sec_handle", r
->out
.sec_handle
);
7107 ndr_print_policy_handle(ndr
, "sec_handle", r
->out
.sec_handle
);
7109 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
7187 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7189 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7191 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
7193 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
7195 ndr_print_lsa_AccountAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7198 if (flags
& NDR_OUT
) {
7199 ndr_print_struct(ndr
, "out", "lsa_OpenAccount");
7201 ndr_print_ptr(ndr
, "acct_handle", r
->out
.acct_handle
);
7203 ndr_print_policy_handle(ndr
, "acct_handle", r
->out
.acct_handle
);
7205 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
7259 NDR_PULL_ALLOC(ndr
, *r
->out
.privs
);
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");
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");
7285 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7287 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7291 if (flags
& NDR_OUT
) {
7292 ndr_print_struct(ndr
, "out", "lsa_EnumPrivsAccount");
7294 ndr_print_ptr(ndr
, "privs", r
->out
.privs
);
7296 ndr_print_ptr(ndr
, "privs", *r
->out
.privs
);
7298 if (*r
->out
.privs
) {
7299 ndr_print_lsa_PrivilegeSet(ndr
, "privs", *r
->out
.privs
);
7303 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
7363 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7365 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7367 ndr_print_ptr(ndr
, "privs", r
->in
.privs
);
7369 ndr_print_lsa_PrivilegeSet(ndr
, "privs", r
->in
.privs
);
7373 if (flags
& NDR_OUT
) {
7374 ndr_print_struct(ndr
, "out", "lsa_AddPrivilegesToAccount");
7376 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
));
7417 NDR_PULL_ALLOC(ndr
, 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");
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");
7444 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7446 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7448 ndr_print_uint8(ndr
, "remove_all", r
->in
.remove_all
);
7449 ndr_print_ptr(ndr
, "privs", r
->in
.privs
);
7452 ndr_print_lsa_PrivilegeSet(ndr
, "privs", r
->in
.privs
);
7457 if (flags
& NDR_OUT
) {
7458 ndr_print_struct(ndr
, "out", "lsa_RemovePrivilegesFromAccount");
7460 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
7498 if (flags
& NDR_OUT
) {
7499 ndr_print_struct(ndr
, "out", "lsa_GetQuotasForAccount");
7501 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
7539 if (flags
& NDR_OUT
) {
7540 ndr_print_struct(ndr
, "out", "lsa_SetQuotasForAccount");
7542 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
7606 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7608 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7612 if (flags
& NDR_OUT
) {
7613 ndr_print_struct(ndr
, "out", "lsa_GetSystemAccessAccount");
7615 ndr_print_ptr(ndr
, "access_mask", r
->out
.access_mask
);
7617 ndr_print_lsa_AccountAccessMask(ndr
, "access_mask", *r
->out
.access_mask
);
7619 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
7669 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7671 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7673 ndr_print_lsa_AccountAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7676 if (flags
& NDR_OUT
) {
7677 ndr_print_struct(ndr
, "out", "lsa_SetSystemAccessAccount");
7679 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
7757 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7759 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7761 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
7763 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
7765 ndr_print_lsa_TrustedAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7768 if (flags
& NDR_OUT
) {
7769 ndr_print_struct(ndr
, "out", "lsa_OpenTrustedDomain");
7771 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
7773 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
7775 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
)
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
));
7832 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
7834 *r
->out
.info
= NULL
;
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");
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");
7859 ndr_print_ptr(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7861 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7863 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
7866 if (flags
& NDR_OUT
) {
7867 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfo");
7869 ndr_print_ptr(ndr
, "info", r
->out
.info
);
7871 ndr_print_ptr(ndr
, "info", *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
);
7879 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
7943 ndr_print_ptr(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7945 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7947 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
7948 ndr_print_ptr(ndr
, "info", r
->in
.info
);
7950 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
7951 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
7955 if (flags
& NDR_OUT
) {
7956 ndr_print_struct(ndr
, "out", "lsa_SetInformationTrustedDomain");
7958 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
8026 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8028 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8030 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
8031 ndr_print_lsa_SecretAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8034 if (flags
& NDR_OUT
) {
8035 ndr_print_struct(ndr
, "out", "lsa_OpenSecret");
8037 ndr_print_ptr(ndr
, "sec_handle", r
->out
.sec_handle
);
8039 ndr_print_policy_handle(ndr
, "sec_handle", r
->out
.sec_handle
);
8041 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
8086 NDR_PULL_ALLOC(ndr
, r
->in
.new_val
);
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
));
8098 NDR_PULL_ALLOC(ndr
, r
->in
.old_val
);
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");
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");
8125 ndr_print_ptr(ndr
, "sec_handle", r
->in
.sec_handle
);
8127 ndr_print_policy_handle(ndr
, "sec_handle", r
->in
.sec_handle
);
8129 ndr_print_ptr(ndr
, "new_val", r
->in
.new_val
);
8131 if (r
->in
.new_val
) {
8132 ndr_print_lsa_DATA_BUF(ndr
, "new_val", r
->in
.new_val
);
8135 ndr_print_ptr(ndr
, "old_val", r
->in
.old_val
);
8137 if (r
->in
.old_val
) {
8138 ndr_print_lsa_DATA_BUF(ndr
, "old_val", r
->in
.old_val
);
8143 if (flags
& NDR_OUT
) {
8144 ndr_print_struct(ndr
, "out", "lsa_SetSecret");
8146 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
8221 NDR_PULL_ALLOC(ndr
, r
->in
.new_val
);
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
);
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
));
8245 NDR_PULL_ALLOC(ndr
, r
->in
.old_val
);
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
);
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
));
8271 NDR_PULL_ALLOC(ndr
, r
->out
.new_val
);
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
);
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
));
8295 NDR_PULL_ALLOC(ndr
, r
->out
.old_val
);
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
);
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");
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");
8332 ndr_print_ptr(ndr
, "sec_handle", r
->in
.sec_handle
);
8334 ndr_print_policy_handle(ndr
, "sec_handle", r
->in
.sec_handle
);
8336 ndr_print_ptr(ndr
, "new_val", r
->in
.new_val
);
8338 if (r
->in
.new_val
) {
8339 ndr_print_lsa_DATA_BUF_PTR(ndr
, "new_val", r
->in
.new_val
);
8342 ndr_print_ptr(ndr
, "new_mtime", r
->in
.new_mtime
);
8344 if (r
->in
.new_mtime
) {
8345 ndr_print_NTTIME_hyper(ndr
, "new_mtime", *r
->in
.new_mtime
);
8348 ndr_print_ptr(ndr
, "old_val", r
->in
.old_val
);
8350 if (r
->in
.old_val
) {
8351 ndr_print_lsa_DATA_BUF_PTR(ndr
, "old_val", r
->in
.old_val
);
8354 ndr_print_ptr(ndr
, "old_mtime", r
->in
.old_mtime
);
8356 if (r
->in
.old_mtime
) {
8357 ndr_print_NTTIME_hyper(ndr
, "old_mtime", *r
->in
.old_mtime
);
8362 if (flags
& NDR_OUT
) {
8363 ndr_print_struct(ndr
, "out", "lsa_QuerySecret");
8365 ndr_print_ptr(ndr
, "new_val", r
->out
.new_val
);
8367 if (r
->out
.new_val
) {
8368 ndr_print_lsa_DATA_BUF_PTR(ndr
, "new_val", r
->out
.new_val
);
8371 ndr_print_ptr(ndr
, "new_mtime", r
->out
.new_mtime
);
8373 if (r
->out
.new_mtime
) {
8374 ndr_print_NTTIME_hyper(ndr
, "new_mtime", *r
->out
.new_mtime
);
8377 ndr_print_ptr(ndr
, "old_val", r
->out
.old_val
);
8379 if (r
->out
.old_val
) {
8380 ndr_print_lsa_DATA_BUF_PTR(ndr
, "old_val", r
->out
.old_val
);
8383 ndr_print_ptr(ndr
, "old_mtime", r
->out
.old_mtime
);
8385 if (r
->out
.old_mtime
) {
8386 ndr_print_NTTIME_hyper(ndr
, "old_mtime", *r
->out
.old_mtime
);
8389 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
8465 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8467 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8469 ndr_print_ptr(ndr
, "name", r
->in
.name
);
8471 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
8475 if (flags
& NDR_OUT
) {
8476 ndr_print_struct(ndr
, "out", "lsa_LookupPrivValue");
8478 ndr_print_ptr(ndr
, "luid", r
->out
.luid
);
8480 ndr_print_lsa_LUID(ndr
, "luid", r
->out
.luid
);
8482 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
)
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
));
8548 NDR_PULL_ALLOC(ndr
, *r
->out
.name
);
8550 *r
->out
.name
= NULL
;
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");
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");
8574 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8576 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8578 ndr_print_ptr(ndr
, "luid", r
->in
.luid
);
8580 ndr_print_lsa_LUID(ndr
, "luid", r
->in
.luid
);
8584 if (flags
& NDR_OUT
) {
8585 ndr_print_struct(ndr
, "out", "lsa_LookupPrivName");
8587 ndr_print_ptr(ndr
, "name", r
->out
.name
);
8589 ndr_print_ptr(ndr
, "name", *r
->out
.name
);
8592 ndr_print_lsa_StringLarge(ndr
, "name", *r
->out
.name
);
8596 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
);
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");
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");
8706 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8708 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8710 ndr_print_ptr(ndr
, "name", r
->in
.name
);
8712 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
8714 ndr_print_uint16(ndr
, "language_id", r
->in
.language_id
);
8715 ndr_print_uint16(ndr
, "language_id_sys", r
->in
.language_id_sys
);
8718 if (flags
& NDR_OUT
) {
8719 ndr_print_struct(ndr
, "out", "lsa_LookupPrivDisplayName");
8721 ndr_print_ptr(ndr
, "disp_name", r
->out
.disp_name
);
8723 ndr_print_ptr(ndr
, "disp_name", *r
->out
.disp_name
);
8725 if (*r
->out
.disp_name
) {
8726 ndr_print_lsa_StringLarge(ndr
, "disp_name", *r
->out
.disp_name
);
8730 ndr_print_ptr(ndr
, "returned_language_id", r
->out
.returned_language_id
);
8732 ndr_print_uint16(ndr
, "returned_language_id", *r
->out
.returned_language_id
);
8734 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
8797 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8799 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8803 if (flags
& NDR_OUT
) {
8804 ndr_print_struct(ndr
, "out", "lsa_DeleteObject");
8806 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
8808 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
8810 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
)
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
));
8856 NDR_PULL_ALLOC(ndr
, 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");
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");
8892 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8894 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8896 ndr_print_ptr(ndr
, "name", r
->in
.name
);
8899 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
8904 if (flags
& NDR_OUT
) {
8905 ndr_print_struct(ndr
, "out", "lsa_EnumAccountsWithUserRight");
8907 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
8909 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
8911 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
8987 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8989 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8991 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8993 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8997 if (flags
& NDR_OUT
) {
8998 ndr_print_struct(ndr
, "out", "lsa_EnumAccountRights");
9000 ndr_print_ptr(ndr
, "rights", r
->out
.rights
);
9002 ndr_print_lsa_RightSet(ndr
, "rights", r
->out
.rights
);
9004 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
9076 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9078 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9080 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
9082 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
9084 ndr_print_ptr(ndr
, "rights", r
->in
.rights
);
9086 ndr_print_lsa_RightSet(ndr
, "rights", r
->in
.rights
);
9090 if (flags
& NDR_OUT
) {
9091 ndr_print_struct(ndr
, "out", "lsa_AddAccountRights");
9093 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
9167 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9169 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9171 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
9173 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
9175 ndr_print_uint8(ndr
, "remove_all", r
->in
.remove_all
);
9176 ndr_print_ptr(ndr
, "rights", r
->in
.rights
);
9178 ndr_print_lsa_RightSet(ndr
, "rights", r
->in
.rights
);
9182 if (flags
& NDR_OUT
) {
9183 ndr_print_struct(ndr
, "out", "lsa_RemoveAccountRights");
9185 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
)
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
));
9254 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9256 *r
->out
.info
= NULL
;
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");
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");
9281 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9283 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9285 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
9287 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
9289 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
9292 if (flags
& NDR_OUT
) {
9293 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfoBySid");
9295 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9297 ndr_print_ptr(ndr
, "info", *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
);
9305 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
9381 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9383 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9385 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
9387 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
9389 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
9390 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9392 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9393 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
9397 if (flags
& NDR_OUT
) {
9398 ndr_print_struct(ndr
, "out", "lsa_SetTrustedDomainInfo");
9400 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
9460 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9462 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9464 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
9466 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
9470 if (flags
& NDR_OUT
) {
9471 ndr_print_struct(ndr
, "out", "lsa_DeleteTrustedDomain");
9473 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
)
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
));
9524 NDR_PULL_ALLOC(ndr
, 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");
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");
9551 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9553 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9555 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9557 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9559 ndr_print_ptr(ndr
, "val", r
->in
.val
);
9562 ndr_print_lsa_DATA_BUF(ndr
, "val", r
->in
.val
);
9567 if (flags
& NDR_OUT
) {
9568 ndr_print_struct(ndr
, "out", "lsa_StorePrivateData");
9570 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
));
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
)
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
));
9639 NDR_PULL_ALLOC(ndr
, *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
));
9661 NDR_PULL_ALLOC(ndr
, *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");
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");
9687 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9689 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9691 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9693 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9695 ndr_print_ptr(ndr
, "val", r
->in
.val
);
9697 ndr_print_ptr(ndr
, "val", *r
->in
.val
);
9700 ndr_print_lsa_DATA_BUF(ndr
, "val", *r
->in
.val
);
9706 if (flags
& NDR_OUT
) {
9707 ndr_print_struct(ndr
, "out", "lsa_RetrievePrivateData");
9709 ndr_print_ptr(ndr
, "val", r
->out
.val
);
9711 ndr_print_ptr(ndr
, "val", *r
->out
.val
);
9714 ndr_print_lsa_DATA_BUF(ndr
, "val", *r
->out
.val
);
9718 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
);
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");
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");
9815 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
9817 if (r
->in
.system_name
) {
9818 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
9821 ndr_print_ptr(ndr
, "attr", r
->in
.attr
);
9823 ndr_print_lsa_ObjectAttribute(ndr
, "attr", r
->in
.attr
);
9825 ndr_print_lsa_PolicyAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
9828 if (flags
& NDR_OUT
) {
9829 ndr_print_struct(ndr
, "out", "lsa_OpenPolicy2");
9831 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
9833 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
9835 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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");
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");
10022 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
10024 if (r
->in
.system_name
) {
10025 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
10028 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
10030 ndr_print_ptr(ndr
, "account_name", *r
->in
.account_name
);
10032 if (*r
->in
.account_name
) {
10033 ndr_print_lsa_String(ndr
, "account_name", *r
->in
.account_name
);
10037 ndr_print_ptr(ndr
, "authority_name", r
->in
.authority_name
);
10039 if (r
->in
.authority_name
) {
10040 ndr_print_ptr(ndr
, "authority_name", *r
->in
.authority_name
);
10042 if (*r
->in
.authority_name
) {
10043 ndr_print_lsa_String(ndr
, "authority_name", *r
->in
.authority_name
);
10050 if (flags
& NDR_OUT
) {
10051 ndr_print_struct(ndr
, "out", "lsa_GetUserName");
10053 ndr_print_ptr(ndr
, "account_name", r
->out
.account_name
);
10055 ndr_print_ptr(ndr
, "account_name", *r
->out
.account_name
);
10057 if (*r
->out
.account_name
) {
10058 ndr_print_lsa_String(ndr
, "account_name", *r
->out
.account_name
);
10062 ndr_print_ptr(ndr
, "authority_name", r
->out
.authority_name
);
10064 if (r
->out
.authority_name
) {
10065 ndr_print_ptr(ndr
, "authority_name", *r
->out
.authority_name
);
10067 if (*r
->out
.authority_name
) {
10068 ndr_print_lsa_String(ndr
, "authority_name", *r
->out
.authority_name
);
10073 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
10130 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
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");
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");
10157 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10159 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10161 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
10164 if (flags
& NDR_OUT
) {
10165 ndr_print_struct(ndr
, "out", "lsa_QueryInfoPolicy2");
10167 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10169 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
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
);
10177 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
10241 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10243 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10245 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
10246 ndr_print_ptr(ndr
, "info", r
->in
.info
);
10248 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
10249 ndr_print_lsa_PolicyInformation(ndr
, "info", r
->in
.info
);
10253 if (flags
& NDR_OUT
) {
10254 ndr_print_struct(ndr
, "out", "lsa_SetInfoPolicy2");
10256 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
10325 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
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");
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");
10352 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10354 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10356 ndr_print_ptr(ndr
, "trusted_domain", r
->in
.trusted_domain
);
10358 ndr_print_lsa_String(ndr
, "trusted_domain", r
->in
.trusted_domain
);
10360 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
10363 if (flags
& NDR_OUT
) {
10364 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfoByName");
10366 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10368 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
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
);
10376 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
));
10420 NDR_PULL_ALLOC(ndr
, 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");
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");
10448 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10450 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
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
);
10457 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
10458 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
10463 if (flags
& NDR_OUT
) {
10464 ndr_print_struct(ndr
, "out", "lsa_SetTrustedDomainInfoByName");
10466 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
10557 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10559 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10561 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
10563 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
10565 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
10568 if (flags
& NDR_OUT
) {
10569 ndr_print_struct(ndr
, "out", "lsa_EnumTrustedDomainsEx");
10571 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
10573 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
10575 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
10577 ndr_print_lsa_DomainListEx(ndr
, "domains", r
->out
.domains
);
10579 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
10669 ndr_print_ptr(ndr
, "policy_handle", r
->in
.policy_handle
);
10671 ndr_print_policy_handle(ndr
, "policy_handle", r
->in
.policy_handle
);
10673 ndr_print_ptr(ndr
, "info", r
->in
.info
);
10675 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info", r
->in
.info
);
10677 ndr_print_ptr(ndr
, "auth_info", r
->in
.auth_info
);
10679 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info", r
->in
.auth_info
);
10681 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
10684 if (flags
& NDR_OUT
) {
10685 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomainEx");
10687 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
10689 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
10691 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
10754 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10756 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10760 if (flags
& NDR_OUT
) {
10761 ndr_print_struct(ndr
, "out", "lsa_CloseTrustedDomainEx");
10763 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
10765 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
10767 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
10824 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
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");
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");
10851 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10853 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10855 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10858 if (flags
& NDR_OUT
) {
10859 ndr_print_struct(ndr
, "out", "lsa_QueryDomainInformationPolicy");
10861 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10863 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
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
);
10871 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
));
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
));
10913 NDR_PULL_ALLOC(ndr
, 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");
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");
10941 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10943 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10945 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10946 ndr_print_ptr(ndr
, "info", 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
);
10955 if (flags
& NDR_OUT
) {
10956 ndr_print_struct(ndr
, "out", "lsa_SetDomainInformationPolicy");
10958 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11026 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11028 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11030 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
11031 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
11034 if (flags
& NDR_OUT
) {
11035 ndr_print_struct(ndr
, "out", "lsa_OpenTrustedDomainByName");
11037 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11039 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11041 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11079 if (flags
& NDR_OUT
) {
11080 ndr_print_struct(ndr
, "out", "lsa_TestCall");
11082 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
);
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");
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");
11230 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11232 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11234 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
11236 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
11238 ndr_print_ptr(ndr
, "names", r
->in
.names
);
11240 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->in
.names
);
11242 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
11243 ndr_print_ptr(ndr
, "count", r
->in
.count
);
11245 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
11247 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
11248 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
11251 if (flags
& NDR_OUT
) {
11252 ndr_print_struct(ndr
, "out", "lsa_LookupSids2");
11254 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
11256 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
11258 if (*r
->out
.domains
) {
11259 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
11263 ndr_print_ptr(ndr
, "names", r
->out
.names
);
11265 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->out
.names
);
11267 ndr_print_ptr(ndr
, "count", r
->out
.count
);
11269 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
11271 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
;
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
);
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");
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");
11439 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11441 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11443 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
11444 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
11446 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
11448 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
11449 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
11454 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
11456 ndr_print_lsa_TransSidArray2(ndr
, "sids", r
->in
.sids
);
11458 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
11459 ndr_print_ptr(ndr
, "count", r
->in
.count
);
11461 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
11463 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
11464 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
11467 if (flags
& NDR_OUT
) {
11468 ndr_print_struct(ndr
, "out", "lsa_LookupNames2");
11470 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
11472 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
11474 if (*r
->out
.domains
) {
11475 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
11479 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
11481 ndr_print_lsa_TransSidArray2(ndr
, "sids", r
->out
.sids
);
11483 ndr_print_ptr(ndr
, "count", r
->out
.count
);
11485 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
11487 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11577 ndr_print_ptr(ndr
, "policy_handle", r
->in
.policy_handle
);
11579 ndr_print_policy_handle(ndr
, "policy_handle", r
->in
.policy_handle
);
11581 ndr_print_ptr(ndr
, "info", r
->in
.info
);
11583 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info", r
->in
.info
);
11585 ndr_print_ptr(ndr
, "auth_info", r
->in
.auth_info
);
11587 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info", r
->in
.auth_info
);
11589 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
11592 if (flags
& NDR_OUT
) {
11593 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomainEx2");
11595 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11597 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11599 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11637 if (flags
& NDR_OUT
) {
11638 ndr_print_struct(ndr
, "out", "lsa_CREDRWRITE");
11640 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11678 if (flags
& NDR_OUT
) {
11679 ndr_print_struct(ndr
, "out", "lsa_CREDRREAD");
11681 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11719 if (flags
& NDR_OUT
) {
11720 ndr_print_struct(ndr
, "out", "lsa_CREDRENUMERATE");
11722 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11760 if (flags
& NDR_OUT
) {
11761 ndr_print_struct(ndr
, "out", "lsa_CREDRWRITEDOMAINCREDENTIALS");
11763 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11801 if (flags
& NDR_OUT
) {
11802 ndr_print_struct(ndr
, "out", "lsa_CREDRREADDOMAINCREDENTIALS");
11804 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11842 if (flags
& NDR_OUT
) {
11843 ndr_print_struct(ndr
, "out", "lsa_CREDRDELETE");
11845 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11883 if (flags
& NDR_OUT
) {
11884 ndr_print_struct(ndr
, "out", "lsa_CREDRGETTARGETINFO");
11886 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
11924 if (flags
& NDR_OUT
) {
11925 ndr_print_struct(ndr
, "out", "lsa_CREDRPROFILELOADED");
11927 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
;
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
);
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");
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");
12095 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
12097 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
12099 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
12100 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
12102 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
12104 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
12105 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
12110 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
12112 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->in
.sids
);
12114 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
12115 ndr_print_ptr(ndr
, "count", r
->in
.count
);
12117 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
12119 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
12120 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
12123 if (flags
& NDR_OUT
) {
12124 ndr_print_struct(ndr
, "out", "lsa_LookupNames3");
12126 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
12128 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
12130 if (*r
->out
.domains
) {
12131 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
12135 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
12137 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->out
.sids
);
12139 ndr_print_ptr(ndr
, "count", r
->out
.count
);
12141 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
12143 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
12181 if (flags
& NDR_OUT
) {
12182 ndr_print_struct(ndr
, "out", "lsa_CREDRGETSESSIONTYPES");
12184 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
12222 if (flags
& NDR_OUT
) {
12223 ndr_print_struct(ndr
, "out", "lsa_LSARREGISTERAUDITEVENT");
12225 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
12263 if (flags
& NDR_OUT
) {
12264 ndr_print_struct(ndr
, "out", "lsa_LSARGENAUDITEVENT");
12266 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
12304 if (flags
& NDR_OUT
) {
12305 ndr_print_struct(ndr
, "out", "lsa_LSARUNREGISTERAUDITEVENT");
12307 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
);
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");
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");
12401 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
12403 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
12405 ndr_print_ptr(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
12407 ndr_print_lsa_String(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
12409 ndr_print_uint16(ndr
, "unknown", r
->in
.unknown
);
12412 if (flags
& NDR_OUT
) {
12413 ndr_print_struct(ndr
, "out", "lsa_lsaRQueryForestTrustInformation");
12415 ndr_print_ptr(ndr
, "forest_trust_info", r
->out
.forest_trust_info
);
12417 ndr_print_ptr(ndr
, "forest_trust_info", *r
->out
.forest_trust_info
);
12419 if (*r
->out
.forest_trust_info
) {
12420 ndr_print_lsa_ForestTrustInformation(ndr
, "forest_trust_info", *r
->out
.forest_trust_info
);
12424 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
12462 if (flags
& NDR_OUT
) {
12463 ndr_print_struct(ndr
, "out", "lsa_LSARSETFORESTTRUSTINFORMATION");
12465 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
12503 if (flags
& NDR_OUT
) {
12504 ndr_print_struct(ndr
, "out", "lsa_CREDRRENAME");
12506 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
);
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");
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");
12642 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
12644 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
12646 ndr_print_ptr(ndr
, "names", r
->in
.names
);
12648 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->in
.names
);
12650 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
12651 ndr_print_ptr(ndr
, "count", r
->in
.count
);
12653 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
12655 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
12656 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
12659 if (flags
& NDR_OUT
) {
12660 ndr_print_struct(ndr
, "out", "lsa_LookupSids3");
12662 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
12664 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
12666 if (*r
->out
.domains
) {
12667 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
12671 ndr_print_ptr(ndr
, "names", r
->out
.names
);
12673 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->out
.names
);
12675 ndr_print_ptr(ndr
, "count", r
->out
.count
);
12677 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
12679 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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
;
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
);
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");
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");
12835 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
12836 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
12838 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
12840 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
12841 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
12846 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
12848 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->in
.sids
);
12850 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
12851 ndr_print_ptr(ndr
, "count", r
->in
.count
);
12853 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
12855 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
12856 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
12859 if (flags
& NDR_OUT
) {
12860 ndr_print_struct(ndr
, "out", "lsa_LookupNames4");
12862 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
12864 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
12866 if (*r
->out
.domains
) {
12867 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
12871 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
12873 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->out
.sids
);
12875 ndr_print_ptr(ndr
, "count", r
->out
.count
);
12877 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
12879 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
12917 if (flags
& NDR_OUT
) {
12918 ndr_print_struct(ndr
, "out", "lsa_LSAROPENPOLICYSCE");
12920 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
12958 if (flags
& NDR_OUT
) {
12959 ndr_print_struct(ndr
, "out", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
12961 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
12999 if (flags
& NDR_OUT
) {
13000 ndr_print_struct(ndr
, "out", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
13002 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
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");
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");
13040 if (flags
& NDR_OUT
) {
13041 ndr_print_struct(ndr
, "out", "lsa_LSARADTREPORTSECURITYEVENT");
13043 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
13049 static const struct ndr_interface_call lsarpc_calls
[] = {
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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
,
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]",
13717 static const struct ndr_interface_string_array lsarpc_endpoints
= {
13719 .names
= lsarpc_endpoint_strings
13722 static const char * const lsarpc_authservice_strings
[] = {
13726 static const struct ndr_interface_string_array lsarpc_authservices
= {
13728 .names
= lsarpc_authservice_strings
13732 const struct ndr_interface_table ndr_table_lsarpc
= {
13735 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},
13738 .helpstring
= NDR_LSARPC_HELPSTRING
,
13740 .calls
= lsarpc_calls
,
13741 .endpoints
= &lsarpc_endpoints
,
13742 .authservices
= &lsarpc_authservices