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 TALLOC_CTX
*_mem_save_string_0
;
32 if (ndr_flags
& NDR_SCALARS
) {
33 NDR_CHECK(ndr_pull_align(ndr
, 5));
34 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
35 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
36 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
38 NDR_PULL_ALLOC(ndr
, r
->string
);
42 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
44 if (ndr_flags
& NDR_BUFFERS
) {
46 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
47 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
48 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
49 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
50 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
51 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string
), ndr_get_array_length(ndr
, &r
->string
));
53 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
54 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
57 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
/ 2));
60 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
/ 2));
63 return NDR_ERR_SUCCESS
;
66 _PUBLIC_
void ndr_print_lsa_String(struct ndr_print
*ndr
, const char *name
, const struct lsa_String
*r
)
68 ndr_print_struct(ndr
, name
, "lsa_String");
70 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
71 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->size
);
72 ndr_print_ptr(ndr
, "string", r
->string
);
75 ndr_print_string(ndr
, "string", r
->string
);
81 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_StringLarge(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_StringLarge
*r
)
83 if (ndr_flags
& NDR_SCALARS
) {
84 NDR_CHECK(ndr_push_align(ndr
, 5));
85 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
86 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m_term(r
->string
)));
87 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
88 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
90 if (ndr_flags
& NDR_BUFFERS
) {
92 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 2 * strlen_m_term(r
->string
) / 2));
93 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
94 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
) / 2));
95 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, 2 * strlen_m(r
->string
) / 2, sizeof(uint16_t), CH_UTF16
));
98 return NDR_ERR_SUCCESS
;
101 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_StringLarge(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_StringLarge
*r
)
103 uint32_t _ptr_string
;
104 TALLOC_CTX
*_mem_save_string_0
;
105 if (ndr_flags
& NDR_SCALARS
) {
106 NDR_CHECK(ndr_pull_align(ndr
, 5));
107 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
108 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
109 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
111 NDR_PULL_ALLOC(ndr
, r
->string
);
115 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
117 if (ndr_flags
& NDR_BUFFERS
) {
119 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
120 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
121 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
122 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
123 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
124 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string
), ndr_get_array_length(ndr
, &r
->string
));
126 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
127 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
130 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
/ 2));
133 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
/ 2));
136 return NDR_ERR_SUCCESS
;
139 _PUBLIC_
void ndr_print_lsa_StringLarge(struct ndr_print
*ndr
, const char *name
, const struct lsa_StringLarge
*r
)
141 ndr_print_struct(ndr
, name
, "lsa_StringLarge");
143 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
144 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m_term(r
->string
):r
->size
);
145 ndr_print_ptr(ndr
, "string", r
->string
);
148 ndr_print_string(ndr
, "string", r
->string
);
154 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_Strings(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_Strings
*r
)
156 uint32_t cntr_names_1
;
157 if (ndr_flags
& NDR_SCALARS
) {
158 NDR_CHECK(ndr_push_align(ndr
, 5));
159 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
160 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
161 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
163 if (ndr_flags
& NDR_BUFFERS
) {
165 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
166 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
167 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
169 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
170 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
174 return NDR_ERR_SUCCESS
;
177 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_Strings(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_Strings
*r
)
180 uint32_t cntr_names_1
;
181 TALLOC_CTX
*_mem_save_names_0
;
182 TALLOC_CTX
*_mem_save_names_1
;
183 if (ndr_flags
& NDR_SCALARS
) {
184 NDR_CHECK(ndr_pull_align(ndr
, 5));
185 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
186 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
188 NDR_PULL_ALLOC(ndr
, r
->names
);
192 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
194 if (ndr_flags
& NDR_BUFFERS
) {
196 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
197 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
198 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
199 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
200 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
201 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
202 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
203 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
205 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
206 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
208 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
209 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
212 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
215 return NDR_ERR_SUCCESS
;
218 _PUBLIC_
void ndr_print_lsa_Strings(struct ndr_print
*ndr
, const char *name
, const struct lsa_Strings
*r
)
220 uint32_t cntr_names_1
;
221 ndr_print_struct(ndr
, name
, "lsa_Strings");
223 ndr_print_uint32(ndr
, "count", r
->count
);
224 ndr_print_ptr(ndr
, "names", r
->names
);
227 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
229 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
231 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
232 ndr_print_lsa_String(ndr
, "names", &r
->names
[cntr_names_1
]);
242 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_AsciiString(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AsciiString
*r
)
244 if (ndr_flags
& NDR_SCALARS
) {
245 NDR_CHECK(ndr_push_align(ndr
, 5));
246 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
247 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
248 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
249 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
251 if (ndr_flags
& NDR_BUFFERS
) {
253 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
254 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
255 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
256 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, strlen_m(r
->string
), sizeof(uint8_t), CH_DOS
));
259 return NDR_ERR_SUCCESS
;
262 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_AsciiString(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AsciiString
*r
)
264 uint32_t _ptr_string
;
265 TALLOC_CTX
*_mem_save_string_0
;
266 if (ndr_flags
& NDR_SCALARS
) {
267 NDR_CHECK(ndr_pull_align(ndr
, 5));
268 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
269 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
270 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
272 NDR_PULL_ALLOC(ndr
, r
->string
);
276 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
278 if (ndr_flags
& NDR_BUFFERS
) {
280 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
281 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
282 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
283 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
284 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
285 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string
), ndr_get_array_length(ndr
, &r
->string
));
287 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
288 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
291 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
));
294 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
));
297 return NDR_ERR_SUCCESS
;
300 _PUBLIC_
void ndr_print_lsa_AsciiString(struct ndr_print
*ndr
, const char *name
, const struct lsa_AsciiString
*r
)
302 ndr_print_struct(ndr
, name
, "lsa_AsciiString");
304 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->length
);
305 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->size
);
306 ndr_print_ptr(ndr
, "string", r
->string
);
309 ndr_print_string(ndr
, "string", r
->string
);
315 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_AsciiStringLarge(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AsciiStringLarge
*r
)
317 if (ndr_flags
& NDR_SCALARS
) {
318 NDR_CHECK(ndr_push_align(ndr
, 5));
319 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
320 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m_term(r
->string
)));
321 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
322 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
324 if (ndr_flags
& NDR_BUFFERS
) {
326 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, strlen_m_term(r
->string
)));
327 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
328 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
329 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, strlen_m(r
->string
), sizeof(uint8_t), CH_DOS
));
332 return NDR_ERR_SUCCESS
;
335 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_AsciiStringLarge(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AsciiStringLarge
*r
)
337 uint32_t _ptr_string
;
338 TALLOC_CTX
*_mem_save_string_0
;
339 if (ndr_flags
& NDR_SCALARS
) {
340 NDR_CHECK(ndr_pull_align(ndr
, 5));
341 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
342 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
343 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
345 NDR_PULL_ALLOC(ndr
, r
->string
);
349 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
351 if (ndr_flags
& NDR_BUFFERS
) {
353 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
354 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
355 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
356 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
357 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
358 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string
), ndr_get_array_length(ndr
, &r
->string
));
360 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
361 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
364 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
));
367 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
));
370 return NDR_ERR_SUCCESS
;
373 _PUBLIC_
void ndr_print_lsa_AsciiStringLarge(struct ndr_print
*ndr
, const char *name
, const struct lsa_AsciiStringLarge
*r
)
375 ndr_print_struct(ndr
, name
, "lsa_AsciiStringLarge");
377 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->length
);
378 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m_term(r
->string
):r
->size
);
379 ndr_print_ptr(ndr
, "string", r
->string
);
382 ndr_print_string(ndr
, "string", r
->string
);
388 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_BinaryString(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_BinaryString
*r
)
390 uint32_t cntr_array_1
;
391 if (ndr_flags
& NDR_SCALARS
) {
392 NDR_CHECK(ndr_push_align(ndr
, 5));
393 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->length
));
394 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->size
));
395 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
396 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
398 if (ndr_flags
& NDR_BUFFERS
) {
400 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
/ 2));
401 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
402 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
/ 2));
403 for (cntr_array_1
= 0; cntr_array_1
< r
->length
/ 2; cntr_array_1
++) {
404 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->array
[cntr_array_1
]));
408 return NDR_ERR_SUCCESS
;
411 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_BinaryString(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_BinaryString
*r
)
414 uint32_t cntr_array_1
;
415 TALLOC_CTX
*_mem_save_array_0
;
416 TALLOC_CTX
*_mem_save_array_1
;
417 if (ndr_flags
& NDR_SCALARS
) {
418 NDR_CHECK(ndr_pull_align(ndr
, 5));
419 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
420 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
421 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
423 NDR_PULL_ALLOC(ndr
, r
->array
);
427 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
429 if (ndr_flags
& NDR_BUFFERS
) {
431 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
432 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
433 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
434 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->array
));
435 if (ndr_get_array_length(ndr
, &r
->array
) > ndr_get_array_size(ndr
, &r
->array
)) {
436 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->array
), ndr_get_array_length(ndr
, &r
->array
));
438 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
439 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
440 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
441 for (cntr_array_1
= 0; cntr_array_1
< ndr_get_array_length(ndr
, &r
->array
); cntr_array_1
++) {
442 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
444 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
445 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
448 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->size
/ 2));
451 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->array
, r
->length
/ 2));
454 return NDR_ERR_SUCCESS
;
457 _PUBLIC_
void ndr_print_lsa_BinaryString(struct ndr_print
*ndr
, const char *name
, const struct lsa_BinaryString
*r
)
459 uint32_t cntr_array_1
;
460 ndr_print_struct(ndr
, name
, "lsa_BinaryString");
462 ndr_print_uint16(ndr
, "length", r
->length
);
463 ndr_print_uint16(ndr
, "size", r
->size
);
464 ndr_print_ptr(ndr
, "array", r
->array
);
467 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->length
/ 2);
469 for (cntr_array_1
=0;cntr_array_1
<r
->length
/ 2;cntr_array_1
++) {
471 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
472 ndr_print_uint16(ndr
, "array", r
->array
[cntr_array_1
]);
482 static enum ndr_err_code
ndr_push_lsa_LUID(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_LUID
*r
)
484 if (ndr_flags
& NDR_SCALARS
) {
485 NDR_CHECK(ndr_push_align(ndr
, 4));
486 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->low
));
487 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->high
));
488 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
490 if (ndr_flags
& NDR_BUFFERS
) {
492 return NDR_ERR_SUCCESS
;
495 static enum ndr_err_code
ndr_pull_lsa_LUID(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_LUID
*r
)
497 if (ndr_flags
& NDR_SCALARS
) {
498 NDR_CHECK(ndr_pull_align(ndr
, 4));
499 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->low
));
500 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->high
));
501 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
503 if (ndr_flags
& NDR_BUFFERS
) {
505 return NDR_ERR_SUCCESS
;
508 _PUBLIC_
void ndr_print_lsa_LUID(struct ndr_print
*ndr
, const char *name
, const struct lsa_LUID
*r
)
510 ndr_print_struct(ndr
, name
, "lsa_LUID");
512 ndr_print_uint32(ndr
, "low", r
->low
);
513 ndr_print_uint32(ndr
, "high", r
->high
);
517 static enum ndr_err_code
ndr_push_lsa_PrivEntry(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PrivEntry
*r
)
519 if (ndr_flags
& NDR_SCALARS
) {
520 NDR_CHECK(ndr_push_align(ndr
, 5));
521 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
522 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
523 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
525 if (ndr_flags
& NDR_BUFFERS
) {
526 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
528 return NDR_ERR_SUCCESS
;
531 static enum ndr_err_code
ndr_pull_lsa_PrivEntry(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PrivEntry
*r
)
533 if (ndr_flags
& NDR_SCALARS
) {
534 NDR_CHECK(ndr_pull_align(ndr
, 5));
535 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
536 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
537 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
539 if (ndr_flags
& NDR_BUFFERS
) {
540 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
542 return NDR_ERR_SUCCESS
;
545 _PUBLIC_
void ndr_print_lsa_PrivEntry(struct ndr_print
*ndr
, const char *name
, const struct lsa_PrivEntry
*r
)
547 ndr_print_struct(ndr
, name
, "lsa_PrivEntry");
549 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
550 ndr_print_lsa_LUID(ndr
, "luid", &r
->luid
);
554 static enum ndr_err_code
ndr_push_lsa_PrivArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PrivArray
*r
)
556 uint32_t cntr_privs_1
;
557 if (ndr_flags
& NDR_SCALARS
) {
558 NDR_CHECK(ndr_push_align(ndr
, 5));
559 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
560 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->privs
));
561 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
563 if (ndr_flags
& NDR_BUFFERS
) {
565 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
566 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
567 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr
, NDR_SCALARS
, &r
->privs
[cntr_privs_1
]));
569 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
570 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr
, NDR_BUFFERS
, &r
->privs
[cntr_privs_1
]));
574 return NDR_ERR_SUCCESS
;
577 static enum ndr_err_code
ndr_pull_lsa_PrivArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PrivArray
*r
)
580 uint32_t cntr_privs_1
;
581 TALLOC_CTX
*_mem_save_privs_0
;
582 TALLOC_CTX
*_mem_save_privs_1
;
583 if (ndr_flags
& NDR_SCALARS
) {
584 NDR_CHECK(ndr_pull_align(ndr
, 5));
585 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
586 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_privs
));
588 NDR_PULL_ALLOC(ndr
, r
->privs
);
592 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
594 if (ndr_flags
& NDR_BUFFERS
) {
596 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
597 NDR_PULL_SET_MEM_CTX(ndr
, r
->privs
, 0);
598 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->privs
));
599 NDR_PULL_ALLOC_N(ndr
, r
->privs
, ndr_get_array_size(ndr
, &r
->privs
));
600 _mem_save_privs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
601 NDR_PULL_SET_MEM_CTX(ndr
, r
->privs
, 0);
602 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
603 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr
, NDR_SCALARS
, &r
->privs
[cntr_privs_1
]));
605 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
606 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr
, NDR_BUFFERS
, &r
->privs
[cntr_privs_1
]));
608 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_1
, 0);
609 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, 0);
612 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->privs
, r
->count
));
615 return NDR_ERR_SUCCESS
;
618 _PUBLIC_
void ndr_print_lsa_PrivArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_PrivArray
*r
)
620 uint32_t cntr_privs_1
;
621 ndr_print_struct(ndr
, name
, "lsa_PrivArray");
623 ndr_print_uint32(ndr
, "count", r
->count
);
624 ndr_print_ptr(ndr
, "privs", r
->privs
);
627 ndr
->print(ndr
, "%s: ARRAY(%d)", "privs", (int)r
->count
);
629 for (cntr_privs_1
=0;cntr_privs_1
<r
->count
;cntr_privs_1
++) {
631 if (asprintf(&idx_1
, "[%d]", cntr_privs_1
) != -1) {
632 ndr_print_lsa_PrivEntry(ndr
, "privs", &r
->privs
[cntr_privs_1
]);
642 static enum ndr_err_code
ndr_push_lsa_QosInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_QosInfo
*r
)
644 if (ndr_flags
& NDR_SCALARS
) {
645 NDR_CHECK(ndr_push_align(ndr
, 5));
646 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->len
));
647 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->impersonation_level
));
648 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->context_mode
));
649 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->effective_only
));
650 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
652 if (ndr_flags
& NDR_BUFFERS
) {
654 return NDR_ERR_SUCCESS
;
657 static enum ndr_err_code
ndr_pull_lsa_QosInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_QosInfo
*r
)
659 if (ndr_flags
& NDR_SCALARS
) {
660 NDR_CHECK(ndr_pull_align(ndr
, 5));
661 NDR_CHECK(ndr_pull_uint3264(ndr
, NDR_SCALARS
, &r
->len
));
662 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->impersonation_level
));
663 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->context_mode
));
664 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->effective_only
));
665 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
667 if (ndr_flags
& NDR_BUFFERS
) {
669 return NDR_ERR_SUCCESS
;
672 _PUBLIC_
void ndr_print_lsa_QosInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_QosInfo
*r
)
674 ndr_print_struct(ndr
, name
, "lsa_QosInfo");
676 ndr_print_uint3264(ndr
, "len", r
->len
);
677 ndr_print_uint16(ndr
, "impersonation_level", r
->impersonation_level
);
678 ndr_print_uint8(ndr
, "context_mode", r
->context_mode
);
679 ndr_print_uint8(ndr
, "effective_only", r
->effective_only
);
683 static enum ndr_err_code
ndr_push_lsa_ObjectAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ObjectAttribute
*r
)
685 if (ndr_flags
& NDR_SCALARS
) {
686 NDR_CHECK(ndr_push_align(ndr
, 5));
687 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->len
));
688 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->root_dir
));
689 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_name
));
690 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->attributes
));
691 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sec_desc
));
692 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sec_qos
));
693 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
695 if (ndr_flags
& NDR_BUFFERS
) {
697 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, *r
->root_dir
));
699 if (r
->object_name
) {
700 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_name
, CH_UTF16
)));
701 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
702 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_name
, CH_UTF16
)));
703 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_name
, ndr_charset_length(r
->object_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
706 NDR_CHECK(ndr_push_security_descriptor(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sec_desc
));
709 NDR_CHECK(ndr_push_lsa_QosInfo(ndr
, NDR_SCALARS
, r
->sec_qos
));
712 return NDR_ERR_SUCCESS
;
715 static enum ndr_err_code
ndr_pull_lsa_ObjectAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ObjectAttribute
*r
)
717 uint32_t _ptr_root_dir
;
718 TALLOC_CTX
*_mem_save_root_dir_0
;
719 uint32_t _ptr_object_name
;
720 TALLOC_CTX
*_mem_save_object_name_0
;
721 uint32_t _ptr_sec_desc
;
722 TALLOC_CTX
*_mem_save_sec_desc_0
;
723 uint32_t _ptr_sec_qos
;
724 TALLOC_CTX
*_mem_save_sec_qos_0
;
725 if (ndr_flags
& NDR_SCALARS
) {
726 NDR_CHECK(ndr_pull_align(ndr
, 5));
727 NDR_CHECK(ndr_pull_uint3264(ndr
, NDR_SCALARS
, &r
->len
));
728 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_root_dir
));
730 NDR_PULL_ALLOC(ndr
, r
->root_dir
);
734 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_name
));
735 if (_ptr_object_name
) {
736 NDR_PULL_ALLOC(ndr
, r
->object_name
);
738 r
->object_name
= NULL
;
740 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->attributes
));
741 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sec_desc
));
743 NDR_PULL_ALLOC(ndr
, r
->sec_desc
);
747 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sec_qos
));
749 NDR_PULL_ALLOC(ndr
, r
->sec_qos
);
753 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
755 if (ndr_flags
& NDR_BUFFERS
) {
757 _mem_save_root_dir_0
= NDR_PULL_GET_MEM_CTX(ndr
);
758 NDR_PULL_SET_MEM_CTX(ndr
, r
->root_dir
, 0);
759 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, r
->root_dir
));
760 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_root_dir_0
, 0);
762 if (r
->object_name
) {
763 _mem_save_object_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
764 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_name
, 0);
765 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_name
));
766 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_name
));
767 if (ndr_get_array_length(ndr
, &r
->object_name
) > ndr_get_array_size(ndr
, &r
->object_name
)) {
768 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->object_name
), ndr_get_array_length(ndr
, &r
->object_name
));
770 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_name
), sizeof(uint16_t)));
771 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_name
, ndr_get_array_length(ndr
, &r
->object_name
), sizeof(uint16_t), CH_UTF16
));
772 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_name_0
, 0);
775 _mem_save_sec_desc_0
= NDR_PULL_GET_MEM_CTX(ndr
);
776 NDR_PULL_SET_MEM_CTX(ndr
, r
->sec_desc
, 0);
777 NDR_CHECK(ndr_pull_security_descriptor(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sec_desc
));
778 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_desc_0
, 0);
781 _mem_save_sec_qos_0
= NDR_PULL_GET_MEM_CTX(ndr
);
782 NDR_PULL_SET_MEM_CTX(ndr
, r
->sec_qos
, 0);
783 NDR_CHECK(ndr_pull_lsa_QosInfo(ndr
, NDR_SCALARS
, r
->sec_qos
));
784 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_qos_0
, 0);
787 return NDR_ERR_SUCCESS
;
790 _PUBLIC_
void ndr_print_lsa_ObjectAttribute(struct ndr_print
*ndr
, const char *name
, const struct lsa_ObjectAttribute
*r
)
792 ndr_print_struct(ndr
, name
, "lsa_ObjectAttribute");
794 ndr_print_uint3264(ndr
, "len", r
->len
);
795 ndr_print_ptr(ndr
, "root_dir", r
->root_dir
);
798 ndr_print_uint8(ndr
, "root_dir", *r
->root_dir
);
801 ndr_print_ptr(ndr
, "object_name", r
->object_name
);
803 if (r
->object_name
) {
804 ndr_print_string(ndr
, "object_name", r
->object_name
);
807 ndr_print_uint32(ndr
, "attributes", r
->attributes
);
808 ndr_print_ptr(ndr
, "sec_desc", r
->sec_desc
);
811 ndr_print_security_descriptor(ndr
, "sec_desc", r
->sec_desc
);
814 ndr_print_ptr(ndr
, "sec_qos", r
->sec_qos
);
817 ndr_print_lsa_QosInfo(ndr
, "sec_qos", r
->sec_qos
);
823 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_PolicyAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
825 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
826 return NDR_ERR_SUCCESS
;
829 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_PolicyAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
832 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
834 return NDR_ERR_SUCCESS
;
837 _PUBLIC_
void ndr_print_lsa_PolicyAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
839 ndr_print_uint32(ndr
, name
, r
);
841 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_VIEW_LOCAL_INFORMATION", LSA_POLICY_VIEW_LOCAL_INFORMATION
, r
);
842 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_VIEW_AUDIT_INFORMATION", LSA_POLICY_VIEW_AUDIT_INFORMATION
, r
);
843 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_GET_PRIVATE_INFORMATION", LSA_POLICY_GET_PRIVATE_INFORMATION
, r
);
844 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_TRUST_ADMIN", LSA_POLICY_TRUST_ADMIN
, r
);
845 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_CREATE_ACCOUNT", LSA_POLICY_CREATE_ACCOUNT
, r
);
846 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_CREATE_SECRET", LSA_POLICY_CREATE_SECRET
, r
);
847 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_CREATE_PRIVILEGE", LSA_POLICY_CREATE_PRIVILEGE
, r
);
848 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS", LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS
, r
);
849 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_SET_AUDIT_REQUIREMENTS", LSA_POLICY_SET_AUDIT_REQUIREMENTS
, r
);
850 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_AUDIT_LOG_ADMIN", LSA_POLICY_AUDIT_LOG_ADMIN
, r
);
851 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_SERVER_ADMIN", LSA_POLICY_SERVER_ADMIN
, r
);
852 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_LOOKUP_NAMES", LSA_POLICY_LOOKUP_NAMES
, r
);
853 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_NOTIFICATION", LSA_POLICY_NOTIFICATION
, r
);
857 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_AccountAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
859 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
860 return NDR_ERR_SUCCESS
;
863 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_AccountAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
866 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
868 return NDR_ERR_SUCCESS
;
871 _PUBLIC_
void ndr_print_lsa_AccountAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
873 ndr_print_uint32(ndr
, name
, r
);
875 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_ACCOUNT_VIEW", LSA_ACCOUNT_VIEW
, r
);
876 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_PRIVILEGES", LSA_ACCOUNT_ADJUST_PRIVILEGES
, r
);
877 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_QUOTAS", LSA_ACCOUNT_ADJUST_QUOTAS
, r
);
878 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS", LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS
, r
);
882 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SecretAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
884 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
885 return NDR_ERR_SUCCESS
;
888 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SecretAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
891 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
893 return NDR_ERR_SUCCESS
;
896 _PUBLIC_
void ndr_print_lsa_SecretAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
898 ndr_print_uint32(ndr
, name
, r
);
900 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_SECRET_SET_VALUE", LSA_SECRET_SET_VALUE
, r
);
901 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_SECRET_QUERY_VALUE", LSA_SECRET_QUERY_VALUE
, r
);
905 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_TrustedAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
907 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
908 return NDR_ERR_SUCCESS
;
911 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_TrustedAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
914 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
916 return NDR_ERR_SUCCESS
;
919 _PUBLIC_
void ndr_print_lsa_TrustedAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
921 ndr_print_uint32(ndr
, name
, r
);
923 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_QUERY_DOMAIN_NAME", LSA_TRUSTED_QUERY_DOMAIN_NAME
, r
);
924 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_QUERY_CONTROLLERS", LSA_TRUSTED_QUERY_CONTROLLERS
, r
);
925 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_SET_CONTROLLERS", LSA_TRUSTED_SET_CONTROLLERS
, r
);
926 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_QUERY_POSIX", LSA_TRUSTED_QUERY_POSIX
, r
);
927 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_SET_POSIX", LSA_TRUSTED_SET_POSIX
, r
);
928 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_SET_AUTH", LSA_TRUSTED_SET_AUTH
, r
);
929 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_QUERY_AUTH", LSA_TRUSTED_QUERY_AUTH
, r
);
933 static enum ndr_err_code
ndr_push_lsa_AuditLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditLogInfo
*r
)
935 if (ndr_flags
& NDR_SCALARS
) {
936 NDR_CHECK(ndr_push_align(ndr
, 8));
937 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->percent_full
));
938 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->maximum_log_size
));
939 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->retention_time
));
940 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->shutdown_in_progress
));
941 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->time_to_shutdown
));
942 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->next_audit_record
));
943 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
945 if (ndr_flags
& NDR_BUFFERS
) {
947 return NDR_ERR_SUCCESS
;
950 static enum ndr_err_code
ndr_pull_lsa_AuditLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditLogInfo
*r
)
952 if (ndr_flags
& NDR_SCALARS
) {
953 NDR_CHECK(ndr_pull_align(ndr
, 8));
954 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->percent_full
));
955 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->maximum_log_size
));
956 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->retention_time
));
957 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->shutdown_in_progress
));
958 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->time_to_shutdown
));
959 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->next_audit_record
));
960 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
962 if (ndr_flags
& NDR_BUFFERS
) {
964 return NDR_ERR_SUCCESS
;
967 _PUBLIC_
void ndr_print_lsa_AuditLogInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditLogInfo
*r
)
969 ndr_print_struct(ndr
, name
, "lsa_AuditLogInfo");
971 ndr_print_uint32(ndr
, "percent_full", r
->percent_full
);
972 ndr_print_uint32(ndr
, "maximum_log_size", r
->maximum_log_size
);
973 ndr_print_hyper(ndr
, "retention_time", r
->retention_time
);
974 ndr_print_uint8(ndr
, "shutdown_in_progress", r
->shutdown_in_progress
);
975 ndr_print_hyper(ndr
, "time_to_shutdown", r
->time_to_shutdown
);
976 ndr_print_uint32(ndr
, "next_audit_record", r
->next_audit_record
);
980 static enum ndr_err_code
ndr_push_lsa_PolicyAuditPolicy(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_PolicyAuditPolicy r
)
982 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
983 return NDR_ERR_SUCCESS
;
986 static enum ndr_err_code
ndr_pull_lsa_PolicyAuditPolicy(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_PolicyAuditPolicy
*r
)
989 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
991 return NDR_ERR_SUCCESS
;
994 _PUBLIC_
void ndr_print_lsa_PolicyAuditPolicy(struct ndr_print
*ndr
, const char *name
, enum lsa_PolicyAuditPolicy r
)
996 const char *val
= NULL
;
999 case LSA_AUDIT_POLICY_NONE
: val
= "LSA_AUDIT_POLICY_NONE"; break;
1000 case LSA_AUDIT_POLICY_SUCCESS
: val
= "LSA_AUDIT_POLICY_SUCCESS"; break;
1001 case LSA_AUDIT_POLICY_FAILURE
: val
= "LSA_AUDIT_POLICY_FAILURE"; break;
1002 case LSA_AUDIT_POLICY_ALL
: val
= "LSA_AUDIT_POLICY_ALL"; break;
1003 case LSA_AUDIT_POLICY_CLEAR
: val
= "LSA_AUDIT_POLICY_CLEAR"; break;
1005 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1008 static enum ndr_err_code
ndr_push_lsa_AuditEventsInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditEventsInfo
*r
)
1010 uint32_t cntr_settings_1
;
1011 if (ndr_flags
& NDR_SCALARS
) {
1012 NDR_CHECK(ndr_push_align(ndr
, 5));
1013 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->auditing_mode
));
1014 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->settings
));
1015 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1016 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1018 if (ndr_flags
& NDR_BUFFERS
) {
1020 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1021 for (cntr_settings_1
= 0; cntr_settings_1
< r
->count
; cntr_settings_1
++) {
1022 NDR_CHECK(ndr_push_lsa_PolicyAuditPolicy(ndr
, NDR_SCALARS
, r
->settings
[cntr_settings_1
]));
1026 return NDR_ERR_SUCCESS
;
1029 static enum ndr_err_code
ndr_pull_lsa_AuditEventsInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditEventsInfo
*r
)
1031 uint32_t _ptr_settings
;
1032 uint32_t cntr_settings_1
;
1033 TALLOC_CTX
*_mem_save_settings_0
;
1034 TALLOC_CTX
*_mem_save_settings_1
;
1035 if (ndr_flags
& NDR_SCALARS
) {
1036 NDR_CHECK(ndr_pull_align(ndr
, 5));
1037 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->auditing_mode
));
1038 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_settings
));
1039 if (_ptr_settings
) {
1040 NDR_PULL_ALLOC(ndr
, r
->settings
);
1044 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1045 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1047 if (ndr_flags
& NDR_BUFFERS
) {
1049 _mem_save_settings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1050 NDR_PULL_SET_MEM_CTX(ndr
, r
->settings
, 0);
1051 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->settings
));
1052 NDR_PULL_ALLOC_N(ndr
, r
->settings
, ndr_get_array_size(ndr
, &r
->settings
));
1053 _mem_save_settings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1054 NDR_PULL_SET_MEM_CTX(ndr
, r
->settings
, 0);
1055 for (cntr_settings_1
= 0; cntr_settings_1
< r
->count
; cntr_settings_1
++) {
1056 NDR_CHECK(ndr_pull_lsa_PolicyAuditPolicy(ndr
, NDR_SCALARS
, &r
->settings
[cntr_settings_1
]));
1058 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_settings_1
, 0);
1059 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_settings_0
, 0);
1062 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->settings
, r
->count
));
1065 return NDR_ERR_SUCCESS
;
1068 _PUBLIC_
void ndr_print_lsa_AuditEventsInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditEventsInfo
*r
)
1070 uint32_t cntr_settings_1
;
1071 ndr_print_struct(ndr
, name
, "lsa_AuditEventsInfo");
1073 ndr_print_uint32(ndr
, "auditing_mode", r
->auditing_mode
);
1074 ndr_print_ptr(ndr
, "settings", r
->settings
);
1077 ndr
->print(ndr
, "%s: ARRAY(%d)", "settings", (int)r
->count
);
1079 for (cntr_settings_1
=0;cntr_settings_1
<r
->count
;cntr_settings_1
++) {
1081 if (asprintf(&idx_1
, "[%d]", cntr_settings_1
) != -1) {
1082 ndr_print_lsa_PolicyAuditPolicy(ndr
, "settings", r
->settings
[cntr_settings_1
]);
1089 ndr_print_uint32(ndr
, "count", r
->count
);
1093 static enum ndr_err_code
ndr_push_lsa_DomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainInfo
*r
)
1095 if (ndr_flags
& NDR_SCALARS
) {
1096 NDR_CHECK(ndr_push_align(ndr
, 5));
1097 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1098 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
1099 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1101 if (ndr_flags
& NDR_BUFFERS
) {
1102 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1104 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1107 return NDR_ERR_SUCCESS
;
1110 static enum ndr_err_code
ndr_pull_lsa_DomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainInfo
*r
)
1113 TALLOC_CTX
*_mem_save_sid_0
;
1114 if (ndr_flags
& NDR_SCALARS
) {
1115 NDR_CHECK(ndr_pull_align(ndr
, 5));
1116 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1117 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
1119 NDR_PULL_ALLOC(ndr
, r
->sid
);
1123 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1125 if (ndr_flags
& NDR_BUFFERS
) {
1126 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1128 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1129 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
1130 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1131 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
1134 return NDR_ERR_SUCCESS
;
1137 _PUBLIC_
void ndr_print_lsa_DomainInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainInfo
*r
)
1139 ndr_print_struct(ndr
, name
, "lsa_DomainInfo");
1141 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
1142 ndr_print_ptr(ndr
, "sid", r
->sid
);
1145 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
1151 static enum ndr_err_code
ndr_push_lsa_PDAccountInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PDAccountInfo
*r
)
1153 if (ndr_flags
& NDR_SCALARS
) {
1154 NDR_CHECK(ndr_push_align(ndr
, 5));
1155 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1156 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1158 if (ndr_flags
& NDR_BUFFERS
) {
1159 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1161 return NDR_ERR_SUCCESS
;
1164 static enum ndr_err_code
ndr_pull_lsa_PDAccountInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PDAccountInfo
*r
)
1166 if (ndr_flags
& NDR_SCALARS
) {
1167 NDR_CHECK(ndr_pull_align(ndr
, 5));
1168 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1169 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1171 if (ndr_flags
& NDR_BUFFERS
) {
1172 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1174 return NDR_ERR_SUCCESS
;
1177 _PUBLIC_
void ndr_print_lsa_PDAccountInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_PDAccountInfo
*r
)
1179 ndr_print_struct(ndr
, name
, "lsa_PDAccountInfo");
1181 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1185 static enum ndr_err_code
ndr_push_lsa_Role(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_Role r
)
1187 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1188 return NDR_ERR_SUCCESS
;
1191 static enum ndr_err_code
ndr_pull_lsa_Role(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_Role
*r
)
1194 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1196 return NDR_ERR_SUCCESS
;
1199 _PUBLIC_
void ndr_print_lsa_Role(struct ndr_print
*ndr
, const char *name
, enum lsa_Role r
)
1201 const char *val
= NULL
;
1204 case LSA_ROLE_BACKUP
: val
= "LSA_ROLE_BACKUP"; break;
1205 case LSA_ROLE_PRIMARY
: val
= "LSA_ROLE_PRIMARY"; break;
1207 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1210 static enum ndr_err_code
ndr_push_lsa_ServerRole(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ServerRole
*r
)
1212 if (ndr_flags
& NDR_SCALARS
) {
1213 NDR_CHECK(ndr_push_align(ndr
, 4));
1214 NDR_CHECK(ndr_push_lsa_Role(ndr
, NDR_SCALARS
, r
->role
));
1215 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1217 if (ndr_flags
& NDR_BUFFERS
) {
1219 return NDR_ERR_SUCCESS
;
1222 static enum ndr_err_code
ndr_pull_lsa_ServerRole(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ServerRole
*r
)
1224 if (ndr_flags
& NDR_SCALARS
) {
1225 NDR_CHECK(ndr_pull_align(ndr
, 4));
1226 NDR_CHECK(ndr_pull_lsa_Role(ndr
, NDR_SCALARS
, &r
->role
));
1227 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1229 if (ndr_flags
& NDR_BUFFERS
) {
1231 return NDR_ERR_SUCCESS
;
1234 _PUBLIC_
void ndr_print_lsa_ServerRole(struct ndr_print
*ndr
, const char *name
, const struct lsa_ServerRole
*r
)
1236 ndr_print_struct(ndr
, name
, "lsa_ServerRole");
1238 ndr_print_lsa_Role(ndr
, "role", r
->role
);
1242 static enum ndr_err_code
ndr_push_lsa_ReplicaSourceInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ReplicaSourceInfo
*r
)
1244 if (ndr_flags
& NDR_SCALARS
) {
1245 NDR_CHECK(ndr_push_align(ndr
, 5));
1246 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->source
));
1247 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account
));
1248 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1250 if (ndr_flags
& NDR_BUFFERS
) {
1251 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->source
));
1252 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account
));
1254 return NDR_ERR_SUCCESS
;
1257 static enum ndr_err_code
ndr_pull_lsa_ReplicaSourceInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ReplicaSourceInfo
*r
)
1259 if (ndr_flags
& NDR_SCALARS
) {
1260 NDR_CHECK(ndr_pull_align(ndr
, 5));
1261 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->source
));
1262 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account
));
1263 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1265 if (ndr_flags
& NDR_BUFFERS
) {
1266 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->source
));
1267 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account
));
1269 return NDR_ERR_SUCCESS
;
1272 _PUBLIC_
void ndr_print_lsa_ReplicaSourceInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ReplicaSourceInfo
*r
)
1274 ndr_print_struct(ndr
, name
, "lsa_ReplicaSourceInfo");
1276 ndr_print_lsa_String(ndr
, "source", &r
->source
);
1277 ndr_print_lsa_String(ndr
, "account", &r
->account
);
1281 static enum ndr_err_code
ndr_push_lsa_DefaultQuotaInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DefaultQuotaInfo
*r
)
1283 if (ndr_flags
& NDR_SCALARS
) {
1284 NDR_CHECK(ndr_push_align(ndr
, 8));
1285 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->paged_pool
));
1286 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->non_paged_pool
));
1287 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->min_wss
));
1288 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_wss
));
1289 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pagefile
));
1290 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown
));
1291 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1293 if (ndr_flags
& NDR_BUFFERS
) {
1295 return NDR_ERR_SUCCESS
;
1298 static enum ndr_err_code
ndr_pull_lsa_DefaultQuotaInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DefaultQuotaInfo
*r
)
1300 if (ndr_flags
& NDR_SCALARS
) {
1301 NDR_CHECK(ndr_pull_align(ndr
, 8));
1302 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->paged_pool
));
1303 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->non_paged_pool
));
1304 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->min_wss
));
1305 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_wss
));
1306 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pagefile
));
1307 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown
));
1308 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1310 if (ndr_flags
& NDR_BUFFERS
) {
1312 return NDR_ERR_SUCCESS
;
1315 _PUBLIC_
void ndr_print_lsa_DefaultQuotaInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_DefaultQuotaInfo
*r
)
1317 ndr_print_struct(ndr
, name
, "lsa_DefaultQuotaInfo");
1319 ndr_print_uint32(ndr
, "paged_pool", r
->paged_pool
);
1320 ndr_print_uint32(ndr
, "non_paged_pool", r
->non_paged_pool
);
1321 ndr_print_uint32(ndr
, "min_wss", r
->min_wss
);
1322 ndr_print_uint32(ndr
, "max_wss", r
->max_wss
);
1323 ndr_print_uint32(ndr
, "pagefile", r
->pagefile
);
1324 ndr_print_hyper(ndr
, "unknown", r
->unknown
);
1328 static enum ndr_err_code
ndr_push_lsa_ModificationInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ModificationInfo
*r
)
1330 if (ndr_flags
& NDR_SCALARS
) {
1331 NDR_CHECK(ndr_push_align(ndr
, 8));
1332 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->modified_id
));
1333 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->db_create_time
));
1334 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1336 if (ndr_flags
& NDR_BUFFERS
) {
1338 return NDR_ERR_SUCCESS
;
1341 static enum ndr_err_code
ndr_pull_lsa_ModificationInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ModificationInfo
*r
)
1343 if (ndr_flags
& NDR_SCALARS
) {
1344 NDR_CHECK(ndr_pull_align(ndr
, 8));
1345 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->modified_id
));
1346 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->db_create_time
));
1347 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1349 if (ndr_flags
& NDR_BUFFERS
) {
1351 return NDR_ERR_SUCCESS
;
1354 _PUBLIC_
void ndr_print_lsa_ModificationInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ModificationInfo
*r
)
1356 ndr_print_struct(ndr
, name
, "lsa_ModificationInfo");
1358 ndr_print_hyper(ndr
, "modified_id", r
->modified_id
);
1359 ndr_print_NTTIME_hyper(ndr
, "db_create_time", r
->db_create_time
);
1363 static enum ndr_err_code
ndr_push_lsa_AuditFullSetInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditFullSetInfo
*r
)
1365 if (ndr_flags
& NDR_SCALARS
) {
1366 NDR_CHECK(ndr_push_align(ndr
, 1));
1367 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->shutdown_on_full
));
1368 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
1370 if (ndr_flags
& NDR_BUFFERS
) {
1372 return NDR_ERR_SUCCESS
;
1375 static enum ndr_err_code
ndr_pull_lsa_AuditFullSetInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditFullSetInfo
*r
)
1377 if (ndr_flags
& NDR_SCALARS
) {
1378 NDR_CHECK(ndr_pull_align(ndr
, 1));
1379 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->shutdown_on_full
));
1380 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
1382 if (ndr_flags
& NDR_BUFFERS
) {
1384 return NDR_ERR_SUCCESS
;
1387 _PUBLIC_
void ndr_print_lsa_AuditFullSetInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditFullSetInfo
*r
)
1389 ndr_print_struct(ndr
, name
, "lsa_AuditFullSetInfo");
1391 ndr_print_uint8(ndr
, "shutdown_on_full", r
->shutdown_on_full
);
1395 static enum ndr_err_code
ndr_push_lsa_AuditFullQueryInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditFullQueryInfo
*r
)
1397 if (ndr_flags
& NDR_SCALARS
) {
1398 NDR_CHECK(ndr_push_align(ndr
, 1));
1399 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->shutdown_on_full
));
1400 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->log_is_full
));
1401 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
1403 if (ndr_flags
& NDR_BUFFERS
) {
1405 return NDR_ERR_SUCCESS
;
1408 static enum ndr_err_code
ndr_pull_lsa_AuditFullQueryInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditFullQueryInfo
*r
)
1410 if (ndr_flags
& NDR_SCALARS
) {
1411 NDR_CHECK(ndr_pull_align(ndr
, 1));
1412 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->shutdown_on_full
));
1413 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->log_is_full
));
1414 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
1416 if (ndr_flags
& NDR_BUFFERS
) {
1418 return NDR_ERR_SUCCESS
;
1421 _PUBLIC_
void ndr_print_lsa_AuditFullQueryInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditFullQueryInfo
*r
)
1423 ndr_print_struct(ndr
, name
, "lsa_AuditFullQueryInfo");
1425 ndr_print_uint8(ndr
, "shutdown_on_full", r
->shutdown_on_full
);
1426 ndr_print_uint8(ndr
, "log_is_full", r
->log_is_full
);
1430 static enum ndr_err_code
ndr_push_lsa_DnsDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DnsDomainInfo
*r
)
1432 if (ndr_flags
& NDR_SCALARS
) {
1433 NDR_CHECK(ndr_push_align(ndr
, 5));
1434 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1435 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain
));
1436 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_forest
));
1437 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->domain_guid
));
1438 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
1439 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1441 if (ndr_flags
& NDR_BUFFERS
) {
1442 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1443 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain
));
1444 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_forest
));
1446 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1449 return NDR_ERR_SUCCESS
;
1452 static enum ndr_err_code
ndr_pull_lsa_DnsDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DnsDomainInfo
*r
)
1455 TALLOC_CTX
*_mem_save_sid_0
;
1456 if (ndr_flags
& NDR_SCALARS
) {
1457 NDR_CHECK(ndr_pull_align(ndr
, 5));
1458 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1459 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain
));
1460 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_forest
));
1461 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->domain_guid
));
1462 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
1464 NDR_PULL_ALLOC(ndr
, r
->sid
);
1468 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1470 if (ndr_flags
& NDR_BUFFERS
) {
1471 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1472 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain
));
1473 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_forest
));
1475 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1476 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
1477 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1478 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
1481 return NDR_ERR_SUCCESS
;
1484 _PUBLIC_
void ndr_print_lsa_DnsDomainInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_DnsDomainInfo
*r
)
1486 ndr_print_struct(ndr
, name
, "lsa_DnsDomainInfo");
1488 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
1489 ndr_print_lsa_StringLarge(ndr
, "dns_domain", &r
->dns_domain
);
1490 ndr_print_lsa_StringLarge(ndr
, "dns_forest", &r
->dns_forest
);
1491 ndr_print_GUID(ndr
, "domain_guid", &r
->domain_guid
);
1492 ndr_print_ptr(ndr
, "sid", r
->sid
);
1495 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
1501 static enum ndr_err_code
ndr_push_lsa_PolicyInfo(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_PolicyInfo r
)
1503 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
1504 return NDR_ERR_SUCCESS
;
1507 static enum ndr_err_code
ndr_pull_lsa_PolicyInfo(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_PolicyInfo
*r
)
1510 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
1512 return NDR_ERR_SUCCESS
;
1515 _PUBLIC_
void ndr_print_lsa_PolicyInfo(struct ndr_print
*ndr
, const char *name
, enum lsa_PolicyInfo r
)
1517 const char *val
= NULL
;
1520 case LSA_POLICY_INFO_AUDIT_LOG
: val
= "LSA_POLICY_INFO_AUDIT_LOG"; break;
1521 case LSA_POLICY_INFO_AUDIT_EVENTS
: val
= "LSA_POLICY_INFO_AUDIT_EVENTS"; break;
1522 case LSA_POLICY_INFO_DOMAIN
: val
= "LSA_POLICY_INFO_DOMAIN"; break;
1523 case LSA_POLICY_INFO_PD
: val
= "LSA_POLICY_INFO_PD"; break;
1524 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: val
= "LSA_POLICY_INFO_ACCOUNT_DOMAIN"; break;
1525 case LSA_POLICY_INFO_ROLE
: val
= "LSA_POLICY_INFO_ROLE"; break;
1526 case LSA_POLICY_INFO_REPLICA
: val
= "LSA_POLICY_INFO_REPLICA"; break;
1527 case LSA_POLICY_INFO_QUOTA
: val
= "LSA_POLICY_INFO_QUOTA"; break;
1528 case LSA_POLICY_INFO_MOD
: val
= "LSA_POLICY_INFO_MOD"; break;
1529 case LSA_POLICY_INFO_AUDIT_FULL_SET
: val
= "LSA_POLICY_INFO_AUDIT_FULL_SET"; break;
1530 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: val
= "LSA_POLICY_INFO_AUDIT_FULL_QUERY"; break;
1531 case LSA_POLICY_INFO_DNS
: val
= "LSA_POLICY_INFO_DNS"; break;
1532 case LSA_POLICY_INFO_DNS_INT
: val
= "LSA_POLICY_INFO_DNS_INT"; break;
1533 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
: val
= "LSA_POLICY_INFO_L_ACCOUNT_DOMAIN"; break;
1535 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1538 static enum ndr_err_code
ndr_push_lsa_PolicyInformation(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_PolicyInformation
*r
)
1540 if (ndr_flags
& NDR_SCALARS
) {
1541 int level
= ndr_push_get_switch_value(ndr
, r
);
1542 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
1543 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1545 case LSA_POLICY_INFO_AUDIT_LOG
: {
1546 NDR_CHECK(ndr_push_lsa_AuditLogInfo(ndr
, NDR_SCALARS
, &r
->audit_log
));
1549 case LSA_POLICY_INFO_AUDIT_EVENTS
: {
1550 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr
, NDR_SCALARS
, &r
->audit_events
));
1553 case LSA_POLICY_INFO_DOMAIN
: {
1554 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domain
));
1557 case LSA_POLICY_INFO_PD
: {
1558 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr
, NDR_SCALARS
, &r
->pd
));
1561 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: {
1562 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->account_domain
));
1565 case LSA_POLICY_INFO_ROLE
: {
1566 NDR_CHECK(ndr_push_lsa_ServerRole(ndr
, NDR_SCALARS
, &r
->role
));
1569 case LSA_POLICY_INFO_REPLICA
: {
1570 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr
, NDR_SCALARS
, &r
->replica
));
1573 case LSA_POLICY_INFO_QUOTA
: {
1574 NDR_CHECK(ndr_push_lsa_DefaultQuotaInfo(ndr
, NDR_SCALARS
, &r
->quota
));
1577 case LSA_POLICY_INFO_MOD
: {
1578 NDR_CHECK(ndr_push_lsa_ModificationInfo(ndr
, NDR_SCALARS
, &r
->mod
));
1581 case LSA_POLICY_INFO_AUDIT_FULL_SET
: {
1582 NDR_CHECK(ndr_push_lsa_AuditFullSetInfo(ndr
, NDR_SCALARS
, &r
->auditfullset
));
1585 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: {
1586 NDR_CHECK(ndr_push_lsa_AuditFullQueryInfo(ndr
, NDR_SCALARS
, &r
->auditfullquery
));
1589 case LSA_POLICY_INFO_DNS
: {
1590 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1593 case LSA_POLICY_INFO_DNS_INT
: {
1594 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1597 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
: {
1598 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->l_account_domain
));
1602 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1605 if (ndr_flags
& NDR_BUFFERS
) {
1606 int level
= ndr_push_get_switch_value(ndr
, r
);
1608 case LSA_POLICY_INFO_AUDIT_LOG
:
1611 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1612 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr
, NDR_BUFFERS
, &r
->audit_events
));
1615 case LSA_POLICY_INFO_DOMAIN
:
1616 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domain
));
1619 case LSA_POLICY_INFO_PD
:
1620 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr
, NDR_BUFFERS
, &r
->pd
));
1623 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1624 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->account_domain
));
1627 case LSA_POLICY_INFO_ROLE
:
1630 case LSA_POLICY_INFO_REPLICA
:
1631 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr
, NDR_BUFFERS
, &r
->replica
));
1634 case LSA_POLICY_INFO_QUOTA
:
1637 case LSA_POLICY_INFO_MOD
:
1640 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1643 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1646 case LSA_POLICY_INFO_DNS
:
1647 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1650 case LSA_POLICY_INFO_DNS_INT
:
1651 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1654 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
:
1655 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->l_account_domain
));
1659 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1662 return NDR_ERR_SUCCESS
;
1665 static enum ndr_err_code
ndr_pull_lsa_PolicyInformation(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_PolicyInformation
*r
)
1669 level
= ndr_pull_get_switch_value(ndr
, r
);
1670 if (ndr_flags
& NDR_SCALARS
) {
1671 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1672 if (_level
!= level
) {
1673 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1675 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1677 case LSA_POLICY_INFO_AUDIT_LOG
: {
1678 NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr
, NDR_SCALARS
, &r
->audit_log
));
1681 case LSA_POLICY_INFO_AUDIT_EVENTS
: {
1682 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr
, NDR_SCALARS
, &r
->audit_events
));
1685 case LSA_POLICY_INFO_DOMAIN
: {
1686 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domain
));
1689 case LSA_POLICY_INFO_PD
: {
1690 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr
, NDR_SCALARS
, &r
->pd
));
1693 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: {
1694 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->account_domain
));
1697 case LSA_POLICY_INFO_ROLE
: {
1698 NDR_CHECK(ndr_pull_lsa_ServerRole(ndr
, NDR_SCALARS
, &r
->role
));
1701 case LSA_POLICY_INFO_REPLICA
: {
1702 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr
, NDR_SCALARS
, &r
->replica
));
1705 case LSA_POLICY_INFO_QUOTA
: {
1706 NDR_CHECK(ndr_pull_lsa_DefaultQuotaInfo(ndr
, NDR_SCALARS
, &r
->quota
));
1709 case LSA_POLICY_INFO_MOD
: {
1710 NDR_CHECK(ndr_pull_lsa_ModificationInfo(ndr
, NDR_SCALARS
, &r
->mod
));
1713 case LSA_POLICY_INFO_AUDIT_FULL_SET
: {
1714 NDR_CHECK(ndr_pull_lsa_AuditFullSetInfo(ndr
, NDR_SCALARS
, &r
->auditfullset
));
1717 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: {
1718 NDR_CHECK(ndr_pull_lsa_AuditFullQueryInfo(ndr
, NDR_SCALARS
, &r
->auditfullquery
));
1721 case LSA_POLICY_INFO_DNS
: {
1722 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1725 case LSA_POLICY_INFO_DNS_INT
: {
1726 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1729 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
: {
1730 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->l_account_domain
));
1734 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1737 if (ndr_flags
& NDR_BUFFERS
) {
1739 case LSA_POLICY_INFO_AUDIT_LOG
:
1742 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1743 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr
, NDR_BUFFERS
, &r
->audit_events
));
1746 case LSA_POLICY_INFO_DOMAIN
:
1747 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domain
));
1750 case LSA_POLICY_INFO_PD
:
1751 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr
, NDR_BUFFERS
, &r
->pd
));
1754 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1755 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->account_domain
));
1758 case LSA_POLICY_INFO_ROLE
:
1761 case LSA_POLICY_INFO_REPLICA
:
1762 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr
, NDR_BUFFERS
, &r
->replica
));
1765 case LSA_POLICY_INFO_QUOTA
:
1768 case LSA_POLICY_INFO_MOD
:
1771 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1774 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1777 case LSA_POLICY_INFO_DNS
:
1778 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1781 case LSA_POLICY_INFO_DNS_INT
:
1782 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1785 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
:
1786 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->l_account_domain
));
1790 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1793 return NDR_ERR_SUCCESS
;
1796 _PUBLIC_
void ndr_print_lsa_PolicyInformation(struct ndr_print
*ndr
, const char *name
, const union lsa_PolicyInformation
*r
)
1799 level
= ndr_print_get_switch_value(ndr
, r
);
1800 ndr_print_union(ndr
, name
, level
, "lsa_PolicyInformation");
1802 case LSA_POLICY_INFO_AUDIT_LOG
:
1803 ndr_print_lsa_AuditLogInfo(ndr
, "audit_log", &r
->audit_log
);
1806 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1807 ndr_print_lsa_AuditEventsInfo(ndr
, "audit_events", &r
->audit_events
);
1810 case LSA_POLICY_INFO_DOMAIN
:
1811 ndr_print_lsa_DomainInfo(ndr
, "domain", &r
->domain
);
1814 case LSA_POLICY_INFO_PD
:
1815 ndr_print_lsa_PDAccountInfo(ndr
, "pd", &r
->pd
);
1818 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1819 ndr_print_lsa_DomainInfo(ndr
, "account_domain", &r
->account_domain
);
1822 case LSA_POLICY_INFO_ROLE
:
1823 ndr_print_lsa_ServerRole(ndr
, "role", &r
->role
);
1826 case LSA_POLICY_INFO_REPLICA
:
1827 ndr_print_lsa_ReplicaSourceInfo(ndr
, "replica", &r
->replica
);
1830 case LSA_POLICY_INFO_QUOTA
:
1831 ndr_print_lsa_DefaultQuotaInfo(ndr
, "quota", &r
->quota
);
1834 case LSA_POLICY_INFO_MOD
:
1835 ndr_print_lsa_ModificationInfo(ndr
, "mod", &r
->mod
);
1838 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1839 ndr_print_lsa_AuditFullSetInfo(ndr
, "auditfullset", &r
->auditfullset
);
1842 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1843 ndr_print_lsa_AuditFullQueryInfo(ndr
, "auditfullquery", &r
->auditfullquery
);
1846 case LSA_POLICY_INFO_DNS
:
1847 ndr_print_lsa_DnsDomainInfo(ndr
, "dns", &r
->dns
);
1850 case LSA_POLICY_INFO_DNS_INT
:
1851 ndr_print_lsa_DnsDomainInfo(ndr
, "dns", &r
->dns
);
1854 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
:
1855 ndr_print_lsa_DomainInfo(ndr
, "l_account_domain", &r
->l_account_domain
);
1859 ndr_print_bad_level(ndr
, name
, level
);
1863 static enum ndr_err_code
ndr_push_lsa_SidPtr(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_SidPtr
*r
)
1865 if (ndr_flags
& NDR_SCALARS
) {
1866 NDR_CHECK(ndr_push_align(ndr
, 5));
1867 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
1868 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1870 if (ndr_flags
& NDR_BUFFERS
) {
1872 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1875 return NDR_ERR_SUCCESS
;
1878 static enum ndr_err_code
ndr_pull_lsa_SidPtr(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_SidPtr
*r
)
1881 TALLOC_CTX
*_mem_save_sid_0
;
1882 if (ndr_flags
& NDR_SCALARS
) {
1883 NDR_CHECK(ndr_pull_align(ndr
, 5));
1884 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
1886 NDR_PULL_ALLOC(ndr
, r
->sid
);
1890 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1892 if (ndr_flags
& NDR_BUFFERS
) {
1894 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1895 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
1896 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1897 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
1900 return NDR_ERR_SUCCESS
;
1903 _PUBLIC_
void ndr_print_lsa_SidPtr(struct ndr_print
*ndr
, const char *name
, const struct lsa_SidPtr
*r
)
1905 ndr_print_struct(ndr
, name
, "lsa_SidPtr");
1907 ndr_print_ptr(ndr
, "sid", r
->sid
);
1910 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
1916 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SidArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_SidArray
*r
)
1918 uint32_t cntr_sids_1
;
1919 if (ndr_flags
& NDR_SCALARS
) {
1920 NDR_CHECK(ndr_push_align(ndr
, 5));
1921 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
1922 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
1923 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1925 if (ndr_flags
& NDR_BUFFERS
) {
1927 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_sids
));
1928 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1929 NDR_CHECK(ndr_push_lsa_SidPtr(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
1931 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1932 NDR_CHECK(ndr_push_lsa_SidPtr(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
1936 return NDR_ERR_SUCCESS
;
1939 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SidArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_SidArray
*r
)
1942 uint32_t cntr_sids_1
;
1943 TALLOC_CTX
*_mem_save_sids_0
;
1944 TALLOC_CTX
*_mem_save_sids_1
;
1945 if (ndr_flags
& NDR_SCALARS
) {
1946 NDR_CHECK(ndr_pull_align(ndr
, 5));
1947 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
1948 if (r
->num_sids
> 20480) {
1949 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1951 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
1953 NDR_PULL_ALLOC(ndr
, r
->sids
);
1957 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1959 if (ndr_flags
& NDR_BUFFERS
) {
1961 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1962 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
1963 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
1964 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
1965 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1966 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
1967 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1968 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
1970 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1971 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
1973 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
1974 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
1977 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
1980 return NDR_ERR_SUCCESS
;
1983 _PUBLIC_
void ndr_print_lsa_SidArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_SidArray
*r
)
1985 uint32_t cntr_sids_1
;
1986 ndr_print_struct(ndr
, name
, "lsa_SidArray");
1988 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
1989 ndr_print_ptr(ndr
, "sids", r
->sids
);
1992 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
1994 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
1996 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
1997 ndr_print_lsa_SidPtr(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
2007 static enum ndr_err_code
ndr_push_lsa_DomainList(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainList
*r
)
2009 uint32_t cntr_domains_1
;
2010 if (ndr_flags
& NDR_SCALARS
) {
2011 NDR_CHECK(ndr_push_align(ndr
, 5));
2012 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2013 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domains
));
2014 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2016 if (ndr_flags
& NDR_BUFFERS
) {
2018 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2019 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2020 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
2022 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2023 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
2027 return NDR_ERR_SUCCESS
;
2030 static enum ndr_err_code
ndr_pull_lsa_DomainList(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainList
*r
)
2032 uint32_t _ptr_domains
;
2033 uint32_t cntr_domains_1
;
2034 TALLOC_CTX
*_mem_save_domains_0
;
2035 TALLOC_CTX
*_mem_save_domains_1
;
2036 if (ndr_flags
& NDR_SCALARS
) {
2037 NDR_CHECK(ndr_pull_align(ndr
, 5));
2038 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2039 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
2041 NDR_PULL_ALLOC(ndr
, r
->domains
);
2045 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2047 if (ndr_flags
& NDR_BUFFERS
) {
2049 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2050 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
2051 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domains
));
2052 NDR_PULL_ALLOC_N(ndr
, r
->domains
, ndr_get_array_size(ndr
, &r
->domains
));
2053 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2054 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
2055 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2056 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
2058 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2059 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
2061 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
2062 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, 0);
2065 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->domains
, r
->count
));
2068 return NDR_ERR_SUCCESS
;
2071 _PUBLIC_
void ndr_print_lsa_DomainList(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainList
*r
)
2073 uint32_t cntr_domains_1
;
2074 ndr_print_struct(ndr
, name
, "lsa_DomainList");
2076 ndr_print_uint32(ndr
, "count", r
->count
);
2077 ndr_print_ptr(ndr
, "domains", r
->domains
);
2080 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
2082 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
2084 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
2085 ndr_print_lsa_DomainInfo(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
2095 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SidType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_SidType r
)
2097 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
2098 return NDR_ERR_SUCCESS
;
2101 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SidType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_SidType
*r
)
2104 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
2106 return NDR_ERR_SUCCESS
;
2109 _PUBLIC_
void ndr_print_lsa_SidType(struct ndr_print
*ndr
, const char *name
, enum lsa_SidType r
)
2111 const char *val
= NULL
;
2114 case SID_NAME_USE_NONE
: val
= "SID_NAME_USE_NONE"; break;
2115 case SID_NAME_USER
: val
= "SID_NAME_USER"; break;
2116 case SID_NAME_DOM_GRP
: val
= "SID_NAME_DOM_GRP"; break;
2117 case SID_NAME_DOMAIN
: val
= "SID_NAME_DOMAIN"; break;
2118 case SID_NAME_ALIAS
: val
= "SID_NAME_ALIAS"; break;
2119 case SID_NAME_WKN_GRP
: val
= "SID_NAME_WKN_GRP"; break;
2120 case SID_NAME_DELETED
: val
= "SID_NAME_DELETED"; break;
2121 case SID_NAME_INVALID
: val
= "SID_NAME_INVALID"; break;
2122 case SID_NAME_UNKNOWN
: val
= "SID_NAME_UNKNOWN"; break;
2123 case SID_NAME_COMPUTER
: val
= "SID_NAME_COMPUTER"; break;
2125 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2128 static enum ndr_err_code
ndr_push_lsa_TranslatedSid(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedSid
*r
)
2130 if (ndr_flags
& NDR_SCALARS
) {
2131 NDR_CHECK(ndr_push_align(ndr
, 4));
2132 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
2133 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2134 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
2135 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2137 if (ndr_flags
& NDR_BUFFERS
) {
2139 return NDR_ERR_SUCCESS
;
2142 static enum ndr_err_code
ndr_pull_lsa_TranslatedSid(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedSid
*r
)
2144 if (ndr_flags
& NDR_SCALARS
) {
2145 NDR_CHECK(ndr_pull_align(ndr
, 4));
2146 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
2147 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2148 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
2149 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2151 if (ndr_flags
& NDR_BUFFERS
) {
2153 return NDR_ERR_SUCCESS
;
2156 _PUBLIC_
void ndr_print_lsa_TranslatedSid(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedSid
*r
)
2158 ndr_print_struct(ndr
, name
, "lsa_TranslatedSid");
2160 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
2161 ndr_print_uint32(ndr
, "rid", r
->rid
);
2162 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
2166 static enum ndr_err_code
ndr_push_lsa_TransSidArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransSidArray
*r
)
2168 uint32_t cntr_sids_1
;
2169 if (ndr_flags
& NDR_SCALARS
) {
2170 NDR_CHECK(ndr_push_align(ndr
, 5));
2171 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2172 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
2173 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2175 if (ndr_flags
& NDR_BUFFERS
) {
2177 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2178 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
2179 NDR_CHECK(ndr_push_lsa_TranslatedSid(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
2183 return NDR_ERR_SUCCESS
;
2186 static enum ndr_err_code
ndr_pull_lsa_TransSidArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransSidArray
*r
)
2189 uint32_t cntr_sids_1
;
2190 TALLOC_CTX
*_mem_save_sids_0
;
2191 TALLOC_CTX
*_mem_save_sids_1
;
2192 if (ndr_flags
& NDR_SCALARS
) {
2193 NDR_CHECK(ndr_pull_align(ndr
, 5));
2194 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2195 if (r
->count
> 1000) {
2196 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2198 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
2200 NDR_PULL_ALLOC(ndr
, r
->sids
);
2204 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2206 if (ndr_flags
& NDR_BUFFERS
) {
2208 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2209 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
2210 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
2211 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
2212 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2213 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
2214 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
2215 NDR_CHECK(ndr_pull_lsa_TranslatedSid(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
2217 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
2218 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
2221 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->count
));
2224 return NDR_ERR_SUCCESS
;
2227 _PUBLIC_
void ndr_print_lsa_TransSidArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransSidArray
*r
)
2229 uint32_t cntr_sids_1
;
2230 ndr_print_struct(ndr
, name
, "lsa_TransSidArray");
2232 ndr_print_uint32(ndr
, "count", r
->count
);
2233 ndr_print_ptr(ndr
, "sids", r
->sids
);
2236 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
2238 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
2240 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
2241 ndr_print_lsa_TranslatedSid(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
2251 static enum ndr_err_code
ndr_push_lsa_RefDomainList(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_RefDomainList
*r
)
2253 uint32_t cntr_domains_1
;
2254 if (ndr_flags
& NDR_SCALARS
) {
2255 NDR_CHECK(ndr_push_align(ndr
, 5));
2256 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2257 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domains
));
2258 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_size
));
2259 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2261 if (ndr_flags
& NDR_BUFFERS
) {
2263 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2264 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2265 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
2267 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2268 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
2272 return NDR_ERR_SUCCESS
;
2275 static enum ndr_err_code
ndr_pull_lsa_RefDomainList(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_RefDomainList
*r
)
2277 uint32_t _ptr_domains
;
2278 uint32_t cntr_domains_1
;
2279 TALLOC_CTX
*_mem_save_domains_0
;
2280 TALLOC_CTX
*_mem_save_domains_1
;
2281 if (ndr_flags
& NDR_SCALARS
) {
2282 NDR_CHECK(ndr_pull_align(ndr
, 5));
2283 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2284 if (r
->count
> 1000) {
2285 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2287 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
2289 NDR_PULL_ALLOC(ndr
, r
->domains
);
2293 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_size
));
2294 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2296 if (ndr_flags
& NDR_BUFFERS
) {
2298 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2299 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
2300 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domains
));
2301 NDR_PULL_ALLOC_N(ndr
, r
->domains
, ndr_get_array_size(ndr
, &r
->domains
));
2302 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2303 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
2304 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2305 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
2307 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2308 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
2310 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
2311 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, 0);
2314 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->domains
, r
->count
));
2317 return NDR_ERR_SUCCESS
;
2320 _PUBLIC_
void ndr_print_lsa_RefDomainList(struct ndr_print
*ndr
, const char *name
, const struct lsa_RefDomainList
*r
)
2322 uint32_t cntr_domains_1
;
2323 ndr_print_struct(ndr
, name
, "lsa_RefDomainList");
2325 ndr_print_uint32(ndr
, "count", r
->count
);
2326 ndr_print_ptr(ndr
, "domains", r
->domains
);
2329 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
2331 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
2333 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
2334 ndr_print_lsa_DomainInfo(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
2341 ndr_print_uint32(ndr
, "max_size", r
->max_size
);
2345 static enum ndr_err_code
ndr_push_lsa_LookupNamesLevel(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_LookupNamesLevel r
)
2347 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
2348 return NDR_ERR_SUCCESS
;
2351 static enum ndr_err_code
ndr_pull_lsa_LookupNamesLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_LookupNamesLevel
*r
)
2354 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
2356 return NDR_ERR_SUCCESS
;
2359 _PUBLIC_
void ndr_print_lsa_LookupNamesLevel(struct ndr_print
*ndr
, const char *name
, enum lsa_LookupNamesLevel r
)
2361 const char *val
= NULL
;
2364 case LSA_LOOKUP_NAMES_ALL
: val
= "LSA_LOOKUP_NAMES_ALL"; break;
2365 case LSA_LOOKUP_NAMES_DOMAINS_ONLY
: val
= "LSA_LOOKUP_NAMES_DOMAINS_ONLY"; break;
2366 case LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY
: val
= "LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY"; break;
2367 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY
: val
= "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY"; break;
2368 case LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY
: val
= "LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY"; break;
2369 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2
: val
= "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2"; break;
2370 case LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC
: val
= "LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC"; break;
2372 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2375 static enum ndr_err_code
ndr_push_lsa_TranslatedName(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedName
*r
)
2377 if (ndr_flags
& NDR_SCALARS
) {
2378 NDR_CHECK(ndr_push_align(ndr
, 5));
2379 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
2380 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
2381 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
2382 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2384 if (ndr_flags
& NDR_BUFFERS
) {
2385 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
2387 return NDR_ERR_SUCCESS
;
2390 static enum ndr_err_code
ndr_pull_lsa_TranslatedName(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedName
*r
)
2392 if (ndr_flags
& NDR_SCALARS
) {
2393 NDR_CHECK(ndr_pull_align(ndr
, 5));
2394 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
2395 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
2396 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
2397 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2399 if (ndr_flags
& NDR_BUFFERS
) {
2400 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
2402 return NDR_ERR_SUCCESS
;
2405 _PUBLIC_
void ndr_print_lsa_TranslatedName(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedName
*r
)
2407 ndr_print_struct(ndr
, name
, "lsa_TranslatedName");
2409 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
2410 ndr_print_lsa_String(ndr
, "name", &r
->name
);
2411 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
2415 static enum ndr_err_code
ndr_push_lsa_TransNameArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransNameArray
*r
)
2417 uint32_t cntr_names_1
;
2418 if (ndr_flags
& NDR_SCALARS
) {
2419 NDR_CHECK(ndr_push_align(ndr
, 5));
2420 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2421 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
2422 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2424 if (ndr_flags
& NDR_BUFFERS
) {
2426 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2427 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2428 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
2430 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2431 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
2435 return NDR_ERR_SUCCESS
;
2438 static enum ndr_err_code
ndr_pull_lsa_TransNameArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransNameArray
*r
)
2440 uint32_t _ptr_names
;
2441 uint32_t cntr_names_1
;
2442 TALLOC_CTX
*_mem_save_names_0
;
2443 TALLOC_CTX
*_mem_save_names_1
;
2444 if (ndr_flags
& NDR_SCALARS
) {
2445 NDR_CHECK(ndr_pull_align(ndr
, 5));
2446 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2447 if (r
->count
> 20480) {
2448 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2450 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
2452 NDR_PULL_ALLOC(ndr
, r
->names
);
2456 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2458 if (ndr_flags
& NDR_BUFFERS
) {
2460 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2461 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
2462 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
2463 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
2464 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2465 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
2466 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2467 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
2469 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2470 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
2472 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
2473 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
2476 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
2479 return NDR_ERR_SUCCESS
;
2482 _PUBLIC_
void ndr_print_lsa_TransNameArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransNameArray
*r
)
2484 uint32_t cntr_names_1
;
2485 ndr_print_struct(ndr
, name
, "lsa_TransNameArray");
2487 ndr_print_uint32(ndr
, "count", r
->count
);
2488 ndr_print_ptr(ndr
, "names", r
->names
);
2491 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
2493 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
2495 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
2496 ndr_print_lsa_TranslatedName(ndr
, "names", &r
->names
[cntr_names_1
]);
2506 static enum ndr_err_code
ndr_push_lsa_LUIDAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_LUIDAttribute
*r
)
2508 if (ndr_flags
& NDR_SCALARS
) {
2509 NDR_CHECK(ndr_push_align(ndr
, 4));
2510 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
2511 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->attribute
));
2512 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2514 if (ndr_flags
& NDR_BUFFERS
) {
2516 return NDR_ERR_SUCCESS
;
2519 static enum ndr_err_code
ndr_pull_lsa_LUIDAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_LUIDAttribute
*r
)
2521 if (ndr_flags
& NDR_SCALARS
) {
2522 NDR_CHECK(ndr_pull_align(ndr
, 4));
2523 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
2524 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->attribute
));
2525 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2527 if (ndr_flags
& NDR_BUFFERS
) {
2529 return NDR_ERR_SUCCESS
;
2532 _PUBLIC_
void ndr_print_lsa_LUIDAttribute(struct ndr_print
*ndr
, const char *name
, const struct lsa_LUIDAttribute
*r
)
2534 ndr_print_struct(ndr
, name
, "lsa_LUIDAttribute");
2536 ndr_print_lsa_LUID(ndr
, "luid", &r
->luid
);
2537 ndr_print_uint32(ndr
, "attribute", r
->attribute
);
2541 static enum ndr_err_code
ndr_push_lsa_PrivilegeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PrivilegeSet
*r
)
2543 uint32_t cntr_set_0
;
2544 if (ndr_flags
& NDR_SCALARS
) {
2545 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2546 NDR_CHECK(ndr_push_align(ndr
, 4));
2547 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2548 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
2549 for (cntr_set_0
= 0; cntr_set_0
< r
->count
; cntr_set_0
++) {
2550 NDR_CHECK(ndr_push_lsa_LUIDAttribute(ndr
, NDR_SCALARS
, &r
->set
[cntr_set_0
]));
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_PrivilegeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PrivilegeSet
*r
)
2561 uint32_t cntr_set_0
;
2562 TALLOC_CTX
*_mem_save_set_0
;
2563 if (ndr_flags
& NDR_SCALARS
) {
2564 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->set
));
2565 NDR_CHECK(ndr_pull_align(ndr
, 4));
2566 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2567 if (r
->count
> 1000) {
2568 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2570 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
2571 NDR_PULL_ALLOC_N(ndr
, r
->set
, ndr_get_array_size(ndr
, &r
->set
));
2572 _mem_save_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2573 NDR_PULL_SET_MEM_CTX(ndr
, r
->set
, 0);
2574 for (cntr_set_0
= 0; cntr_set_0
< r
->count
; cntr_set_0
++) {
2575 NDR_CHECK(ndr_pull_lsa_LUIDAttribute(ndr
, NDR_SCALARS
, &r
->set
[cntr_set_0
]));
2577 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_set_0
, 0);
2579 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->set
, r
->count
));
2581 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2583 if (ndr_flags
& NDR_BUFFERS
) {
2585 return NDR_ERR_SUCCESS
;
2588 _PUBLIC_
void ndr_print_lsa_PrivilegeSet(struct ndr_print
*ndr
, const char *name
, const struct lsa_PrivilegeSet
*r
)
2590 uint32_t cntr_set_0
;
2591 ndr_print_struct(ndr
, name
, "lsa_PrivilegeSet");
2593 ndr_print_uint32(ndr
, "count", r
->count
);
2594 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
2595 ndr
->print(ndr
, "%s: ARRAY(%d)", "set", (int)r
->count
);
2597 for (cntr_set_0
=0;cntr_set_0
<r
->count
;cntr_set_0
++) {
2599 if (asprintf(&idx_0
, "[%d]", cntr_set_0
) != -1) {
2600 ndr_print_lsa_LUIDAttribute(ndr
, "set", &r
->set
[cntr_set_0
]);
2608 static enum ndr_err_code
ndr_push_lsa_DATA_BUF(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DATA_BUF
*r
)
2611 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2612 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2613 if (ndr_flags
& NDR_SCALARS
) {
2614 NDR_CHECK(ndr_push_align(ndr
, 5));
2615 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
2616 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
));
2617 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
2618 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2620 if (ndr_flags
& NDR_BUFFERS
) {
2622 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
));
2623 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
2624 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
2625 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
2628 ndr
->flags
= _flags_save_STRUCT
;
2630 return NDR_ERR_SUCCESS
;
2633 static enum ndr_err_code
ndr_pull_lsa_DATA_BUF(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DATA_BUF
*r
)
2636 TALLOC_CTX
*_mem_save_data_0
;
2638 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2639 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2640 if (ndr_flags
& NDR_SCALARS
) {
2641 NDR_CHECK(ndr_pull_align(ndr
, 5));
2642 NDR_CHECK(ndr_pull_uint3264(ndr
, NDR_SCALARS
, &r
->length
));
2643 NDR_CHECK(ndr_pull_uint3264(ndr
, NDR_SCALARS
, &r
->size
));
2644 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
2646 NDR_PULL_ALLOC(ndr
, r
->data
);
2650 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2652 if (ndr_flags
& NDR_BUFFERS
) {
2654 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2655 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
2656 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
2657 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->data
));
2658 if (ndr_get_array_length(ndr
, &r
->data
) > ndr_get_array_size(ndr
, &r
->data
)) {
2659 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->data
), ndr_get_array_length(ndr
, &r
->data
));
2661 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
2662 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_length(ndr
, &r
->data
)));
2663 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
2666 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
2669 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->data
, r
->length
));
2672 ndr
->flags
= _flags_save_STRUCT
;
2674 return NDR_ERR_SUCCESS
;
2677 _PUBLIC_
void ndr_print_lsa_DATA_BUF(struct ndr_print
*ndr
, const char *name
, const struct lsa_DATA_BUF
*r
)
2679 ndr_print_struct(ndr
, name
, "lsa_DATA_BUF");
2681 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2682 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2684 ndr_print_uint3264(ndr
, "length", r
->length
);
2685 ndr_print_uint3264(ndr
, "size", r
->size
);
2686 ndr_print_ptr(ndr
, "data", r
->data
);
2689 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
2693 ndr
->flags
= _flags_save_STRUCT
;
2697 static enum ndr_err_code
ndr_push_lsa_DATA_BUF2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DATA_BUF2
*r
)
2700 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2701 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2702 if (ndr_flags
& NDR_SCALARS
) {
2703 NDR_CHECK(ndr_push_align(ndr
, 5));
2704 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2705 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
2706 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2708 if (ndr_flags
& NDR_BUFFERS
) {
2710 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
));
2711 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
2714 ndr
->flags
= _flags_save_STRUCT
;
2716 return NDR_ERR_SUCCESS
;
2719 static enum ndr_err_code
ndr_pull_lsa_DATA_BUF2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DATA_BUF2
*r
)
2722 TALLOC_CTX
*_mem_save_data_0
;
2724 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2725 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2726 if (ndr_flags
& NDR_SCALARS
) {
2727 NDR_CHECK(ndr_pull_align(ndr
, 5));
2728 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2729 if (r
->size
> 65536) {
2730 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2732 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
2734 NDR_PULL_ALLOC(ndr
, r
->data
);
2738 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2740 if (ndr_flags
& NDR_BUFFERS
) {
2742 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2743 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
2744 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
2745 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
2746 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
2747 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
2750 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
2753 ndr
->flags
= _flags_save_STRUCT
;
2755 return NDR_ERR_SUCCESS
;
2758 _PUBLIC_
void ndr_print_lsa_DATA_BUF2(struct ndr_print
*ndr
, const char *name
, const struct lsa_DATA_BUF2
*r
)
2760 ndr_print_struct(ndr
, name
, "lsa_DATA_BUF2");
2762 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2763 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2765 ndr_print_uint32(ndr
, "size", r
->size
);
2766 ndr_print_ptr(ndr
, "data", r
->data
);
2769 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
2773 ndr
->flags
= _flags_save_STRUCT
;
2777 static enum ndr_err_code
ndr_push_lsa_TrustDomInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_TrustDomInfoEnum r
)
2779 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
2780 return NDR_ERR_SUCCESS
;
2783 static enum ndr_err_code
ndr_pull_lsa_TrustDomInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_TrustDomInfoEnum
*r
)
2786 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
2788 return NDR_ERR_SUCCESS
;
2791 _PUBLIC_
void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print
*ndr
, const char *name
, enum lsa_TrustDomInfoEnum r
)
2793 const char *val
= NULL
;
2796 case LSA_TRUSTED_DOMAIN_INFO_NAME
: val
= "LSA_TRUSTED_DOMAIN_INFO_NAME"; break;
2797 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
: val
= "LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS"; break;
2798 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: val
= "LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET"; break;
2799 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: val
= "LSA_TRUSTED_DOMAIN_INFO_PASSWORD"; break;
2800 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: val
= "LSA_TRUSTED_DOMAIN_INFO_BASIC"; break;
2801 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: val
= "LSA_TRUSTED_DOMAIN_INFO_INFO_EX"; break;
2802 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: val
= "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO"; break;
2803 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: val
= "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO"; break;
2804 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
: val
= "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL"; break;
2805 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
: val
= "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL"; break;
2806 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
: val
= "LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL"; break;
2807 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
: val
= "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL"; break;
2808 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
: val
= "LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES"; break;
2810 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2813 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_TrustDirection(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2815 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2816 return NDR_ERR_SUCCESS
;
2819 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_TrustDirection(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2822 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2824 return NDR_ERR_SUCCESS
;
2827 _PUBLIC_
void ndr_print_lsa_TrustDirection(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2829 ndr_print_uint32(ndr
, name
, r
);
2831 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_DIRECTION_INBOUND", LSA_TRUST_DIRECTION_INBOUND
, r
);
2832 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_DIRECTION_OUTBOUND", LSA_TRUST_DIRECTION_OUTBOUND
, r
);
2836 static enum ndr_err_code
ndr_push_lsa_TrustType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_TrustType r
)
2838 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
2839 return NDR_ERR_SUCCESS
;
2842 static enum ndr_err_code
ndr_pull_lsa_TrustType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_TrustType
*r
)
2845 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
2847 return NDR_ERR_SUCCESS
;
2850 _PUBLIC_
void ndr_print_lsa_TrustType(struct ndr_print
*ndr
, const char *name
, enum lsa_TrustType r
)
2852 const char *val
= NULL
;
2855 case LSA_TRUST_TYPE_DOWNLEVEL
: val
= "LSA_TRUST_TYPE_DOWNLEVEL"; break;
2856 case LSA_TRUST_TYPE_UPLEVEL
: val
= "LSA_TRUST_TYPE_UPLEVEL"; break;
2857 case LSA_TRUST_TYPE_MIT
: val
= "LSA_TRUST_TYPE_MIT"; break;
2859 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2862 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_TrustAttributes(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2864 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2865 return NDR_ERR_SUCCESS
;
2868 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_TrustAttributes(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2871 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2873 return NDR_ERR_SUCCESS
;
2876 _PUBLIC_
void ndr_print_lsa_TrustAttributes(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2878 ndr_print_uint32(ndr
, name
, r
);
2880 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE", LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE
, r
);
2881 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY", LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY
, r
);
2882 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN
, r
);
2883 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE
, r
);
2884 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION
, r
);
2885 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_WITHIN_FOREST", LSA_TRUST_ATTRIBUTE_WITHIN_FOREST
, r
);
2886 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL
, r
);
2887 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION", LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION
, r
);
2891 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoName(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoName
*r
)
2893 if (ndr_flags
& NDR_SCALARS
) {
2894 NDR_CHECK(ndr_push_align(ndr
, 5));
2895 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2896 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2898 if (ndr_flags
& NDR_BUFFERS
) {
2899 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2901 return NDR_ERR_SUCCESS
;
2904 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoName(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoName
*r
)
2906 if (ndr_flags
& NDR_SCALARS
) {
2907 NDR_CHECK(ndr_pull_align(ndr
, 5));
2908 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2909 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2911 if (ndr_flags
& NDR_BUFFERS
) {
2912 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2914 return NDR_ERR_SUCCESS
;
2917 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoName(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoName
*r
)
2919 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoName");
2921 ndr_print_lsa_StringLarge(ndr
, "netbios_name", &r
->netbios_name
);
2925 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoControllers(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoControllers
*r
)
2927 uint32_t cntr_netbios_names_1
;
2928 if (ndr_flags
& NDR_SCALARS
) {
2929 NDR_CHECK(ndr_push_align(ndr
, 5));
2930 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->entries
));
2931 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_names
));
2932 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2934 if (ndr_flags
& NDR_BUFFERS
) {
2935 if (r
->netbios_names
) {
2936 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->entries
));
2937 for (cntr_netbios_names_1
= 0; cntr_netbios_names_1
< r
->entries
; cntr_netbios_names_1
++) {
2938 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_names
[cntr_netbios_names_1
]));
2940 for (cntr_netbios_names_1
= 0; cntr_netbios_names_1
< r
->entries
; cntr_netbios_names_1
++) {
2941 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_names
[cntr_netbios_names_1
]));
2945 return NDR_ERR_SUCCESS
;
2948 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoControllers(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoControllers
*r
)
2950 uint32_t _ptr_netbios_names
;
2951 uint32_t cntr_netbios_names_1
;
2952 TALLOC_CTX
*_mem_save_netbios_names_0
;
2953 TALLOC_CTX
*_mem_save_netbios_names_1
;
2954 if (ndr_flags
& NDR_SCALARS
) {
2955 NDR_CHECK(ndr_pull_align(ndr
, 5));
2956 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->entries
));
2957 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_names
));
2958 if (_ptr_netbios_names
) {
2959 NDR_PULL_ALLOC(ndr
, r
->netbios_names
);
2961 r
->netbios_names
= NULL
;
2963 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2965 if (ndr_flags
& NDR_BUFFERS
) {
2966 if (r
->netbios_names
) {
2967 _mem_save_netbios_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2968 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_names
, 0);
2969 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_names
));
2970 NDR_PULL_ALLOC_N(ndr
, r
->netbios_names
, ndr_get_array_size(ndr
, &r
->netbios_names
));
2971 _mem_save_netbios_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2972 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_names
, 0);
2973 for (cntr_netbios_names_1
= 0; cntr_netbios_names_1
< r
->entries
; cntr_netbios_names_1
++) {
2974 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_names
[cntr_netbios_names_1
]));
2976 for (cntr_netbios_names_1
= 0; cntr_netbios_names_1
< r
->entries
; cntr_netbios_names_1
++) {
2977 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_names
[cntr_netbios_names_1
]));
2979 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_names_1
, 0);
2980 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_names_0
, 0);
2982 if (r
->netbios_names
) {
2983 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->netbios_names
, r
->entries
));
2986 return NDR_ERR_SUCCESS
;
2989 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoControllers(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoControllers
*r
)
2991 uint32_t cntr_netbios_names_1
;
2992 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoControllers");
2994 ndr_print_uint32(ndr
, "entries", r
->entries
);
2995 ndr_print_ptr(ndr
, "netbios_names", r
->netbios_names
);
2997 if (r
->netbios_names
) {
2998 ndr
->print(ndr
, "%s: ARRAY(%d)", "netbios_names", (int)r
->entries
);
3000 for (cntr_netbios_names_1
=0;cntr_netbios_names_1
<r
->entries
;cntr_netbios_names_1
++) {
3002 if (asprintf(&idx_1
, "[%d]", cntr_netbios_names_1
) != -1) {
3003 ndr_print_lsa_StringLarge(ndr
, "netbios_names", &r
->netbios_names
[cntr_netbios_names_1
]);
3013 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoPosixOffset(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoPosixOffset
*r
)
3015 if (ndr_flags
& NDR_SCALARS
) {
3016 NDR_CHECK(ndr_push_align(ndr
, 4));
3017 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->posix_offset
));
3018 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
3020 if (ndr_flags
& NDR_BUFFERS
) {
3022 return NDR_ERR_SUCCESS
;
3025 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoPosixOffset(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoPosixOffset
*r
)
3027 if (ndr_flags
& NDR_SCALARS
) {
3028 NDR_CHECK(ndr_pull_align(ndr
, 4));
3029 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3030 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
3032 if (ndr_flags
& NDR_BUFFERS
) {
3034 return NDR_ERR_SUCCESS
;
3037 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoPosixOffset
*r
)
3039 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoPosixOffset");
3041 ndr_print_uint32(ndr
, "posix_offset", r
->posix_offset
);
3045 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoPassword(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoPassword
*r
)
3047 if (ndr_flags
& NDR_SCALARS
) {
3048 NDR_CHECK(ndr_push_align(ndr
, 5));
3049 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->password
));
3050 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->old_password
));
3051 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3053 if (ndr_flags
& NDR_BUFFERS
) {
3055 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->password
));
3057 if (r
->old_password
) {
3058 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->old_password
));
3061 return NDR_ERR_SUCCESS
;
3064 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoPassword(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoPassword
*r
)
3066 uint32_t _ptr_password
;
3067 TALLOC_CTX
*_mem_save_password_0
;
3068 uint32_t _ptr_old_password
;
3069 TALLOC_CTX
*_mem_save_old_password_0
;
3070 if (ndr_flags
& NDR_SCALARS
) {
3071 NDR_CHECK(ndr_pull_align(ndr
, 5));
3072 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password
));
3073 if (_ptr_password
) {
3074 NDR_PULL_ALLOC(ndr
, r
->password
);
3078 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_password
));
3079 if (_ptr_old_password
) {
3080 NDR_PULL_ALLOC(ndr
, r
->old_password
);
3082 r
->old_password
= NULL
;
3084 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3086 if (ndr_flags
& NDR_BUFFERS
) {
3088 _mem_save_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3089 NDR_PULL_SET_MEM_CTX(ndr
, r
->password
, 0);
3090 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->password
));
3091 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password_0
, 0);
3093 if (r
->old_password
) {
3094 _mem_save_old_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3095 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_password
, 0);
3096 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->old_password
));
3097 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_password_0
, 0);
3100 return NDR_ERR_SUCCESS
;
3103 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoPassword
*r
)
3105 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoPassword");
3107 ndr_print_ptr(ndr
, "password", r
->password
);
3110 ndr_print_lsa_DATA_BUF(ndr
, "password", r
->password
);
3113 ndr_print_ptr(ndr
, "old_password", r
->old_password
);
3115 if (r
->old_password
) {
3116 ndr_print_lsa_DATA_BUF(ndr
, "old_password", r
->old_password
);
3122 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoBasic(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoBasic
*r
)
3124 if (ndr_flags
& NDR_SCALARS
) {
3125 NDR_CHECK(ndr_push_align(ndr
, 5));
3126 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->netbios_name
));
3127 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
3128 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3130 if (ndr_flags
& NDR_BUFFERS
) {
3131 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
3133 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
3136 return NDR_ERR_SUCCESS
;
3139 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoBasic(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoBasic
*r
)
3142 TALLOC_CTX
*_mem_save_sid_0
;
3143 if (ndr_flags
& NDR_SCALARS
) {
3144 NDR_CHECK(ndr_pull_align(ndr
, 5));
3145 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->netbios_name
));
3146 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
3148 NDR_PULL_ALLOC(ndr
, r
->sid
);
3152 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3154 if (ndr_flags
& NDR_BUFFERS
) {
3155 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
3157 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3158 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
3159 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
3160 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
3163 return NDR_ERR_SUCCESS
;
3166 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoBasic
*r
)
3168 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoBasic");
3170 ndr_print_lsa_String(ndr
, "netbios_name", &r
->netbios_name
);
3171 ndr_print_ptr(ndr
, "sid", r
->sid
);
3174 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
3180 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoInfoEx(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoInfoEx
*r
)
3182 if (ndr_flags
& NDR_SCALARS
) {
3183 NDR_CHECK(ndr_push_align(ndr
, 5));
3184 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->domain_name
));
3185 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
3186 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
3187 NDR_CHECK(ndr_push_lsa_TrustDirection(ndr
, NDR_SCALARS
, r
->trust_direction
));
3188 NDR_CHECK(ndr_push_lsa_TrustType(ndr
, NDR_SCALARS
, r
->trust_type
));
3189 NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr
, NDR_SCALARS
, r
->trust_attributes
));
3190 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3192 if (ndr_flags
& NDR_BUFFERS
) {
3193 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->domain_name
));
3194 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
3196 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
3199 return NDR_ERR_SUCCESS
;
3202 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoInfoEx(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoInfoEx
*r
)
3205 TALLOC_CTX
*_mem_save_sid_0
;
3206 if (ndr_flags
& NDR_SCALARS
) {
3207 NDR_CHECK(ndr_pull_align(ndr
, 5));
3208 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->domain_name
));
3209 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
3210 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
3212 NDR_PULL_ALLOC(ndr
, r
->sid
);
3216 NDR_CHECK(ndr_pull_lsa_TrustDirection(ndr
, NDR_SCALARS
, &r
->trust_direction
));
3217 NDR_CHECK(ndr_pull_lsa_TrustType(ndr
, NDR_SCALARS
, &r
->trust_type
));
3218 NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr
, NDR_SCALARS
, &r
->trust_attributes
));
3219 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3221 if (ndr_flags
& NDR_BUFFERS
) {
3222 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->domain_name
));
3223 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
3225 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3226 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
3227 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
3228 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
3231 return NDR_ERR_SUCCESS
;
3234 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoInfoEx
*r
)
3236 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoInfoEx");
3238 ndr_print_lsa_StringLarge(ndr
, "domain_name", &r
->domain_name
);
3239 ndr_print_lsa_StringLarge(ndr
, "netbios_name", &r
->netbios_name
);
3240 ndr_print_ptr(ndr
, "sid", r
->sid
);
3243 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
3246 ndr_print_lsa_TrustDirection(ndr
, "trust_direction", r
->trust_direction
);
3247 ndr_print_lsa_TrustType(ndr
, "trust_type", r
->trust_type
);
3248 ndr_print_lsa_TrustAttributes(ndr
, "trust_attributes", r
->trust_attributes
);
3252 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_TrustAuthType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_TrustAuthType r
)
3254 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
3255 return NDR_ERR_SUCCESS
;
3258 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_TrustAuthType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_TrustAuthType
*r
)
3261 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
3263 return NDR_ERR_SUCCESS
;
3266 _PUBLIC_
void ndr_print_lsa_TrustAuthType(struct ndr_print
*ndr
, const char *name
, enum lsa_TrustAuthType r
)
3268 const char *val
= NULL
;
3271 case TRUST_AUTH_TYPE_NONE
: val
= "TRUST_AUTH_TYPE_NONE"; break;
3272 case TRUST_AUTH_TYPE_NT4OWF
: val
= "TRUST_AUTH_TYPE_NT4OWF"; break;
3273 case TRUST_AUTH_TYPE_CLEAR
: val
= "TRUST_AUTH_TYPE_CLEAR"; break;
3274 case TRUST_AUTH_TYPE_VERSION
: val
= "TRUST_AUTH_TYPE_VERSION"; break;
3276 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3279 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoBuffer
*r
)
3281 if (ndr_flags
& NDR_SCALARS
) {
3282 NDR_CHECK(ndr_push_align(ndr
, 8));
3283 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->last_update_time
));
3284 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr
, NDR_SCALARS
, r
->AuthType
));
3285 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data
));
3286 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
3288 if (ndr_flags
& NDR_BUFFERS
) {
3289 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data
));
3291 return NDR_ERR_SUCCESS
;
3294 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoBuffer
*r
)
3296 if (ndr_flags
& NDR_SCALARS
) {
3297 NDR_CHECK(ndr_pull_align(ndr
, 8));
3298 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->last_update_time
));
3299 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr
, NDR_SCALARS
, &r
->AuthType
));
3300 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data
));
3301 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3303 if (ndr_flags
& NDR_BUFFERS
) {
3304 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data
));
3306 return NDR_ERR_SUCCESS
;
3309 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoBuffer(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoBuffer
*r
)
3311 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoBuffer");
3313 ndr_print_NTTIME_hyper(ndr
, "last_update_time", r
->last_update_time
);
3314 ndr_print_lsa_TrustAuthType(ndr
, "AuthType", r
->AuthType
);
3315 ndr_print_lsa_DATA_BUF2(ndr
, "data", &r
->data
);
3319 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_TrustDomainInfoAuthInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoAuthInfo
*r
)
3321 if (ndr_flags
& NDR_SCALARS
) {
3322 NDR_CHECK(ndr_push_align(ndr
, 5));
3323 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->incoming_count
));
3324 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->incoming_current_auth_info
));
3325 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->incoming_previous_auth_info
));
3326 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->outgoing_count
));
3327 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->outgoing_current_auth_info
));
3328 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->outgoing_previous_auth_info
));
3329 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3331 if (ndr_flags
& NDR_BUFFERS
) {
3332 if (r
->incoming_current_auth_info
) {
3333 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_current_auth_info
));
3335 if (r
->incoming_previous_auth_info
) {
3336 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_previous_auth_info
));
3338 if (r
->outgoing_current_auth_info
) {
3339 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_current_auth_info
));
3341 if (r
->outgoing_previous_auth_info
) {
3342 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_previous_auth_info
));
3345 return NDR_ERR_SUCCESS
;
3348 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoAuthInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoAuthInfo
*r
)
3350 uint32_t _ptr_incoming_current_auth_info
;
3351 TALLOC_CTX
*_mem_save_incoming_current_auth_info_0
;
3352 uint32_t _ptr_incoming_previous_auth_info
;
3353 TALLOC_CTX
*_mem_save_incoming_previous_auth_info_0
;
3354 uint32_t _ptr_outgoing_current_auth_info
;
3355 TALLOC_CTX
*_mem_save_outgoing_current_auth_info_0
;
3356 uint32_t _ptr_outgoing_previous_auth_info
;
3357 TALLOC_CTX
*_mem_save_outgoing_previous_auth_info_0
;
3358 if (ndr_flags
& NDR_SCALARS
) {
3359 NDR_CHECK(ndr_pull_align(ndr
, 5));
3360 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->incoming_count
));
3361 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_incoming_current_auth_info
));
3362 if (_ptr_incoming_current_auth_info
) {
3363 NDR_PULL_ALLOC(ndr
, r
->incoming_current_auth_info
);
3365 r
->incoming_current_auth_info
= NULL
;
3367 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_incoming_previous_auth_info
));
3368 if (_ptr_incoming_previous_auth_info
) {
3369 NDR_PULL_ALLOC(ndr
, r
->incoming_previous_auth_info
);
3371 r
->incoming_previous_auth_info
= NULL
;
3373 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->outgoing_count
));
3374 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_outgoing_current_auth_info
));
3375 if (_ptr_outgoing_current_auth_info
) {
3376 NDR_PULL_ALLOC(ndr
, r
->outgoing_current_auth_info
);
3378 r
->outgoing_current_auth_info
= NULL
;
3380 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_outgoing_previous_auth_info
));
3381 if (_ptr_outgoing_previous_auth_info
) {
3382 NDR_PULL_ALLOC(ndr
, r
->outgoing_previous_auth_info
);
3384 r
->outgoing_previous_auth_info
= NULL
;
3386 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3388 if (ndr_flags
& NDR_BUFFERS
) {
3389 if (r
->incoming_current_auth_info
) {
3390 _mem_save_incoming_current_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3391 NDR_PULL_SET_MEM_CTX(ndr
, r
->incoming_current_auth_info
, 0);
3392 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_current_auth_info
));
3393 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_incoming_current_auth_info_0
, 0);
3395 if (r
->incoming_previous_auth_info
) {
3396 _mem_save_incoming_previous_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3397 NDR_PULL_SET_MEM_CTX(ndr
, r
->incoming_previous_auth_info
, 0);
3398 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_previous_auth_info
));
3399 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_incoming_previous_auth_info_0
, 0);
3401 if (r
->outgoing_current_auth_info
) {
3402 _mem_save_outgoing_current_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3403 NDR_PULL_SET_MEM_CTX(ndr
, r
->outgoing_current_auth_info
, 0);
3404 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_current_auth_info
));
3405 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_outgoing_current_auth_info_0
, 0);
3407 if (r
->outgoing_previous_auth_info
) {
3408 _mem_save_outgoing_previous_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3409 NDR_PULL_SET_MEM_CTX(ndr
, r
->outgoing_previous_auth_info
, 0);
3410 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_previous_auth_info
));
3411 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_outgoing_previous_auth_info_0
, 0);
3414 return NDR_ERR_SUCCESS
;
3417 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoAuthInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoAuthInfo
*r
)
3419 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoAuthInfo");
3421 ndr_print_uint32(ndr
, "incoming_count", r
->incoming_count
);
3422 ndr_print_ptr(ndr
, "incoming_current_auth_info", r
->incoming_current_auth_info
);
3424 if (r
->incoming_current_auth_info
) {
3425 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "incoming_current_auth_info", r
->incoming_current_auth_info
);
3428 ndr_print_ptr(ndr
, "incoming_previous_auth_info", r
->incoming_previous_auth_info
);
3430 if (r
->incoming_previous_auth_info
) {
3431 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "incoming_previous_auth_info", r
->incoming_previous_auth_info
);
3434 ndr_print_uint32(ndr
, "outgoing_count", r
->outgoing_count
);
3435 ndr_print_ptr(ndr
, "outgoing_current_auth_info", r
->outgoing_current_auth_info
);
3437 if (r
->outgoing_current_auth_info
) {
3438 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "outgoing_current_auth_info", r
->outgoing_current_auth_info
);
3441 ndr_print_ptr(ndr
, "outgoing_previous_auth_info", r
->outgoing_previous_auth_info
);
3443 if (r
->outgoing_previous_auth_info
) {
3444 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "outgoing_previous_auth_info", r
->outgoing_previous_auth_info
);
3450 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoFullInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoFullInfo
*r
)
3452 if (ndr_flags
& NDR_SCALARS
) {
3453 NDR_CHECK(ndr_push_align(ndr
, 5));
3454 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3455 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3456 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3457 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3459 if (ndr_flags
& NDR_BUFFERS
) {
3460 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3461 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3463 return NDR_ERR_SUCCESS
;
3466 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoFullInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoFullInfo
*r
)
3468 if (ndr_flags
& NDR_SCALARS
) {
3469 NDR_CHECK(ndr_pull_align(ndr
, 5));
3470 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3471 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3472 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3473 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3475 if (ndr_flags
& NDR_BUFFERS
) {
3476 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3477 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3479 return NDR_ERR_SUCCESS
;
3482 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoFullInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoFullInfo
*r
)
3484 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoFullInfo");
3486 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3487 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3488 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
3492 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoAuthInfoInternal
*r
)
3494 if (ndr_flags
& NDR_SCALARS
) {
3495 NDR_CHECK(ndr_push_align(ndr
, 5));
3496 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->auth_blob
));
3497 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3499 if (ndr_flags
& NDR_BUFFERS
) {
3500 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->auth_blob
));
3502 return NDR_ERR_SUCCESS
;
3505 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoAuthInfoInternal
*r
)
3507 if (ndr_flags
& NDR_SCALARS
) {
3508 NDR_CHECK(ndr_pull_align(ndr
, 5));
3509 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->auth_blob
));
3510 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3512 if (ndr_flags
& NDR_BUFFERS
) {
3513 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->auth_blob
));
3515 return NDR_ERR_SUCCESS
;
3518 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoAuthInfoInternal
*r
)
3520 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoAuthInfoInternal");
3522 ndr_print_lsa_DATA_BUF2(ndr
, "auth_blob", &r
->auth_blob
);
3526 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoFullInfoInternal(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoFullInfoInternal
*r
)
3528 if (ndr_flags
& NDR_SCALARS
) {
3529 NDR_CHECK(ndr_push_align(ndr
, 5));
3530 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3531 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3532 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info
));
3533 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3535 if (ndr_flags
& NDR_BUFFERS
) {
3536 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3537 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3539 return NDR_ERR_SUCCESS
;
3542 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoFullInfoInternal(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoFullInfoInternal
*r
)
3544 if (ndr_flags
& NDR_SCALARS
) {
3545 NDR_CHECK(ndr_pull_align(ndr
, 5));
3546 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3547 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3548 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info
));
3549 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3551 if (ndr_flags
& NDR_BUFFERS
) {
3552 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3553 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3555 return NDR_ERR_SUCCESS
;
3558 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoFullInfoInternal(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoFullInfoInternal
*r
)
3560 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoFullInfoInternal");
3562 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3563 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3564 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info", &r
->auth_info
);
3568 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoInfoEx2Internal
*r
)
3570 if (ndr_flags
& NDR_SCALARS
) {
3571 NDR_CHECK(ndr_push_align(ndr
, 5));
3572 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3573 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->forest_trust_length
));
3574 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->forest_trust_data
));
3575 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3577 if (ndr_flags
& NDR_BUFFERS
) {
3578 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3579 if (r
->forest_trust_data
) {
3580 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->forest_trust_length
));
3581 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->forest_trust_data
, r
->forest_trust_length
));
3584 return NDR_ERR_SUCCESS
;
3587 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoInfoEx2Internal
*r
)
3589 uint32_t _ptr_forest_trust_data
;
3590 TALLOC_CTX
*_mem_save_forest_trust_data_0
;
3591 if (ndr_flags
& NDR_SCALARS
) {
3592 NDR_CHECK(ndr_pull_align(ndr
, 5));
3593 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3594 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->forest_trust_length
));
3595 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_forest_trust_data
));
3596 if (_ptr_forest_trust_data
) {
3597 NDR_PULL_ALLOC(ndr
, r
->forest_trust_data
);
3599 r
->forest_trust_data
= NULL
;
3601 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3603 if (ndr_flags
& NDR_BUFFERS
) {
3604 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3605 if (r
->forest_trust_data
) {
3606 _mem_save_forest_trust_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3607 NDR_PULL_SET_MEM_CTX(ndr
, r
->forest_trust_data
, 0);
3608 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->forest_trust_data
));
3609 NDR_PULL_ALLOC_N(ndr
, r
->forest_trust_data
, ndr_get_array_size(ndr
, &r
->forest_trust_data
));
3610 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->forest_trust_data
, ndr_get_array_size(ndr
, &r
->forest_trust_data
)));
3611 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_forest_trust_data_0
, 0);
3613 if (r
->forest_trust_data
) {
3614 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->forest_trust_data
, r
->forest_trust_length
));
3617 return NDR_ERR_SUCCESS
;
3620 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoInfoEx2Internal
*r
)
3622 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoInfoEx2Internal");
3624 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3625 ndr_print_uint32(ndr
, "forest_trust_length", r
->forest_trust_length
);
3626 ndr_print_ptr(ndr
, "forest_trust_data", r
->forest_trust_data
);
3628 if (r
->forest_trust_data
) {
3629 ndr_print_array_uint8(ndr
, "forest_trust_data", r
->forest_trust_data
, r
->forest_trust_length
);
3635 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoFullInfo2Internal
*r
)
3637 if (ndr_flags
& NDR_SCALARS
) {
3638 NDR_CHECK(ndr_push_align(ndr
, 5));
3639 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info
));
3640 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3641 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3642 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3644 if (ndr_flags
& NDR_BUFFERS
) {
3645 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info
));
3646 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3648 return NDR_ERR_SUCCESS
;
3651 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoFullInfo2Internal
*r
)
3653 if (ndr_flags
& NDR_SCALARS
) {
3654 NDR_CHECK(ndr_pull_align(ndr
, 5));
3655 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info
));
3656 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3657 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3658 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3660 if (ndr_flags
& NDR_BUFFERS
) {
3661 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info
));
3662 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3664 return NDR_ERR_SUCCESS
;
3667 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoFullInfo2Internal
*r
)
3669 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoFullInfo2Internal");
3671 ndr_print_lsa_TrustDomainInfoInfoEx2Internal(ndr
, "info", &r
->info
);
3672 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3673 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
3677 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoSupportedEncTypes
*r
)
3679 if (ndr_flags
& NDR_SCALARS
) {
3680 NDR_CHECK(ndr_push_align(ndr
, 4));
3681 NDR_CHECK(ndr_push_kerb_EncTypes(ndr
, NDR_SCALARS
, r
->enc_types
));
3682 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
3684 if (ndr_flags
& NDR_BUFFERS
) {
3686 return NDR_ERR_SUCCESS
;
3689 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoSupportedEncTypes
*r
)
3691 if (ndr_flags
& NDR_SCALARS
) {
3692 NDR_CHECK(ndr_pull_align(ndr
, 4));
3693 NDR_CHECK(ndr_pull_kerb_EncTypes(ndr
, NDR_SCALARS
, &r
->enc_types
));
3694 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
3696 if (ndr_flags
& NDR_BUFFERS
) {
3698 return NDR_ERR_SUCCESS
;
3701 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoSupportedEncTypes
*r
)
3703 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoSupportedEncTypes");
3705 ndr_print_kerb_EncTypes(ndr
, "enc_types", r
->enc_types
);
3709 static enum ndr_err_code
ndr_push_lsa_TrustedDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_TrustedDomainInfo
*r
)
3711 if (ndr_flags
& NDR_SCALARS
) {
3712 int level
= ndr_push_get_switch_value(ndr
, r
);
3713 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, level
));
3714 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3716 case LSA_TRUSTED_DOMAIN_INFO_NAME
: {
3717 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr
, NDR_SCALARS
, &r
->name
));
3720 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
: {
3721 NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr
, NDR_SCALARS
, &r
->controllers
));
3724 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: {
3725 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3728 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: {
3729 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr
, NDR_SCALARS
, &r
->password
));
3732 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: {
3733 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr
, NDR_SCALARS
, &r
->info_basic
));
3736 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: {
3737 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3740 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: {
3741 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3744 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: {
3745 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr
, NDR_SCALARS
, &r
->full_info
));
3748 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
: {
3749 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info_internal
));
3752 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
: {
3753 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_SCALARS
, &r
->full_info_internal
));
3756 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
: {
3757 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info_ex2_internal
));
3760 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
: {
3761 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_SCALARS
, &r
->full_info2_internal
));
3764 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
: {
3765 NDR_CHECK(ndr_push_lsa_TrustDomainInfoSupportedEncTypes(ndr
, NDR_SCALARS
, &r
->enc_types
));
3769 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3772 if (ndr_flags
& NDR_BUFFERS
) {
3773 int level
= ndr_push_get_switch_value(ndr
, r
);
3775 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3776 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr
, NDR_BUFFERS
, &r
->name
));
3779 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
:
3780 NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr
, NDR_BUFFERS
, &r
->controllers
));
3783 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3786 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3787 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr
, NDR_BUFFERS
, &r
->password
));
3790 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3791 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr
, NDR_BUFFERS
, &r
->info_basic
));
3794 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3795 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3798 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3799 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3802 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3803 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr
, NDR_BUFFERS
, &r
->full_info
));
3806 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
:
3807 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info_internal
));
3810 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
:
3811 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_BUFFERS
, &r
->full_info_internal
));
3814 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
:
3815 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info_ex2_internal
));
3818 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
:
3819 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_BUFFERS
, &r
->full_info2_internal
));
3822 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
:
3826 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3829 return NDR_ERR_SUCCESS
;
3832 static enum ndr_err_code
ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_TrustedDomainInfo
*r
)
3836 level
= ndr_pull_get_switch_value(ndr
, r
);
3837 if (ndr_flags
& NDR_SCALARS
) {
3838 NDR_CHECK(ndr_pull_uint1632(ndr
, NDR_SCALARS
, &_level
));
3839 if (_level
!= level
) {
3840 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3842 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3844 case LSA_TRUSTED_DOMAIN_INFO_NAME
: {
3845 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr
, NDR_SCALARS
, &r
->name
));
3848 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
: {
3849 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr
, NDR_SCALARS
, &r
->controllers
));
3852 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: {
3853 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3856 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: {
3857 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr
, NDR_SCALARS
, &r
->password
));
3860 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: {
3861 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr
, NDR_SCALARS
, &r
->info_basic
));
3864 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: {
3865 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3868 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: {
3869 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3872 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: {
3873 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr
, NDR_SCALARS
, &r
->full_info
));
3876 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
: {
3877 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info_internal
));
3880 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
: {
3881 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_SCALARS
, &r
->full_info_internal
));
3884 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
: {
3885 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info_ex2_internal
));
3888 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
: {
3889 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_SCALARS
, &r
->full_info2_internal
));
3892 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
: {
3893 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(ndr
, NDR_SCALARS
, &r
->enc_types
));
3897 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3900 if (ndr_flags
& NDR_BUFFERS
) {
3902 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3903 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr
, NDR_BUFFERS
, &r
->name
));
3906 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
:
3907 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr
, NDR_BUFFERS
, &r
->controllers
));
3910 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3913 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3914 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr
, NDR_BUFFERS
, &r
->password
));
3917 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3918 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr
, NDR_BUFFERS
, &r
->info_basic
));
3921 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3922 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3925 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3926 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3929 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3930 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr
, NDR_BUFFERS
, &r
->full_info
));
3933 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
:
3934 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info_internal
));
3937 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
:
3938 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_BUFFERS
, &r
->full_info_internal
));
3941 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
:
3942 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info_ex2_internal
));
3945 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
:
3946 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_BUFFERS
, &r
->full_info2_internal
));
3949 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
:
3953 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3956 return NDR_ERR_SUCCESS
;
3959 _PUBLIC_
void ndr_print_lsa_TrustedDomainInfo(struct ndr_print
*ndr
, const char *name
, const union lsa_TrustedDomainInfo
*r
)
3962 level
= ndr_print_get_switch_value(ndr
, r
);
3963 ndr_print_union(ndr
, name
, level
, "lsa_TrustedDomainInfo");
3965 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3966 ndr_print_lsa_TrustDomainInfoName(ndr
, "name", &r
->name
);
3969 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
:
3970 ndr_print_lsa_TrustDomainInfoControllers(ndr
, "controllers", &r
->controllers
);
3973 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3974 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3977 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3978 ndr_print_lsa_TrustDomainInfoPassword(ndr
, "password", &r
->password
);
3981 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3982 ndr_print_lsa_TrustDomainInfoBasic(ndr
, "info_basic", &r
->info_basic
);
3985 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3986 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3989 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3990 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
3993 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3994 ndr_print_lsa_TrustDomainInfoFullInfo(ndr
, "full_info", &r
->full_info
);
3997 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
:
3998 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info_internal", &r
->auth_info_internal
);
4001 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
:
4002 ndr_print_lsa_TrustDomainInfoFullInfoInternal(ndr
, "full_info_internal", &r
->full_info_internal
);
4005 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
:
4006 ndr_print_lsa_TrustDomainInfoInfoEx2Internal(ndr
, "info_ex2_internal", &r
->info_ex2_internal
);
4009 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
:
4010 ndr_print_lsa_TrustDomainInfoFullInfo2Internal(ndr
, "full_info2_internal", &r
->full_info2_internal
);
4013 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES
:
4014 ndr_print_lsa_TrustDomainInfoSupportedEncTypes(ndr
, "enc_types", &r
->enc_types
);
4018 ndr_print_bad_level(ndr
, name
, level
);
4022 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
)
4024 if (ndr_flags
& NDR_SCALARS
) {
4025 NDR_CHECK(ndr_push_align(ndr
, 5));
4026 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buf
));
4027 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4029 if (ndr_flags
& NDR_BUFFERS
) {
4031 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->buf
));
4034 return NDR_ERR_SUCCESS
;
4037 static enum ndr_err_code
ndr_pull_lsa_DATA_BUF_PTR(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DATA_BUF_PTR
*r
)
4040 TALLOC_CTX
*_mem_save_buf_0
;
4041 if (ndr_flags
& NDR_SCALARS
) {
4042 NDR_CHECK(ndr_pull_align(ndr
, 5));
4043 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buf
));
4045 NDR_PULL_ALLOC(ndr
, r
->buf
);
4049 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4051 if (ndr_flags
& NDR_BUFFERS
) {
4053 _mem_save_buf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4054 NDR_PULL_SET_MEM_CTX(ndr
, r
->buf
, 0);
4055 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->buf
));
4056 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buf_0
, 0);
4059 return NDR_ERR_SUCCESS
;
4062 _PUBLIC_
void ndr_print_lsa_DATA_BUF_PTR(struct ndr_print
*ndr
, const char *name
, const struct lsa_DATA_BUF_PTR
*r
)
4064 ndr_print_struct(ndr
, name
, "lsa_DATA_BUF_PTR");
4066 ndr_print_ptr(ndr
, "buf", r
->buf
);
4069 ndr_print_lsa_DATA_BUF(ndr
, "buf", r
->buf
);
4075 static enum ndr_err_code
ndr_push_lsa_RightSet(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_RightSet
*r
)
4077 uint32_t cntr_names_1
;
4078 if (ndr_flags
& NDR_SCALARS
) {
4079 NDR_CHECK(ndr_push_align(ndr
, 5));
4080 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4081 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
4082 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4084 if (ndr_flags
& NDR_BUFFERS
) {
4086 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4087 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4088 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
4090 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4091 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
4095 return NDR_ERR_SUCCESS
;
4098 static enum ndr_err_code
ndr_pull_lsa_RightSet(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_RightSet
*r
)
4100 uint32_t _ptr_names
;
4101 uint32_t cntr_names_1
;
4102 TALLOC_CTX
*_mem_save_names_0
;
4103 TALLOC_CTX
*_mem_save_names_1
;
4104 if (ndr_flags
& NDR_SCALARS
) {
4105 NDR_CHECK(ndr_pull_align(ndr
, 5));
4106 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4107 if (r
->count
> 256) {
4108 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4110 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
4112 NDR_PULL_ALLOC(ndr
, r
->names
);
4116 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4118 if (ndr_flags
& NDR_BUFFERS
) {
4120 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4121 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4122 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
4123 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
4124 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4125 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4126 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4127 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
4129 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4130 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
4132 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
4133 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
4136 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
4139 return NDR_ERR_SUCCESS
;
4142 _PUBLIC_
void ndr_print_lsa_RightSet(struct ndr_print
*ndr
, const char *name
, const struct lsa_RightSet
*r
)
4144 uint32_t cntr_names_1
;
4145 ndr_print_struct(ndr
, name
, "lsa_RightSet");
4147 ndr_print_uint32(ndr
, "count", r
->count
);
4148 ndr_print_ptr(ndr
, "names", r
->names
);
4151 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
4153 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
4155 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
4156 ndr_print_lsa_StringLarge(ndr
, "names", &r
->names
[cntr_names_1
]);
4166 static enum ndr_err_code
ndr_push_lsa_DomainListEx(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainListEx
*r
)
4168 uint32_t cntr_domains_1
;
4169 if (ndr_flags
& NDR_SCALARS
) {
4170 NDR_CHECK(ndr_push_align(ndr
, 5));
4171 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4172 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domains
));
4173 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4175 if (ndr_flags
& NDR_BUFFERS
) {
4177 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4178 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
4179 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
4181 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
4182 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
4186 return NDR_ERR_SUCCESS
;
4189 static enum ndr_err_code
ndr_pull_lsa_DomainListEx(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainListEx
*r
)
4191 uint32_t _ptr_domains
;
4192 uint32_t cntr_domains_1
;
4193 TALLOC_CTX
*_mem_save_domains_0
;
4194 TALLOC_CTX
*_mem_save_domains_1
;
4195 if (ndr_flags
& NDR_SCALARS
) {
4196 NDR_CHECK(ndr_pull_align(ndr
, 5));
4197 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4198 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
4200 NDR_PULL_ALLOC(ndr
, r
->domains
);
4204 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4206 if (ndr_flags
& NDR_BUFFERS
) {
4208 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4209 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
4210 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domains
));
4211 NDR_PULL_ALLOC_N(ndr
, r
->domains
, ndr_get_array_size(ndr
, &r
->domains
));
4212 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4213 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
4214 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
4215 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
4217 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
4218 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
4220 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
4221 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, 0);
4224 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->domains
, r
->count
));
4227 return NDR_ERR_SUCCESS
;
4230 _PUBLIC_
void ndr_print_lsa_DomainListEx(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainListEx
*r
)
4232 uint32_t cntr_domains_1
;
4233 ndr_print_struct(ndr
, name
, "lsa_DomainListEx");
4235 ndr_print_uint32(ndr
, "count", r
->count
);
4236 ndr_print_ptr(ndr
, "domains", r
->domains
);
4239 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
4241 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
4243 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
4244 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
4254 static enum ndr_err_code
ndr_push_lsa_DomainInfoKerberos(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainInfoKerberos
*r
)
4256 if (ndr_flags
& NDR_SCALARS
) {
4257 NDR_CHECK(ndr_push_align(ndr
, 8));
4258 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enforce_restrictions
));
4259 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->service_tkt_lifetime
));
4260 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->user_tkt_lifetime
));
4261 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->user_tkt_renewaltime
));
4262 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->clock_skew
));
4263 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown6
));
4264 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
4266 if (ndr_flags
& NDR_BUFFERS
) {
4268 return NDR_ERR_SUCCESS
;
4271 static enum ndr_err_code
ndr_pull_lsa_DomainInfoKerberos(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainInfoKerberos
*r
)
4273 if (ndr_flags
& NDR_SCALARS
) {
4274 NDR_CHECK(ndr_pull_align(ndr
, 8));
4275 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enforce_restrictions
));
4276 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->service_tkt_lifetime
));
4277 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->user_tkt_lifetime
));
4278 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->user_tkt_renewaltime
));
4279 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->clock_skew
));
4280 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown6
));
4281 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
4283 if (ndr_flags
& NDR_BUFFERS
) {
4285 return NDR_ERR_SUCCESS
;
4288 _PUBLIC_
void ndr_print_lsa_DomainInfoKerberos(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainInfoKerberos
*r
)
4290 ndr_print_struct(ndr
, name
, "lsa_DomainInfoKerberos");
4292 ndr_print_uint32(ndr
, "enforce_restrictions", r
->enforce_restrictions
);
4293 ndr_print_hyper(ndr
, "service_tkt_lifetime", r
->service_tkt_lifetime
);
4294 ndr_print_hyper(ndr
, "user_tkt_lifetime", r
->user_tkt_lifetime
);
4295 ndr_print_hyper(ndr
, "user_tkt_renewaltime", r
->user_tkt_renewaltime
);
4296 ndr_print_hyper(ndr
, "clock_skew", r
->clock_skew
);
4297 ndr_print_hyper(ndr
, "unknown6", r
->unknown6
);
4301 static enum ndr_err_code
ndr_push_lsa_DomainInfoEfs(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainInfoEfs
*r
)
4303 if (ndr_flags
& NDR_SCALARS
) {
4304 NDR_CHECK(ndr_push_align(ndr
, 5));
4305 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->blob_size
));
4306 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->efs_blob
));
4307 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4309 if (ndr_flags
& NDR_BUFFERS
) {
4311 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->blob_size
));
4312 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->efs_blob
, r
->blob_size
));
4315 return NDR_ERR_SUCCESS
;
4318 static enum ndr_err_code
ndr_pull_lsa_DomainInfoEfs(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainInfoEfs
*r
)
4320 uint32_t _ptr_efs_blob
;
4321 TALLOC_CTX
*_mem_save_efs_blob_0
;
4322 if (ndr_flags
& NDR_SCALARS
) {
4323 NDR_CHECK(ndr_pull_align(ndr
, 5));
4324 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blob_size
));
4325 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_efs_blob
));
4326 if (_ptr_efs_blob
) {
4327 NDR_PULL_ALLOC(ndr
, r
->efs_blob
);
4331 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4333 if (ndr_flags
& NDR_BUFFERS
) {
4335 _mem_save_efs_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4336 NDR_PULL_SET_MEM_CTX(ndr
, r
->efs_blob
, 0);
4337 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->efs_blob
));
4338 NDR_PULL_ALLOC_N(ndr
, r
->efs_blob
, ndr_get_array_size(ndr
, &r
->efs_blob
));
4339 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->efs_blob
, ndr_get_array_size(ndr
, &r
->efs_blob
)));
4340 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_efs_blob_0
, 0);
4343 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->efs_blob
, r
->blob_size
));
4346 return NDR_ERR_SUCCESS
;
4349 _PUBLIC_
void ndr_print_lsa_DomainInfoEfs(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainInfoEfs
*r
)
4351 ndr_print_struct(ndr
, name
, "lsa_DomainInfoEfs");
4353 ndr_print_uint32(ndr
, "blob_size", r
->blob_size
);
4354 ndr_print_ptr(ndr
, "efs_blob", r
->efs_blob
);
4357 ndr_print_array_uint8(ndr
, "efs_blob", r
->efs_blob
, r
->blob_size
);
4363 static enum ndr_err_code
ndr_push_lsa_DomainInformationPolicy(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_DomainInformationPolicy
*r
)
4365 if (ndr_flags
& NDR_SCALARS
) {
4366 int level
= ndr_push_get_switch_value(ndr
, r
);
4367 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
4368 NDR_CHECK(ndr_push_union_align(ndr
, 8));
4370 case LSA_DOMAIN_INFO_POLICY_EFS
: {
4371 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr
, NDR_SCALARS
, &r
->efs_info
));
4374 case LSA_DOMAIN_INFO_POLICY_KERBEROS
: {
4375 NDR_CHECK(ndr_push_lsa_DomainInfoKerberos(ndr
, NDR_SCALARS
, &r
->kerberos_info
));
4379 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4382 if (ndr_flags
& NDR_BUFFERS
) {
4383 int level
= ndr_push_get_switch_value(ndr
, r
);
4385 case LSA_DOMAIN_INFO_POLICY_EFS
:
4386 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr
, NDR_BUFFERS
, &r
->efs_info
));
4389 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
4393 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4396 return NDR_ERR_SUCCESS
;
4399 static enum ndr_err_code
ndr_pull_lsa_DomainInformationPolicy(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_DomainInformationPolicy
*r
)
4403 level
= ndr_pull_get_switch_value(ndr
, r
);
4404 if (ndr_flags
& NDR_SCALARS
) {
4405 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
4406 if (_level
!= level
) {
4407 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4409 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
4411 case LSA_DOMAIN_INFO_POLICY_EFS
: {
4412 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr
, NDR_SCALARS
, &r
->efs_info
));
4415 case LSA_DOMAIN_INFO_POLICY_KERBEROS
: {
4416 NDR_CHECK(ndr_pull_lsa_DomainInfoKerberos(ndr
, NDR_SCALARS
, &r
->kerberos_info
));
4420 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4423 if (ndr_flags
& NDR_BUFFERS
) {
4425 case LSA_DOMAIN_INFO_POLICY_EFS
:
4426 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr
, NDR_BUFFERS
, &r
->efs_info
));
4429 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
4433 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4436 return NDR_ERR_SUCCESS
;
4439 _PUBLIC_
void ndr_print_lsa_DomainInformationPolicy(struct ndr_print
*ndr
, const char *name
, const union lsa_DomainInformationPolicy
*r
)
4442 level
= ndr_print_get_switch_value(ndr
, r
);
4443 ndr_print_union(ndr
, name
, level
, "lsa_DomainInformationPolicy");
4445 case LSA_DOMAIN_INFO_POLICY_EFS
:
4446 ndr_print_lsa_DomainInfoEfs(ndr
, "efs_info", &r
->efs_info
);
4449 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
4450 ndr_print_lsa_DomainInfoKerberos(ndr
, "kerberos_info", &r
->kerberos_info
);
4454 ndr_print_bad_level(ndr
, name
, level
);
4458 static enum ndr_err_code
ndr_push_lsa_TranslatedName2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedName2
*r
)
4460 if (ndr_flags
& NDR_SCALARS
) {
4461 NDR_CHECK(ndr_push_align(ndr
, 5));
4462 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
4463 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
4464 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
4465 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
4466 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4468 if (ndr_flags
& NDR_BUFFERS
) {
4469 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
4471 return NDR_ERR_SUCCESS
;
4474 static enum ndr_err_code
ndr_pull_lsa_TranslatedName2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedName2
*r
)
4476 if (ndr_flags
& NDR_SCALARS
) {
4477 NDR_CHECK(ndr_pull_align(ndr
, 5));
4478 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
4479 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
4480 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
4481 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
4482 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4484 if (ndr_flags
& NDR_BUFFERS
) {
4485 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
4487 return NDR_ERR_SUCCESS
;
4490 _PUBLIC_
void ndr_print_lsa_TranslatedName2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedName2
*r
)
4492 ndr_print_struct(ndr
, name
, "lsa_TranslatedName2");
4494 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
4495 ndr_print_lsa_String(ndr
, "name", &r
->name
);
4496 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
4497 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
4501 static enum ndr_err_code
ndr_push_lsa_TransNameArray2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransNameArray2
*r
)
4503 uint32_t cntr_names_1
;
4504 if (ndr_flags
& NDR_SCALARS
) {
4505 NDR_CHECK(ndr_push_align(ndr
, 5));
4506 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4507 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
4508 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4510 if (ndr_flags
& NDR_BUFFERS
) {
4512 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4513 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4514 NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
4516 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4517 NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
4521 return NDR_ERR_SUCCESS
;
4524 static enum ndr_err_code
ndr_pull_lsa_TransNameArray2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransNameArray2
*r
)
4526 uint32_t _ptr_names
;
4527 uint32_t cntr_names_1
;
4528 TALLOC_CTX
*_mem_save_names_0
;
4529 TALLOC_CTX
*_mem_save_names_1
;
4530 if (ndr_flags
& NDR_SCALARS
) {
4531 NDR_CHECK(ndr_pull_align(ndr
, 5));
4532 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4533 if (r
->count
> 1000) {
4534 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4536 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
4538 NDR_PULL_ALLOC(ndr
, r
->names
);
4542 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4544 if (ndr_flags
& NDR_BUFFERS
) {
4546 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4547 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4548 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
4549 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
4550 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4551 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4552 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4553 NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
4555 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4556 NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
4558 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
4559 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
4562 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
4565 return NDR_ERR_SUCCESS
;
4568 _PUBLIC_
void ndr_print_lsa_TransNameArray2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransNameArray2
*r
)
4570 uint32_t cntr_names_1
;
4571 ndr_print_struct(ndr
, name
, "lsa_TransNameArray2");
4573 ndr_print_uint32(ndr
, "count", r
->count
);
4574 ndr_print_ptr(ndr
, "names", r
->names
);
4577 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
4579 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
4581 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
4582 ndr_print_lsa_TranslatedName2(ndr
, "names", &r
->names
[cntr_names_1
]);
4592 static enum ndr_err_code
ndr_push_lsa_LookupOptions(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_LookupOptions r
)
4594 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4595 return NDR_ERR_SUCCESS
;
4598 static enum ndr_err_code
ndr_pull_lsa_LookupOptions(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_LookupOptions
*r
)
4601 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4603 return NDR_ERR_SUCCESS
;
4606 _PUBLIC_
void ndr_print_lsa_LookupOptions(struct ndr_print
*ndr
, const char *name
, enum lsa_LookupOptions r
)
4608 const char *val
= NULL
;
4611 case LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES
: val
= "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES"; break;
4612 case LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL
: val
= "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL"; break;
4614 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4617 static enum ndr_err_code
ndr_push_lsa_ClientRevision(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_ClientRevision r
)
4619 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4620 return NDR_ERR_SUCCESS
;
4623 static enum ndr_err_code
ndr_pull_lsa_ClientRevision(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_ClientRevision
*r
)
4626 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4628 return NDR_ERR_SUCCESS
;
4631 _PUBLIC_
void ndr_print_lsa_ClientRevision(struct ndr_print
*ndr
, const char *name
, enum lsa_ClientRevision r
)
4633 const char *val
= NULL
;
4636 case LSA_CLIENT_REVISION_1
: val
= "LSA_CLIENT_REVISION_1"; break;
4637 case LSA_CLIENT_REVISION_2
: val
= "LSA_CLIENT_REVISION_2"; break;
4639 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4642 static enum ndr_err_code
ndr_push_lsa_TranslatedSid2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedSid2
*r
)
4644 if (ndr_flags
& NDR_SCALARS
) {
4645 NDR_CHECK(ndr_push_align(ndr
, 4));
4646 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
4647 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4648 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
4649 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
4650 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
4652 if (ndr_flags
& NDR_BUFFERS
) {
4654 return NDR_ERR_SUCCESS
;
4657 static enum ndr_err_code
ndr_pull_lsa_TranslatedSid2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedSid2
*r
)
4659 if (ndr_flags
& NDR_SCALARS
) {
4660 NDR_CHECK(ndr_pull_align(ndr
, 4));
4661 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
4662 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4663 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
4664 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
4665 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
4667 if (ndr_flags
& NDR_BUFFERS
) {
4669 return NDR_ERR_SUCCESS
;
4672 _PUBLIC_
void ndr_print_lsa_TranslatedSid2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedSid2
*r
)
4674 ndr_print_struct(ndr
, name
, "lsa_TranslatedSid2");
4676 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
4677 ndr_print_uint32(ndr
, "rid", r
->rid
);
4678 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
4679 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
4683 static enum ndr_err_code
ndr_push_lsa_TransSidArray2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransSidArray2
*r
)
4685 uint32_t cntr_sids_1
;
4686 if (ndr_flags
& NDR_SCALARS
) {
4687 NDR_CHECK(ndr_push_align(ndr
, 5));
4688 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4689 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4690 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4692 if (ndr_flags
& NDR_BUFFERS
) {
4694 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4695 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4696 NDR_CHECK(ndr_push_lsa_TranslatedSid2(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4700 return NDR_ERR_SUCCESS
;
4703 static enum ndr_err_code
ndr_pull_lsa_TransSidArray2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransSidArray2
*r
)
4706 uint32_t cntr_sids_1
;
4707 TALLOC_CTX
*_mem_save_sids_0
;
4708 TALLOC_CTX
*_mem_save_sids_1
;
4709 if (ndr_flags
& NDR_SCALARS
) {
4710 NDR_CHECK(ndr_pull_align(ndr
, 5));
4711 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4712 if (r
->count
> 1000) {
4713 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4715 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4717 NDR_PULL_ALLOC(ndr
, r
->sids
);
4721 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4723 if (ndr_flags
& NDR_BUFFERS
) {
4725 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4726 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4727 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4728 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4729 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4730 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4731 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4732 NDR_CHECK(ndr_pull_lsa_TranslatedSid2(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4734 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4735 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4738 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->count
));
4741 return NDR_ERR_SUCCESS
;
4744 _PUBLIC_
void ndr_print_lsa_TransSidArray2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransSidArray2
*r
)
4746 uint32_t cntr_sids_1
;
4747 ndr_print_struct(ndr
, name
, "lsa_TransSidArray2");
4749 ndr_print_uint32(ndr
, "count", r
->count
);
4750 ndr_print_ptr(ndr
, "sids", r
->sids
);
4753 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
4755 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
4757 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4758 ndr_print_lsa_TranslatedSid2(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
4768 static enum ndr_err_code
ndr_push_lsa_TranslatedSid3(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedSid3
*r
)
4770 if (ndr_flags
& NDR_SCALARS
) {
4771 NDR_CHECK(ndr_push_align(ndr
, 5));
4772 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
4773 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
4774 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
4775 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
4776 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4778 if (ndr_flags
& NDR_BUFFERS
) {
4780 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
4783 return NDR_ERR_SUCCESS
;
4786 static enum ndr_err_code
ndr_pull_lsa_TranslatedSid3(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedSid3
*r
)
4789 TALLOC_CTX
*_mem_save_sid_0
;
4790 if (ndr_flags
& NDR_SCALARS
) {
4791 NDR_CHECK(ndr_pull_align(ndr
, 5));
4792 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
4793 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
4795 NDR_PULL_ALLOC(ndr
, r
->sid
);
4799 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
4800 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
4801 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4803 if (ndr_flags
& NDR_BUFFERS
) {
4805 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4806 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
4807 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
4808 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
4811 return NDR_ERR_SUCCESS
;
4814 _PUBLIC_
void ndr_print_lsa_TranslatedSid3(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedSid3
*r
)
4816 ndr_print_struct(ndr
, name
, "lsa_TranslatedSid3");
4818 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
4819 ndr_print_ptr(ndr
, "sid", r
->sid
);
4822 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
4825 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
4826 ndr_print_uint32(ndr
, "flags", r
->flags
);
4830 static enum ndr_err_code
ndr_push_lsa_TransSidArray3(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransSidArray3
*r
)
4832 uint32_t cntr_sids_1
;
4833 if (ndr_flags
& NDR_SCALARS
) {
4834 NDR_CHECK(ndr_push_align(ndr
, 5));
4835 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4836 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4837 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4839 if (ndr_flags
& NDR_BUFFERS
) {
4841 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4842 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4843 NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4845 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4846 NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
4850 return NDR_ERR_SUCCESS
;
4853 static enum ndr_err_code
ndr_pull_lsa_TransSidArray3(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransSidArray3
*r
)
4856 uint32_t cntr_sids_1
;
4857 TALLOC_CTX
*_mem_save_sids_0
;
4858 TALLOC_CTX
*_mem_save_sids_1
;
4859 if (ndr_flags
& NDR_SCALARS
) {
4860 NDR_CHECK(ndr_pull_align(ndr
, 5));
4861 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4862 if (r
->count
> 1000) {
4863 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4865 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4867 NDR_PULL_ALLOC(ndr
, r
->sids
);
4871 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4873 if (ndr_flags
& NDR_BUFFERS
) {
4875 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4876 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4877 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4878 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4879 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4880 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4881 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4882 NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4884 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4885 NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
4887 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4888 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4891 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->count
));
4894 return NDR_ERR_SUCCESS
;
4897 _PUBLIC_
void ndr_print_lsa_TransSidArray3(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransSidArray3
*r
)
4899 uint32_t cntr_sids_1
;
4900 ndr_print_struct(ndr
, name
, "lsa_TransSidArray3");
4902 ndr_print_uint32(ndr
, "count", r
->count
);
4903 ndr_print_ptr(ndr
, "sids", r
->sids
);
4906 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
4908 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
4910 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4911 ndr_print_lsa_TranslatedSid3(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
4921 static enum ndr_err_code
ndr_push_lsa_ForestTrustBinaryData(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustBinaryData
*r
)
4923 if (ndr_flags
& NDR_SCALARS
) {
4924 NDR_CHECK(ndr_push_align(ndr
, 5));
4925 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
4926 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
4927 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4929 if (ndr_flags
& NDR_BUFFERS
) {
4931 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
4932 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
4935 return NDR_ERR_SUCCESS
;
4938 static enum ndr_err_code
ndr_pull_lsa_ForestTrustBinaryData(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustBinaryData
*r
)
4941 TALLOC_CTX
*_mem_save_data_0
;
4942 if (ndr_flags
& NDR_SCALARS
) {
4943 NDR_CHECK(ndr_pull_align(ndr
, 5));
4944 NDR_CHECK(ndr_pull_uint3264(ndr
, NDR_SCALARS
, &r
->length
));
4945 if (r
->length
> 131072) {
4946 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4948 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
4950 NDR_PULL_ALLOC(ndr
, r
->data
);
4954 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4956 if (ndr_flags
& NDR_BUFFERS
) {
4958 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4959 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
4960 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
4961 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
4962 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
4963 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
4966 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
4969 return NDR_ERR_SUCCESS
;
4972 _PUBLIC_
void ndr_print_lsa_ForestTrustBinaryData(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustBinaryData
*r
)
4974 ndr_print_struct(ndr
, name
, "lsa_ForestTrustBinaryData");
4976 ndr_print_uint3264(ndr
, "length", r
->length
);
4977 ndr_print_ptr(ndr
, "data", r
->data
);
4980 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
4986 static enum ndr_err_code
ndr_push_lsa_ForestTrustDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustDomainInfo
*r
)
4988 if (ndr_flags
& NDR_SCALARS
) {
4989 NDR_CHECK(ndr_push_align(ndr
, 5));
4990 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_sid
));
4991 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain_name
));
4992 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_domain_name
));
4993 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4995 if (ndr_flags
& NDR_BUFFERS
) {
4996 if (r
->domain_sid
) {
4997 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain_sid
));
4999 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain_name
));
5000 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_domain_name
));
5002 return NDR_ERR_SUCCESS
;
5005 static enum ndr_err_code
ndr_pull_lsa_ForestTrustDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustDomainInfo
*r
)
5007 uint32_t _ptr_domain_sid
;
5008 TALLOC_CTX
*_mem_save_domain_sid_0
;
5009 if (ndr_flags
& NDR_SCALARS
) {
5010 NDR_CHECK(ndr_pull_align(ndr
, 5));
5011 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_sid
));
5012 if (_ptr_domain_sid
) {
5013 NDR_PULL_ALLOC(ndr
, r
->domain_sid
);
5015 r
->domain_sid
= NULL
;
5017 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain_name
));
5018 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_domain_name
));
5019 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5021 if (ndr_flags
& NDR_BUFFERS
) {
5022 if (r
->domain_sid
) {
5023 _mem_save_domain_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5024 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_sid
, 0);
5025 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain_sid
));
5026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_sid_0
, 0);
5028 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain_name
));
5029 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_domain_name
));
5031 return NDR_ERR_SUCCESS
;
5034 _PUBLIC_
void ndr_print_lsa_ForestTrustDomainInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustDomainInfo
*r
)
5036 ndr_print_struct(ndr
, name
, "lsa_ForestTrustDomainInfo");
5038 ndr_print_ptr(ndr
, "domain_sid", r
->domain_sid
);
5040 if (r
->domain_sid
) {
5041 ndr_print_dom_sid2(ndr
, "domain_sid", r
->domain_sid
);
5044 ndr_print_lsa_StringLarge(ndr
, "dns_domain_name", &r
->dns_domain_name
);
5045 ndr_print_lsa_StringLarge(ndr
, "netbios_domain_name", &r
->netbios_domain_name
);
5049 static enum ndr_err_code
ndr_push_lsa_ForestTrustData(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_ForestTrustData
*r
)
5051 if (ndr_flags
& NDR_SCALARS
) {
5052 int level
= ndr_push_get_switch_value(ndr
, r
);
5053 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5054 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5056 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: {
5057 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name
));
5060 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
5061 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name_ex
));
5064 case LSA_FOREST_TRUST_DOMAIN_INFO
: {
5065 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr
, NDR_SCALARS
, &r
->domain_info
));
5069 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
5074 if (ndr_flags
& NDR_BUFFERS
) {
5075 int level
= ndr_push_get_switch_value(ndr
, r
);
5077 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
5078 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name
));
5081 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
5082 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name_ex
));
5085 case LSA_FOREST_TRUST_DOMAIN_INFO
:
5086 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr
, NDR_BUFFERS
, &r
->domain_info
));
5090 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr
, NDR_BUFFERS
, &r
->data
));
5095 return NDR_ERR_SUCCESS
;
5098 static enum ndr_err_code
ndr_pull_lsa_ForestTrustData(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_ForestTrustData
*r
)
5102 level
= ndr_pull_get_switch_value(ndr
, r
);
5103 if (ndr_flags
& NDR_SCALARS
) {
5104 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5105 if (_level
!= level
) {
5106 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5108 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5110 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: {
5111 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name
));
5114 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
5115 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name_ex
));
5118 case LSA_FOREST_TRUST_DOMAIN_INFO
: {
5119 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr
, NDR_SCALARS
, &r
->domain_info
));
5123 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
5128 if (ndr_flags
& NDR_BUFFERS
) {
5130 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
5131 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name
));
5134 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
5135 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name_ex
));
5138 case LSA_FOREST_TRUST_DOMAIN_INFO
:
5139 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr
, NDR_BUFFERS
, &r
->domain_info
));
5143 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr
, NDR_BUFFERS
, &r
->data
));
5148 return NDR_ERR_SUCCESS
;
5151 _PUBLIC_
void ndr_print_lsa_ForestTrustData(struct ndr_print
*ndr
, const char *name
, const union lsa_ForestTrustData
*r
)
5154 level
= ndr_print_get_switch_value(ndr
, r
);
5155 ndr_print_union(ndr
, name
, level
, "lsa_ForestTrustData");
5157 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
5158 ndr_print_lsa_StringLarge(ndr
, "top_level_name", &r
->top_level_name
);
5161 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
5162 ndr_print_lsa_StringLarge(ndr
, "top_level_name_ex", &r
->top_level_name_ex
);
5165 case LSA_FOREST_TRUST_DOMAIN_INFO
:
5166 ndr_print_lsa_ForestTrustDomainInfo(ndr
, "domain_info", &r
->domain_info
);
5170 ndr_print_lsa_ForestTrustBinaryData(ndr
, "data", &r
->data
);
5176 static enum ndr_err_code
ndr_push_lsa_ForestTrustRecordType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_ForestTrustRecordType r
)
5178 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5179 return NDR_ERR_SUCCESS
;
5182 static enum ndr_err_code
ndr_pull_lsa_ForestTrustRecordType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_ForestTrustRecordType
*r
)
5185 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5187 return NDR_ERR_SUCCESS
;
5190 _PUBLIC_
void ndr_print_lsa_ForestTrustRecordType(struct ndr_print
*ndr
, const char *name
, enum lsa_ForestTrustRecordType r
)
5192 const char *val
= NULL
;
5195 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: val
= "LSA_FOREST_TRUST_TOP_LEVEL_NAME"; break;
5196 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: val
= "LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX"; break;
5197 case LSA_FOREST_TRUST_DOMAIN_INFO
: val
= "LSA_FOREST_TRUST_DOMAIN_INFO"; break;
5198 case LSA_FOREST_TRUST_RECORD_TYPE_LAST
: val
= "LSA_FOREST_TRUST_RECORD_TYPE_LAST"; break;
5200 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5203 static enum ndr_err_code
ndr_push_lsa_ForestTrustRecord(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustRecord
*r
)
5205 if (ndr_flags
& NDR_SCALARS
) {
5206 NDR_CHECK(ndr_push_align(ndr
, 8));
5207 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
5208 NDR_CHECK(ndr_push_lsa_ForestTrustRecordType(ndr
, NDR_SCALARS
, r
->type
));
5209 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->time
));
5210 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->forest_trust_data
, r
->type
));
5211 NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr
, NDR_SCALARS
, &r
->forest_trust_data
));
5212 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5214 if (ndr_flags
& NDR_BUFFERS
) {
5215 NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr
, NDR_BUFFERS
, &r
->forest_trust_data
));
5217 return NDR_ERR_SUCCESS
;
5220 static enum ndr_err_code
ndr_pull_lsa_ForestTrustRecord(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustRecord
*r
)
5222 if (ndr_flags
& NDR_SCALARS
) {
5223 NDR_CHECK(ndr_pull_align(ndr
, 8));
5224 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
5225 NDR_CHECK(ndr_pull_lsa_ForestTrustRecordType(ndr
, NDR_SCALARS
, &r
->type
));
5226 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->time
));
5227 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->forest_trust_data
, r
->type
));
5228 NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr
, NDR_SCALARS
, &r
->forest_trust_data
));
5229 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5231 if (ndr_flags
& NDR_BUFFERS
) {
5232 NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr
, NDR_BUFFERS
, &r
->forest_trust_data
));
5234 return NDR_ERR_SUCCESS
;
5237 _PUBLIC_
void ndr_print_lsa_ForestTrustRecord(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustRecord
*r
)
5239 ndr_print_struct(ndr
, name
, "lsa_ForestTrustRecord");
5241 ndr_print_uint32(ndr
, "flags", r
->flags
);
5242 ndr_print_lsa_ForestTrustRecordType(ndr
, "type", r
->type
);
5243 ndr_print_hyper(ndr
, "time", r
->time
);
5244 ndr_print_set_switch_value(ndr
, &r
->forest_trust_data
, r
->type
);
5245 ndr_print_lsa_ForestTrustData(ndr
, "forest_trust_data", &r
->forest_trust_data
);
5249 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_ForestTrustInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustInformation
*r
)
5251 uint32_t cntr_entries_1
;
5252 if (ndr_flags
& NDR_SCALARS
) {
5253 NDR_CHECK(ndr_push_align(ndr
, 5));
5254 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5255 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
5256 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5258 if (ndr_flags
& NDR_BUFFERS
) {
5260 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5261 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5262 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
[cntr_entries_1
]));
5264 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5265 if (r
->entries
[cntr_entries_1
]) {
5266 NDR_CHECK(ndr_push_lsa_ForestTrustRecord(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->entries
[cntr_entries_1
]));
5271 return NDR_ERR_SUCCESS
;
5274 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_ForestTrustInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustInformation
*r
)
5276 uint32_t _ptr_entries
;
5277 uint32_t cntr_entries_1
;
5278 TALLOC_CTX
*_mem_save_entries_0
;
5279 TALLOC_CTX
*_mem_save_entries_1
;
5280 TALLOC_CTX
*_mem_save_entries_2
;
5281 if (ndr_flags
& NDR_SCALARS
) {
5282 NDR_CHECK(ndr_pull_align(ndr
, 5));
5283 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5284 if (r
->count
> 4000) {
5285 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5287 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
5289 NDR_PULL_ALLOC(ndr
, r
->entries
);
5293 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5295 if (ndr_flags
& NDR_BUFFERS
) {
5297 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5298 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
5299 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
5300 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
5301 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5302 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
5303 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5304 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
5306 NDR_PULL_ALLOC(ndr
, r
->entries
[cntr_entries_1
]);
5308 r
->entries
[cntr_entries_1
] = NULL
;
5311 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5312 if (r
->entries
[cntr_entries_1
]) {
5313 _mem_save_entries_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5314 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
[cntr_entries_1
], 0);
5315 NDR_CHECK(ndr_pull_lsa_ForestTrustRecord(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->entries
[cntr_entries_1
]));
5316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_2
, 0);
5319 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
5320 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
5323 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
5326 return NDR_ERR_SUCCESS
;
5329 _PUBLIC_
void ndr_print_lsa_ForestTrustInformation(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustInformation
*r
)
5331 uint32_t cntr_entries_1
;
5332 ndr_print_struct(ndr
, name
, "lsa_ForestTrustInformation");
5334 ndr_print_uint32(ndr
, "count", r
->count
);
5335 ndr_print_ptr(ndr
, "entries", r
->entries
);
5338 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
5340 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
5342 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
5343 ndr_print_ptr(ndr
, "entries", r
->entries
[cntr_entries_1
]);
5345 if (r
->entries
[cntr_entries_1
]) {
5346 ndr_print_lsa_ForestTrustRecord(ndr
, "entries", r
->entries
[cntr_entries_1
]);
5358 static enum ndr_err_code
ndr_push_lsa_ForestTrustCollisionRecordType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_ForestTrustCollisionRecordType r
)
5360 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5361 return NDR_ERR_SUCCESS
;
5364 static enum ndr_err_code
ndr_pull_lsa_ForestTrustCollisionRecordType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_ForestTrustCollisionRecordType
*r
)
5367 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5369 return NDR_ERR_SUCCESS
;
5372 _PUBLIC_
void ndr_print_lsa_ForestTrustCollisionRecordType(struct ndr_print
*ndr
, const char *name
, enum lsa_ForestTrustCollisionRecordType r
)
5374 const char *val
= NULL
;
5377 case LSA_FOREST_TRUST_COLLISION_TDO
: val
= "LSA_FOREST_TRUST_COLLISION_TDO"; break;
5378 case LSA_FOREST_TRUST_COLLISION_XREF
: val
= "LSA_FOREST_TRUST_COLLISION_XREF"; break;
5379 case LSA_FOREST_TRUST_COLLISION_OTHER
: val
= "LSA_FOREST_TRUST_COLLISION_OTHER"; break;
5381 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5384 static enum ndr_err_code
ndr_push_lsa_ForestTrustCollisionTDOFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
5386 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
5387 return NDR_ERR_SUCCESS
;
5390 static enum ndr_err_code
ndr_pull_lsa_ForestTrustCollisionTDOFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
5393 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
5395 return NDR_ERR_SUCCESS
;
5398 _PUBLIC_
void ndr_print_lsa_ForestTrustCollisionTDOFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
5400 ndr_print_uint32(ndr
, name
, r
);
5402 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TLN_DISABLED_NEW", LSA_TLN_DISABLED_NEW
, r
);
5403 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TLN_DISABLED_ADMIN", LSA_TLN_DISABLED_ADMIN
, r
);
5404 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TLN_DISABLED_CONFLICT", LSA_TLN_DISABLED_CONFLICT
, r
);
5408 static enum ndr_err_code
ndr_push_lsa_ForestTrustCollisionXrefFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
5410 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
5411 return NDR_ERR_SUCCESS
;
5414 static enum ndr_err_code
ndr_pull_lsa_ForestTrustCollisionXrefFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
5417 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
5419 return NDR_ERR_SUCCESS
;
5422 _PUBLIC_
void ndr_print_lsa_ForestTrustCollisionXrefFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
5424 ndr_print_uint32(ndr
, name
, r
);
5426 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_SID_DISABLED_ADMIN", LSA_SID_DISABLED_ADMIN
, r
);
5427 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_SID_DISABLED_CONFLICT", LSA_SID_DISABLED_CONFLICT
, r
);
5428 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_NB_DISABLED_ADMIN", LSA_NB_DISABLED_ADMIN
, r
);
5429 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_NB_DISABLED_CONFLICT", LSA_NB_DISABLED_CONFLICT
, r
);
5433 static enum ndr_err_code
ndr_push_lsa_ForestTrustCollisionFlags(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_ForestTrustCollisionFlags
*r
)
5435 if (ndr_flags
& NDR_SCALARS
) {
5436 int level
= ndr_push_get_switch_value(ndr
, r
);
5437 NDR_CHECK(ndr_push_union_align(ndr
, 4));
5439 case LSA_FOREST_TRUST_COLLISION_TDO
: {
5440 NDR_CHECK(ndr_push_lsa_ForestTrustCollisionTDOFlags(ndr
, NDR_SCALARS
, r
->flags
));
5443 case LSA_FOREST_TRUST_COLLISION_XREF
: {
5444 NDR_CHECK(ndr_push_lsa_ForestTrustCollisionXrefFlags(ndr
, NDR_SCALARS
, r
->flags
));
5448 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
5453 if (ndr_flags
& NDR_BUFFERS
) {
5454 int level
= ndr_push_get_switch_value(ndr
, r
);
5456 case LSA_FOREST_TRUST_COLLISION_TDO
:
5459 case LSA_FOREST_TRUST_COLLISION_XREF
:
5467 return NDR_ERR_SUCCESS
;
5470 static enum ndr_err_code
ndr_pull_lsa_ForestTrustCollisionFlags(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_ForestTrustCollisionFlags
*r
)
5473 level
= ndr_pull_get_switch_value(ndr
, r
);
5474 if (ndr_flags
& NDR_SCALARS
) {
5475 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
5477 case LSA_FOREST_TRUST_COLLISION_TDO
: {
5478 NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionTDOFlags(ndr
, NDR_SCALARS
, &r
->flags
));
5481 case LSA_FOREST_TRUST_COLLISION_XREF
: {
5482 NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionXrefFlags(ndr
, NDR_SCALARS
, &r
->flags
));
5486 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
5491 if (ndr_flags
& NDR_BUFFERS
) {
5493 case LSA_FOREST_TRUST_COLLISION_TDO
:
5496 case LSA_FOREST_TRUST_COLLISION_XREF
:
5504 return NDR_ERR_SUCCESS
;
5507 _PUBLIC_
void ndr_print_lsa_ForestTrustCollisionFlags(struct ndr_print
*ndr
, const char *name
, const union lsa_ForestTrustCollisionFlags
*r
)
5510 level
= ndr_print_get_switch_value(ndr
, r
);
5511 ndr_print_union(ndr
, name
, level
, "lsa_ForestTrustCollisionFlags");
5513 case LSA_FOREST_TRUST_COLLISION_TDO
:
5514 ndr_print_lsa_ForestTrustCollisionTDOFlags(ndr
, "flags", r
->flags
);
5517 case LSA_FOREST_TRUST_COLLISION_XREF
:
5518 ndr_print_lsa_ForestTrustCollisionXrefFlags(ndr
, "flags", r
->flags
);
5522 ndr_print_uint32(ndr
, "flags", r
->flags
);
5528 static enum ndr_err_code
ndr_push_lsa_ForestTrustCollisionRecord(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustCollisionRecord
*r
)
5530 if (ndr_flags
& NDR_SCALARS
) {
5531 NDR_CHECK(ndr_push_align(ndr
, 5));
5532 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->index
));
5533 NDR_CHECK(ndr_push_lsa_ForestTrustCollisionRecordType(ndr
, NDR_SCALARS
, r
->type
));
5534 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->flags
, r
->type
));
5535 NDR_CHECK(ndr_push_lsa_ForestTrustCollisionFlags(ndr
, NDR_SCALARS
, &r
->flags
));
5536 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
5537 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5539 if (ndr_flags
& NDR_BUFFERS
) {
5540 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
5542 return NDR_ERR_SUCCESS
;
5545 static enum ndr_err_code
ndr_pull_lsa_ForestTrustCollisionRecord(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustCollisionRecord
*r
)
5547 if (ndr_flags
& NDR_SCALARS
) {
5548 NDR_CHECK(ndr_pull_align(ndr
, 5));
5549 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->index
));
5550 NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionRecordType(ndr
, NDR_SCALARS
, &r
->type
));
5551 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->flags
, r
->type
));
5552 NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionFlags(ndr
, NDR_SCALARS
, &r
->flags
));
5553 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
5554 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5556 if (ndr_flags
& NDR_BUFFERS
) {
5557 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
5559 return NDR_ERR_SUCCESS
;
5562 _PUBLIC_
void ndr_print_lsa_ForestTrustCollisionRecord(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustCollisionRecord
*r
)
5564 ndr_print_struct(ndr
, name
, "lsa_ForestTrustCollisionRecord");
5566 ndr_print_uint32(ndr
, "index", r
->index
);
5567 ndr_print_lsa_ForestTrustCollisionRecordType(ndr
, "type", r
->type
);
5568 ndr_print_set_switch_value(ndr
, &r
->flags
, r
->type
);
5569 ndr_print_lsa_ForestTrustCollisionFlags(ndr
, "flags", &r
->flags
);
5570 ndr_print_lsa_String(ndr
, "name", &r
->name
);
5574 static enum ndr_err_code
ndr_push_lsa_ForestTrustCollisionInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustCollisionInfo
*r
)
5576 uint32_t cntr_entries_1
;
5577 if (ndr_flags
& NDR_SCALARS
) {
5578 NDR_CHECK(ndr_push_align(ndr
, 5));
5579 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5580 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
5581 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5583 if (ndr_flags
& NDR_BUFFERS
) {
5585 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5586 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5587 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
[cntr_entries_1
]));
5589 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5590 if (r
->entries
[cntr_entries_1
]) {
5591 NDR_CHECK(ndr_push_lsa_ForestTrustCollisionRecord(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->entries
[cntr_entries_1
]));
5596 return NDR_ERR_SUCCESS
;
5599 static enum ndr_err_code
ndr_pull_lsa_ForestTrustCollisionInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustCollisionInfo
*r
)
5601 uint32_t _ptr_entries
;
5602 uint32_t cntr_entries_1
;
5603 TALLOC_CTX
*_mem_save_entries_0
;
5604 TALLOC_CTX
*_mem_save_entries_1
;
5605 TALLOC_CTX
*_mem_save_entries_2
;
5606 if (ndr_flags
& NDR_SCALARS
) {
5607 NDR_CHECK(ndr_pull_align(ndr
, 5));
5608 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5609 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
5611 NDR_PULL_ALLOC(ndr
, r
->entries
);
5615 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5617 if (ndr_flags
& NDR_BUFFERS
) {
5619 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5620 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
5621 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
5622 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
5623 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5624 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
5625 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5626 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
5628 NDR_PULL_ALLOC(ndr
, r
->entries
[cntr_entries_1
]);
5630 r
->entries
[cntr_entries_1
] = NULL
;
5633 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5634 if (r
->entries
[cntr_entries_1
]) {
5635 _mem_save_entries_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5636 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
[cntr_entries_1
], 0);
5637 NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionRecord(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->entries
[cntr_entries_1
]));
5638 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_2
, 0);
5641 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
5642 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
5645 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
5648 return NDR_ERR_SUCCESS
;
5651 _PUBLIC_
void ndr_print_lsa_ForestTrustCollisionInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustCollisionInfo
*r
)
5653 uint32_t cntr_entries_1
;
5654 ndr_print_struct(ndr
, name
, "lsa_ForestTrustCollisionInfo");
5656 ndr_print_uint32(ndr
, "count", r
->count
);
5657 ndr_print_ptr(ndr
, "entries", r
->entries
);
5660 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
5662 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
5664 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
5665 ndr_print_ptr(ndr
, "entries", r
->entries
[cntr_entries_1
]);
5667 if (r
->entries
[cntr_entries_1
]) {
5668 ndr_print_lsa_ForestTrustCollisionRecord(ndr
, "entries", r
->entries
[cntr_entries_1
]);
5680 static enum ndr_err_code
ndr_push_lsa_Close(struct ndr_push
*ndr
, int flags
, const struct lsa_Close
*r
)
5682 if (flags
& NDR_IN
) {
5683 if (r
->in
.handle
== NULL
) {
5684 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5686 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5688 if (flags
& NDR_OUT
) {
5689 if (r
->out
.handle
== NULL
) {
5690 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5692 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5693 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5695 return NDR_ERR_SUCCESS
;
5698 static enum ndr_err_code
ndr_pull_lsa_Close(struct ndr_pull
*ndr
, int flags
, struct lsa_Close
*r
)
5700 TALLOC_CTX
*_mem_save_handle_0
;
5701 if (flags
& NDR_IN
) {
5702 ZERO_STRUCT(r
->out
);
5704 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5705 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5707 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5708 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5709 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5710 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5711 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5712 *r
->out
.handle
= *r
->in
.handle
;
5714 if (flags
& NDR_OUT
) {
5715 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5716 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5718 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5719 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5720 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5721 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5722 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5724 return NDR_ERR_SUCCESS
;
5727 _PUBLIC_
void ndr_print_lsa_Close(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_Close
*r
)
5729 ndr_print_struct(ndr
, name
, "lsa_Close");
5731 if (flags
& NDR_SET_VALUES
) {
5732 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5734 if (flags
& NDR_IN
) {
5735 ndr_print_struct(ndr
, "in", "lsa_Close");
5737 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5739 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5743 if (flags
& NDR_OUT
) {
5744 ndr_print_struct(ndr
, "out", "lsa_Close");
5746 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5748 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5750 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5756 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_Delete(struct ndr_push
*ndr
, int flags
, const struct lsa_Delete
*r
)
5758 if (flags
& NDR_IN
) {
5759 if (r
->in
.handle
== NULL
) {
5760 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5762 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5764 if (flags
& NDR_OUT
) {
5765 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5767 return NDR_ERR_SUCCESS
;
5770 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_Delete(struct ndr_pull
*ndr
, int flags
, struct lsa_Delete
*r
)
5772 TALLOC_CTX
*_mem_save_handle_0
;
5773 if (flags
& NDR_IN
) {
5774 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5775 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5777 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5778 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5779 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5780 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5782 if (flags
& NDR_OUT
) {
5783 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5785 return NDR_ERR_SUCCESS
;
5788 _PUBLIC_
void ndr_print_lsa_Delete(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_Delete
*r
)
5790 ndr_print_struct(ndr
, name
, "lsa_Delete");
5792 if (flags
& NDR_SET_VALUES
) {
5793 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5795 if (flags
& NDR_IN
) {
5796 ndr_print_struct(ndr
, "in", "lsa_Delete");
5798 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5800 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5804 if (flags
& NDR_OUT
) {
5805 ndr_print_struct(ndr
, "out", "lsa_Delete");
5807 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5813 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_EnumPrivs(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumPrivs
*r
)
5815 if (flags
& NDR_IN
) {
5816 if (r
->in
.handle
== NULL
) {
5817 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5819 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5820 if (r
->in
.resume_handle
== NULL
) {
5821 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5823 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
5824 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_count
));
5826 if (flags
& NDR_OUT
) {
5827 if (r
->out
.resume_handle
== NULL
) {
5828 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5830 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
5831 if (r
->out
.privs
== NULL
) {
5832 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5834 NDR_CHECK(ndr_push_lsa_PrivArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.privs
));
5835 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5837 return NDR_ERR_SUCCESS
;
5840 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_EnumPrivs(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumPrivs
*r
)
5842 TALLOC_CTX
*_mem_save_handle_0
;
5843 TALLOC_CTX
*_mem_save_resume_handle_0
;
5844 TALLOC_CTX
*_mem_save_privs_0
;
5845 if (flags
& NDR_IN
) {
5846 ZERO_STRUCT(r
->out
);
5848 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5849 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5851 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5852 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5853 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5854 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5855 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5856 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
5858 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5859 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5860 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
5861 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5862 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_count
));
5863 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5864 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
5865 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
5866 ZERO_STRUCTP(r
->out
.privs
);
5868 if (flags
& NDR_OUT
) {
5869 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5870 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5872 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5873 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5874 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
5875 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5876 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5877 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
5879 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5880 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.privs
, LIBNDR_FLAG_REF_ALLOC
);
5881 NDR_CHECK(ndr_pull_lsa_PrivArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.privs
));
5882 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, LIBNDR_FLAG_REF_ALLOC
);
5883 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5885 return NDR_ERR_SUCCESS
;
5888 _PUBLIC_
void ndr_print_lsa_EnumPrivs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumPrivs
*r
)
5890 ndr_print_struct(ndr
, name
, "lsa_EnumPrivs");
5892 if (flags
& NDR_SET_VALUES
) {
5893 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5895 if (flags
& NDR_IN
) {
5896 ndr_print_struct(ndr
, "in", "lsa_EnumPrivs");
5898 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5900 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5902 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
5904 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
5906 ndr_print_uint32(ndr
, "max_count", r
->in
.max_count
);
5909 if (flags
& NDR_OUT
) {
5910 ndr_print_struct(ndr
, "out", "lsa_EnumPrivs");
5912 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
5914 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
5916 ndr_print_ptr(ndr
, "privs", r
->out
.privs
);
5918 ndr_print_lsa_PrivArray(ndr
, "privs", r
->out
.privs
);
5920 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5926 static enum ndr_err_code
ndr_push_lsa_QuerySecurity(struct ndr_push
*ndr
, int flags
, const struct lsa_QuerySecurity
*r
)
5928 if (flags
& NDR_IN
) {
5929 if (r
->in
.handle
== NULL
) {
5930 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5932 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5933 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5935 if (flags
& NDR_OUT
) {
5936 if (r
->out
.sdbuf
== NULL
) {
5937 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5939 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sdbuf
));
5940 if (*r
->out
.sdbuf
) {
5941 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5943 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5945 return NDR_ERR_SUCCESS
;
5948 static enum ndr_err_code
ndr_pull_lsa_QuerySecurity(struct ndr_pull
*ndr
, int flags
, struct lsa_QuerySecurity
*r
)
5950 uint32_t _ptr_sdbuf
;
5951 TALLOC_CTX
*_mem_save_handle_0
;
5952 TALLOC_CTX
*_mem_save_sdbuf_0
;
5953 TALLOC_CTX
*_mem_save_sdbuf_1
;
5954 if (flags
& NDR_IN
) {
5955 ZERO_STRUCT(r
->out
);
5957 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5958 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5960 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5961 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5962 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5963 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5964 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5965 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5966 ZERO_STRUCTP(r
->out
.sdbuf
);
5968 if (flags
& NDR_OUT
) {
5969 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5970 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5972 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5973 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5974 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sdbuf
));
5976 NDR_PULL_ALLOC(ndr
, *r
->out
.sdbuf
);
5978 *r
->out
.sdbuf
= NULL
;
5980 if (*r
->out
.sdbuf
) {
5981 _mem_save_sdbuf_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5982 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sdbuf
, 0);
5983 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5984 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_1
, 0);
5986 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5987 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5989 return NDR_ERR_SUCCESS
;
5992 _PUBLIC_
void ndr_print_lsa_QuerySecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QuerySecurity
*r
)
5994 ndr_print_struct(ndr
, name
, "lsa_QuerySecurity");
5996 if (flags
& NDR_SET_VALUES
) {
5997 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5999 if (flags
& NDR_IN
) {
6000 ndr_print_struct(ndr
, "in", "lsa_QuerySecurity");
6002 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6004 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6006 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
6009 if (flags
& NDR_OUT
) {
6010 ndr_print_struct(ndr
, "out", "lsa_QuerySecurity");
6012 ndr_print_ptr(ndr
, "sdbuf", r
->out
.sdbuf
);
6014 ndr_print_ptr(ndr
, "sdbuf", *r
->out
.sdbuf
);
6016 if (*r
->out
.sdbuf
) {
6017 ndr_print_sec_desc_buf(ndr
, "sdbuf", *r
->out
.sdbuf
);
6021 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6027 static enum ndr_err_code
ndr_push_lsa_SetSecObj(struct ndr_push
*ndr
, int flags
, const struct lsa_SetSecObj
*r
)
6029 if (flags
& NDR_IN
) {
6030 if (r
->in
.handle
== NULL
) {
6031 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6033 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6034 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
6035 if (r
->in
.sdbuf
== NULL
) {
6036 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6038 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
6040 if (flags
& NDR_OUT
) {
6041 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6043 return NDR_ERR_SUCCESS
;
6046 static enum ndr_err_code
ndr_pull_lsa_SetSecObj(struct ndr_pull
*ndr
, int flags
, struct lsa_SetSecObj
*r
)
6048 TALLOC_CTX
*_mem_save_handle_0
;
6049 TALLOC_CTX
*_mem_save_sdbuf_0
;
6050 if (flags
& NDR_IN
) {
6051 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6052 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6054 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6055 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6056 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6057 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6058 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
6059 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6060 NDR_PULL_ALLOC(ndr
, r
->in
.sdbuf
);
6062 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6063 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
6064 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
6065 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
6067 if (flags
& NDR_OUT
) {
6068 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6070 return NDR_ERR_SUCCESS
;
6073 _PUBLIC_
void ndr_print_lsa_SetSecObj(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetSecObj
*r
)
6075 ndr_print_struct(ndr
, name
, "lsa_SetSecObj");
6077 if (flags
& NDR_SET_VALUES
) {
6078 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6080 if (flags
& NDR_IN
) {
6081 ndr_print_struct(ndr
, "in", "lsa_SetSecObj");
6083 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6085 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6087 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
6088 ndr_print_ptr(ndr
, "sdbuf", r
->in
.sdbuf
);
6090 ndr_print_sec_desc_buf(ndr
, "sdbuf", r
->in
.sdbuf
);
6094 if (flags
& NDR_OUT
) {
6095 ndr_print_struct(ndr
, "out", "lsa_SetSecObj");
6097 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6103 static enum ndr_err_code
ndr_push_lsa_ChangePassword(struct ndr_push
*ndr
, int flags
, const struct lsa_ChangePassword
*r
)
6105 if (flags
& NDR_IN
) {
6107 if (flags
& NDR_OUT
) {
6108 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6110 return NDR_ERR_SUCCESS
;
6113 static enum ndr_err_code
ndr_pull_lsa_ChangePassword(struct ndr_pull
*ndr
, int flags
, struct lsa_ChangePassword
*r
)
6115 if (flags
& NDR_IN
) {
6117 if (flags
& NDR_OUT
) {
6118 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6120 return NDR_ERR_SUCCESS
;
6123 _PUBLIC_
void ndr_print_lsa_ChangePassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_ChangePassword
*r
)
6125 ndr_print_struct(ndr
, name
, "lsa_ChangePassword");
6127 if (flags
& NDR_SET_VALUES
) {
6128 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6130 if (flags
& NDR_IN
) {
6131 ndr_print_struct(ndr
, "in", "lsa_ChangePassword");
6135 if (flags
& NDR_OUT
) {
6136 ndr_print_struct(ndr
, "out", "lsa_ChangePassword");
6138 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6144 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_OpenPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenPolicy
*r
)
6146 if (flags
& NDR_IN
) {
6147 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
6148 if (r
->in
.system_name
) {
6149 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->in
.system_name
));
6151 if (r
->in
.attr
== NULL
) {
6152 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6154 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
6155 NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6157 if (flags
& NDR_OUT
) {
6158 if (r
->out
.handle
== NULL
) {
6159 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6161 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
6162 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6164 return NDR_ERR_SUCCESS
;
6167 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_OpenPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenPolicy
*r
)
6169 uint32_t _ptr_system_name
;
6170 TALLOC_CTX
*_mem_save_system_name_0
;
6171 TALLOC_CTX
*_mem_save_attr_0
;
6172 TALLOC_CTX
*_mem_save_handle_0
;
6173 if (flags
& NDR_IN
) {
6174 ZERO_STRUCT(r
->out
);
6176 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
6177 if (_ptr_system_name
) {
6178 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
6180 r
->in
.system_name
= NULL
;
6182 if (r
->in
.system_name
) {
6183 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6184 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
6185 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->in
.system_name
));
6186 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
6188 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6189 NDR_PULL_ALLOC(ndr
, r
->in
.attr
);
6191 _mem_save_attr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6192 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.attr
, LIBNDR_FLAG_REF_ALLOC
);
6193 NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
6194 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attr_0
, LIBNDR_FLAG_REF_ALLOC
);
6195 NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6196 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
6197 ZERO_STRUCTP(r
->out
.handle
);
6199 if (flags
& NDR_OUT
) {
6200 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6201 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
6203 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6204 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6205 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
6206 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6207 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6209 return NDR_ERR_SUCCESS
;
6212 _PUBLIC_
void ndr_print_lsa_OpenPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenPolicy
*r
)
6214 ndr_print_struct(ndr
, name
, "lsa_OpenPolicy");
6216 if (flags
& NDR_SET_VALUES
) {
6217 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6219 if (flags
& NDR_IN
) {
6220 ndr_print_struct(ndr
, "in", "lsa_OpenPolicy");
6222 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
6224 if (r
->in
.system_name
) {
6225 ndr_print_uint16(ndr
, "system_name", *r
->in
.system_name
);
6228 ndr_print_ptr(ndr
, "attr", r
->in
.attr
);
6230 ndr_print_lsa_ObjectAttribute(ndr
, "attr", r
->in
.attr
);
6232 ndr_print_lsa_PolicyAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6235 if (flags
& NDR_OUT
) {
6236 ndr_print_struct(ndr
, "out", "lsa_OpenPolicy");
6238 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
6240 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
6242 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6248 static enum ndr_err_code
ndr_push_lsa_QueryInfoPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryInfoPolicy
*r
)
6250 if (flags
& NDR_IN
) {
6251 if (r
->in
.handle
== NULL
) {
6252 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6254 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6255 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
6257 if (flags
& NDR_OUT
) {
6258 if (r
->out
.info
== NULL
) {
6259 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6261 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
6263 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6264 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6266 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6268 return NDR_ERR_SUCCESS
;
6271 static enum ndr_err_code
ndr_pull_lsa_QueryInfoPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryInfoPolicy
*r
)
6274 TALLOC_CTX
*_mem_save_handle_0
;
6275 TALLOC_CTX
*_mem_save_info_0
;
6276 TALLOC_CTX
*_mem_save_info_1
;
6277 if (flags
& NDR_IN
) {
6278 ZERO_STRUCT(r
->out
);
6280 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6281 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6283 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6284 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6285 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6286 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6287 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
6288 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6289 ZERO_STRUCTP(r
->out
.info
);
6291 if (flags
& NDR_OUT
) {
6292 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6293 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
6295 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6296 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
6297 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
6299 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
6301 *r
->out
.info
= NULL
;
6304 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6305 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
6306 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
6307 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
6308 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
6310 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6311 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6313 return NDR_ERR_SUCCESS
;
6316 _PUBLIC_
void ndr_print_lsa_QueryInfoPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryInfoPolicy
*r
)
6318 ndr_print_struct(ndr
, name
, "lsa_QueryInfoPolicy");
6320 if (flags
& NDR_SET_VALUES
) {
6321 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6323 if (flags
& NDR_IN
) {
6324 ndr_print_struct(ndr
, "in", "lsa_QueryInfoPolicy");
6326 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6328 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6330 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
6333 if (flags
& NDR_OUT
) {
6334 ndr_print_struct(ndr
, "out", "lsa_QueryInfoPolicy");
6336 ndr_print_ptr(ndr
, "info", r
->out
.info
);
6338 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
6341 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
6342 ndr_print_lsa_PolicyInformation(ndr
, "info", *r
->out
.info
);
6346 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6352 static enum ndr_err_code
ndr_push_lsa_SetInfoPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_SetInfoPolicy
*r
)
6354 if (flags
& NDR_IN
) {
6355 if (r
->in
.handle
== NULL
) {
6356 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6358 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6359 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
6360 if (r
->in
.info
== NULL
) {
6361 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6363 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6364 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6366 if (flags
& NDR_OUT
) {
6367 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6369 return NDR_ERR_SUCCESS
;
6372 static enum ndr_err_code
ndr_pull_lsa_SetInfoPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_SetInfoPolicy
*r
)
6374 TALLOC_CTX
*_mem_save_handle_0
;
6375 TALLOC_CTX
*_mem_save_info_0
;
6376 if (flags
& NDR_IN
) {
6377 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6378 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6380 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6381 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6382 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6383 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6384 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
6385 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6386 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
6388 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6389 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
6390 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
6391 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6392 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6394 if (flags
& NDR_OUT
) {
6395 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6397 return NDR_ERR_SUCCESS
;
6400 _PUBLIC_
void ndr_print_lsa_SetInfoPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetInfoPolicy
*r
)
6402 ndr_print_struct(ndr
, name
, "lsa_SetInfoPolicy");
6404 if (flags
& NDR_SET_VALUES
) {
6405 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6407 if (flags
& NDR_IN
) {
6408 ndr_print_struct(ndr
, "in", "lsa_SetInfoPolicy");
6410 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6412 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6414 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
6415 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6417 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
6418 ndr_print_lsa_PolicyInformation(ndr
, "info", r
->in
.info
);
6422 if (flags
& NDR_OUT
) {
6423 ndr_print_struct(ndr
, "out", "lsa_SetInfoPolicy");
6425 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6431 static enum ndr_err_code
ndr_push_lsa_ClearAuditLog(struct ndr_push
*ndr
, int flags
, const struct lsa_ClearAuditLog
*r
)
6433 if (flags
& NDR_IN
) {
6435 if (flags
& NDR_OUT
) {
6436 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6438 return NDR_ERR_SUCCESS
;
6441 static enum ndr_err_code
ndr_pull_lsa_ClearAuditLog(struct ndr_pull
*ndr
, int flags
, struct lsa_ClearAuditLog
*r
)
6443 if (flags
& NDR_IN
) {
6445 if (flags
& NDR_OUT
) {
6446 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6448 return NDR_ERR_SUCCESS
;
6451 _PUBLIC_
void ndr_print_lsa_ClearAuditLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_ClearAuditLog
*r
)
6453 ndr_print_struct(ndr
, name
, "lsa_ClearAuditLog");
6455 if (flags
& NDR_SET_VALUES
) {
6456 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6458 if (flags
& NDR_IN
) {
6459 ndr_print_struct(ndr
, "in", "lsa_ClearAuditLog");
6463 if (flags
& NDR_OUT
) {
6464 ndr_print_struct(ndr
, "out", "lsa_ClearAuditLog");
6466 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6472 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_CreateAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateAccount
*r
)
6474 if (flags
& NDR_IN
) {
6475 if (r
->in
.handle
== NULL
) {
6476 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6478 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6479 if (r
->in
.sid
== NULL
) {
6480 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6482 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6483 NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6485 if (flags
& NDR_OUT
) {
6486 if (r
->out
.acct_handle
== NULL
) {
6487 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6489 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.acct_handle
));
6490 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6492 return NDR_ERR_SUCCESS
;
6495 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_CreateAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateAccount
*r
)
6497 TALLOC_CTX
*_mem_save_handle_0
;
6498 TALLOC_CTX
*_mem_save_sid_0
;
6499 TALLOC_CTX
*_mem_save_acct_handle_0
;
6500 if (flags
& NDR_IN
) {
6501 ZERO_STRUCT(r
->out
);
6503 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6504 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6506 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6507 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6508 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6509 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6510 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6511 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
6513 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6514 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6515 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6516 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6517 NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6518 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
6519 ZERO_STRUCTP(r
->out
.acct_handle
);
6521 if (flags
& NDR_OUT
) {
6522 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6523 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
6525 _mem_save_acct_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6526 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.acct_handle
, LIBNDR_FLAG_REF_ALLOC
);
6527 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.acct_handle
));
6528 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_acct_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6529 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6531 return NDR_ERR_SUCCESS
;
6534 _PUBLIC_
void ndr_print_lsa_CreateAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateAccount
*r
)
6536 ndr_print_struct(ndr
, name
, "lsa_CreateAccount");
6538 if (flags
& NDR_SET_VALUES
) {
6539 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6541 if (flags
& NDR_IN
) {
6542 ndr_print_struct(ndr
, "in", "lsa_CreateAccount");
6544 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6546 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6548 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6550 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6552 ndr_print_lsa_AccountAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6555 if (flags
& NDR_OUT
) {
6556 ndr_print_struct(ndr
, "out", "lsa_CreateAccount");
6558 ndr_print_ptr(ndr
, "acct_handle", r
->out
.acct_handle
);
6560 ndr_print_policy_handle(ndr
, "acct_handle", r
->out
.acct_handle
);
6562 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6568 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_EnumAccounts(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumAccounts
*r
)
6570 if (flags
& NDR_IN
) {
6571 if (r
->in
.handle
== NULL
) {
6572 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6574 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6575 if (r
->in
.resume_handle
== NULL
) {
6576 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6578 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6579 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_entries
));
6581 if (flags
& NDR_OUT
) {
6582 if (r
->out
.resume_handle
== NULL
) {
6583 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6585 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6586 if (r
->out
.sids
== NULL
) {
6587 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6589 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
6590 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6592 return NDR_ERR_SUCCESS
;
6595 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_EnumAccounts(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumAccounts
*r
)
6597 TALLOC_CTX
*_mem_save_handle_0
;
6598 TALLOC_CTX
*_mem_save_resume_handle_0
;
6599 TALLOC_CTX
*_mem_save_sids_0
;
6600 if (flags
& NDR_IN
) {
6601 ZERO_STRUCT(r
->out
);
6603 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6604 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6606 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6607 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6608 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6609 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6610 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6611 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6613 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6614 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6615 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6616 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6617 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_entries
));
6618 if (r
->in
.num_entries
> 8192) {
6619 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6621 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6622 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6623 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
6624 ZERO_STRUCTP(r
->out
.sids
);
6626 if (flags
& NDR_OUT
) {
6627 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6628 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6630 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6631 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6632 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6633 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6634 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6635 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
6637 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6638 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
6639 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
6640 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
6641 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6643 return NDR_ERR_SUCCESS
;
6646 _PUBLIC_
void ndr_print_lsa_EnumAccounts(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumAccounts
*r
)
6648 ndr_print_struct(ndr
, name
, "lsa_EnumAccounts");
6650 if (flags
& NDR_SET_VALUES
) {
6651 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6653 if (flags
& NDR_IN
) {
6654 ndr_print_struct(ndr
, "in", "lsa_EnumAccounts");
6656 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6658 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6660 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6662 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6664 ndr_print_uint32(ndr
, "num_entries", r
->in
.num_entries
);
6667 if (flags
& NDR_OUT
) {
6668 ndr_print_struct(ndr
, "out", "lsa_EnumAccounts");
6670 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6672 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6674 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
6676 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
6678 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6684 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_CreateTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateTrustedDomain
*r
)
6686 if (flags
& NDR_IN
) {
6687 if (r
->in
.policy_handle
== NULL
) {
6688 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6690 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
6691 if (r
->in
.info
== NULL
) {
6692 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6694 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6695 NDR_CHECK(ndr_push_lsa_TrustedAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6697 if (flags
& NDR_OUT
) {
6698 if (r
->out
.trustdom_handle
== NULL
) {
6699 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6701 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
6702 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6704 return NDR_ERR_SUCCESS
;
6707 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_CreateTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateTrustedDomain
*r
)
6709 TALLOC_CTX
*_mem_save_policy_handle_0
;
6710 TALLOC_CTX
*_mem_save_info_0
;
6711 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
6712 if (flags
& NDR_IN
) {
6713 ZERO_STRUCT(r
->out
);
6715 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6716 NDR_PULL_ALLOC(ndr
, r
->in
.policy_handle
);
6718 _mem_save_policy_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6719 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.policy_handle
, LIBNDR_FLAG_REF_ALLOC
);
6720 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
6721 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_policy_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6722 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6723 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
6725 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6726 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
6727 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6728 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6729 NDR_CHECK(ndr_pull_lsa_TrustedAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6730 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
6731 ZERO_STRUCTP(r
->out
.trustdom_handle
);
6733 if (flags
& NDR_OUT
) {
6734 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6735 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
6737 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6738 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
6739 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
6740 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6741 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6743 return NDR_ERR_SUCCESS
;
6746 _PUBLIC_
void ndr_print_lsa_CreateTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateTrustedDomain
*r
)
6748 ndr_print_struct(ndr
, name
, "lsa_CreateTrustedDomain");
6750 if (flags
& NDR_SET_VALUES
) {
6751 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6753 if (flags
& NDR_IN
) {
6754 ndr_print_struct(ndr
, "in", "lsa_CreateTrustedDomain");
6756 ndr_print_ptr(ndr
, "policy_handle", r
->in
.policy_handle
);
6758 ndr_print_policy_handle(ndr
, "policy_handle", r
->in
.policy_handle
);
6760 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6762 ndr_print_lsa_DomainInfo(ndr
, "info", r
->in
.info
);
6764 ndr_print_lsa_TrustedAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
6767 if (flags
& NDR_OUT
) {
6768 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomain");
6770 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
6772 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
6774 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6780 static enum ndr_err_code
ndr_push_lsa_EnumTrustDom(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumTrustDom
*r
)
6782 if (flags
& NDR_IN
) {
6783 if (r
->in
.handle
== NULL
) {
6784 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6786 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6787 if (r
->in
.resume_handle
== NULL
) {
6788 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6790 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6791 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6793 if (flags
& NDR_OUT
) {
6794 if (r
->out
.resume_handle
== NULL
) {
6795 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6797 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6798 if (r
->out
.domains
== NULL
) {
6799 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6801 NDR_CHECK(ndr_push_lsa_DomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
6802 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6804 return NDR_ERR_SUCCESS
;
6807 static enum ndr_err_code
ndr_pull_lsa_EnumTrustDom(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumTrustDom
*r
)
6809 TALLOC_CTX
*_mem_save_handle_0
;
6810 TALLOC_CTX
*_mem_save_resume_handle_0
;
6811 TALLOC_CTX
*_mem_save_domains_0
;
6812 if (flags
& NDR_IN
) {
6813 ZERO_STRUCT(r
->out
);
6815 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6816 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6818 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6819 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6820 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6821 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6822 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6823 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6825 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6826 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6827 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6828 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6829 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6830 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6831 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6832 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6833 ZERO_STRUCTP(r
->out
.domains
);
6835 if (flags
& NDR_OUT
) {
6836 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6837 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6839 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6840 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6841 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6842 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6843 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6844 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6846 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6847 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
6848 NDR_CHECK(ndr_pull_lsa_DomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
6849 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
6850 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6852 return NDR_ERR_SUCCESS
;
6855 _PUBLIC_
void ndr_print_lsa_EnumTrustDom(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumTrustDom
*r
)
6857 ndr_print_struct(ndr
, name
, "lsa_EnumTrustDom");
6859 if (flags
& NDR_SET_VALUES
) {
6860 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6862 if (flags
& NDR_IN
) {
6863 ndr_print_struct(ndr
, "in", "lsa_EnumTrustDom");
6865 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6867 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6869 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6871 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6873 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6876 if (flags
& NDR_OUT
) {
6877 ndr_print_struct(ndr
, "out", "lsa_EnumTrustDom");
6879 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6881 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6883 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
6885 ndr_print_lsa_DomainList(ndr
, "domains", r
->out
.domains
);
6887 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6893 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupNames(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames
*r
)
6895 uint32_t cntr_names_0
;
6896 if (flags
& NDR_IN
) {
6897 if (r
->in
.handle
== NULL
) {
6898 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6900 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6901 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
6902 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_names
));
6903 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
6904 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
6906 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
6907 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
6909 if (r
->in
.sids
== NULL
) {
6910 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6912 NDR_CHECK(ndr_push_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
6913 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
6914 if (r
->in
.count
== NULL
) {
6915 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6917 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
6919 if (flags
& NDR_OUT
) {
6920 if (r
->out
.domains
== NULL
) {
6921 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6923 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
6924 if (*r
->out
.domains
) {
6925 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
6927 if (r
->out
.sids
== NULL
) {
6928 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6930 NDR_CHECK(ndr_push_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
6931 if (r
->out
.count
== NULL
) {
6932 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6934 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
6935 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6937 return NDR_ERR_SUCCESS
;
6940 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupNames(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames
*r
)
6942 uint32_t cntr_names_0
;
6943 uint32_t _ptr_domains
;
6944 TALLOC_CTX
*_mem_save_handle_0
;
6945 TALLOC_CTX
*_mem_save_names_0
;
6946 TALLOC_CTX
*_mem_save_domains_0
;
6947 TALLOC_CTX
*_mem_save_domains_1
;
6948 TALLOC_CTX
*_mem_save_sids_0
;
6949 TALLOC_CTX
*_mem_save_count_0
;
6950 if (flags
& NDR_IN
) {
6951 ZERO_STRUCT(r
->out
);
6953 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6954 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6956 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6957 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6958 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6959 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6960 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
6961 if (r
->in
.num_names
> 1000) {
6962 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6964 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
6965 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
6966 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6967 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
6968 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
6969 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
6971 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
6972 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
6974 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
6975 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6976 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
6978 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6979 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
6980 NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
6981 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
6982 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
6983 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6984 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
6986 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6987 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
6988 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
6989 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
6990 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6991 ZERO_STRUCTP(r
->out
.domains
);
6992 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
6993 *r
->out
.sids
= *r
->in
.sids
;
6994 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
6995 *r
->out
.count
= *r
->in
.count
;
6997 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
7000 if (flags
& NDR_OUT
) {
7001 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7002 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
7004 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7005 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
7006 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
7008 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
7010 *r
->out
.domains
= NULL
;
7012 if (*r
->out
.domains
) {
7013 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7014 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
7015 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
7016 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
7018 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
7019 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7020 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
7022 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7023 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
7024 NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
7025 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
7026 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7027 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
7029 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7030 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
7031 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
7032 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
7033 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7035 return NDR_ERR_SUCCESS
;
7038 _PUBLIC_
void ndr_print_lsa_LookupNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames
*r
)
7040 uint32_t cntr_names_0
;
7041 ndr_print_struct(ndr
, name
, "lsa_LookupNames");
7043 if (flags
& NDR_SET_VALUES
) {
7044 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7046 if (flags
& NDR_IN
) {
7047 ndr_print_struct(ndr
, "in", "lsa_LookupNames");
7049 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7051 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7053 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
7054 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
7056 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
7058 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
7059 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
7064 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
7066 ndr_print_lsa_TransSidArray(ndr
, "sids", r
->in
.sids
);
7068 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
7069 ndr_print_ptr(ndr
, "count", r
->in
.count
);
7071 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
7075 if (flags
& NDR_OUT
) {
7076 ndr_print_struct(ndr
, "out", "lsa_LookupNames");
7078 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
7080 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
7082 if (*r
->out
.domains
) {
7083 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
7087 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
7089 ndr_print_lsa_TransSidArray(ndr
, "sids", r
->out
.sids
);
7091 ndr_print_ptr(ndr
, "count", r
->out
.count
);
7093 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
7095 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7101 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupSids(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupSids
*r
)
7103 if (flags
& NDR_IN
) {
7104 if (r
->in
.handle
== NULL
) {
7105 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7107 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7108 if (r
->in
.sids
== NULL
) {
7109 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7111 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7112 if (r
->in
.names
== NULL
) {
7113 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7115 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
7116 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
7117 if (r
->in
.count
== NULL
) {
7118 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7120 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
7122 if (flags
& NDR_OUT
) {
7123 if (r
->out
.domains
== NULL
) {
7124 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7126 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
7127 if (*r
->out
.domains
) {
7128 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
7130 if (r
->out
.names
== NULL
) {
7131 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7133 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7134 if (r
->out
.count
== NULL
) {
7135 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7137 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
7138 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7140 return NDR_ERR_SUCCESS
;
7143 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupSids(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupSids
*r
)
7145 uint32_t _ptr_domains
;
7146 TALLOC_CTX
*_mem_save_handle_0
;
7147 TALLOC_CTX
*_mem_save_sids_0
;
7148 TALLOC_CTX
*_mem_save_domains_0
;
7149 TALLOC_CTX
*_mem_save_domains_1
;
7150 TALLOC_CTX
*_mem_save_names_0
;
7151 TALLOC_CTX
*_mem_save_count_0
;
7152 if (flags
& NDR_IN
) {
7153 ZERO_STRUCT(r
->out
);
7155 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7156 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7158 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7159 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7160 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7161 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7162 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7163 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
7165 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7166 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
7167 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
7168 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
7169 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7170 NDR_PULL_ALLOC(ndr
, r
->in
.names
);
7172 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7173 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, LIBNDR_FLAG_REF_ALLOC
);
7174 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
7175 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
7176 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
7177 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7178 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
7180 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7181 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
7182 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
7183 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
7184 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
7185 ZERO_STRUCTP(r
->out
.domains
);
7186 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7187 *r
->out
.names
= *r
->in
.names
;
7188 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
7189 *r
->out
.count
= *r
->in
.count
;
7191 if (flags
& NDR_OUT
) {
7192 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7193 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
7195 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7196 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
7197 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
7199 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
7201 *r
->out
.domains
= NULL
;
7203 if (*r
->out
.domains
) {
7204 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7205 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
7206 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
7207 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
7209 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
7210 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7211 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
7213 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7214 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
7215 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
7216 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
7217 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7218 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
7220 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7221 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
7222 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
7223 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
7224 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7226 return NDR_ERR_SUCCESS
;
7229 _PUBLIC_
void ndr_print_lsa_LookupSids(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupSids
*r
)
7231 ndr_print_struct(ndr
, name
, "lsa_LookupSids");
7233 if (flags
& NDR_SET_VALUES
) {
7234 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7236 if (flags
& NDR_IN
) {
7237 ndr_print_struct(ndr
, "in", "lsa_LookupSids");
7239 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7241 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7243 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
7245 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
7247 ndr_print_ptr(ndr
, "names", r
->in
.names
);
7249 ndr_print_lsa_TransNameArray(ndr
, "names", r
->in
.names
);
7251 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
7252 ndr_print_ptr(ndr
, "count", r
->in
.count
);
7254 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
7258 if (flags
& NDR_OUT
) {
7259 ndr_print_struct(ndr
, "out", "lsa_LookupSids");
7261 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
7263 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
7265 if (*r
->out
.domains
) {
7266 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
7270 ndr_print_ptr(ndr
, "names", r
->out
.names
);
7272 ndr_print_lsa_TransNameArray(ndr
, "names", r
->out
.names
);
7274 ndr_print_ptr(ndr
, "count", r
->out
.count
);
7276 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
7278 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7284 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_CreateSecret(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateSecret
*r
)
7286 if (flags
& NDR_IN
) {
7287 if (r
->in
.handle
== NULL
) {
7288 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7290 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7291 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
7292 NDR_CHECK(ndr_push_lsa_SecretAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7294 if (flags
& NDR_OUT
) {
7295 if (r
->out
.sec_handle
== NULL
) {
7296 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7298 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.sec_handle
));
7299 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7301 return NDR_ERR_SUCCESS
;
7304 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_CreateSecret(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateSecret
*r
)
7306 TALLOC_CTX
*_mem_save_handle_0
;
7307 TALLOC_CTX
*_mem_save_sec_handle_0
;
7308 if (flags
& NDR_IN
) {
7309 ZERO_STRUCT(r
->out
);
7311 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7312 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7314 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7315 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7316 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7317 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7318 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
7319 NDR_CHECK(ndr_pull_lsa_SecretAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7320 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
7321 ZERO_STRUCTP(r
->out
.sec_handle
);
7323 if (flags
& NDR_OUT
) {
7324 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7325 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
7327 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7328 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
7329 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.sec_handle
));
7330 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7331 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7333 return NDR_ERR_SUCCESS
;
7336 _PUBLIC_
void ndr_print_lsa_CreateSecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateSecret
*r
)
7338 ndr_print_struct(ndr
, name
, "lsa_CreateSecret");
7340 if (flags
& NDR_SET_VALUES
) {
7341 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7343 if (flags
& NDR_IN
) {
7344 ndr_print_struct(ndr
, "in", "lsa_CreateSecret");
7346 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7348 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7350 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
7351 ndr_print_lsa_SecretAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7354 if (flags
& NDR_OUT
) {
7355 ndr_print_struct(ndr
, "out", "lsa_CreateSecret");
7357 ndr_print_ptr(ndr
, "sec_handle", r
->out
.sec_handle
);
7359 ndr_print_policy_handle(ndr
, "sec_handle", r
->out
.sec_handle
);
7361 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7367 static enum ndr_err_code
ndr_push_lsa_OpenAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenAccount
*r
)
7369 if (flags
& NDR_IN
) {
7370 if (r
->in
.handle
== NULL
) {
7371 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7373 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7374 if (r
->in
.sid
== NULL
) {
7375 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7377 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
7378 NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7380 if (flags
& NDR_OUT
) {
7381 if (r
->out
.acct_handle
== NULL
) {
7382 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7384 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.acct_handle
));
7385 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7387 return NDR_ERR_SUCCESS
;
7390 static enum ndr_err_code
ndr_pull_lsa_OpenAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenAccount
*r
)
7392 TALLOC_CTX
*_mem_save_handle_0
;
7393 TALLOC_CTX
*_mem_save_sid_0
;
7394 TALLOC_CTX
*_mem_save_acct_handle_0
;
7395 if (flags
& NDR_IN
) {
7396 ZERO_STRUCT(r
->out
);
7398 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7399 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7401 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7402 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7403 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7404 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7405 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7406 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
7408 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7409 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
7410 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
7411 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
7412 NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7413 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
7414 ZERO_STRUCTP(r
->out
.acct_handle
);
7416 if (flags
& NDR_OUT
) {
7417 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7418 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
7420 _mem_save_acct_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7421 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.acct_handle
, LIBNDR_FLAG_REF_ALLOC
);
7422 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.acct_handle
));
7423 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_acct_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7424 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7426 return NDR_ERR_SUCCESS
;
7429 _PUBLIC_
void ndr_print_lsa_OpenAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenAccount
*r
)
7431 ndr_print_struct(ndr
, name
, "lsa_OpenAccount");
7433 if (flags
& NDR_SET_VALUES
) {
7434 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7436 if (flags
& NDR_IN
) {
7437 ndr_print_struct(ndr
, "in", "lsa_OpenAccount");
7439 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7441 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7443 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
7445 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
7447 ndr_print_lsa_AccountAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7450 if (flags
& NDR_OUT
) {
7451 ndr_print_struct(ndr
, "out", "lsa_OpenAccount");
7453 ndr_print_ptr(ndr
, "acct_handle", r
->out
.acct_handle
);
7455 ndr_print_policy_handle(ndr
, "acct_handle", r
->out
.acct_handle
);
7457 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7463 static enum ndr_err_code
ndr_push_lsa_EnumPrivsAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumPrivsAccount
*r
)
7465 if (flags
& NDR_IN
) {
7466 if (r
->in
.handle
== NULL
) {
7467 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7469 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7471 if (flags
& NDR_OUT
) {
7472 if (r
->out
.privs
== NULL
) {
7473 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7475 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.privs
));
7476 if (*r
->out
.privs
) {
7477 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, *r
->out
.privs
));
7479 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7481 return NDR_ERR_SUCCESS
;
7484 static enum ndr_err_code
ndr_pull_lsa_EnumPrivsAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumPrivsAccount
*r
)
7486 uint32_t _ptr_privs
;
7487 TALLOC_CTX
*_mem_save_handle_0
;
7488 TALLOC_CTX
*_mem_save_privs_0
;
7489 TALLOC_CTX
*_mem_save_privs_1
;
7490 if (flags
& NDR_IN
) {
7491 ZERO_STRUCT(r
->out
);
7493 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7494 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7496 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7497 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7498 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7499 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7500 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
7501 ZERO_STRUCTP(r
->out
.privs
);
7503 if (flags
& NDR_OUT
) {
7504 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7505 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
7507 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7508 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.privs
, LIBNDR_FLAG_REF_ALLOC
);
7509 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_privs
));
7511 NDR_PULL_ALLOC(ndr
, *r
->out
.privs
);
7513 *r
->out
.privs
= NULL
;
7515 if (*r
->out
.privs
) {
7516 _mem_save_privs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7517 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.privs
, 0);
7518 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, *r
->out
.privs
));
7519 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_1
, 0);
7521 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, LIBNDR_FLAG_REF_ALLOC
);
7522 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7524 return NDR_ERR_SUCCESS
;
7527 _PUBLIC_
void ndr_print_lsa_EnumPrivsAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumPrivsAccount
*r
)
7529 ndr_print_struct(ndr
, name
, "lsa_EnumPrivsAccount");
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_EnumPrivsAccount");
7537 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7539 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7543 if (flags
& NDR_OUT
) {
7544 ndr_print_struct(ndr
, "out", "lsa_EnumPrivsAccount");
7546 ndr_print_ptr(ndr
, "privs", r
->out
.privs
);
7548 ndr_print_ptr(ndr
, "privs", *r
->out
.privs
);
7550 if (*r
->out
.privs
) {
7551 ndr_print_lsa_PrivilegeSet(ndr
, "privs", *r
->out
.privs
);
7555 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7561 static enum ndr_err_code
ndr_push_lsa_AddPrivilegesToAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_AddPrivilegesToAccount
*r
)
7563 if (flags
& NDR_IN
) {
7564 if (r
->in
.handle
== NULL
) {
7565 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7567 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7568 if (r
->in
.privs
== NULL
) {
7569 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7571 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
7573 if (flags
& NDR_OUT
) {
7574 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7576 return NDR_ERR_SUCCESS
;
7579 static enum ndr_err_code
ndr_pull_lsa_AddPrivilegesToAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_AddPrivilegesToAccount
*r
)
7581 TALLOC_CTX
*_mem_save_handle_0
;
7582 TALLOC_CTX
*_mem_save_privs_0
;
7583 if (flags
& NDR_IN
) {
7584 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7585 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7587 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7588 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7589 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7590 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7591 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7592 NDR_PULL_ALLOC(ndr
, r
->in
.privs
);
7594 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7595 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.privs
, LIBNDR_FLAG_REF_ALLOC
);
7596 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
7597 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, LIBNDR_FLAG_REF_ALLOC
);
7599 if (flags
& NDR_OUT
) {
7600 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7602 return NDR_ERR_SUCCESS
;
7605 _PUBLIC_
void ndr_print_lsa_AddPrivilegesToAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_AddPrivilegesToAccount
*r
)
7607 ndr_print_struct(ndr
, name
, "lsa_AddPrivilegesToAccount");
7609 if (flags
& NDR_SET_VALUES
) {
7610 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7612 if (flags
& NDR_IN
) {
7613 ndr_print_struct(ndr
, "in", "lsa_AddPrivilegesToAccount");
7615 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7617 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7619 ndr_print_ptr(ndr
, "privs", r
->in
.privs
);
7621 ndr_print_lsa_PrivilegeSet(ndr
, "privs", r
->in
.privs
);
7625 if (flags
& NDR_OUT
) {
7626 ndr_print_struct(ndr
, "out", "lsa_AddPrivilegesToAccount");
7628 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7634 static enum ndr_err_code
ndr_push_lsa_RemovePrivilegesFromAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_RemovePrivilegesFromAccount
*r
)
7636 if (flags
& NDR_IN
) {
7637 if (r
->in
.handle
== NULL
) {
7638 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7640 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7641 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.remove_all
));
7642 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.privs
));
7644 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
7647 if (flags
& NDR_OUT
) {
7648 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7650 return NDR_ERR_SUCCESS
;
7653 static enum ndr_err_code
ndr_pull_lsa_RemovePrivilegesFromAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_RemovePrivilegesFromAccount
*r
)
7655 uint32_t _ptr_privs
;
7656 TALLOC_CTX
*_mem_save_handle_0
;
7657 TALLOC_CTX
*_mem_save_privs_0
;
7658 if (flags
& NDR_IN
) {
7659 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7660 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7662 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7663 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7664 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7665 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7666 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.remove_all
));
7667 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_privs
));
7669 NDR_PULL_ALLOC(ndr
, r
->in
.privs
);
7674 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7675 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.privs
, 0);
7676 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
7677 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, 0);
7680 if (flags
& NDR_OUT
) {
7681 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7683 return NDR_ERR_SUCCESS
;
7686 _PUBLIC_
void ndr_print_lsa_RemovePrivilegesFromAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_RemovePrivilegesFromAccount
*r
)
7688 ndr_print_struct(ndr
, name
, "lsa_RemovePrivilegesFromAccount");
7690 if (flags
& NDR_SET_VALUES
) {
7691 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7693 if (flags
& NDR_IN
) {
7694 ndr_print_struct(ndr
, "in", "lsa_RemovePrivilegesFromAccount");
7696 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7698 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7700 ndr_print_uint8(ndr
, "remove_all", r
->in
.remove_all
);
7701 ndr_print_ptr(ndr
, "privs", r
->in
.privs
);
7704 ndr_print_lsa_PrivilegeSet(ndr
, "privs", r
->in
.privs
);
7709 if (flags
& NDR_OUT
) {
7710 ndr_print_struct(ndr
, "out", "lsa_RemovePrivilegesFromAccount");
7712 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7718 static enum ndr_err_code
ndr_push_lsa_GetQuotasForAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_GetQuotasForAccount
*r
)
7720 if (flags
& NDR_IN
) {
7722 if (flags
& NDR_OUT
) {
7723 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7725 return NDR_ERR_SUCCESS
;
7728 static enum ndr_err_code
ndr_pull_lsa_GetQuotasForAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_GetQuotasForAccount
*r
)
7730 if (flags
& NDR_IN
) {
7732 if (flags
& NDR_OUT
) {
7733 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7735 return NDR_ERR_SUCCESS
;
7738 _PUBLIC_
void ndr_print_lsa_GetQuotasForAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_GetQuotasForAccount
*r
)
7740 ndr_print_struct(ndr
, name
, "lsa_GetQuotasForAccount");
7742 if (flags
& NDR_SET_VALUES
) {
7743 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7745 if (flags
& NDR_IN
) {
7746 ndr_print_struct(ndr
, "in", "lsa_GetQuotasForAccount");
7750 if (flags
& NDR_OUT
) {
7751 ndr_print_struct(ndr
, "out", "lsa_GetQuotasForAccount");
7753 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7759 static enum ndr_err_code
ndr_push_lsa_SetQuotasForAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_SetQuotasForAccount
*r
)
7761 if (flags
& NDR_IN
) {
7763 if (flags
& NDR_OUT
) {
7764 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7766 return NDR_ERR_SUCCESS
;
7769 static enum ndr_err_code
ndr_pull_lsa_SetQuotasForAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_SetQuotasForAccount
*r
)
7771 if (flags
& NDR_IN
) {
7773 if (flags
& NDR_OUT
) {
7774 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7776 return NDR_ERR_SUCCESS
;
7779 _PUBLIC_
void ndr_print_lsa_SetQuotasForAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetQuotasForAccount
*r
)
7781 ndr_print_struct(ndr
, name
, "lsa_SetQuotasForAccount");
7783 if (flags
& NDR_SET_VALUES
) {
7784 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7786 if (flags
& NDR_IN
) {
7787 ndr_print_struct(ndr
, "in", "lsa_SetQuotasForAccount");
7791 if (flags
& NDR_OUT
) {
7792 ndr_print_struct(ndr
, "out", "lsa_SetQuotasForAccount");
7794 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7800 static enum ndr_err_code
ndr_push_lsa_GetSystemAccessAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_GetSystemAccessAccount
*r
)
7802 if (flags
& NDR_IN
) {
7803 if (r
->in
.handle
== NULL
) {
7804 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7806 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7808 if (flags
& NDR_OUT
) {
7809 if (r
->out
.access_mask
== NULL
) {
7810 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7812 NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr
, NDR_SCALARS
, *r
->out
.access_mask
));
7813 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7815 return NDR_ERR_SUCCESS
;
7818 static enum ndr_err_code
ndr_pull_lsa_GetSystemAccessAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_GetSystemAccessAccount
*r
)
7820 TALLOC_CTX
*_mem_save_handle_0
;
7821 TALLOC_CTX
*_mem_save_access_mask_0
;
7822 if (flags
& NDR_IN
) {
7823 ZERO_STRUCT(r
->out
);
7825 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7826 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7828 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7829 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7830 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7831 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7832 NDR_PULL_ALLOC(ndr
, r
->out
.access_mask
);
7833 ZERO_STRUCTP(r
->out
.access_mask
);
7835 if (flags
& NDR_OUT
) {
7836 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7837 NDR_PULL_ALLOC(ndr
, r
->out
.access_mask
);
7839 _mem_save_access_mask_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7840 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.access_mask
, LIBNDR_FLAG_REF_ALLOC
);
7841 NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr
, NDR_SCALARS
, r
->out
.access_mask
));
7842 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_access_mask_0
, LIBNDR_FLAG_REF_ALLOC
);
7843 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7845 return NDR_ERR_SUCCESS
;
7848 _PUBLIC_
void ndr_print_lsa_GetSystemAccessAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_GetSystemAccessAccount
*r
)
7850 ndr_print_struct(ndr
, name
, "lsa_GetSystemAccessAccount");
7852 if (flags
& NDR_SET_VALUES
) {
7853 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7855 if (flags
& NDR_IN
) {
7856 ndr_print_struct(ndr
, "in", "lsa_GetSystemAccessAccount");
7858 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7860 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7864 if (flags
& NDR_OUT
) {
7865 ndr_print_struct(ndr
, "out", "lsa_GetSystemAccessAccount");
7867 ndr_print_ptr(ndr
, "access_mask", r
->out
.access_mask
);
7869 ndr_print_lsa_AccountAccessMask(ndr
, "access_mask", *r
->out
.access_mask
);
7871 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7877 static enum ndr_err_code
ndr_push_lsa_SetSystemAccessAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_SetSystemAccessAccount
*r
)
7879 if (flags
& NDR_IN
) {
7880 if (r
->in
.handle
== NULL
) {
7881 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7883 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7884 NDR_CHECK(ndr_push_lsa_AccountAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7886 if (flags
& NDR_OUT
) {
7887 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7889 return NDR_ERR_SUCCESS
;
7892 static enum ndr_err_code
ndr_pull_lsa_SetSystemAccessAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_SetSystemAccessAccount
*r
)
7894 TALLOC_CTX
*_mem_save_handle_0
;
7895 if (flags
& NDR_IN
) {
7896 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7897 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7899 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7900 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7901 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7902 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7903 NDR_CHECK(ndr_pull_lsa_AccountAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7905 if (flags
& NDR_OUT
) {
7906 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7908 return NDR_ERR_SUCCESS
;
7911 _PUBLIC_
void ndr_print_lsa_SetSystemAccessAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetSystemAccessAccount
*r
)
7913 ndr_print_struct(ndr
, name
, "lsa_SetSystemAccessAccount");
7915 if (flags
& NDR_SET_VALUES
) {
7916 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7918 if (flags
& NDR_IN
) {
7919 ndr_print_struct(ndr
, "in", "lsa_SetSystemAccessAccount");
7921 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7923 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7925 ndr_print_lsa_AccountAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
7928 if (flags
& NDR_OUT
) {
7929 ndr_print_struct(ndr
, "out", "lsa_SetSystemAccessAccount");
7931 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7937 static enum ndr_err_code
ndr_push_lsa_OpenTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenTrustedDomain
*r
)
7939 if (flags
& NDR_IN
) {
7940 if (r
->in
.handle
== NULL
) {
7941 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7943 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7944 if (r
->in
.sid
== NULL
) {
7945 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7947 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
7948 NDR_CHECK(ndr_push_lsa_TrustedAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7950 if (flags
& NDR_OUT
) {
7951 if (r
->out
.trustdom_handle
== NULL
) {
7952 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7954 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
7955 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7957 return NDR_ERR_SUCCESS
;
7960 static enum ndr_err_code
ndr_pull_lsa_OpenTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenTrustedDomain
*r
)
7962 TALLOC_CTX
*_mem_save_handle_0
;
7963 TALLOC_CTX
*_mem_save_sid_0
;
7964 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
7965 if (flags
& NDR_IN
) {
7966 ZERO_STRUCT(r
->out
);
7968 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7969 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7971 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7972 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7973 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7974 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7975 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7976 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
7978 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7979 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
7980 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
7981 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
7982 NDR_CHECK(ndr_pull_lsa_TrustedAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7983 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
7984 ZERO_STRUCTP(r
->out
.trustdom_handle
);
7986 if (flags
& NDR_OUT
) {
7987 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7988 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
7990 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7991 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
7992 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
7993 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7994 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7996 return NDR_ERR_SUCCESS
;
7999 _PUBLIC_
void ndr_print_lsa_OpenTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenTrustedDomain
*r
)
8001 ndr_print_struct(ndr
, name
, "lsa_OpenTrustedDomain");
8003 if (flags
& NDR_SET_VALUES
) {
8004 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8006 if (flags
& NDR_IN
) {
8007 ndr_print_struct(ndr
, "in", "lsa_OpenTrustedDomain");
8009 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8011 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8013 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8015 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8017 ndr_print_lsa_TrustedAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8020 if (flags
& NDR_OUT
) {
8021 ndr_print_struct(ndr
, "out", "lsa_OpenTrustedDomain");
8023 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
8025 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
8027 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8033 static enum ndr_err_code
ndr_push_lsa_QueryTrustedDomainInfo(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryTrustedDomainInfo
*r
)
8035 if (flags
& NDR_IN
) {
8036 if (r
->in
.trustdom_handle
== NULL
) {
8037 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8039 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.trustdom_handle
));
8040 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8042 if (flags
& NDR_OUT
) {
8043 if (r
->out
.info
== NULL
) {
8044 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8046 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8048 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8049 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8051 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8053 return NDR_ERR_SUCCESS
;
8056 static enum ndr_err_code
ndr_pull_lsa_QueryTrustedDomainInfo(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryTrustedDomainInfo
*r
)
8059 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
8060 TALLOC_CTX
*_mem_save_info_0
;
8061 TALLOC_CTX
*_mem_save_info_1
;
8062 if (flags
& NDR_IN
) {
8063 ZERO_STRUCT(r
->out
);
8065 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8066 NDR_PULL_ALLOC(ndr
, r
->in
.trustdom_handle
);
8068 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8069 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
8070 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.trustdom_handle
));
8071 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8072 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8073 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8074 ZERO_STRUCTP(r
->out
.info
);
8076 if (flags
& NDR_OUT
) {
8077 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8078 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8080 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8081 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8082 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8084 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8086 *r
->out
.info
= NULL
;
8089 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8090 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8091 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8092 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8093 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8095 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8096 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8098 return NDR_ERR_SUCCESS
;
8101 _PUBLIC_
void ndr_print_lsa_QueryTrustedDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryTrustedDomainInfo
*r
)
8103 ndr_print_struct(ndr
, name
, "lsa_QueryTrustedDomainInfo");
8105 if (flags
& NDR_SET_VALUES
) {
8106 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8108 if (flags
& NDR_IN
) {
8109 ndr_print_struct(ndr
, "in", "lsa_QueryTrustedDomainInfo");
8111 ndr_print_ptr(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
8113 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
8115 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
8118 if (flags
& NDR_OUT
) {
8119 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfo");
8121 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8123 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8126 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8127 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", *r
->out
.info
);
8131 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8137 static enum ndr_err_code
ndr_push_lsa_SetInformationTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_SetInformationTrustedDomain
*r
)
8139 if (flags
& NDR_IN
) {
8140 if (r
->in
.trustdom_handle
== NULL
) {
8141 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8143 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.trustdom_handle
));
8144 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8145 if (r
->in
.info
== NULL
) {
8146 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8148 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8149 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8151 if (flags
& NDR_OUT
) {
8152 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8154 return NDR_ERR_SUCCESS
;
8157 static enum ndr_err_code
ndr_pull_lsa_SetInformationTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_SetInformationTrustedDomain
*r
)
8159 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
8160 TALLOC_CTX
*_mem_save_info_0
;
8161 if (flags
& NDR_IN
) {
8162 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8163 NDR_PULL_ALLOC(ndr
, r
->in
.trustdom_handle
);
8165 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8166 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
8167 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.trustdom_handle
));
8168 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8169 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8170 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8171 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
8173 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8174 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
8175 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
8176 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
8177 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8179 if (flags
& NDR_OUT
) {
8180 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8182 return NDR_ERR_SUCCESS
;
8185 _PUBLIC_
void ndr_print_lsa_SetInformationTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetInformationTrustedDomain
*r
)
8187 ndr_print_struct(ndr
, name
, "lsa_SetInformationTrustedDomain");
8189 if (flags
& NDR_SET_VALUES
) {
8190 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8192 if (flags
& NDR_IN
) {
8193 ndr_print_struct(ndr
, "in", "lsa_SetInformationTrustedDomain");
8195 ndr_print_ptr(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
8197 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
8199 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
8200 ndr_print_ptr(ndr
, "info", r
->in
.info
);
8202 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
8203 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
8207 if (flags
& NDR_OUT
) {
8208 ndr_print_struct(ndr
, "out", "lsa_SetInformationTrustedDomain");
8210 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8216 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_OpenSecret(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenSecret
*r
)
8218 if (flags
& NDR_IN
) {
8219 if (r
->in
.handle
== NULL
) {
8220 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8222 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8223 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
8224 NDR_CHECK(ndr_push_lsa_SecretAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8226 if (flags
& NDR_OUT
) {
8227 if (r
->out
.sec_handle
== NULL
) {
8228 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8230 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.sec_handle
));
8231 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8233 return NDR_ERR_SUCCESS
;
8236 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_OpenSecret(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenSecret
*r
)
8238 TALLOC_CTX
*_mem_save_handle_0
;
8239 TALLOC_CTX
*_mem_save_sec_handle_0
;
8240 if (flags
& NDR_IN
) {
8241 ZERO_STRUCT(r
->out
);
8243 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8244 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8246 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8247 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8248 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8249 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8250 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
8251 NDR_CHECK(ndr_pull_lsa_SecretAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8252 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
8253 ZERO_STRUCTP(r
->out
.sec_handle
);
8255 if (flags
& NDR_OUT
) {
8256 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8257 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
8259 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8260 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
8261 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.sec_handle
));
8262 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8263 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8265 return NDR_ERR_SUCCESS
;
8268 _PUBLIC_
void ndr_print_lsa_OpenSecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenSecret
*r
)
8270 ndr_print_struct(ndr
, name
, "lsa_OpenSecret");
8272 if (flags
& NDR_SET_VALUES
) {
8273 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8275 if (flags
& NDR_IN
) {
8276 ndr_print_struct(ndr
, "in", "lsa_OpenSecret");
8278 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8280 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8282 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
8283 ndr_print_lsa_SecretAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8286 if (flags
& NDR_OUT
) {
8287 ndr_print_struct(ndr
, "out", "lsa_OpenSecret");
8289 ndr_print_ptr(ndr
, "sec_handle", r
->out
.sec_handle
);
8291 ndr_print_policy_handle(ndr
, "sec_handle", r
->out
.sec_handle
);
8293 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8299 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SetSecret(struct ndr_push
*ndr
, int flags
, const struct lsa_SetSecret
*r
)
8301 if (flags
& NDR_IN
) {
8302 if (r
->in
.sec_handle
== NULL
) {
8303 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8305 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.sec_handle
));
8306 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_val
));
8307 if (r
->in
.new_val
) {
8308 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
8310 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_val
));
8311 if (r
->in
.old_val
) {
8312 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
8315 if (flags
& NDR_OUT
) {
8316 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8318 return NDR_ERR_SUCCESS
;
8321 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SetSecret(struct ndr_pull
*ndr
, int flags
, struct lsa_SetSecret
*r
)
8323 uint32_t _ptr_new_val
;
8324 uint32_t _ptr_old_val
;
8325 TALLOC_CTX
*_mem_save_sec_handle_0
;
8326 TALLOC_CTX
*_mem_save_new_val_0
;
8327 TALLOC_CTX
*_mem_save_old_val_0
;
8328 if (flags
& NDR_IN
) {
8329 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8330 NDR_PULL_ALLOC(ndr
, r
->in
.sec_handle
);
8332 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8333 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
8334 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.sec_handle
));
8335 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8336 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_val
));
8338 NDR_PULL_ALLOC(ndr
, r
->in
.new_val
);
8340 r
->in
.new_val
= NULL
;
8342 if (r
->in
.new_val
) {
8343 _mem_save_new_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8344 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_val
, 0);
8345 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
8346 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_val_0
, 0);
8348 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_val
));
8350 NDR_PULL_ALLOC(ndr
, r
->in
.old_val
);
8352 r
->in
.old_val
= NULL
;
8354 if (r
->in
.old_val
) {
8355 _mem_save_old_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8356 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_val
, 0);
8357 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
8358 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_val_0
, 0);
8361 if (flags
& NDR_OUT
) {
8362 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8364 return NDR_ERR_SUCCESS
;
8367 _PUBLIC_
void ndr_print_lsa_SetSecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetSecret
*r
)
8369 ndr_print_struct(ndr
, name
, "lsa_SetSecret");
8371 if (flags
& NDR_SET_VALUES
) {
8372 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8374 if (flags
& NDR_IN
) {
8375 ndr_print_struct(ndr
, "in", "lsa_SetSecret");
8377 ndr_print_ptr(ndr
, "sec_handle", r
->in
.sec_handle
);
8379 ndr_print_policy_handle(ndr
, "sec_handle", r
->in
.sec_handle
);
8381 ndr_print_ptr(ndr
, "new_val", r
->in
.new_val
);
8383 if (r
->in
.new_val
) {
8384 ndr_print_lsa_DATA_BUF(ndr
, "new_val", r
->in
.new_val
);
8387 ndr_print_ptr(ndr
, "old_val", r
->in
.old_val
);
8389 if (r
->in
.old_val
) {
8390 ndr_print_lsa_DATA_BUF(ndr
, "old_val", r
->in
.old_val
);
8395 if (flags
& NDR_OUT
) {
8396 ndr_print_struct(ndr
, "out", "lsa_SetSecret");
8398 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8404 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_QuerySecret(struct ndr_push
*ndr
, int flags
, const struct lsa_QuerySecret
*r
)
8406 if (flags
& NDR_IN
) {
8407 if (r
->in
.sec_handle
== NULL
) {
8408 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8410 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.sec_handle
));
8411 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_val
));
8412 if (r
->in
.new_val
) {
8413 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
8415 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_mtime
));
8416 if (r
->in
.new_mtime
) {
8417 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->in
.new_mtime
));
8419 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_val
));
8420 if (r
->in
.old_val
) {
8421 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
8423 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_mtime
));
8424 if (r
->in
.old_mtime
) {
8425 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->in
.old_mtime
));
8428 if (flags
& NDR_OUT
) {
8429 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.new_val
));
8430 if (r
->out
.new_val
) {
8431 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.new_val
));
8433 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.new_mtime
));
8434 if (r
->out
.new_mtime
) {
8435 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->out
.new_mtime
));
8437 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.old_val
));
8438 if (r
->out
.old_val
) {
8439 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.old_val
));
8441 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.old_mtime
));
8442 if (r
->out
.old_mtime
) {
8443 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->out
.old_mtime
));
8445 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8447 return NDR_ERR_SUCCESS
;
8450 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_QuerySecret(struct ndr_pull
*ndr
, int flags
, struct lsa_QuerySecret
*r
)
8452 uint32_t _ptr_new_val
;
8453 uint32_t _ptr_new_mtime
;
8454 uint32_t _ptr_old_val
;
8455 uint32_t _ptr_old_mtime
;
8456 TALLOC_CTX
*_mem_save_sec_handle_0
;
8457 TALLOC_CTX
*_mem_save_new_val_0
;
8458 TALLOC_CTX
*_mem_save_new_mtime_0
;
8459 TALLOC_CTX
*_mem_save_old_val_0
;
8460 TALLOC_CTX
*_mem_save_old_mtime_0
;
8461 if (flags
& NDR_IN
) {
8462 ZERO_STRUCT(r
->out
);
8464 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8465 NDR_PULL_ALLOC(ndr
, r
->in
.sec_handle
);
8467 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8468 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
8469 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.sec_handle
));
8470 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8471 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_val
));
8473 NDR_PULL_ALLOC(ndr
, r
->in
.new_val
);
8475 r
->in
.new_val
= NULL
;
8477 if (r
->in
.new_val
) {
8478 _mem_save_new_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8479 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_val
, 0);
8480 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
8481 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_val_0
, 0);
8483 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_mtime
));
8484 if (_ptr_new_mtime
) {
8485 NDR_PULL_ALLOC(ndr
, r
->in
.new_mtime
);
8487 r
->in
.new_mtime
= NULL
;
8489 if (r
->in
.new_mtime
) {
8490 _mem_save_new_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8491 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_mtime
, 0);
8492 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->in
.new_mtime
));
8493 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_mtime_0
, 0);
8495 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_val
));
8497 NDR_PULL_ALLOC(ndr
, r
->in
.old_val
);
8499 r
->in
.old_val
= NULL
;
8501 if (r
->in
.old_val
) {
8502 _mem_save_old_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8503 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_val
, 0);
8504 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
8505 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_val_0
, 0);
8507 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_mtime
));
8508 if (_ptr_old_mtime
) {
8509 NDR_PULL_ALLOC(ndr
, r
->in
.old_mtime
);
8511 r
->in
.old_mtime
= NULL
;
8513 if (r
->in
.old_mtime
) {
8514 _mem_save_old_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8515 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_mtime
, 0);
8516 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->in
.old_mtime
));
8517 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_mtime_0
, 0);
8520 if (flags
& NDR_OUT
) {
8521 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_val
));
8523 NDR_PULL_ALLOC(ndr
, r
->out
.new_val
);
8525 r
->out
.new_val
= NULL
;
8527 if (r
->out
.new_val
) {
8528 _mem_save_new_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8529 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.new_val
, 0);
8530 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.new_val
));
8531 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_val_0
, 0);
8533 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_mtime
));
8534 if (_ptr_new_mtime
) {
8535 NDR_PULL_ALLOC(ndr
, r
->out
.new_mtime
);
8537 r
->out
.new_mtime
= NULL
;
8539 if (r
->out
.new_mtime
) {
8540 _mem_save_new_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8541 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.new_mtime
, 0);
8542 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->out
.new_mtime
));
8543 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_mtime_0
, 0);
8545 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_val
));
8547 NDR_PULL_ALLOC(ndr
, r
->out
.old_val
);
8549 r
->out
.old_val
= NULL
;
8551 if (r
->out
.old_val
) {
8552 _mem_save_old_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8553 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.old_val
, 0);
8554 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.old_val
));
8555 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_val_0
, 0);
8557 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_mtime
));
8558 if (_ptr_old_mtime
) {
8559 NDR_PULL_ALLOC(ndr
, r
->out
.old_mtime
);
8561 r
->out
.old_mtime
= NULL
;
8563 if (r
->out
.old_mtime
) {
8564 _mem_save_old_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8565 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.old_mtime
, 0);
8566 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->out
.old_mtime
));
8567 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_mtime_0
, 0);
8569 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8571 return NDR_ERR_SUCCESS
;
8574 _PUBLIC_
void ndr_print_lsa_QuerySecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QuerySecret
*r
)
8576 ndr_print_struct(ndr
, name
, "lsa_QuerySecret");
8578 if (flags
& NDR_SET_VALUES
) {
8579 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8581 if (flags
& NDR_IN
) {
8582 ndr_print_struct(ndr
, "in", "lsa_QuerySecret");
8584 ndr_print_ptr(ndr
, "sec_handle", r
->in
.sec_handle
);
8586 ndr_print_policy_handle(ndr
, "sec_handle", r
->in
.sec_handle
);
8588 ndr_print_ptr(ndr
, "new_val", r
->in
.new_val
);
8590 if (r
->in
.new_val
) {
8591 ndr_print_lsa_DATA_BUF_PTR(ndr
, "new_val", r
->in
.new_val
);
8594 ndr_print_ptr(ndr
, "new_mtime", r
->in
.new_mtime
);
8596 if (r
->in
.new_mtime
) {
8597 ndr_print_NTTIME_hyper(ndr
, "new_mtime", *r
->in
.new_mtime
);
8600 ndr_print_ptr(ndr
, "old_val", r
->in
.old_val
);
8602 if (r
->in
.old_val
) {
8603 ndr_print_lsa_DATA_BUF_PTR(ndr
, "old_val", r
->in
.old_val
);
8606 ndr_print_ptr(ndr
, "old_mtime", r
->in
.old_mtime
);
8608 if (r
->in
.old_mtime
) {
8609 ndr_print_NTTIME_hyper(ndr
, "old_mtime", *r
->in
.old_mtime
);
8614 if (flags
& NDR_OUT
) {
8615 ndr_print_struct(ndr
, "out", "lsa_QuerySecret");
8617 ndr_print_ptr(ndr
, "new_val", r
->out
.new_val
);
8619 if (r
->out
.new_val
) {
8620 ndr_print_lsa_DATA_BUF_PTR(ndr
, "new_val", r
->out
.new_val
);
8623 ndr_print_ptr(ndr
, "new_mtime", r
->out
.new_mtime
);
8625 if (r
->out
.new_mtime
) {
8626 ndr_print_NTTIME_hyper(ndr
, "new_mtime", *r
->out
.new_mtime
);
8629 ndr_print_ptr(ndr
, "old_val", r
->out
.old_val
);
8631 if (r
->out
.old_val
) {
8632 ndr_print_lsa_DATA_BUF_PTR(ndr
, "old_val", r
->out
.old_val
);
8635 ndr_print_ptr(ndr
, "old_mtime", r
->out
.old_mtime
);
8637 if (r
->out
.old_mtime
) {
8638 ndr_print_NTTIME_hyper(ndr
, "old_mtime", *r
->out
.old_mtime
);
8641 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8647 static enum ndr_err_code
ndr_push_lsa_LookupPrivValue(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupPrivValue
*r
)
8649 if (flags
& NDR_IN
) {
8650 if (r
->in
.handle
== NULL
) {
8651 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8653 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8654 if (r
->in
.name
== NULL
) {
8655 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8657 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8659 if (flags
& NDR_OUT
) {
8660 if (r
->out
.luid
== NULL
) {
8661 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8663 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, r
->out
.luid
));
8664 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8666 return NDR_ERR_SUCCESS
;
8669 static enum ndr_err_code
ndr_pull_lsa_LookupPrivValue(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupPrivValue
*r
)
8671 TALLOC_CTX
*_mem_save_handle_0
;
8672 TALLOC_CTX
*_mem_save_name_0
;
8673 TALLOC_CTX
*_mem_save_luid_0
;
8674 if (flags
& NDR_IN
) {
8675 ZERO_STRUCT(r
->out
);
8677 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8678 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8680 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8681 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8682 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8683 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8684 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8685 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
8687 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8688 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
8689 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8691 NDR_PULL_ALLOC(ndr
, r
->out
.luid
);
8692 ZERO_STRUCTP(r
->out
.luid
);
8694 if (flags
& NDR_OUT
) {
8695 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8696 NDR_PULL_ALLOC(ndr
, r
->out
.luid
);
8698 _mem_save_luid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8699 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.luid
, LIBNDR_FLAG_REF_ALLOC
);
8700 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, r
->out
.luid
));
8701 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_luid_0
, LIBNDR_FLAG_REF_ALLOC
);
8702 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8704 return NDR_ERR_SUCCESS
;
8707 _PUBLIC_
void ndr_print_lsa_LookupPrivValue(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupPrivValue
*r
)
8709 ndr_print_struct(ndr
, name
, "lsa_LookupPrivValue");
8711 if (flags
& NDR_SET_VALUES
) {
8712 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8714 if (flags
& NDR_IN
) {
8715 ndr_print_struct(ndr
, "in", "lsa_LookupPrivValue");
8717 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8719 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8721 ndr_print_ptr(ndr
, "name", r
->in
.name
);
8723 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
8727 if (flags
& NDR_OUT
) {
8728 ndr_print_struct(ndr
, "out", "lsa_LookupPrivValue");
8730 ndr_print_ptr(ndr
, "luid", r
->out
.luid
);
8732 ndr_print_lsa_LUID(ndr
, "luid", r
->out
.luid
);
8734 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8740 static enum ndr_err_code
ndr_push_lsa_LookupPrivName(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupPrivName
*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
));
8747 if (r
->in
.luid
== NULL
) {
8748 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8750 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, r
->in
.luid
));
8752 if (flags
& NDR_OUT
) {
8753 if (r
->out
.name
== NULL
) {
8754 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8756 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.name
));
8758 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.name
));
8760 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8762 return NDR_ERR_SUCCESS
;
8765 static enum ndr_err_code
ndr_pull_lsa_LookupPrivName(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupPrivName
*r
)
8768 TALLOC_CTX
*_mem_save_handle_0
;
8769 TALLOC_CTX
*_mem_save_luid_0
;
8770 TALLOC_CTX
*_mem_save_name_0
;
8771 TALLOC_CTX
*_mem_save_name_1
;
8772 if (flags
& NDR_IN
) {
8773 ZERO_STRUCT(r
->out
);
8775 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8776 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8778 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8779 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8780 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8781 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8782 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8783 NDR_PULL_ALLOC(ndr
, r
->in
.luid
);
8785 _mem_save_luid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8786 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.luid
, LIBNDR_FLAG_REF_ALLOC
);
8787 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, r
->in
.luid
));
8788 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_luid_0
, LIBNDR_FLAG_REF_ALLOC
);
8789 NDR_PULL_ALLOC(ndr
, r
->out
.name
);
8790 ZERO_STRUCTP(r
->out
.name
);
8792 if (flags
& NDR_OUT
) {
8793 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8794 NDR_PULL_ALLOC(ndr
, r
->out
.name
);
8796 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8797 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.name
, LIBNDR_FLAG_REF_ALLOC
);
8798 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
8800 NDR_PULL_ALLOC(ndr
, *r
->out
.name
);
8802 *r
->out
.name
= NULL
;
8805 _mem_save_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8806 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.name
, 0);
8807 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.name
));
8808 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_1
, 0);
8810 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8811 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8813 return NDR_ERR_SUCCESS
;
8816 _PUBLIC_
void ndr_print_lsa_LookupPrivName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupPrivName
*r
)
8818 ndr_print_struct(ndr
, name
, "lsa_LookupPrivName");
8820 if (flags
& NDR_SET_VALUES
) {
8821 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8823 if (flags
& NDR_IN
) {
8824 ndr_print_struct(ndr
, "in", "lsa_LookupPrivName");
8826 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8828 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8830 ndr_print_ptr(ndr
, "luid", r
->in
.luid
);
8832 ndr_print_lsa_LUID(ndr
, "luid", r
->in
.luid
);
8836 if (flags
& NDR_OUT
) {
8837 ndr_print_struct(ndr
, "out", "lsa_LookupPrivName");
8839 ndr_print_ptr(ndr
, "name", r
->out
.name
);
8841 ndr_print_ptr(ndr
, "name", *r
->out
.name
);
8844 ndr_print_lsa_StringLarge(ndr
, "name", *r
->out
.name
);
8848 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8854 static enum ndr_err_code
ndr_push_lsa_LookupPrivDisplayName(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupPrivDisplayName
*r
)
8856 if (flags
& NDR_IN
) {
8857 if (r
->in
.handle
== NULL
) {
8858 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8860 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8861 if (r
->in
.name
== NULL
) {
8862 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8864 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8865 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.language_id
));
8866 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.language_id_sys
));
8868 if (flags
& NDR_OUT
) {
8869 if (r
->out
.disp_name
== NULL
) {
8870 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8872 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.disp_name
));
8873 if (*r
->out
.disp_name
) {
8874 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.disp_name
));
8876 if (r
->out
.returned_language_id
== NULL
) {
8877 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8879 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->out
.returned_language_id
));
8880 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8882 return NDR_ERR_SUCCESS
;
8885 static enum ndr_err_code
ndr_pull_lsa_LookupPrivDisplayName(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupPrivDisplayName
*r
)
8887 uint32_t _ptr_disp_name
;
8888 TALLOC_CTX
*_mem_save_handle_0
;
8889 TALLOC_CTX
*_mem_save_name_0
;
8890 TALLOC_CTX
*_mem_save_disp_name_0
;
8891 TALLOC_CTX
*_mem_save_disp_name_1
;
8892 TALLOC_CTX
*_mem_save_returned_language_id_0
;
8893 if (flags
& NDR_IN
) {
8894 ZERO_STRUCT(r
->out
);
8896 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8897 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8899 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8900 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8901 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8902 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8903 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8904 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
8906 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8907 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
8908 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8909 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8910 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.language_id
));
8911 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.language_id_sys
));
8912 NDR_PULL_ALLOC(ndr
, r
->out
.disp_name
);
8913 ZERO_STRUCTP(r
->out
.disp_name
);
8914 NDR_PULL_ALLOC(ndr
, r
->out
.returned_language_id
);
8915 ZERO_STRUCTP(r
->out
.returned_language_id
);
8917 if (flags
& NDR_OUT
) {
8918 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8919 NDR_PULL_ALLOC(ndr
, r
->out
.disp_name
);
8921 _mem_save_disp_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8922 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.disp_name
, LIBNDR_FLAG_REF_ALLOC
);
8923 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_disp_name
));
8924 if (_ptr_disp_name
) {
8925 NDR_PULL_ALLOC(ndr
, *r
->out
.disp_name
);
8927 *r
->out
.disp_name
= NULL
;
8929 if (*r
->out
.disp_name
) {
8930 _mem_save_disp_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8931 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.disp_name
, 0);
8932 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.disp_name
));
8933 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_disp_name_1
, 0);
8935 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_disp_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8936 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8937 NDR_PULL_ALLOC(ndr
, r
->out
.returned_language_id
);
8939 _mem_save_returned_language_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8940 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_language_id
, LIBNDR_FLAG_REF_ALLOC
);
8941 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->out
.returned_language_id
));
8942 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_language_id_0
, LIBNDR_FLAG_REF_ALLOC
);
8943 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8945 return NDR_ERR_SUCCESS
;
8948 _PUBLIC_
void ndr_print_lsa_LookupPrivDisplayName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupPrivDisplayName
*r
)
8950 ndr_print_struct(ndr
, name
, "lsa_LookupPrivDisplayName");
8952 if (flags
& NDR_SET_VALUES
) {
8953 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8955 if (flags
& NDR_IN
) {
8956 ndr_print_struct(ndr
, "in", "lsa_LookupPrivDisplayName");
8958 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8960 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8962 ndr_print_ptr(ndr
, "name", r
->in
.name
);
8964 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
8966 ndr_print_uint16(ndr
, "language_id", r
->in
.language_id
);
8967 ndr_print_uint16(ndr
, "language_id_sys", r
->in
.language_id_sys
);
8970 if (flags
& NDR_OUT
) {
8971 ndr_print_struct(ndr
, "out", "lsa_LookupPrivDisplayName");
8973 ndr_print_ptr(ndr
, "disp_name", r
->out
.disp_name
);
8975 ndr_print_ptr(ndr
, "disp_name", *r
->out
.disp_name
);
8977 if (*r
->out
.disp_name
) {
8978 ndr_print_lsa_StringLarge(ndr
, "disp_name", *r
->out
.disp_name
);
8982 ndr_print_ptr(ndr
, "returned_language_id", r
->out
.returned_language_id
);
8984 ndr_print_uint16(ndr
, "returned_language_id", *r
->out
.returned_language_id
);
8986 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8992 static enum ndr_err_code
ndr_push_lsa_DeleteObject(struct ndr_push
*ndr
, int flags
, const struct lsa_DeleteObject
*r
)
8994 if (flags
& NDR_IN
) {
8995 if (r
->in
.handle
== NULL
) {
8996 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8998 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9000 if (flags
& NDR_OUT
) {
9001 if (r
->out
.handle
== NULL
) {
9002 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9004 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
9005 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9007 return NDR_ERR_SUCCESS
;
9010 static enum ndr_err_code
ndr_pull_lsa_DeleteObject(struct ndr_pull
*ndr
, int flags
, struct lsa_DeleteObject
*r
)
9012 TALLOC_CTX
*_mem_save_handle_0
;
9013 if (flags
& NDR_IN
) {
9014 ZERO_STRUCT(r
->out
);
9016 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9017 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9019 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9020 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9021 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9022 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9023 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
9024 *r
->out
.handle
= *r
->in
.handle
;
9026 if (flags
& NDR_OUT
) {
9027 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9028 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
9030 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9031 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9032 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
9033 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9034 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9036 return NDR_ERR_SUCCESS
;
9039 _PUBLIC_
void ndr_print_lsa_DeleteObject(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_DeleteObject
*r
)
9041 ndr_print_struct(ndr
, name
, "lsa_DeleteObject");
9043 if (flags
& NDR_SET_VALUES
) {
9044 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9046 if (flags
& NDR_IN
) {
9047 ndr_print_struct(ndr
, "in", "lsa_DeleteObject");
9049 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9051 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9055 if (flags
& NDR_OUT
) {
9056 ndr_print_struct(ndr
, "out", "lsa_DeleteObject");
9058 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
9060 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
9062 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9068 static enum ndr_err_code
ndr_push_lsa_EnumAccountsWithUserRight(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumAccountsWithUserRight
*r
)
9070 if (flags
& NDR_IN
) {
9071 if (r
->in
.handle
== NULL
) {
9072 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9074 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9075 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.name
));
9077 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9080 if (flags
& NDR_OUT
) {
9081 if (r
->out
.sids
== NULL
) {
9082 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9084 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
9085 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9087 return NDR_ERR_SUCCESS
;
9090 static enum ndr_err_code
ndr_pull_lsa_EnumAccountsWithUserRight(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumAccountsWithUserRight
*r
)
9093 TALLOC_CTX
*_mem_save_handle_0
;
9094 TALLOC_CTX
*_mem_save_name_0
;
9095 TALLOC_CTX
*_mem_save_sids_0
;
9096 if (flags
& NDR_IN
) {
9097 ZERO_STRUCT(r
->out
);
9099 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9100 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9102 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9103 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9104 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9105 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9106 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
9108 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
9113 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9114 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, 0);
9115 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9116 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, 0);
9118 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
9119 ZERO_STRUCTP(r
->out
.sids
);
9121 if (flags
& NDR_OUT
) {
9122 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9123 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
9125 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9126 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
9127 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
9128 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
9129 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9131 return NDR_ERR_SUCCESS
;
9134 _PUBLIC_
void ndr_print_lsa_EnumAccountsWithUserRight(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumAccountsWithUserRight
*r
)
9136 ndr_print_struct(ndr
, name
, "lsa_EnumAccountsWithUserRight");
9138 if (flags
& NDR_SET_VALUES
) {
9139 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9141 if (flags
& NDR_IN
) {
9142 ndr_print_struct(ndr
, "in", "lsa_EnumAccountsWithUserRight");
9144 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9146 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9148 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9151 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9156 if (flags
& NDR_OUT
) {
9157 ndr_print_struct(ndr
, "out", "lsa_EnumAccountsWithUserRight");
9159 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
9161 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
9163 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9169 static enum ndr_err_code
ndr_push_lsa_EnumAccountRights(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumAccountRights
*r
)
9171 if (flags
& NDR_IN
) {
9172 if (r
->in
.handle
== NULL
) {
9173 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9175 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9176 if (r
->in
.sid
== NULL
) {
9177 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9179 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9181 if (flags
& NDR_OUT
) {
9182 if (r
->out
.rights
== NULL
) {
9183 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9185 NDR_CHECK(ndr_push_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rights
));
9186 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9188 return NDR_ERR_SUCCESS
;
9191 static enum ndr_err_code
ndr_pull_lsa_EnumAccountRights(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumAccountRights
*r
)
9193 TALLOC_CTX
*_mem_save_handle_0
;
9194 TALLOC_CTX
*_mem_save_sid_0
;
9195 TALLOC_CTX
*_mem_save_rights_0
;
9196 if (flags
& NDR_IN
) {
9197 ZERO_STRUCT(r
->out
);
9199 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9200 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9202 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9203 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9204 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9205 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9206 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9207 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
9209 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9210 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
9211 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9212 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9213 NDR_PULL_ALLOC(ndr
, r
->out
.rights
);
9214 ZERO_STRUCTP(r
->out
.rights
);
9216 if (flags
& NDR_OUT
) {
9217 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9218 NDR_PULL_ALLOC(ndr
, r
->out
.rights
);
9220 _mem_save_rights_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9221 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rights
, LIBNDR_FLAG_REF_ALLOC
);
9222 NDR_CHECK(ndr_pull_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rights
));
9223 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rights_0
, LIBNDR_FLAG_REF_ALLOC
);
9224 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9226 return NDR_ERR_SUCCESS
;
9229 _PUBLIC_
void ndr_print_lsa_EnumAccountRights(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumAccountRights
*r
)
9231 ndr_print_struct(ndr
, name
, "lsa_EnumAccountRights");
9233 if (flags
& NDR_SET_VALUES
) {
9234 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9236 if (flags
& NDR_IN
) {
9237 ndr_print_struct(ndr
, "in", "lsa_EnumAccountRights");
9239 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9241 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9243 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
9245 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
9249 if (flags
& NDR_OUT
) {
9250 ndr_print_struct(ndr
, "out", "lsa_EnumAccountRights");
9252 ndr_print_ptr(ndr
, "rights", r
->out
.rights
);
9254 ndr_print_lsa_RightSet(ndr
, "rights", r
->out
.rights
);
9256 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9262 static enum ndr_err_code
ndr_push_lsa_AddAccountRights(struct ndr_push
*ndr
, int flags
, const struct lsa_AddAccountRights
*r
)
9264 if (flags
& NDR_IN
) {
9265 if (r
->in
.handle
== NULL
) {
9266 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9268 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9269 if (r
->in
.sid
== NULL
) {
9270 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9272 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9273 if (r
->in
.rights
== NULL
) {
9274 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9276 NDR_CHECK(ndr_push_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
9278 if (flags
& NDR_OUT
) {
9279 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9281 return NDR_ERR_SUCCESS
;
9284 static enum ndr_err_code
ndr_pull_lsa_AddAccountRights(struct ndr_pull
*ndr
, int flags
, struct lsa_AddAccountRights
*r
)
9286 TALLOC_CTX
*_mem_save_handle_0
;
9287 TALLOC_CTX
*_mem_save_sid_0
;
9288 TALLOC_CTX
*_mem_save_rights_0
;
9289 if (flags
& NDR_IN
) {
9290 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9291 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9293 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9294 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9295 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9296 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9297 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9298 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
9300 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9301 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
9302 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9303 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9304 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9305 NDR_PULL_ALLOC(ndr
, r
->in
.rights
);
9307 _mem_save_rights_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9308 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rights
, LIBNDR_FLAG_REF_ALLOC
);
9309 NDR_CHECK(ndr_pull_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
9310 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rights_0
, LIBNDR_FLAG_REF_ALLOC
);
9312 if (flags
& NDR_OUT
) {
9313 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9315 return NDR_ERR_SUCCESS
;
9318 _PUBLIC_
void ndr_print_lsa_AddAccountRights(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_AddAccountRights
*r
)
9320 ndr_print_struct(ndr
, name
, "lsa_AddAccountRights");
9322 if (flags
& NDR_SET_VALUES
) {
9323 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9325 if (flags
& NDR_IN
) {
9326 ndr_print_struct(ndr
, "in", "lsa_AddAccountRights");
9328 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9330 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9332 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
9334 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
9336 ndr_print_ptr(ndr
, "rights", r
->in
.rights
);
9338 ndr_print_lsa_RightSet(ndr
, "rights", r
->in
.rights
);
9342 if (flags
& NDR_OUT
) {
9343 ndr_print_struct(ndr
, "out", "lsa_AddAccountRights");
9345 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9351 static enum ndr_err_code
ndr_push_lsa_RemoveAccountRights(struct ndr_push
*ndr
, int flags
, const struct lsa_RemoveAccountRights
*r
)
9353 if (flags
& NDR_IN
) {
9354 if (r
->in
.handle
== NULL
) {
9355 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9357 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9358 if (r
->in
.sid
== NULL
) {
9359 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9361 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9362 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.remove_all
));
9363 if (r
->in
.rights
== NULL
) {
9364 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9366 NDR_CHECK(ndr_push_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
9368 if (flags
& NDR_OUT
) {
9369 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9371 return NDR_ERR_SUCCESS
;
9374 static enum ndr_err_code
ndr_pull_lsa_RemoveAccountRights(struct ndr_pull
*ndr
, int flags
, struct lsa_RemoveAccountRights
*r
)
9376 TALLOC_CTX
*_mem_save_handle_0
;
9377 TALLOC_CTX
*_mem_save_sid_0
;
9378 TALLOC_CTX
*_mem_save_rights_0
;
9379 if (flags
& NDR_IN
) {
9380 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9381 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9383 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9384 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9385 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9386 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9387 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9388 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
9390 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9391 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
9392 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
9393 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9394 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.remove_all
));
9395 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9396 NDR_PULL_ALLOC(ndr
, r
->in
.rights
);
9398 _mem_save_rights_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9399 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rights
, LIBNDR_FLAG_REF_ALLOC
);
9400 NDR_CHECK(ndr_pull_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
9401 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rights_0
, LIBNDR_FLAG_REF_ALLOC
);
9403 if (flags
& NDR_OUT
) {
9404 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9406 return NDR_ERR_SUCCESS
;
9409 _PUBLIC_
void ndr_print_lsa_RemoveAccountRights(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_RemoveAccountRights
*r
)
9411 ndr_print_struct(ndr
, name
, "lsa_RemoveAccountRights");
9413 if (flags
& NDR_SET_VALUES
) {
9414 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9416 if (flags
& NDR_IN
) {
9417 ndr_print_struct(ndr
, "in", "lsa_RemoveAccountRights");
9419 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9421 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9423 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
9425 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
9427 ndr_print_uint8(ndr
, "remove_all", r
->in
.remove_all
);
9428 ndr_print_ptr(ndr
, "rights", r
->in
.rights
);
9430 ndr_print_lsa_RightSet(ndr
, "rights", r
->in
.rights
);
9434 if (flags
& NDR_OUT
) {
9435 ndr_print_struct(ndr
, "out", "lsa_RemoveAccountRights");
9437 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9443 static enum ndr_err_code
ndr_push_lsa_QueryTrustedDomainInfoBySid(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryTrustedDomainInfoBySid
*r
)
9445 if (flags
& NDR_IN
) {
9446 if (r
->in
.handle
== NULL
) {
9447 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9449 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9450 if (r
->in
.dom_sid
== NULL
) {
9451 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9453 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9454 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
9456 if (flags
& NDR_OUT
) {
9457 if (r
->out
.info
== NULL
) {
9458 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9460 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9462 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9463 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9465 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9467 return NDR_ERR_SUCCESS
;
9470 static enum ndr_err_code
ndr_pull_lsa_QueryTrustedDomainInfoBySid(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryTrustedDomainInfoBySid
*r
)
9473 TALLOC_CTX
*_mem_save_handle_0
;
9474 TALLOC_CTX
*_mem_save_dom_sid_0
;
9475 TALLOC_CTX
*_mem_save_info_0
;
9476 TALLOC_CTX
*_mem_save_info_1
;
9477 if (flags
& NDR_IN
) {
9478 ZERO_STRUCT(r
->out
);
9480 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9481 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9483 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9484 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9485 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9486 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9487 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9488 NDR_PULL_ALLOC(ndr
, r
->in
.dom_sid
);
9490 _mem_save_dom_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9491 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_sid
, LIBNDR_FLAG_REF_ALLOC
);
9492 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9493 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9494 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
9495 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9496 ZERO_STRUCTP(r
->out
.info
);
9498 if (flags
& NDR_OUT
) {
9499 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9500 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9502 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9503 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9504 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9506 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9508 *r
->out
.info
= NULL
;
9511 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9512 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9513 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9514 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9515 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9517 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9518 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9520 return NDR_ERR_SUCCESS
;
9523 _PUBLIC_
void ndr_print_lsa_QueryTrustedDomainInfoBySid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryTrustedDomainInfoBySid
*r
)
9525 ndr_print_struct(ndr
, name
, "lsa_QueryTrustedDomainInfoBySid");
9527 if (flags
& NDR_SET_VALUES
) {
9528 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9530 if (flags
& NDR_IN
) {
9531 ndr_print_struct(ndr
, "in", "lsa_QueryTrustedDomainInfoBySid");
9533 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9535 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9537 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
9539 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
9541 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
9544 if (flags
& NDR_OUT
) {
9545 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfoBySid");
9547 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9549 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9552 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9553 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", *r
->out
.info
);
9557 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9563 static enum ndr_err_code
ndr_push_lsa_SetTrustedDomainInfo(struct ndr_push
*ndr
, int flags
, const struct lsa_SetTrustedDomainInfo
*r
)
9565 if (flags
& NDR_IN
) {
9566 if (r
->in
.handle
== NULL
) {
9567 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9569 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9570 if (r
->in
.dom_sid
== NULL
) {
9571 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9573 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9574 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
9575 if (r
->in
.info
== NULL
) {
9576 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9578 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9579 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9581 if (flags
& NDR_OUT
) {
9582 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9584 return NDR_ERR_SUCCESS
;
9587 static enum ndr_err_code
ndr_pull_lsa_SetTrustedDomainInfo(struct ndr_pull
*ndr
, int flags
, struct lsa_SetTrustedDomainInfo
*r
)
9589 TALLOC_CTX
*_mem_save_handle_0
;
9590 TALLOC_CTX
*_mem_save_dom_sid_0
;
9591 TALLOC_CTX
*_mem_save_info_0
;
9592 if (flags
& NDR_IN
) {
9593 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9594 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9596 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9597 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9598 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9599 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9600 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9601 NDR_PULL_ALLOC(ndr
, r
->in
.dom_sid
);
9603 _mem_save_dom_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9604 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_sid
, LIBNDR_FLAG_REF_ALLOC
);
9605 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9606 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9607 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
9608 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9609 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
9611 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9612 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
9613 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9614 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9615 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9617 if (flags
& NDR_OUT
) {
9618 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9620 return NDR_ERR_SUCCESS
;
9623 _PUBLIC_
void ndr_print_lsa_SetTrustedDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetTrustedDomainInfo
*r
)
9625 ndr_print_struct(ndr
, name
, "lsa_SetTrustedDomainInfo");
9627 if (flags
& NDR_SET_VALUES
) {
9628 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9630 if (flags
& NDR_IN
) {
9631 ndr_print_struct(ndr
, "in", "lsa_SetTrustedDomainInfo");
9633 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9635 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9637 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
9639 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
9641 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
9642 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9644 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9645 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
9649 if (flags
& NDR_OUT
) {
9650 ndr_print_struct(ndr
, "out", "lsa_SetTrustedDomainInfo");
9652 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9658 static enum ndr_err_code
ndr_push_lsa_DeleteTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_DeleteTrustedDomain
*r
)
9660 if (flags
& NDR_IN
) {
9661 if (r
->in
.handle
== NULL
) {
9662 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9664 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9665 if (r
->in
.dom_sid
== NULL
) {
9666 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9668 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9670 if (flags
& NDR_OUT
) {
9671 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9673 return NDR_ERR_SUCCESS
;
9676 static enum ndr_err_code
ndr_pull_lsa_DeleteTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_DeleteTrustedDomain
*r
)
9678 TALLOC_CTX
*_mem_save_handle_0
;
9679 TALLOC_CTX
*_mem_save_dom_sid_0
;
9680 if (flags
& NDR_IN
) {
9681 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9682 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9684 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9685 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9686 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9687 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9688 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9689 NDR_PULL_ALLOC(ndr
, r
->in
.dom_sid
);
9691 _mem_save_dom_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9692 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_sid
, LIBNDR_FLAG_REF_ALLOC
);
9693 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9694 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9696 if (flags
& NDR_OUT
) {
9697 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9699 return NDR_ERR_SUCCESS
;
9702 _PUBLIC_
void ndr_print_lsa_DeleteTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_DeleteTrustedDomain
*r
)
9704 ndr_print_struct(ndr
, name
, "lsa_DeleteTrustedDomain");
9706 if (flags
& NDR_SET_VALUES
) {
9707 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9709 if (flags
& NDR_IN
) {
9710 ndr_print_struct(ndr
, "in", "lsa_DeleteTrustedDomain");
9712 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9714 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9716 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
9718 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
9722 if (flags
& NDR_OUT
) {
9723 ndr_print_struct(ndr
, "out", "lsa_DeleteTrustedDomain");
9725 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9731 static enum ndr_err_code
ndr_push_lsa_StorePrivateData(struct ndr_push
*ndr
, int flags
, const struct lsa_StorePrivateData
*r
)
9733 if (flags
& NDR_IN
) {
9734 if (r
->in
.handle
== NULL
) {
9735 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9737 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9738 if (r
->in
.name
== NULL
) {
9739 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9741 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9742 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.val
));
9744 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.val
));
9747 if (flags
& NDR_OUT
) {
9748 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9750 return NDR_ERR_SUCCESS
;
9753 static enum ndr_err_code
ndr_pull_lsa_StorePrivateData(struct ndr_pull
*ndr
, int flags
, struct lsa_StorePrivateData
*r
)
9756 TALLOC_CTX
*_mem_save_handle_0
;
9757 TALLOC_CTX
*_mem_save_name_0
;
9758 TALLOC_CTX
*_mem_save_val_0
;
9759 if (flags
& NDR_IN
) {
9760 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9761 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9763 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9764 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9765 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9766 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9767 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9768 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
9770 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9771 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
9772 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9773 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
9774 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_val
));
9776 NDR_PULL_ALLOC(ndr
, r
->in
.val
);
9781 _mem_save_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9782 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.val
, 0);
9783 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.val
));
9784 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_val_0
, 0);
9787 if (flags
& NDR_OUT
) {
9788 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9790 return NDR_ERR_SUCCESS
;
9793 _PUBLIC_
void ndr_print_lsa_StorePrivateData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_StorePrivateData
*r
)
9795 ndr_print_struct(ndr
, name
, "lsa_StorePrivateData");
9797 if (flags
& NDR_SET_VALUES
) {
9798 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9800 if (flags
& NDR_IN
) {
9801 ndr_print_struct(ndr
, "in", "lsa_StorePrivateData");
9803 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9805 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9807 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9809 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9811 ndr_print_ptr(ndr
, "val", r
->in
.val
);
9814 ndr_print_lsa_DATA_BUF(ndr
, "val", r
->in
.val
);
9819 if (flags
& NDR_OUT
) {
9820 ndr_print_struct(ndr
, "out", "lsa_StorePrivateData");
9822 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9828 static enum ndr_err_code
ndr_push_lsa_RetrievePrivateData(struct ndr_push
*ndr
, int flags
, const struct lsa_RetrievePrivateData
*r
)
9830 if (flags
& NDR_IN
) {
9831 if (r
->in
.handle
== NULL
) {
9832 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9834 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9835 if (r
->in
.name
== NULL
) {
9836 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9838 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9839 if (r
->in
.val
== NULL
) {
9840 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9842 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->in
.val
));
9844 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.val
));
9847 if (flags
& NDR_OUT
) {
9848 if (r
->out
.val
== NULL
) {
9849 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9851 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.val
));
9853 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.val
));
9855 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9857 return NDR_ERR_SUCCESS
;
9860 static enum ndr_err_code
ndr_pull_lsa_RetrievePrivateData(struct ndr_pull
*ndr
, int flags
, struct lsa_RetrievePrivateData
*r
)
9863 TALLOC_CTX
*_mem_save_handle_0
;
9864 TALLOC_CTX
*_mem_save_name_0
;
9865 TALLOC_CTX
*_mem_save_val_0
;
9866 TALLOC_CTX
*_mem_save_val_1
;
9867 if (flags
& NDR_IN
) {
9868 ZERO_STRUCT(r
->out
);
9870 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9871 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9873 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9874 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9875 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9876 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9877 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9878 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
9880 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9881 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
9882 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
9883 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
9884 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9885 NDR_PULL_ALLOC(ndr
, r
->in
.val
);
9887 _mem_save_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9888 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.val
, LIBNDR_FLAG_REF_ALLOC
);
9889 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_val
));
9891 NDR_PULL_ALLOC(ndr
, *r
->in
.val
);
9896 _mem_save_val_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9897 NDR_PULL_SET_MEM_CTX(ndr
, *r
->in
.val
, 0);
9898 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.val
));
9899 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_val_1
, 0);
9901 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_val_0
, LIBNDR_FLAG_REF_ALLOC
);
9902 NDR_PULL_ALLOC(ndr
, r
->out
.val
);
9903 *r
->out
.val
= *r
->in
.val
;
9905 if (flags
& NDR_OUT
) {
9906 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9907 NDR_PULL_ALLOC(ndr
, r
->out
.val
);
9909 _mem_save_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9910 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.val
, LIBNDR_FLAG_REF_ALLOC
);
9911 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_val
));
9913 NDR_PULL_ALLOC(ndr
, *r
->out
.val
);
9918 _mem_save_val_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9919 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.val
, 0);
9920 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.val
));
9921 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_val_1
, 0);
9923 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_val_0
, LIBNDR_FLAG_REF_ALLOC
);
9924 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9926 return NDR_ERR_SUCCESS
;
9929 _PUBLIC_
void ndr_print_lsa_RetrievePrivateData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_RetrievePrivateData
*r
)
9931 ndr_print_struct(ndr
, name
, "lsa_RetrievePrivateData");
9933 if (flags
& NDR_SET_VALUES
) {
9934 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9936 if (flags
& NDR_IN
) {
9937 ndr_print_struct(ndr
, "in", "lsa_RetrievePrivateData");
9939 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9941 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9943 ndr_print_ptr(ndr
, "name", r
->in
.name
);
9945 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
9947 ndr_print_ptr(ndr
, "val", r
->in
.val
);
9949 ndr_print_ptr(ndr
, "val", *r
->in
.val
);
9952 ndr_print_lsa_DATA_BUF(ndr
, "val", *r
->in
.val
);
9958 if (flags
& NDR_OUT
) {
9959 ndr_print_struct(ndr
, "out", "lsa_RetrievePrivateData");
9961 ndr_print_ptr(ndr
, "val", r
->out
.val
);
9963 ndr_print_ptr(ndr
, "val", *r
->out
.val
);
9966 ndr_print_lsa_DATA_BUF(ndr
, "val", *r
->out
.val
);
9970 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9976 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_OpenPolicy2(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenPolicy2
*r
)
9978 if (flags
& NDR_IN
) {
9979 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
9980 if (r
->in
.system_name
) {
9981 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
9982 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9983 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
9984 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
));
9986 if (r
->in
.attr
== NULL
) {
9987 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9989 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
9990 NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
9992 if (flags
& NDR_OUT
) {
9993 if (r
->out
.handle
== NULL
) {
9994 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9996 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
9997 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9999 return NDR_ERR_SUCCESS
;
10002 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_OpenPolicy2(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenPolicy2
*r
)
10004 uint32_t _ptr_system_name
;
10005 TALLOC_CTX
*_mem_save_system_name_0
;
10006 TALLOC_CTX
*_mem_save_attr_0
;
10007 TALLOC_CTX
*_mem_save_handle_0
;
10008 if (flags
& NDR_IN
) {
10009 ZERO_STRUCT(r
->out
);
10011 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
10012 if (_ptr_system_name
) {
10013 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
10015 r
->in
.system_name
= NULL
;
10017 if (r
->in
.system_name
) {
10018 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10019 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
10020 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
10021 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
10022 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
10023 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
10025 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
10026 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
10027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
10029 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10030 NDR_PULL_ALLOC(ndr
, r
->in
.attr
);
10032 _mem_save_attr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10033 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.attr
, LIBNDR_FLAG_REF_ALLOC
);
10034 NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
10035 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attr_0
, LIBNDR_FLAG_REF_ALLOC
);
10036 NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10037 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
10038 ZERO_STRUCTP(r
->out
.handle
);
10040 if (flags
& NDR_OUT
) {
10041 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10042 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
10044 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10045 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10046 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
10047 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10048 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10050 return NDR_ERR_SUCCESS
;
10053 _PUBLIC_
void ndr_print_lsa_OpenPolicy2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenPolicy2
*r
)
10055 ndr_print_struct(ndr
, name
, "lsa_OpenPolicy2");
10057 if (flags
& NDR_SET_VALUES
) {
10058 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10060 if (flags
& NDR_IN
) {
10061 ndr_print_struct(ndr
, "in", "lsa_OpenPolicy2");
10063 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
10065 if (r
->in
.system_name
) {
10066 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
10069 ndr_print_ptr(ndr
, "attr", r
->in
.attr
);
10071 ndr_print_lsa_ObjectAttribute(ndr
, "attr", r
->in
.attr
);
10073 ndr_print_lsa_PolicyAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
10076 if (flags
& NDR_OUT
) {
10077 ndr_print_struct(ndr
, "out", "lsa_OpenPolicy2");
10079 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
10081 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
10083 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10089 static enum ndr_err_code
ndr_push_lsa_GetUserName(struct ndr_push
*ndr
, int flags
, const struct lsa_GetUserName
*r
)
10091 if (flags
& NDR_IN
) {
10092 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
10093 if (r
->in
.system_name
) {
10094 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
10095 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10096 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
10097 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
));
10099 if (r
->in
.account_name
== NULL
) {
10100 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10102 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->in
.account_name
));
10103 if (*r
->in
.account_name
) {
10104 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.account_name
));
10106 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.authority_name
));
10107 if (r
->in
.authority_name
) {
10108 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->in
.authority_name
));
10109 if (*r
->in
.authority_name
) {
10110 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.authority_name
));
10114 if (flags
& NDR_OUT
) {
10115 if (r
->out
.account_name
== NULL
) {
10116 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10118 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.account_name
));
10119 if (*r
->out
.account_name
) {
10120 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.account_name
));
10122 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.authority_name
));
10123 if (r
->out
.authority_name
) {
10124 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.authority_name
));
10125 if (*r
->out
.authority_name
) {
10126 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.authority_name
));
10129 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10131 return NDR_ERR_SUCCESS
;
10134 static enum ndr_err_code
ndr_pull_lsa_GetUserName(struct ndr_pull
*ndr
, int flags
, struct lsa_GetUserName
*r
)
10136 uint32_t _ptr_system_name
;
10137 uint32_t _ptr_account_name
;
10138 uint32_t _ptr_authority_name
;
10139 TALLOC_CTX
*_mem_save_system_name_0
;
10140 TALLOC_CTX
*_mem_save_account_name_0
;
10141 TALLOC_CTX
*_mem_save_account_name_1
;
10142 TALLOC_CTX
*_mem_save_authority_name_0
;
10143 TALLOC_CTX
*_mem_save_authority_name_1
;
10144 if (flags
& NDR_IN
) {
10145 ZERO_STRUCT(r
->out
);
10147 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
10148 if (_ptr_system_name
) {
10149 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
10151 r
->in
.system_name
= NULL
;
10153 if (r
->in
.system_name
) {
10154 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10155 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
10156 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
10157 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
10158 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
10159 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->in
.system_name
), ndr_get_array_length(ndr
, &r
->in
.system_name
));
10161 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
10162 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.system_name
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t), CH_UTF16
));
10163 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
10165 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10166 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
10168 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10169 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
10170 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_account_name
));
10171 if (_ptr_account_name
) {
10172 NDR_PULL_ALLOC(ndr
, *r
->in
.account_name
);
10174 *r
->in
.account_name
= NULL
;
10176 if (*r
->in
.account_name
) {
10177 _mem_save_account_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10178 NDR_PULL_SET_MEM_CTX(ndr
, *r
->in
.account_name
, 0);
10179 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.account_name
));
10180 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_1
, 0);
10182 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10183 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
10184 if (_ptr_authority_name
) {
10185 NDR_PULL_ALLOC(ndr
, r
->in
.authority_name
);
10187 r
->in
.authority_name
= NULL
;
10189 if (r
->in
.authority_name
) {
10190 _mem_save_authority_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10191 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.authority_name
, 0);
10192 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
10193 if (_ptr_authority_name
) {
10194 NDR_PULL_ALLOC(ndr
, *r
->in
.authority_name
);
10196 *r
->in
.authority_name
= NULL
;
10198 if (*r
->in
.authority_name
) {
10199 _mem_save_authority_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10200 NDR_PULL_SET_MEM_CTX(ndr
, *r
->in
.authority_name
, 0);
10201 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.authority_name
));
10202 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_1
, 0);
10204 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_0
, 0);
10206 NDR_PULL_ALLOC(ndr
, r
->out
.account_name
);
10207 *r
->out
.account_name
= *r
->in
.account_name
;
10209 if (flags
& NDR_OUT
) {
10210 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10211 NDR_PULL_ALLOC(ndr
, r
->out
.account_name
);
10213 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10214 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
10215 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_account_name
));
10216 if (_ptr_account_name
) {
10217 NDR_PULL_ALLOC(ndr
, *r
->out
.account_name
);
10219 *r
->out
.account_name
= NULL
;
10221 if (*r
->out
.account_name
) {
10222 _mem_save_account_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10223 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.account_name
, 0);
10224 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.account_name
));
10225 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_1
, 0);
10227 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
10228 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
10229 if (_ptr_authority_name
) {
10230 NDR_PULL_ALLOC(ndr
, r
->out
.authority_name
);
10232 r
->out
.authority_name
= NULL
;
10234 if (r
->out
.authority_name
) {
10235 _mem_save_authority_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10236 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.authority_name
, 0);
10237 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
10238 if (_ptr_authority_name
) {
10239 NDR_PULL_ALLOC(ndr
, *r
->out
.authority_name
);
10241 *r
->out
.authority_name
= NULL
;
10243 if (*r
->out
.authority_name
) {
10244 _mem_save_authority_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10245 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.authority_name
, 0);
10246 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.authority_name
));
10247 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_1
, 0);
10249 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_0
, 0);
10251 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10253 return NDR_ERR_SUCCESS
;
10256 _PUBLIC_
void ndr_print_lsa_GetUserName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_GetUserName
*r
)
10258 ndr_print_struct(ndr
, name
, "lsa_GetUserName");
10260 if (flags
& NDR_SET_VALUES
) {
10261 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10263 if (flags
& NDR_IN
) {
10264 ndr_print_struct(ndr
, "in", "lsa_GetUserName");
10266 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
10268 if (r
->in
.system_name
) {
10269 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
10272 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
10274 ndr_print_ptr(ndr
, "account_name", *r
->in
.account_name
);
10276 if (*r
->in
.account_name
) {
10277 ndr_print_lsa_String(ndr
, "account_name", *r
->in
.account_name
);
10281 ndr_print_ptr(ndr
, "authority_name", r
->in
.authority_name
);
10283 if (r
->in
.authority_name
) {
10284 ndr_print_ptr(ndr
, "authority_name", *r
->in
.authority_name
);
10286 if (*r
->in
.authority_name
) {
10287 ndr_print_lsa_String(ndr
, "authority_name", *r
->in
.authority_name
);
10294 if (flags
& NDR_OUT
) {
10295 ndr_print_struct(ndr
, "out", "lsa_GetUserName");
10297 ndr_print_ptr(ndr
, "account_name", r
->out
.account_name
);
10299 ndr_print_ptr(ndr
, "account_name", *r
->out
.account_name
);
10301 if (*r
->out
.account_name
) {
10302 ndr_print_lsa_String(ndr
, "account_name", *r
->out
.account_name
);
10306 ndr_print_ptr(ndr
, "authority_name", r
->out
.authority_name
);
10308 if (r
->out
.authority_name
) {
10309 ndr_print_ptr(ndr
, "authority_name", *r
->out
.authority_name
);
10311 if (*r
->out
.authority_name
) {
10312 ndr_print_lsa_String(ndr
, "authority_name", *r
->out
.authority_name
);
10317 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10323 static enum ndr_err_code
ndr_push_lsa_QueryInfoPolicy2(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryInfoPolicy2
*r
)
10325 if (flags
& NDR_IN
) {
10326 if (r
->in
.handle
== NULL
) {
10327 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10329 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10330 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
10332 if (flags
& NDR_OUT
) {
10333 if (r
->out
.info
== NULL
) {
10334 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10336 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
10337 if (*r
->out
.info
) {
10338 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10339 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10341 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10343 return NDR_ERR_SUCCESS
;
10346 static enum ndr_err_code
ndr_pull_lsa_QueryInfoPolicy2(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryInfoPolicy2
*r
)
10348 uint32_t _ptr_info
;
10349 TALLOC_CTX
*_mem_save_handle_0
;
10350 TALLOC_CTX
*_mem_save_info_0
;
10351 TALLOC_CTX
*_mem_save_info_1
;
10352 if (flags
& NDR_IN
) {
10353 ZERO_STRUCT(r
->out
);
10355 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10356 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10358 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10359 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10360 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10361 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10362 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
10363 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10364 ZERO_STRUCTP(r
->out
.info
);
10366 if (flags
& NDR_OUT
) {
10367 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10368 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10370 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10371 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10372 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
10374 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
10376 *r
->out
.info
= NULL
;
10378 if (*r
->out
.info
) {
10379 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10380 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
10381 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10382 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10383 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
10385 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10386 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10388 return NDR_ERR_SUCCESS
;
10391 _PUBLIC_
void ndr_print_lsa_QueryInfoPolicy2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryInfoPolicy2
*r
)
10393 ndr_print_struct(ndr
, name
, "lsa_QueryInfoPolicy2");
10395 if (flags
& NDR_SET_VALUES
) {
10396 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10398 if (flags
& NDR_IN
) {
10399 ndr_print_struct(ndr
, "in", "lsa_QueryInfoPolicy2");
10401 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10403 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10405 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
10408 if (flags
& NDR_OUT
) {
10409 ndr_print_struct(ndr
, "out", "lsa_QueryInfoPolicy2");
10411 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10413 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
10415 if (*r
->out
.info
) {
10416 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
10417 ndr_print_lsa_PolicyInformation(ndr
, "info", *r
->out
.info
);
10421 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10427 static enum ndr_err_code
ndr_push_lsa_SetInfoPolicy2(struct ndr_push
*ndr
, int flags
, const struct lsa_SetInfoPolicy2
*r
)
10429 if (flags
& NDR_IN
) {
10430 if (r
->in
.handle
== NULL
) {
10431 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10433 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10434 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
10435 if (r
->in
.info
== NULL
) {
10436 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10438 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
10439 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10441 if (flags
& NDR_OUT
) {
10442 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10444 return NDR_ERR_SUCCESS
;
10447 static enum ndr_err_code
ndr_pull_lsa_SetInfoPolicy2(struct ndr_pull
*ndr
, int flags
, struct lsa_SetInfoPolicy2
*r
)
10449 TALLOC_CTX
*_mem_save_handle_0
;
10450 TALLOC_CTX
*_mem_save_info_0
;
10451 if (flags
& NDR_IN
) {
10452 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10453 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10455 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10456 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10457 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10458 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10459 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
10460 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10461 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
10463 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10464 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
10465 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
10466 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10467 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10469 if (flags
& NDR_OUT
) {
10470 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10472 return NDR_ERR_SUCCESS
;
10475 _PUBLIC_
void ndr_print_lsa_SetInfoPolicy2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetInfoPolicy2
*r
)
10477 ndr_print_struct(ndr
, name
, "lsa_SetInfoPolicy2");
10479 if (flags
& NDR_SET_VALUES
) {
10480 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10482 if (flags
& NDR_IN
) {
10483 ndr_print_struct(ndr
, "in", "lsa_SetInfoPolicy2");
10485 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10487 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10489 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
10490 ndr_print_ptr(ndr
, "info", r
->in
.info
);
10492 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
10493 ndr_print_lsa_PolicyInformation(ndr
, "info", r
->in
.info
);
10497 if (flags
& NDR_OUT
) {
10498 ndr_print_struct(ndr
, "out", "lsa_SetInfoPolicy2");
10500 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10506 static enum ndr_err_code
ndr_push_lsa_QueryTrustedDomainInfoByName(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryTrustedDomainInfoByName
*r
)
10508 if (flags
& NDR_IN
) {
10509 if (r
->in
.handle
== NULL
) {
10510 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10512 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10513 if (r
->in
.trusted_domain
== NULL
) {
10514 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10516 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain
));
10517 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
10519 if (flags
& NDR_OUT
) {
10520 if (r
->out
.info
== NULL
) {
10521 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10523 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
10524 if (*r
->out
.info
) {
10525 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10526 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10528 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10530 return NDR_ERR_SUCCESS
;
10533 static enum ndr_err_code
ndr_pull_lsa_QueryTrustedDomainInfoByName(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryTrustedDomainInfoByName
*r
)
10535 uint32_t _ptr_info
;
10536 TALLOC_CTX
*_mem_save_handle_0
;
10537 TALLOC_CTX
*_mem_save_trusted_domain_0
;
10538 TALLOC_CTX
*_mem_save_info_0
;
10539 TALLOC_CTX
*_mem_save_info_1
;
10540 if (flags
& NDR_IN
) {
10541 ZERO_STRUCT(r
->out
);
10543 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10544 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10546 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10547 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10548 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10549 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10550 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10551 NDR_PULL_ALLOC(ndr
, r
->in
.trusted_domain
);
10553 _mem_save_trusted_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10554 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trusted_domain
, LIBNDR_FLAG_REF_ALLOC
);
10555 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain
));
10556 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trusted_domain_0
, LIBNDR_FLAG_REF_ALLOC
);
10557 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
10558 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10559 ZERO_STRUCTP(r
->out
.info
);
10561 if (flags
& NDR_OUT
) {
10562 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10563 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10565 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10566 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10567 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
10569 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
10571 *r
->out
.info
= NULL
;
10573 if (*r
->out
.info
) {
10574 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10575 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
10576 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10577 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10578 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
10580 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10581 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10583 return NDR_ERR_SUCCESS
;
10586 _PUBLIC_
void ndr_print_lsa_QueryTrustedDomainInfoByName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryTrustedDomainInfoByName
*r
)
10588 ndr_print_struct(ndr
, name
, "lsa_QueryTrustedDomainInfoByName");
10590 if (flags
& NDR_SET_VALUES
) {
10591 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10593 if (flags
& NDR_IN
) {
10594 ndr_print_struct(ndr
, "in", "lsa_QueryTrustedDomainInfoByName");
10596 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10598 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10600 ndr_print_ptr(ndr
, "trusted_domain", r
->in
.trusted_domain
);
10602 ndr_print_lsa_String(ndr
, "trusted_domain", r
->in
.trusted_domain
);
10604 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
10607 if (flags
& NDR_OUT
) {
10608 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfoByName");
10610 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10612 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
10614 if (*r
->out
.info
) {
10615 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
10616 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", *r
->out
.info
);
10620 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10626 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SetTrustedDomainInfoByName(struct ndr_push
*ndr
, int flags
, const struct lsa_SetTrustedDomainInfoByName
*r
)
10628 if (flags
& NDR_IN
) {
10629 if (r
->in
.handle
== NULL
) {
10630 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10632 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10633 if (r
->in
.trusted_domain
== NULL
) {
10634 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10636 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain
));
10637 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
10638 if (r
->in
.info
== NULL
) {
10639 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10641 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
10642 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10644 if (flags
& NDR_OUT
) {
10645 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10647 return NDR_ERR_SUCCESS
;
10650 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SetTrustedDomainInfoByName(struct ndr_pull
*ndr
, int flags
, struct lsa_SetTrustedDomainInfoByName
*r
)
10652 TALLOC_CTX
*_mem_save_handle_0
;
10653 TALLOC_CTX
*_mem_save_trusted_domain_0
;
10654 TALLOC_CTX
*_mem_save_info_0
;
10655 if (flags
& NDR_IN
) {
10656 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10657 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10659 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10660 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10661 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10662 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10663 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10664 NDR_PULL_ALLOC(ndr
, r
->in
.trusted_domain
);
10666 _mem_save_trusted_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10667 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trusted_domain
, LIBNDR_FLAG_REF_ALLOC
);
10668 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain
));
10669 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trusted_domain_0
, LIBNDR_FLAG_REF_ALLOC
);
10670 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
10671 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10672 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
10674 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10675 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
10676 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
10677 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10678 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10680 if (flags
& NDR_OUT
) {
10681 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10683 return NDR_ERR_SUCCESS
;
10686 _PUBLIC_
void ndr_print_lsa_SetTrustedDomainInfoByName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetTrustedDomainInfoByName
*r
)
10688 ndr_print_struct(ndr
, name
, "lsa_SetTrustedDomainInfoByName");
10690 if (flags
& NDR_SET_VALUES
) {
10691 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10693 if (flags
& NDR_IN
) {
10694 ndr_print_struct(ndr
, "in", "lsa_SetTrustedDomainInfoByName");
10696 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10698 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10700 ndr_print_ptr(ndr
, "trusted_domain", r
->in
.trusted_domain
);
10702 ndr_print_lsa_String(ndr
, "trusted_domain", r
->in
.trusted_domain
);
10704 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
10705 ndr_print_ptr(ndr
, "info", r
->in
.info
);
10707 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
10708 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
10712 if (flags
& NDR_OUT
) {
10713 ndr_print_struct(ndr
, "out", "lsa_SetTrustedDomainInfoByName");
10715 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10721 static enum ndr_err_code
ndr_push_lsa_EnumTrustedDomainsEx(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumTrustedDomainsEx
*r
)
10723 if (flags
& NDR_IN
) {
10724 if (r
->in
.handle
== NULL
) {
10725 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10727 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10728 if (r
->in
.resume_handle
== NULL
) {
10729 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10731 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
10732 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
10734 if (flags
& NDR_OUT
) {
10735 if (r
->out
.resume_handle
== NULL
) {
10736 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10738 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
10739 if (r
->out
.domains
== NULL
) {
10740 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10742 NDR_CHECK(ndr_push_lsa_DomainListEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
10743 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10745 return NDR_ERR_SUCCESS
;
10748 static enum ndr_err_code
ndr_pull_lsa_EnumTrustedDomainsEx(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumTrustedDomainsEx
*r
)
10750 TALLOC_CTX
*_mem_save_handle_0
;
10751 TALLOC_CTX
*_mem_save_resume_handle_0
;
10752 TALLOC_CTX
*_mem_save_domains_0
;
10753 if (flags
& NDR_IN
) {
10754 ZERO_STRUCT(r
->out
);
10756 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10757 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10759 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10760 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10761 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10762 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10763 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10764 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
10766 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10767 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
10768 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
10769 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10770 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
10771 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
10772 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
10773 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10774 ZERO_STRUCTP(r
->out
.domains
);
10776 if (flags
& NDR_OUT
) {
10777 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10778 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
10780 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10781 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
10782 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
10783 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10784 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10785 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10787 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10788 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
10789 NDR_CHECK(ndr_pull_lsa_DomainListEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
10790 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
10791 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10793 return NDR_ERR_SUCCESS
;
10796 _PUBLIC_
void ndr_print_lsa_EnumTrustedDomainsEx(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumTrustedDomainsEx
*r
)
10798 ndr_print_struct(ndr
, name
, "lsa_EnumTrustedDomainsEx");
10800 if (flags
& NDR_SET_VALUES
) {
10801 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10803 if (flags
& NDR_IN
) {
10804 ndr_print_struct(ndr
, "in", "lsa_EnumTrustedDomainsEx");
10806 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10808 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10810 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
10812 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
10814 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
10817 if (flags
& NDR_OUT
) {
10818 ndr_print_struct(ndr
, "out", "lsa_EnumTrustedDomainsEx");
10820 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
10822 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
10824 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
10826 ndr_print_lsa_DomainListEx(ndr
, "domains", r
->out
.domains
);
10828 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10834 static enum ndr_err_code
ndr_push_lsa_CreateTrustedDomainEx(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateTrustedDomainEx
*r
)
10836 if (flags
& NDR_IN
) {
10837 if (r
->in
.policy_handle
== NULL
) {
10838 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10840 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
10841 if (r
->in
.info
== NULL
) {
10842 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10844 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10845 if (r
->in
.auth_info
== NULL
) {
10846 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10848 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.auth_info
));
10849 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
10851 if (flags
& NDR_OUT
) {
10852 if (r
->out
.trustdom_handle
== NULL
) {
10853 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10855 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
10856 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10858 return NDR_ERR_SUCCESS
;
10861 static enum ndr_err_code
ndr_pull_lsa_CreateTrustedDomainEx(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateTrustedDomainEx
*r
)
10863 TALLOC_CTX
*_mem_save_policy_handle_0
;
10864 TALLOC_CTX
*_mem_save_info_0
;
10865 TALLOC_CTX
*_mem_save_auth_info_0
;
10866 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
10867 if (flags
& NDR_IN
) {
10868 ZERO_STRUCT(r
->out
);
10870 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10871 NDR_PULL_ALLOC(ndr
, r
->in
.policy_handle
);
10873 _mem_save_policy_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10874 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.policy_handle
, LIBNDR_FLAG_REF_ALLOC
);
10875 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
10876 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_policy_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10877 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10878 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
10880 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10881 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
10882 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10883 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10884 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10885 NDR_PULL_ALLOC(ndr
, r
->in
.auth_info
);
10887 _mem_save_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10888 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.auth_info
, LIBNDR_FLAG_REF_ALLOC
);
10889 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.auth_info
));
10890 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_auth_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10891 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10892 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
10893 ZERO_STRUCTP(r
->out
.trustdom_handle
);
10895 if (flags
& NDR_OUT
) {
10896 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10897 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
10899 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10900 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
10901 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
10902 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10903 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10905 return NDR_ERR_SUCCESS
;
10908 _PUBLIC_
void ndr_print_lsa_CreateTrustedDomainEx(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateTrustedDomainEx
*r
)
10910 ndr_print_struct(ndr
, name
, "lsa_CreateTrustedDomainEx");
10912 if (flags
& NDR_SET_VALUES
) {
10913 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10915 if (flags
& NDR_IN
) {
10916 ndr_print_struct(ndr
, "in", "lsa_CreateTrustedDomainEx");
10918 ndr_print_ptr(ndr
, "policy_handle", r
->in
.policy_handle
);
10920 ndr_print_policy_handle(ndr
, "policy_handle", r
->in
.policy_handle
);
10922 ndr_print_ptr(ndr
, "info", r
->in
.info
);
10924 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info", r
->in
.info
);
10926 ndr_print_ptr(ndr
, "auth_info", r
->in
.auth_info
);
10928 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info", r
->in
.auth_info
);
10930 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
10933 if (flags
& NDR_OUT
) {
10934 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomainEx");
10936 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
10938 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
10940 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10946 static enum ndr_err_code
ndr_push_lsa_CloseTrustedDomainEx(struct ndr_push
*ndr
, int flags
, const struct lsa_CloseTrustedDomainEx
*r
)
10948 if (flags
& NDR_IN
) {
10949 if (r
->in
.handle
== NULL
) {
10950 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10952 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10954 if (flags
& NDR_OUT
) {
10955 if (r
->out
.handle
== NULL
) {
10956 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10958 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
10959 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10961 return NDR_ERR_SUCCESS
;
10964 static enum ndr_err_code
ndr_pull_lsa_CloseTrustedDomainEx(struct ndr_pull
*ndr
, int flags
, struct lsa_CloseTrustedDomainEx
*r
)
10966 TALLOC_CTX
*_mem_save_handle_0
;
10967 if (flags
& NDR_IN
) {
10968 ZERO_STRUCT(r
->out
);
10970 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10971 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10973 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10974 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10975 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10976 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10977 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
10978 *r
->out
.handle
= *r
->in
.handle
;
10980 if (flags
& NDR_OUT
) {
10981 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10982 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
10984 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10985 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10986 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
10987 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10988 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10990 return NDR_ERR_SUCCESS
;
10993 _PUBLIC_
void ndr_print_lsa_CloseTrustedDomainEx(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CloseTrustedDomainEx
*r
)
10995 ndr_print_struct(ndr
, name
, "lsa_CloseTrustedDomainEx");
10997 if (flags
& NDR_SET_VALUES
) {
10998 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11000 if (flags
& NDR_IN
) {
11001 ndr_print_struct(ndr
, "in", "lsa_CloseTrustedDomainEx");
11003 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11005 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11009 if (flags
& NDR_OUT
) {
11010 ndr_print_struct(ndr
, "out", "lsa_CloseTrustedDomainEx");
11012 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
11014 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
11016 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11022 static enum ndr_err_code
ndr_push_lsa_QueryDomainInformationPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryDomainInformationPolicy
*r
)
11024 if (flags
& NDR_IN
) {
11025 if (r
->in
.handle
== NULL
) {
11026 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11028 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11029 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
11031 if (flags
& NDR_OUT
) {
11032 if (r
->out
.info
== NULL
) {
11033 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11035 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
11036 if (*r
->out
.info
) {
11037 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
11038 NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
11040 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11042 return NDR_ERR_SUCCESS
;
11045 static enum ndr_err_code
ndr_pull_lsa_QueryDomainInformationPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryDomainInformationPolicy
*r
)
11047 uint32_t _ptr_info
;
11048 TALLOC_CTX
*_mem_save_handle_0
;
11049 TALLOC_CTX
*_mem_save_info_0
;
11050 TALLOC_CTX
*_mem_save_info_1
;
11051 if (flags
& NDR_IN
) {
11052 ZERO_STRUCT(r
->out
);
11054 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11055 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
11057 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11058 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
11059 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11060 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11061 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
11062 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
11063 ZERO_STRUCTP(r
->out
.info
);
11065 if (flags
& NDR_OUT
) {
11066 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11067 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
11069 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11070 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
11071 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
11073 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
11075 *r
->out
.info
= NULL
;
11077 if (*r
->out
.info
) {
11078 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11079 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
11080 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
11081 NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
11082 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
11084 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11085 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11087 return NDR_ERR_SUCCESS
;
11090 _PUBLIC_
void ndr_print_lsa_QueryDomainInformationPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryDomainInformationPolicy
*r
)
11092 ndr_print_struct(ndr
, name
, "lsa_QueryDomainInformationPolicy");
11094 if (flags
& NDR_SET_VALUES
) {
11095 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11097 if (flags
& NDR_IN
) {
11098 ndr_print_struct(ndr
, "in", "lsa_QueryDomainInformationPolicy");
11100 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11102 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11104 ndr_print_uint16(ndr
, "level", r
->in
.level
);
11107 if (flags
& NDR_OUT
) {
11108 ndr_print_struct(ndr
, "out", "lsa_QueryDomainInformationPolicy");
11110 ndr_print_ptr(ndr
, "info", r
->out
.info
);
11112 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
11114 if (*r
->out
.info
) {
11115 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
11116 ndr_print_lsa_DomainInformationPolicy(ndr
, "info", *r
->out
.info
);
11120 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11126 static enum ndr_err_code
ndr_push_lsa_SetDomainInformationPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_SetDomainInformationPolicy
*r
)
11128 if (flags
& NDR_IN
) {
11129 if (r
->in
.handle
== NULL
) {
11130 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11132 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11133 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
11134 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.info
));
11136 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11137 NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11140 if (flags
& NDR_OUT
) {
11141 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11143 return NDR_ERR_SUCCESS
;
11146 static enum ndr_err_code
ndr_pull_lsa_SetDomainInformationPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_SetDomainInformationPolicy
*r
)
11148 uint32_t _ptr_info
;
11149 TALLOC_CTX
*_mem_save_handle_0
;
11150 TALLOC_CTX
*_mem_save_info_0
;
11151 if (flags
& NDR_IN
) {
11152 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11153 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
11155 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11156 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
11157 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11158 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11159 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
11160 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
11162 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
11167 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11168 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, 0);
11169 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
11170 NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
11174 if (flags
& NDR_OUT
) {
11175 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11177 return NDR_ERR_SUCCESS
;
11180 _PUBLIC_
void ndr_print_lsa_SetDomainInformationPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetDomainInformationPolicy
*r
)
11182 ndr_print_struct(ndr
, name
, "lsa_SetDomainInformationPolicy");
11184 if (flags
& NDR_SET_VALUES
) {
11185 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11187 if (flags
& NDR_IN
) {
11188 ndr_print_struct(ndr
, "in", "lsa_SetDomainInformationPolicy");
11190 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11192 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11194 ndr_print_uint16(ndr
, "level", r
->in
.level
);
11195 ndr_print_ptr(ndr
, "info", r
->in
.info
);
11198 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
11199 ndr_print_lsa_DomainInformationPolicy(ndr
, "info", r
->in
.info
);
11204 if (flags
& NDR_OUT
) {
11205 ndr_print_struct(ndr
, "out", "lsa_SetDomainInformationPolicy");
11207 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11213 static enum ndr_err_code
ndr_push_lsa_OpenTrustedDomainByName(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenTrustedDomainByName
*r
)
11215 if (flags
& NDR_IN
) {
11216 if (r
->in
.handle
== NULL
) {
11217 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11219 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11220 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
11221 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11223 if (flags
& NDR_OUT
) {
11224 if (r
->out
.trustdom_handle
== NULL
) {
11225 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11227 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
11228 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11230 return NDR_ERR_SUCCESS
;
11233 static enum ndr_err_code
ndr_pull_lsa_OpenTrustedDomainByName(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenTrustedDomainByName
*r
)
11235 TALLOC_CTX
*_mem_save_handle_0
;
11236 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
11237 if (flags
& NDR_IN
) {
11238 ZERO_STRUCT(r
->out
);
11240 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11241 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
11243 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11244 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
11245 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11246 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11247 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
11248 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11249 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
11250 ZERO_STRUCTP(r
->out
.trustdom_handle
);
11252 if (flags
& NDR_OUT
) {
11253 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11254 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
11256 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11257 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
11258 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
11259 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11260 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11262 return NDR_ERR_SUCCESS
;
11265 _PUBLIC_
void ndr_print_lsa_OpenTrustedDomainByName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenTrustedDomainByName
*r
)
11267 ndr_print_struct(ndr
, name
, "lsa_OpenTrustedDomainByName");
11269 if (flags
& NDR_SET_VALUES
) {
11270 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11272 if (flags
& NDR_IN
) {
11273 ndr_print_struct(ndr
, "in", "lsa_OpenTrustedDomainByName");
11275 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11277 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11279 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
11280 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
11283 if (flags
& NDR_OUT
) {
11284 ndr_print_struct(ndr
, "out", "lsa_OpenTrustedDomainByName");
11286 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11288 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11290 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11296 static enum ndr_err_code
ndr_push_lsa_TestCall(struct ndr_push
*ndr
, int flags
, const struct lsa_TestCall
*r
)
11298 if (flags
& NDR_IN
) {
11300 if (flags
& NDR_OUT
) {
11301 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11303 return NDR_ERR_SUCCESS
;
11306 static enum ndr_err_code
ndr_pull_lsa_TestCall(struct ndr_pull
*ndr
, int flags
, struct lsa_TestCall
*r
)
11308 if (flags
& NDR_IN
) {
11310 if (flags
& NDR_OUT
) {
11311 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11313 return NDR_ERR_SUCCESS
;
11316 _PUBLIC_
void ndr_print_lsa_TestCall(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_TestCall
*r
)
11318 ndr_print_struct(ndr
, name
, "lsa_TestCall");
11320 if (flags
& NDR_SET_VALUES
) {
11321 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11323 if (flags
& NDR_IN
) {
11324 ndr_print_struct(ndr
, "in", "lsa_TestCall");
11328 if (flags
& NDR_OUT
) {
11329 ndr_print_struct(ndr
, "out", "lsa_TestCall");
11331 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11337 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupSids2(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupSids2
*r
)
11339 if (flags
& NDR_IN
) {
11340 if (r
->in
.handle
== NULL
) {
11341 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11343 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11344 if (r
->in
.sids
== NULL
) {
11345 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11347 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11348 if (r
->in
.names
== NULL
) {
11349 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11351 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
11352 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
11353 if (r
->in
.count
== NULL
) {
11354 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11356 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
11357 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr
, NDR_SCALARS
, r
->in
.lookup_options
));
11358 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr
, NDR_SCALARS
, r
->in
.client_revision
));
11360 if (flags
& NDR_OUT
) {
11361 if (r
->out
.domains
== NULL
) {
11362 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11364 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
11365 if (*r
->out
.domains
) {
11366 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11368 if (r
->out
.names
== NULL
) {
11369 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11371 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
11372 if (r
->out
.count
== NULL
) {
11373 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11375 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
11376 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11378 return NDR_ERR_SUCCESS
;
11381 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupSids2(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupSids2
*r
)
11383 uint32_t _ptr_domains
;
11384 TALLOC_CTX
*_mem_save_handle_0
;
11385 TALLOC_CTX
*_mem_save_sids_0
;
11386 TALLOC_CTX
*_mem_save_domains_0
;
11387 TALLOC_CTX
*_mem_save_domains_1
;
11388 TALLOC_CTX
*_mem_save_names_0
;
11389 TALLOC_CTX
*_mem_save_count_0
;
11390 if (flags
& NDR_IN
) {
11391 ZERO_STRUCT(r
->out
);
11393 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11394 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
11396 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11397 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
11398 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11399 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11400 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11401 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
11403 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11404 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
11405 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11406 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
11407 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11408 NDR_PULL_ALLOC(ndr
, r
->in
.names
);
11410 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11411 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, LIBNDR_FLAG_REF_ALLOC
);
11412 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
11413 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
11414 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
11415 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11416 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
11418 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11419 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
11420 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
11421 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11422 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr
, NDR_SCALARS
, &r
->in
.lookup_options
));
11423 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr
, NDR_SCALARS
, &r
->in
.client_revision
));
11424 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11425 ZERO_STRUCTP(r
->out
.domains
);
11426 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
11427 *r
->out
.names
= *r
->in
.names
;
11428 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11429 *r
->out
.count
= *r
->in
.count
;
11431 if (flags
& NDR_OUT
) {
11432 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11433 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11435 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11436 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
11437 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
11438 if (_ptr_domains
) {
11439 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
11441 *r
->out
.domains
= NULL
;
11443 if (*r
->out
.domains
) {
11444 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11445 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
11446 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11447 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
11449 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
11450 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11451 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
11453 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11454 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
11455 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
11456 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
11457 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11458 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11460 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11461 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
11462 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
11463 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11464 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11466 return NDR_ERR_SUCCESS
;
11469 _PUBLIC_
void ndr_print_lsa_LookupSids2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupSids2
*r
)
11471 ndr_print_struct(ndr
, name
, "lsa_LookupSids2");
11473 if (flags
& NDR_SET_VALUES
) {
11474 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11476 if (flags
& NDR_IN
) {
11477 ndr_print_struct(ndr
, "in", "lsa_LookupSids2");
11479 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11481 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11483 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
11485 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
11487 ndr_print_ptr(ndr
, "names", r
->in
.names
);
11489 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->in
.names
);
11491 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
11492 ndr_print_ptr(ndr
, "count", r
->in
.count
);
11494 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
11496 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
11497 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
11500 if (flags
& NDR_OUT
) {
11501 ndr_print_struct(ndr
, "out", "lsa_LookupSids2");
11503 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
11505 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
11507 if (*r
->out
.domains
) {
11508 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
11512 ndr_print_ptr(ndr
, "names", r
->out
.names
);
11514 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->out
.names
);
11516 ndr_print_ptr(ndr
, "count", r
->out
.count
);
11518 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
11520 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11526 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupNames2(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames2
*r
)
11528 uint32_t cntr_names_0
;
11529 if (flags
& NDR_IN
) {
11530 if (r
->in
.handle
== NULL
) {
11531 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11533 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11534 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
11535 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_names
));
11536 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11537 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
11539 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11540 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
11542 if (r
->in
.sids
== NULL
) {
11543 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11545 NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11546 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
11547 if (r
->in
.count
== NULL
) {
11548 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11550 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
11551 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr
, NDR_SCALARS
, r
->in
.lookup_options
));
11552 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr
, NDR_SCALARS
, r
->in
.client_revision
));
11554 if (flags
& NDR_OUT
) {
11555 if (r
->out
.domains
== NULL
) {
11556 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11558 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
11559 if (*r
->out
.domains
) {
11560 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11562 if (r
->out
.sids
== NULL
) {
11563 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11565 NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
11566 if (r
->out
.count
== NULL
) {
11567 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11569 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
11570 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11572 return NDR_ERR_SUCCESS
;
11575 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupNames2(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames2
*r
)
11577 uint32_t cntr_names_0
;
11578 uint32_t _ptr_domains
;
11579 TALLOC_CTX
*_mem_save_handle_0
;
11580 TALLOC_CTX
*_mem_save_names_0
;
11581 TALLOC_CTX
*_mem_save_domains_0
;
11582 TALLOC_CTX
*_mem_save_domains_1
;
11583 TALLOC_CTX
*_mem_save_sids_0
;
11584 TALLOC_CTX
*_mem_save_count_0
;
11585 if (flags
& NDR_IN
) {
11586 ZERO_STRUCT(r
->out
);
11588 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11589 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
11591 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11592 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
11593 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11594 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11595 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
11596 if (r
->in
.num_names
> 1000) {
11597 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11599 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
11600 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
11601 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11602 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
11603 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11604 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
11606 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11607 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
11609 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
11610 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11611 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
11613 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11614 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
11615 NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11616 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
11617 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
11618 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11619 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
11621 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11622 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
11623 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
11624 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11625 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr
, NDR_SCALARS
, &r
->in
.lookup_options
));
11626 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr
, NDR_SCALARS
, &r
->in
.client_revision
));
11627 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11628 ZERO_STRUCTP(r
->out
.domains
);
11629 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
11630 *r
->out
.sids
= *r
->in
.sids
;
11631 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11632 *r
->out
.count
= *r
->in
.count
;
11634 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
11637 if (flags
& NDR_OUT
) {
11638 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11639 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11641 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11642 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
11643 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
11644 if (_ptr_domains
) {
11645 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
11647 *r
->out
.domains
= NULL
;
11649 if (*r
->out
.domains
) {
11650 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11651 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
11652 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11653 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
11655 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
11656 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11657 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
11659 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11660 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
11661 NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
11662 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
11663 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11664 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11666 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11667 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
11668 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
11669 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11670 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11672 return NDR_ERR_SUCCESS
;
11675 _PUBLIC_
void ndr_print_lsa_LookupNames2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames2
*r
)
11677 uint32_t cntr_names_0
;
11678 ndr_print_struct(ndr
, name
, "lsa_LookupNames2");
11680 if (flags
& NDR_SET_VALUES
) {
11681 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11683 if (flags
& NDR_IN
) {
11684 ndr_print_struct(ndr
, "in", "lsa_LookupNames2");
11686 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11688 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11690 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
11691 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
11693 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
11695 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
11696 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
11701 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
11703 ndr_print_lsa_TransSidArray2(ndr
, "sids", r
->in
.sids
);
11705 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
11706 ndr_print_ptr(ndr
, "count", r
->in
.count
);
11708 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
11710 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
11711 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
11714 if (flags
& NDR_OUT
) {
11715 ndr_print_struct(ndr
, "out", "lsa_LookupNames2");
11717 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
11719 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
11721 if (*r
->out
.domains
) {
11722 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
11726 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
11728 ndr_print_lsa_TransSidArray2(ndr
, "sids", r
->out
.sids
);
11730 ndr_print_ptr(ndr
, "count", r
->out
.count
);
11732 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
11734 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11740 static enum ndr_err_code
ndr_push_lsa_CreateTrustedDomainEx2(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateTrustedDomainEx2
*r
)
11742 if (flags
& NDR_IN
) {
11743 if (r
->in
.policy_handle
== NULL
) {
11744 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11746 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
11747 if (r
->in
.info
== NULL
) {
11748 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11750 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11751 if (r
->in
.auth_info
== NULL
) {
11752 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11754 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.auth_info
));
11755 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11757 if (flags
& NDR_OUT
) {
11758 if (r
->out
.trustdom_handle
== NULL
) {
11759 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11761 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
11762 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11764 return NDR_ERR_SUCCESS
;
11767 static enum ndr_err_code
ndr_pull_lsa_CreateTrustedDomainEx2(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateTrustedDomainEx2
*r
)
11769 TALLOC_CTX
*_mem_save_policy_handle_0
;
11770 TALLOC_CTX
*_mem_save_info_0
;
11771 TALLOC_CTX
*_mem_save_auth_info_0
;
11772 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
11773 if (flags
& NDR_IN
) {
11774 ZERO_STRUCT(r
->out
);
11776 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11777 NDR_PULL_ALLOC(ndr
, r
->in
.policy_handle
);
11779 _mem_save_policy_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11780 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.policy_handle
, LIBNDR_FLAG_REF_ALLOC
);
11781 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
11782 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_policy_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11783 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11784 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
11786 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11787 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
11788 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11789 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11790 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11791 NDR_PULL_ALLOC(ndr
, r
->in
.auth_info
);
11793 _mem_save_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11794 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.auth_info
, LIBNDR_FLAG_REF_ALLOC
);
11795 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.auth_info
));
11796 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_auth_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11797 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11798 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
11799 ZERO_STRUCTP(r
->out
.trustdom_handle
);
11801 if (flags
& NDR_OUT
) {
11802 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11803 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
11805 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11806 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
11807 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
11808 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11809 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11811 return NDR_ERR_SUCCESS
;
11814 _PUBLIC_
void ndr_print_lsa_CreateTrustedDomainEx2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateTrustedDomainEx2
*r
)
11816 ndr_print_struct(ndr
, name
, "lsa_CreateTrustedDomainEx2");
11818 if (flags
& NDR_SET_VALUES
) {
11819 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11821 if (flags
& NDR_IN
) {
11822 ndr_print_struct(ndr
, "in", "lsa_CreateTrustedDomainEx2");
11824 ndr_print_ptr(ndr
, "policy_handle", r
->in
.policy_handle
);
11826 ndr_print_policy_handle(ndr
, "policy_handle", r
->in
.policy_handle
);
11828 ndr_print_ptr(ndr
, "info", r
->in
.info
);
11830 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info", r
->in
.info
);
11832 ndr_print_ptr(ndr
, "auth_info", r
->in
.auth_info
);
11834 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info", r
->in
.auth_info
);
11836 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
11839 if (flags
& NDR_OUT
) {
11840 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomainEx2");
11842 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11844 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11846 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11852 static enum ndr_err_code
ndr_push_lsa_CREDRWRITE(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRWRITE
*r
)
11854 if (flags
& NDR_IN
) {
11856 if (flags
& NDR_OUT
) {
11857 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11859 return NDR_ERR_SUCCESS
;
11862 static enum ndr_err_code
ndr_pull_lsa_CREDRWRITE(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRWRITE
*r
)
11864 if (flags
& NDR_IN
) {
11866 if (flags
& NDR_OUT
) {
11867 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11869 return NDR_ERR_SUCCESS
;
11872 _PUBLIC_
void ndr_print_lsa_CREDRWRITE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRWRITE
*r
)
11874 ndr_print_struct(ndr
, name
, "lsa_CREDRWRITE");
11876 if (flags
& NDR_SET_VALUES
) {
11877 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11879 if (flags
& NDR_IN
) {
11880 ndr_print_struct(ndr
, "in", "lsa_CREDRWRITE");
11884 if (flags
& NDR_OUT
) {
11885 ndr_print_struct(ndr
, "out", "lsa_CREDRWRITE");
11887 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11893 static enum ndr_err_code
ndr_push_lsa_CREDRREAD(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRREAD
*r
)
11895 if (flags
& NDR_IN
) {
11897 if (flags
& NDR_OUT
) {
11898 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11900 return NDR_ERR_SUCCESS
;
11903 static enum ndr_err_code
ndr_pull_lsa_CREDRREAD(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRREAD
*r
)
11905 if (flags
& NDR_IN
) {
11907 if (flags
& NDR_OUT
) {
11908 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11910 return NDR_ERR_SUCCESS
;
11913 _PUBLIC_
void ndr_print_lsa_CREDRREAD(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRREAD
*r
)
11915 ndr_print_struct(ndr
, name
, "lsa_CREDRREAD");
11917 if (flags
& NDR_SET_VALUES
) {
11918 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11920 if (flags
& NDR_IN
) {
11921 ndr_print_struct(ndr
, "in", "lsa_CREDRREAD");
11925 if (flags
& NDR_OUT
) {
11926 ndr_print_struct(ndr
, "out", "lsa_CREDRREAD");
11928 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11934 static enum ndr_err_code
ndr_push_lsa_CREDRENUMERATE(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRENUMERATE
*r
)
11936 if (flags
& NDR_IN
) {
11938 if (flags
& NDR_OUT
) {
11939 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11941 return NDR_ERR_SUCCESS
;
11944 static enum ndr_err_code
ndr_pull_lsa_CREDRENUMERATE(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRENUMERATE
*r
)
11946 if (flags
& NDR_IN
) {
11948 if (flags
& NDR_OUT
) {
11949 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11951 return NDR_ERR_SUCCESS
;
11954 _PUBLIC_
void ndr_print_lsa_CREDRENUMERATE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRENUMERATE
*r
)
11956 ndr_print_struct(ndr
, name
, "lsa_CREDRENUMERATE");
11958 if (flags
& NDR_SET_VALUES
) {
11959 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11961 if (flags
& NDR_IN
) {
11962 ndr_print_struct(ndr
, "in", "lsa_CREDRENUMERATE");
11966 if (flags
& NDR_OUT
) {
11967 ndr_print_struct(ndr
, "out", "lsa_CREDRENUMERATE");
11969 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11975 static enum ndr_err_code
ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRWRITEDOMAINCREDENTIALS
*r
)
11977 if (flags
& NDR_IN
) {
11979 if (flags
& NDR_OUT
) {
11980 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11982 return NDR_ERR_SUCCESS
;
11985 static enum ndr_err_code
ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRWRITEDOMAINCREDENTIALS
*r
)
11987 if (flags
& NDR_IN
) {
11989 if (flags
& NDR_OUT
) {
11990 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11992 return NDR_ERR_SUCCESS
;
11995 _PUBLIC_
void ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRWRITEDOMAINCREDENTIALS
*r
)
11997 ndr_print_struct(ndr
, name
, "lsa_CREDRWRITEDOMAINCREDENTIALS");
11999 if (flags
& NDR_SET_VALUES
) {
12000 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12002 if (flags
& NDR_IN
) {
12003 ndr_print_struct(ndr
, "in", "lsa_CREDRWRITEDOMAINCREDENTIALS");
12007 if (flags
& NDR_OUT
) {
12008 ndr_print_struct(ndr
, "out", "lsa_CREDRWRITEDOMAINCREDENTIALS");
12010 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12016 static enum ndr_err_code
ndr_push_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRREADDOMAINCREDENTIALS
*r
)
12018 if (flags
& NDR_IN
) {
12020 if (flags
& NDR_OUT
) {
12021 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12023 return NDR_ERR_SUCCESS
;
12026 static enum ndr_err_code
ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRREADDOMAINCREDENTIALS
*r
)
12028 if (flags
& NDR_IN
) {
12030 if (flags
& NDR_OUT
) {
12031 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12033 return NDR_ERR_SUCCESS
;
12036 _PUBLIC_
void ndr_print_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRREADDOMAINCREDENTIALS
*r
)
12038 ndr_print_struct(ndr
, name
, "lsa_CREDRREADDOMAINCREDENTIALS");
12040 if (flags
& NDR_SET_VALUES
) {
12041 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12043 if (flags
& NDR_IN
) {
12044 ndr_print_struct(ndr
, "in", "lsa_CREDRREADDOMAINCREDENTIALS");
12048 if (flags
& NDR_OUT
) {
12049 ndr_print_struct(ndr
, "out", "lsa_CREDRREADDOMAINCREDENTIALS");
12051 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12057 static enum ndr_err_code
ndr_push_lsa_CREDRDELETE(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRDELETE
*r
)
12059 if (flags
& NDR_IN
) {
12061 if (flags
& NDR_OUT
) {
12062 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12064 return NDR_ERR_SUCCESS
;
12067 static enum ndr_err_code
ndr_pull_lsa_CREDRDELETE(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRDELETE
*r
)
12069 if (flags
& NDR_IN
) {
12071 if (flags
& NDR_OUT
) {
12072 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12074 return NDR_ERR_SUCCESS
;
12077 _PUBLIC_
void ndr_print_lsa_CREDRDELETE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRDELETE
*r
)
12079 ndr_print_struct(ndr
, name
, "lsa_CREDRDELETE");
12081 if (flags
& NDR_SET_VALUES
) {
12082 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12084 if (flags
& NDR_IN
) {
12085 ndr_print_struct(ndr
, "in", "lsa_CREDRDELETE");
12089 if (flags
& NDR_OUT
) {
12090 ndr_print_struct(ndr
, "out", "lsa_CREDRDELETE");
12092 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12098 static enum ndr_err_code
ndr_push_lsa_CREDRGETTARGETINFO(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRGETTARGETINFO
*r
)
12100 if (flags
& NDR_IN
) {
12102 if (flags
& NDR_OUT
) {
12103 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12105 return NDR_ERR_SUCCESS
;
12108 static enum ndr_err_code
ndr_pull_lsa_CREDRGETTARGETINFO(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRGETTARGETINFO
*r
)
12110 if (flags
& NDR_IN
) {
12112 if (flags
& NDR_OUT
) {
12113 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12115 return NDR_ERR_SUCCESS
;
12118 _PUBLIC_
void ndr_print_lsa_CREDRGETTARGETINFO(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRGETTARGETINFO
*r
)
12120 ndr_print_struct(ndr
, name
, "lsa_CREDRGETTARGETINFO");
12122 if (flags
& NDR_SET_VALUES
) {
12123 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12125 if (flags
& NDR_IN
) {
12126 ndr_print_struct(ndr
, "in", "lsa_CREDRGETTARGETINFO");
12130 if (flags
& NDR_OUT
) {
12131 ndr_print_struct(ndr
, "out", "lsa_CREDRGETTARGETINFO");
12133 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12139 static enum ndr_err_code
ndr_push_lsa_CREDRPROFILELOADED(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRPROFILELOADED
*r
)
12141 if (flags
& NDR_IN
) {
12143 if (flags
& NDR_OUT
) {
12144 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12146 return NDR_ERR_SUCCESS
;
12149 static enum ndr_err_code
ndr_pull_lsa_CREDRPROFILELOADED(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRPROFILELOADED
*r
)
12151 if (flags
& NDR_IN
) {
12153 if (flags
& NDR_OUT
) {
12154 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12156 return NDR_ERR_SUCCESS
;
12159 _PUBLIC_
void ndr_print_lsa_CREDRPROFILELOADED(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRPROFILELOADED
*r
)
12161 ndr_print_struct(ndr
, name
, "lsa_CREDRPROFILELOADED");
12163 if (flags
& NDR_SET_VALUES
) {
12164 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12166 if (flags
& NDR_IN
) {
12167 ndr_print_struct(ndr
, "in", "lsa_CREDRPROFILELOADED");
12171 if (flags
& NDR_OUT
) {
12172 ndr_print_struct(ndr
, "out", "lsa_CREDRPROFILELOADED");
12174 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12180 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupNames3(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames3
*r
)
12182 uint32_t cntr_names_0
;
12183 if (flags
& NDR_IN
) {
12184 if (r
->in
.handle
== NULL
) {
12185 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12187 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
12188 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
12189 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_names
));
12190 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
12191 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
12193 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
12194 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
12196 if (r
->in
.sids
== NULL
) {
12197 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12199 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
12200 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
12201 if (r
->in
.count
== NULL
) {
12202 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12204 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
12205 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr
, NDR_SCALARS
, r
->in
.lookup_options
));
12206 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr
, NDR_SCALARS
, r
->in
.client_revision
));
12208 if (flags
& NDR_OUT
) {
12209 if (r
->out
.domains
== NULL
) {
12210 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12212 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
12213 if (*r
->out
.domains
) {
12214 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
12216 if (r
->out
.sids
== NULL
) {
12217 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12219 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
12220 if (r
->out
.count
== NULL
) {
12221 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12223 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
12224 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12226 return NDR_ERR_SUCCESS
;
12229 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupNames3(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames3
*r
)
12231 uint32_t cntr_names_0
;
12232 uint32_t _ptr_domains
;
12233 TALLOC_CTX
*_mem_save_handle_0
;
12234 TALLOC_CTX
*_mem_save_names_0
;
12235 TALLOC_CTX
*_mem_save_domains_0
;
12236 TALLOC_CTX
*_mem_save_domains_1
;
12237 TALLOC_CTX
*_mem_save_sids_0
;
12238 TALLOC_CTX
*_mem_save_count_0
;
12239 if (flags
& NDR_IN
) {
12240 ZERO_STRUCT(r
->out
);
12242 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12243 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
12245 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12246 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
12247 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
12248 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12249 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
12250 if (r
->in
.num_names
> 1000) {
12251 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12253 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
12254 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
12255 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12256 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
12257 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
12258 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
12260 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
12261 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
12263 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
12264 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12265 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
12267 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12268 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
12269 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
12270 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
12271 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
12272 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12273 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
12275 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12276 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
12277 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
12278 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
12279 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr
, NDR_SCALARS
, &r
->in
.lookup_options
));
12280 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr
, NDR_SCALARS
, &r
->in
.client_revision
));
12281 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
12282 ZERO_STRUCTP(r
->out
.domains
);
12283 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
12284 *r
->out
.sids
= *r
->in
.sids
;
12285 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
12286 *r
->out
.count
= *r
->in
.count
;
12288 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
12291 if (flags
& NDR_OUT
) {
12292 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12293 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
12295 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12296 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
12297 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
12298 if (_ptr_domains
) {
12299 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
12301 *r
->out
.domains
= NULL
;
12303 if (*r
->out
.domains
) {
12304 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12305 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
12306 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
12307 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
12309 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
12310 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12311 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
12313 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12314 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
12315 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
12316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
12317 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12318 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
12320 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12321 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
12322 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
12323 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
12324 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12326 return NDR_ERR_SUCCESS
;
12329 _PUBLIC_
void ndr_print_lsa_LookupNames3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames3
*r
)
12331 uint32_t cntr_names_0
;
12332 ndr_print_struct(ndr
, name
, "lsa_LookupNames3");
12334 if (flags
& NDR_SET_VALUES
) {
12335 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12337 if (flags
& NDR_IN
) {
12338 ndr_print_struct(ndr
, "in", "lsa_LookupNames3");
12340 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
12342 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
12344 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
12345 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
12347 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
12349 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
12350 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
12355 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
12357 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->in
.sids
);
12359 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
12360 ndr_print_ptr(ndr
, "count", r
->in
.count
);
12362 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
12364 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
12365 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
12368 if (flags
& NDR_OUT
) {
12369 ndr_print_struct(ndr
, "out", "lsa_LookupNames3");
12371 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
12373 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
12375 if (*r
->out
.domains
) {
12376 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
12380 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
12382 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->out
.sids
);
12384 ndr_print_ptr(ndr
, "count", r
->out
.count
);
12386 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
12388 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12394 static enum ndr_err_code
ndr_push_lsa_CREDRGETSESSIONTYPES(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRGETSESSIONTYPES
*r
)
12396 if (flags
& NDR_IN
) {
12398 if (flags
& NDR_OUT
) {
12399 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12401 return NDR_ERR_SUCCESS
;
12404 static enum ndr_err_code
ndr_pull_lsa_CREDRGETSESSIONTYPES(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRGETSESSIONTYPES
*r
)
12406 if (flags
& NDR_IN
) {
12408 if (flags
& NDR_OUT
) {
12409 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12411 return NDR_ERR_SUCCESS
;
12414 _PUBLIC_
void ndr_print_lsa_CREDRGETSESSIONTYPES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRGETSESSIONTYPES
*r
)
12416 ndr_print_struct(ndr
, name
, "lsa_CREDRGETSESSIONTYPES");
12418 if (flags
& NDR_SET_VALUES
) {
12419 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12421 if (flags
& NDR_IN
) {
12422 ndr_print_struct(ndr
, "in", "lsa_CREDRGETSESSIONTYPES");
12426 if (flags
& NDR_OUT
) {
12427 ndr_print_struct(ndr
, "out", "lsa_CREDRGETSESSIONTYPES");
12429 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12435 static enum ndr_err_code
ndr_push_lsa_LSARREGISTERAUDITEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARREGISTERAUDITEVENT
*r
)
12437 if (flags
& NDR_IN
) {
12439 if (flags
& NDR_OUT
) {
12440 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12442 return NDR_ERR_SUCCESS
;
12445 static enum ndr_err_code
ndr_pull_lsa_LSARREGISTERAUDITEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARREGISTERAUDITEVENT
*r
)
12447 if (flags
& NDR_IN
) {
12449 if (flags
& NDR_OUT
) {
12450 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12452 return NDR_ERR_SUCCESS
;
12455 _PUBLIC_
void ndr_print_lsa_LSARREGISTERAUDITEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARREGISTERAUDITEVENT
*r
)
12457 ndr_print_struct(ndr
, name
, "lsa_LSARREGISTERAUDITEVENT");
12459 if (flags
& NDR_SET_VALUES
) {
12460 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12462 if (flags
& NDR_IN
) {
12463 ndr_print_struct(ndr
, "in", "lsa_LSARREGISTERAUDITEVENT");
12467 if (flags
& NDR_OUT
) {
12468 ndr_print_struct(ndr
, "out", "lsa_LSARREGISTERAUDITEVENT");
12470 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12476 static enum ndr_err_code
ndr_push_lsa_LSARGENAUDITEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARGENAUDITEVENT
*r
)
12478 if (flags
& NDR_IN
) {
12480 if (flags
& NDR_OUT
) {
12481 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12483 return NDR_ERR_SUCCESS
;
12486 static enum ndr_err_code
ndr_pull_lsa_LSARGENAUDITEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARGENAUDITEVENT
*r
)
12488 if (flags
& NDR_IN
) {
12490 if (flags
& NDR_OUT
) {
12491 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12493 return NDR_ERR_SUCCESS
;
12496 _PUBLIC_
void ndr_print_lsa_LSARGENAUDITEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARGENAUDITEVENT
*r
)
12498 ndr_print_struct(ndr
, name
, "lsa_LSARGENAUDITEVENT");
12500 if (flags
& NDR_SET_VALUES
) {
12501 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12503 if (flags
& NDR_IN
) {
12504 ndr_print_struct(ndr
, "in", "lsa_LSARGENAUDITEVENT");
12508 if (flags
& NDR_OUT
) {
12509 ndr_print_struct(ndr
, "out", "lsa_LSARGENAUDITEVENT");
12511 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12517 static enum ndr_err_code
ndr_push_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARUNREGISTERAUDITEVENT
*r
)
12519 if (flags
& NDR_IN
) {
12521 if (flags
& NDR_OUT
) {
12522 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12524 return NDR_ERR_SUCCESS
;
12527 static enum ndr_err_code
ndr_pull_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARUNREGISTERAUDITEVENT
*r
)
12529 if (flags
& NDR_IN
) {
12531 if (flags
& NDR_OUT
) {
12532 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12534 return NDR_ERR_SUCCESS
;
12537 _PUBLIC_
void ndr_print_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARUNREGISTERAUDITEVENT
*r
)
12539 ndr_print_struct(ndr
, name
, "lsa_LSARUNREGISTERAUDITEVENT");
12541 if (flags
& NDR_SET_VALUES
) {
12542 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12544 if (flags
& NDR_IN
) {
12545 ndr_print_struct(ndr
, "in", "lsa_LSARUNREGISTERAUDITEVENT");
12549 if (flags
& NDR_OUT
) {
12550 ndr_print_struct(ndr
, "out", "lsa_LSARUNREGISTERAUDITEVENT");
12552 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12558 static enum ndr_err_code
ndr_push_lsa_lsaRQueryForestTrustInformation(struct ndr_push
*ndr
, int flags
, const struct lsa_lsaRQueryForestTrustInformation
*r
)
12560 if (flags
& NDR_IN
) {
12561 if (r
->in
.handle
== NULL
) {
12562 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12564 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
12565 if (r
->in
.trusted_domain_name
== NULL
) {
12566 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12568 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain_name
));
12569 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.unknown
));
12571 if (flags
& NDR_OUT
) {
12572 if (r
->out
.forest_trust_info
== NULL
) {
12573 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12575 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.forest_trust_info
));
12576 if (*r
->out
.forest_trust_info
) {
12577 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.forest_trust_info
));
12579 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12581 return NDR_ERR_SUCCESS
;
12584 static enum ndr_err_code
ndr_pull_lsa_lsaRQueryForestTrustInformation(struct ndr_pull
*ndr
, int flags
, struct lsa_lsaRQueryForestTrustInformation
*r
)
12586 uint32_t _ptr_forest_trust_info
;
12587 TALLOC_CTX
*_mem_save_handle_0
;
12588 TALLOC_CTX
*_mem_save_trusted_domain_name_0
;
12589 TALLOC_CTX
*_mem_save_forest_trust_info_0
;
12590 TALLOC_CTX
*_mem_save_forest_trust_info_1
;
12591 if (flags
& NDR_IN
) {
12592 ZERO_STRUCT(r
->out
);
12594 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12595 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
12597 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12598 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
12599 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
12600 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12601 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12602 NDR_PULL_ALLOC(ndr
, r
->in
.trusted_domain_name
);
12604 _mem_save_trusted_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12605 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trusted_domain_name
, LIBNDR_FLAG_REF_ALLOC
);
12606 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain_name
));
12607 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trusted_domain_name_0
, LIBNDR_FLAG_REF_ALLOC
);
12608 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
12609 NDR_PULL_ALLOC(ndr
, r
->out
.forest_trust_info
);
12610 ZERO_STRUCTP(r
->out
.forest_trust_info
);
12612 if (flags
& NDR_OUT
) {
12613 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12614 NDR_PULL_ALLOC(ndr
, r
->out
.forest_trust_info
);
12616 _mem_save_forest_trust_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12617 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.forest_trust_info
, LIBNDR_FLAG_REF_ALLOC
);
12618 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_forest_trust_info
));
12619 if (_ptr_forest_trust_info
) {
12620 NDR_PULL_ALLOC(ndr
, *r
->out
.forest_trust_info
);
12622 *r
->out
.forest_trust_info
= NULL
;
12624 if (*r
->out
.forest_trust_info
) {
12625 _mem_save_forest_trust_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12626 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.forest_trust_info
, 0);
12627 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.forest_trust_info
));
12628 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_forest_trust_info_1
, 0);
12630 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_forest_trust_info_0
, LIBNDR_FLAG_REF_ALLOC
);
12631 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12633 return NDR_ERR_SUCCESS
;
12636 _PUBLIC_
void ndr_print_lsa_lsaRQueryForestTrustInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_lsaRQueryForestTrustInformation
*r
)
12638 ndr_print_struct(ndr
, name
, "lsa_lsaRQueryForestTrustInformation");
12640 if (flags
& NDR_SET_VALUES
) {
12641 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12643 if (flags
& NDR_IN
) {
12644 ndr_print_struct(ndr
, "in", "lsa_lsaRQueryForestTrustInformation");
12646 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
12648 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
12650 ndr_print_ptr(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
12652 ndr_print_lsa_String(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
12654 ndr_print_uint16(ndr
, "unknown", r
->in
.unknown
);
12657 if (flags
& NDR_OUT
) {
12658 ndr_print_struct(ndr
, "out", "lsa_lsaRQueryForestTrustInformation");
12660 ndr_print_ptr(ndr
, "forest_trust_info", r
->out
.forest_trust_info
);
12662 ndr_print_ptr(ndr
, "forest_trust_info", *r
->out
.forest_trust_info
);
12664 if (*r
->out
.forest_trust_info
) {
12665 ndr_print_lsa_ForestTrustInformation(ndr
, "forest_trust_info", *r
->out
.forest_trust_info
);
12669 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12675 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_lsaRSetForestTrustInformation(struct ndr_push
*ndr
, int flags
, const struct lsa_lsaRSetForestTrustInformation
*r
)
12677 if (flags
& NDR_IN
) {
12678 if (r
->in
.handle
== NULL
) {
12679 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12681 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
12682 if (r
->in
.trusted_domain_name
== NULL
) {
12683 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12685 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain_name
));
12686 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.highest_record_type
));
12687 if (r
->in
.forest_trust_info
== NULL
) {
12688 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12690 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.forest_trust_info
));
12691 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.check_only
));
12693 if (flags
& NDR_OUT
) {
12694 if (r
->out
.collision_info
== NULL
) {
12695 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12697 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.collision_info
));
12698 if (*r
->out
.collision_info
) {
12699 NDR_CHECK(ndr_push_lsa_ForestTrustCollisionInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.collision_info
));
12701 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12703 return NDR_ERR_SUCCESS
;
12706 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_lsaRSetForestTrustInformation(struct ndr_pull
*ndr
, int flags
, struct lsa_lsaRSetForestTrustInformation
*r
)
12708 uint32_t _ptr_collision_info
;
12709 TALLOC_CTX
*_mem_save_handle_0
;
12710 TALLOC_CTX
*_mem_save_trusted_domain_name_0
;
12711 TALLOC_CTX
*_mem_save_forest_trust_info_0
;
12712 TALLOC_CTX
*_mem_save_collision_info_0
;
12713 TALLOC_CTX
*_mem_save_collision_info_1
;
12714 if (flags
& NDR_IN
) {
12715 ZERO_STRUCT(r
->out
);
12717 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12718 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
12720 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12721 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
12722 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
12723 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
12724 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12725 NDR_PULL_ALLOC(ndr
, r
->in
.trusted_domain_name
);
12727 _mem_save_trusted_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12728 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trusted_domain_name
, LIBNDR_FLAG_REF_ALLOC
);
12729 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain_name
));
12730 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trusted_domain_name_0
, LIBNDR_FLAG_REF_ALLOC
);
12731 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.highest_record_type
));
12732 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12733 NDR_PULL_ALLOC(ndr
, r
->in
.forest_trust_info
);
12735 _mem_save_forest_trust_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12736 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.forest_trust_info
, LIBNDR_FLAG_REF_ALLOC
);
12737 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.forest_trust_info
));
12738 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_forest_trust_info_0
, LIBNDR_FLAG_REF_ALLOC
);
12739 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.check_only
));
12740 NDR_PULL_ALLOC(ndr
, r
->out
.collision_info
);
12741 ZERO_STRUCTP(r
->out
.collision_info
);
12743 if (flags
& NDR_OUT
) {
12744 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12745 NDR_PULL_ALLOC(ndr
, r
->out
.collision_info
);
12747 _mem_save_collision_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12748 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.collision_info
, LIBNDR_FLAG_REF_ALLOC
);
12749 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_collision_info
));
12750 if (_ptr_collision_info
) {
12751 NDR_PULL_ALLOC(ndr
, *r
->out
.collision_info
);
12753 *r
->out
.collision_info
= NULL
;
12755 if (*r
->out
.collision_info
) {
12756 _mem_save_collision_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12757 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.collision_info
, 0);
12758 NDR_CHECK(ndr_pull_lsa_ForestTrustCollisionInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.collision_info
));
12759 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_collision_info_1
, 0);
12761 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_collision_info_0
, LIBNDR_FLAG_REF_ALLOC
);
12762 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12764 return NDR_ERR_SUCCESS
;
12767 _PUBLIC_
void ndr_print_lsa_lsaRSetForestTrustInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_lsaRSetForestTrustInformation
*r
)
12769 ndr_print_struct(ndr
, name
, "lsa_lsaRSetForestTrustInformation");
12771 if (flags
& NDR_SET_VALUES
) {
12772 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12774 if (flags
& NDR_IN
) {
12775 ndr_print_struct(ndr
, "in", "lsa_lsaRSetForestTrustInformation");
12777 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
12779 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
12781 ndr_print_ptr(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
12783 ndr_print_lsa_StringLarge(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
12785 ndr_print_uint16(ndr
, "highest_record_type", r
->in
.highest_record_type
);
12786 ndr_print_ptr(ndr
, "forest_trust_info", r
->in
.forest_trust_info
);
12788 ndr_print_lsa_ForestTrustInformation(ndr
, "forest_trust_info", r
->in
.forest_trust_info
);
12790 ndr_print_uint8(ndr
, "check_only", r
->in
.check_only
);
12793 if (flags
& NDR_OUT
) {
12794 ndr_print_struct(ndr
, "out", "lsa_lsaRSetForestTrustInformation");
12796 ndr_print_ptr(ndr
, "collision_info", r
->out
.collision_info
);
12798 ndr_print_ptr(ndr
, "collision_info", *r
->out
.collision_info
);
12800 if (*r
->out
.collision_info
) {
12801 ndr_print_lsa_ForestTrustCollisionInfo(ndr
, "collision_info", *r
->out
.collision_info
);
12805 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12811 static enum ndr_err_code
ndr_push_lsa_CREDRRENAME(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRRENAME
*r
)
12813 if (flags
& NDR_IN
) {
12815 if (flags
& NDR_OUT
) {
12816 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12818 return NDR_ERR_SUCCESS
;
12821 static enum ndr_err_code
ndr_pull_lsa_CREDRRENAME(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRRENAME
*r
)
12823 if (flags
& NDR_IN
) {
12825 if (flags
& NDR_OUT
) {
12826 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12828 return NDR_ERR_SUCCESS
;
12831 _PUBLIC_
void ndr_print_lsa_CREDRRENAME(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRRENAME
*r
)
12833 ndr_print_struct(ndr
, name
, "lsa_CREDRRENAME");
12835 if (flags
& NDR_SET_VALUES
) {
12836 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12838 if (flags
& NDR_IN
) {
12839 ndr_print_struct(ndr
, "in", "lsa_CREDRRENAME");
12843 if (flags
& NDR_OUT
) {
12844 ndr_print_struct(ndr
, "out", "lsa_CREDRRENAME");
12846 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12852 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupSids3(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupSids3
*r
)
12854 if (flags
& NDR_IN
) {
12855 if (r
->in
.sids
== NULL
) {
12856 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12858 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
12859 if (r
->in
.names
== NULL
) {
12860 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12862 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
12863 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
12864 if (r
->in
.count
== NULL
) {
12865 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12867 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
12868 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr
, NDR_SCALARS
, r
->in
.lookup_options
));
12869 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr
, NDR_SCALARS
, r
->in
.client_revision
));
12871 if (flags
& NDR_OUT
) {
12872 if (r
->out
.domains
== NULL
) {
12873 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12875 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
12876 if (*r
->out
.domains
) {
12877 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
12879 if (r
->out
.names
== NULL
) {
12880 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12882 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
12883 if (r
->out
.count
== NULL
) {
12884 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12886 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
12887 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12889 return NDR_ERR_SUCCESS
;
12892 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupSids3(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupSids3
*r
)
12894 uint32_t _ptr_domains
;
12895 TALLOC_CTX
*_mem_save_sids_0
;
12896 TALLOC_CTX
*_mem_save_domains_0
;
12897 TALLOC_CTX
*_mem_save_domains_1
;
12898 TALLOC_CTX
*_mem_save_names_0
;
12899 TALLOC_CTX
*_mem_save_count_0
;
12900 if (flags
& NDR_IN
) {
12901 ZERO_STRUCT(r
->out
);
12903 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12904 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
12906 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12907 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
12908 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
12909 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
12910 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12911 NDR_PULL_ALLOC(ndr
, r
->in
.names
);
12913 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12914 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, LIBNDR_FLAG_REF_ALLOC
);
12915 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
12916 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
12917 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
12918 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12919 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
12921 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12922 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
12923 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
12924 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
12925 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr
, NDR_SCALARS
, &r
->in
.lookup_options
));
12926 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr
, NDR_SCALARS
, &r
->in
.client_revision
));
12927 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
12928 ZERO_STRUCTP(r
->out
.domains
);
12929 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
12930 *r
->out
.names
= *r
->in
.names
;
12931 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
12932 *r
->out
.count
= *r
->in
.count
;
12934 if (flags
& NDR_OUT
) {
12935 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12936 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
12938 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12939 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
12940 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
12941 if (_ptr_domains
) {
12942 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
12944 *r
->out
.domains
= NULL
;
12946 if (*r
->out
.domains
) {
12947 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12948 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
12949 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
12950 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
12952 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
12953 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12954 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
12956 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12957 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
12958 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
12959 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
12960 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12961 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
12963 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12964 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
12965 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
12966 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
12967 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12969 return NDR_ERR_SUCCESS
;
12972 _PUBLIC_
void ndr_print_lsa_LookupSids3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupSids3
*r
)
12974 ndr_print_struct(ndr
, name
, "lsa_LookupSids3");
12976 if (flags
& NDR_SET_VALUES
) {
12977 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12979 if (flags
& NDR_IN
) {
12980 ndr_print_struct(ndr
, "in", "lsa_LookupSids3");
12982 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
12984 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
12986 ndr_print_ptr(ndr
, "names", r
->in
.names
);
12988 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->in
.names
);
12990 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
12991 ndr_print_ptr(ndr
, "count", r
->in
.count
);
12993 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
12995 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
12996 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
12999 if (flags
& NDR_OUT
) {
13000 ndr_print_struct(ndr
, "out", "lsa_LookupSids3");
13002 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
13004 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
13006 if (*r
->out
.domains
) {
13007 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
13011 ndr_print_ptr(ndr
, "names", r
->out
.names
);
13013 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->out
.names
);
13015 ndr_print_ptr(ndr
, "count", r
->out
.count
);
13017 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
13019 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
13025 static enum ndr_err_code
ndr_push_lsa_LookupNames4(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames4
*r
)
13027 uint32_t cntr_names_0
;
13028 if (flags
& NDR_IN
) {
13029 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
13030 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->in
.num_names
));
13031 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
13032 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
13034 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
13035 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
13037 if (r
->in
.sids
== NULL
) {
13038 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13040 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
13041 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
13042 if (r
->in
.count
== NULL
) {
13043 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13045 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
13046 NDR_CHECK(ndr_push_lsa_LookupOptions(ndr
, NDR_SCALARS
, r
->in
.lookup_options
));
13047 NDR_CHECK(ndr_push_lsa_ClientRevision(ndr
, NDR_SCALARS
, r
->in
.client_revision
));
13049 if (flags
& NDR_OUT
) {
13050 if (r
->out
.domains
== NULL
) {
13051 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13053 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
13054 if (*r
->out
.domains
) {
13055 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
13057 if (r
->out
.sids
== NULL
) {
13058 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13060 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
13061 if (r
->out
.count
== NULL
) {
13062 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13064 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
13065 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
13067 return NDR_ERR_SUCCESS
;
13070 static enum ndr_err_code
ndr_pull_lsa_LookupNames4(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames4
*r
)
13072 uint32_t cntr_names_0
;
13073 uint32_t _ptr_domains
;
13074 TALLOC_CTX
*_mem_save_names_0
;
13075 TALLOC_CTX
*_mem_save_domains_0
;
13076 TALLOC_CTX
*_mem_save_domains_1
;
13077 TALLOC_CTX
*_mem_save_sids_0
;
13078 TALLOC_CTX
*_mem_save_count_0
;
13079 if (flags
& NDR_IN
) {
13080 ZERO_STRUCT(r
->out
);
13082 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
13083 if (r
->in
.num_names
> 1000) {
13084 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13086 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
13087 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
13088 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13089 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
13090 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
13091 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
13093 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
13094 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
13096 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
13097 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13098 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
13100 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13101 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
13102 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
13103 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
13104 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
13105 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13106 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
13108 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13109 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
13110 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
13111 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
13112 NDR_CHECK(ndr_pull_lsa_LookupOptions(ndr
, NDR_SCALARS
, &r
->in
.lookup_options
));
13113 NDR_CHECK(ndr_pull_lsa_ClientRevision(ndr
, NDR_SCALARS
, &r
->in
.client_revision
));
13114 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
13115 ZERO_STRUCTP(r
->out
.domains
);
13116 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
13117 *r
->out
.sids
= *r
->in
.sids
;
13118 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
13119 *r
->out
.count
= *r
->in
.count
;
13121 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
13124 if (flags
& NDR_OUT
) {
13125 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13126 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
13128 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13129 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
13130 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
13131 if (_ptr_domains
) {
13132 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
13134 *r
->out
.domains
= NULL
;
13136 if (*r
->out
.domains
) {
13137 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13138 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
13139 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
13140 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
13142 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
13143 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13144 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
13146 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13147 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
13148 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
13149 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
13150 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13151 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
13153 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13154 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
13155 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
13156 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
13157 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
13159 return NDR_ERR_SUCCESS
;
13162 _PUBLIC_
void ndr_print_lsa_LookupNames4(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames4
*r
)
13164 uint32_t cntr_names_0
;
13165 ndr_print_struct(ndr
, name
, "lsa_LookupNames4");
13167 if (flags
& NDR_SET_VALUES
) {
13168 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13170 if (flags
& NDR_IN
) {
13171 ndr_print_struct(ndr
, "in", "lsa_LookupNames4");
13173 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
13174 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
13176 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
13178 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
13179 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
13184 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
13186 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->in
.sids
);
13188 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
13189 ndr_print_ptr(ndr
, "count", r
->in
.count
);
13191 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
13193 ndr_print_lsa_LookupOptions(ndr
, "lookup_options", r
->in
.lookup_options
);
13194 ndr_print_lsa_ClientRevision(ndr
, "client_revision", r
->in
.client_revision
);
13197 if (flags
& NDR_OUT
) {
13198 ndr_print_struct(ndr
, "out", "lsa_LookupNames4");
13200 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
13202 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
13204 if (*r
->out
.domains
) {
13205 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
13209 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
13211 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->out
.sids
);
13213 ndr_print_ptr(ndr
, "count", r
->out
.count
);
13215 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
13217 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
13223 static enum ndr_err_code
ndr_push_lsa_LSAROPENPOLICYSCE(struct ndr_push
*ndr
, int flags
, const struct lsa_LSAROPENPOLICYSCE
*r
)
13225 if (flags
& NDR_IN
) {
13227 if (flags
& NDR_OUT
) {
13228 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
13230 return NDR_ERR_SUCCESS
;
13233 static enum ndr_err_code
ndr_pull_lsa_LSAROPENPOLICYSCE(struct ndr_pull
*ndr
, int flags
, struct lsa_LSAROPENPOLICYSCE
*r
)
13235 if (flags
& NDR_IN
) {
13237 if (flags
& NDR_OUT
) {
13238 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
13240 return NDR_ERR_SUCCESS
;
13243 _PUBLIC_
void ndr_print_lsa_LSAROPENPOLICYSCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSAROPENPOLICYSCE
*r
)
13245 ndr_print_struct(ndr
, name
, "lsa_LSAROPENPOLICYSCE");
13247 if (flags
& NDR_SET_VALUES
) {
13248 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13250 if (flags
& NDR_IN
) {
13251 ndr_print_struct(ndr
, "in", "lsa_LSAROPENPOLICYSCE");
13255 if (flags
& NDR_OUT
) {
13256 ndr_print_struct(ndr
, "out", "lsa_LSAROPENPOLICYSCE");
13258 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
13264 static enum ndr_err_code
ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
*r
)
13266 if (flags
& NDR_IN
) {
13268 if (flags
& NDR_OUT
) {
13269 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
13271 return NDR_ERR_SUCCESS
;
13274 static enum ndr_err_code
ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
*r
)
13276 if (flags
& NDR_IN
) {
13278 if (flags
& NDR_OUT
) {
13279 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
13281 return NDR_ERR_SUCCESS
;
13284 _PUBLIC_
void ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
*r
)
13286 ndr_print_struct(ndr
, name
, "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
13288 if (flags
& NDR_SET_VALUES
) {
13289 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13291 if (flags
& NDR_IN
) {
13292 ndr_print_struct(ndr
, "in", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
13296 if (flags
& NDR_OUT
) {
13297 ndr_print_struct(ndr
, "out", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
13299 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
13305 static enum ndr_err_code
ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
*r
)
13307 if (flags
& NDR_IN
) {
13309 if (flags
& NDR_OUT
) {
13310 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
13312 return NDR_ERR_SUCCESS
;
13315 static enum ndr_err_code
ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
*r
)
13317 if (flags
& NDR_IN
) {
13319 if (flags
& NDR_OUT
) {
13320 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
13322 return NDR_ERR_SUCCESS
;
13325 _PUBLIC_
void ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
*r
)
13327 ndr_print_struct(ndr
, name
, "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
13329 if (flags
& NDR_SET_VALUES
) {
13330 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13332 if (flags
& NDR_IN
) {
13333 ndr_print_struct(ndr
, "in", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
13337 if (flags
& NDR_OUT
) {
13338 ndr_print_struct(ndr
, "out", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
13340 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
13346 static enum ndr_err_code
ndr_push_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARADTREPORTSECURITYEVENT
*r
)
13348 if (flags
& NDR_IN
) {
13350 if (flags
& NDR_OUT
) {
13351 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
13353 return NDR_ERR_SUCCESS
;
13356 static enum ndr_err_code
ndr_pull_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARADTREPORTSECURITYEVENT
*r
)
13358 if (flags
& NDR_IN
) {
13360 if (flags
& NDR_OUT
) {
13361 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
13363 return NDR_ERR_SUCCESS
;
13366 _PUBLIC_
void ndr_print_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARADTREPORTSECURITYEVENT
*r
)
13368 ndr_print_struct(ndr
, name
, "lsa_LSARADTREPORTSECURITYEVENT");
13370 if (flags
& NDR_SET_VALUES
) {
13371 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13373 if (flags
& NDR_IN
) {
13374 ndr_print_struct(ndr
, "in", "lsa_LSARADTREPORTSECURITYEVENT");
13378 if (flags
& NDR_OUT
) {
13379 ndr_print_struct(ndr
, "out", "lsa_LSARADTREPORTSECURITYEVENT");
13381 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
13387 static const struct ndr_interface_call lsarpc_calls
[] = {
13390 sizeof(struct lsa_Close
),
13391 (ndr_push_flags_fn_t
) ndr_push_lsa_Close
,
13392 (ndr_pull_flags_fn_t
) ndr_pull_lsa_Close
,
13393 (ndr_print_function_t
) ndr_print_lsa_Close
,
13398 sizeof(struct lsa_Delete
),
13399 (ndr_push_flags_fn_t
) ndr_push_lsa_Delete
,
13400 (ndr_pull_flags_fn_t
) ndr_pull_lsa_Delete
,
13401 (ndr_print_function_t
) ndr_print_lsa_Delete
,
13406 sizeof(struct lsa_EnumPrivs
),
13407 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumPrivs
,
13408 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumPrivs
,
13409 (ndr_print_function_t
) ndr_print_lsa_EnumPrivs
,
13413 "lsa_QuerySecurity",
13414 sizeof(struct lsa_QuerySecurity
),
13415 (ndr_push_flags_fn_t
) ndr_push_lsa_QuerySecurity
,
13416 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QuerySecurity
,
13417 (ndr_print_function_t
) ndr_print_lsa_QuerySecurity
,
13422 sizeof(struct lsa_SetSecObj
),
13423 (ndr_push_flags_fn_t
) ndr_push_lsa_SetSecObj
,
13424 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetSecObj
,
13425 (ndr_print_function_t
) ndr_print_lsa_SetSecObj
,
13429 "lsa_ChangePassword",
13430 sizeof(struct lsa_ChangePassword
),
13431 (ndr_push_flags_fn_t
) ndr_push_lsa_ChangePassword
,
13432 (ndr_pull_flags_fn_t
) ndr_pull_lsa_ChangePassword
,
13433 (ndr_print_function_t
) ndr_print_lsa_ChangePassword
,
13438 sizeof(struct lsa_OpenPolicy
),
13439 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenPolicy
,
13440 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenPolicy
,
13441 (ndr_print_function_t
) ndr_print_lsa_OpenPolicy
,
13445 "lsa_QueryInfoPolicy",
13446 sizeof(struct lsa_QueryInfoPolicy
),
13447 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryInfoPolicy
,
13448 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryInfoPolicy
,
13449 (ndr_print_function_t
) ndr_print_lsa_QueryInfoPolicy
,
13453 "lsa_SetInfoPolicy",
13454 sizeof(struct lsa_SetInfoPolicy
),
13455 (ndr_push_flags_fn_t
) ndr_push_lsa_SetInfoPolicy
,
13456 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetInfoPolicy
,
13457 (ndr_print_function_t
) ndr_print_lsa_SetInfoPolicy
,
13461 "lsa_ClearAuditLog",
13462 sizeof(struct lsa_ClearAuditLog
),
13463 (ndr_push_flags_fn_t
) ndr_push_lsa_ClearAuditLog
,
13464 (ndr_pull_flags_fn_t
) ndr_pull_lsa_ClearAuditLog
,
13465 (ndr_print_function_t
) ndr_print_lsa_ClearAuditLog
,
13469 "lsa_CreateAccount",
13470 sizeof(struct lsa_CreateAccount
),
13471 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateAccount
,
13472 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateAccount
,
13473 (ndr_print_function_t
) ndr_print_lsa_CreateAccount
,
13477 "lsa_EnumAccounts",
13478 sizeof(struct lsa_EnumAccounts
),
13479 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumAccounts
,
13480 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumAccounts
,
13481 (ndr_print_function_t
) ndr_print_lsa_EnumAccounts
,
13485 "lsa_CreateTrustedDomain",
13486 sizeof(struct lsa_CreateTrustedDomain
),
13487 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateTrustedDomain
,
13488 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateTrustedDomain
,
13489 (ndr_print_function_t
) ndr_print_lsa_CreateTrustedDomain
,
13493 "lsa_EnumTrustDom",
13494 sizeof(struct lsa_EnumTrustDom
),
13495 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumTrustDom
,
13496 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumTrustDom
,
13497 (ndr_print_function_t
) ndr_print_lsa_EnumTrustDom
,
13502 sizeof(struct lsa_LookupNames
),
13503 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames
,
13504 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames
,
13505 (ndr_print_function_t
) ndr_print_lsa_LookupNames
,
13510 sizeof(struct lsa_LookupSids
),
13511 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupSids
,
13512 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupSids
,
13513 (ndr_print_function_t
) ndr_print_lsa_LookupSids
,
13517 "lsa_CreateSecret",
13518 sizeof(struct lsa_CreateSecret
),
13519 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateSecret
,
13520 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateSecret
,
13521 (ndr_print_function_t
) ndr_print_lsa_CreateSecret
,
13526 sizeof(struct lsa_OpenAccount
),
13527 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenAccount
,
13528 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenAccount
,
13529 (ndr_print_function_t
) ndr_print_lsa_OpenAccount
,
13533 "lsa_EnumPrivsAccount",
13534 sizeof(struct lsa_EnumPrivsAccount
),
13535 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumPrivsAccount
,
13536 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumPrivsAccount
,
13537 (ndr_print_function_t
) ndr_print_lsa_EnumPrivsAccount
,
13541 "lsa_AddPrivilegesToAccount",
13542 sizeof(struct lsa_AddPrivilegesToAccount
),
13543 (ndr_push_flags_fn_t
) ndr_push_lsa_AddPrivilegesToAccount
,
13544 (ndr_pull_flags_fn_t
) ndr_pull_lsa_AddPrivilegesToAccount
,
13545 (ndr_print_function_t
) ndr_print_lsa_AddPrivilegesToAccount
,
13549 "lsa_RemovePrivilegesFromAccount",
13550 sizeof(struct lsa_RemovePrivilegesFromAccount
),
13551 (ndr_push_flags_fn_t
) ndr_push_lsa_RemovePrivilegesFromAccount
,
13552 (ndr_pull_flags_fn_t
) ndr_pull_lsa_RemovePrivilegesFromAccount
,
13553 (ndr_print_function_t
) ndr_print_lsa_RemovePrivilegesFromAccount
,
13557 "lsa_GetQuotasForAccount",
13558 sizeof(struct lsa_GetQuotasForAccount
),
13559 (ndr_push_flags_fn_t
) ndr_push_lsa_GetQuotasForAccount
,
13560 (ndr_pull_flags_fn_t
) ndr_pull_lsa_GetQuotasForAccount
,
13561 (ndr_print_function_t
) ndr_print_lsa_GetQuotasForAccount
,
13565 "lsa_SetQuotasForAccount",
13566 sizeof(struct lsa_SetQuotasForAccount
),
13567 (ndr_push_flags_fn_t
) ndr_push_lsa_SetQuotasForAccount
,
13568 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetQuotasForAccount
,
13569 (ndr_print_function_t
) ndr_print_lsa_SetQuotasForAccount
,
13573 "lsa_GetSystemAccessAccount",
13574 sizeof(struct lsa_GetSystemAccessAccount
),
13575 (ndr_push_flags_fn_t
) ndr_push_lsa_GetSystemAccessAccount
,
13576 (ndr_pull_flags_fn_t
) ndr_pull_lsa_GetSystemAccessAccount
,
13577 (ndr_print_function_t
) ndr_print_lsa_GetSystemAccessAccount
,
13581 "lsa_SetSystemAccessAccount",
13582 sizeof(struct lsa_SetSystemAccessAccount
),
13583 (ndr_push_flags_fn_t
) ndr_push_lsa_SetSystemAccessAccount
,
13584 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetSystemAccessAccount
,
13585 (ndr_print_function_t
) ndr_print_lsa_SetSystemAccessAccount
,
13589 "lsa_OpenTrustedDomain",
13590 sizeof(struct lsa_OpenTrustedDomain
),
13591 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenTrustedDomain
,
13592 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenTrustedDomain
,
13593 (ndr_print_function_t
) ndr_print_lsa_OpenTrustedDomain
,
13597 "lsa_QueryTrustedDomainInfo",
13598 sizeof(struct lsa_QueryTrustedDomainInfo
),
13599 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryTrustedDomainInfo
,
13600 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryTrustedDomainInfo
,
13601 (ndr_print_function_t
) ndr_print_lsa_QueryTrustedDomainInfo
,
13605 "lsa_SetInformationTrustedDomain",
13606 sizeof(struct lsa_SetInformationTrustedDomain
),
13607 (ndr_push_flags_fn_t
) ndr_push_lsa_SetInformationTrustedDomain
,
13608 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetInformationTrustedDomain
,
13609 (ndr_print_function_t
) ndr_print_lsa_SetInformationTrustedDomain
,
13614 sizeof(struct lsa_OpenSecret
),
13615 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenSecret
,
13616 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenSecret
,
13617 (ndr_print_function_t
) ndr_print_lsa_OpenSecret
,
13622 sizeof(struct lsa_SetSecret
),
13623 (ndr_push_flags_fn_t
) ndr_push_lsa_SetSecret
,
13624 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetSecret
,
13625 (ndr_print_function_t
) ndr_print_lsa_SetSecret
,
13630 sizeof(struct lsa_QuerySecret
),
13631 (ndr_push_flags_fn_t
) ndr_push_lsa_QuerySecret
,
13632 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QuerySecret
,
13633 (ndr_print_function_t
) ndr_print_lsa_QuerySecret
,
13637 "lsa_LookupPrivValue",
13638 sizeof(struct lsa_LookupPrivValue
),
13639 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupPrivValue
,
13640 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupPrivValue
,
13641 (ndr_print_function_t
) ndr_print_lsa_LookupPrivValue
,
13645 "lsa_LookupPrivName",
13646 sizeof(struct lsa_LookupPrivName
),
13647 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupPrivName
,
13648 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupPrivName
,
13649 (ndr_print_function_t
) ndr_print_lsa_LookupPrivName
,
13653 "lsa_LookupPrivDisplayName",
13654 sizeof(struct lsa_LookupPrivDisplayName
),
13655 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupPrivDisplayName
,
13656 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupPrivDisplayName
,
13657 (ndr_print_function_t
) ndr_print_lsa_LookupPrivDisplayName
,
13661 "lsa_DeleteObject",
13662 sizeof(struct lsa_DeleteObject
),
13663 (ndr_push_flags_fn_t
) ndr_push_lsa_DeleteObject
,
13664 (ndr_pull_flags_fn_t
) ndr_pull_lsa_DeleteObject
,
13665 (ndr_print_function_t
) ndr_print_lsa_DeleteObject
,
13669 "lsa_EnumAccountsWithUserRight",
13670 sizeof(struct lsa_EnumAccountsWithUserRight
),
13671 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumAccountsWithUserRight
,
13672 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumAccountsWithUserRight
,
13673 (ndr_print_function_t
) ndr_print_lsa_EnumAccountsWithUserRight
,
13677 "lsa_EnumAccountRights",
13678 sizeof(struct lsa_EnumAccountRights
),
13679 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumAccountRights
,
13680 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumAccountRights
,
13681 (ndr_print_function_t
) ndr_print_lsa_EnumAccountRights
,
13685 "lsa_AddAccountRights",
13686 sizeof(struct lsa_AddAccountRights
),
13687 (ndr_push_flags_fn_t
) ndr_push_lsa_AddAccountRights
,
13688 (ndr_pull_flags_fn_t
) ndr_pull_lsa_AddAccountRights
,
13689 (ndr_print_function_t
) ndr_print_lsa_AddAccountRights
,
13693 "lsa_RemoveAccountRights",
13694 sizeof(struct lsa_RemoveAccountRights
),
13695 (ndr_push_flags_fn_t
) ndr_push_lsa_RemoveAccountRights
,
13696 (ndr_pull_flags_fn_t
) ndr_pull_lsa_RemoveAccountRights
,
13697 (ndr_print_function_t
) ndr_print_lsa_RemoveAccountRights
,
13701 "lsa_QueryTrustedDomainInfoBySid",
13702 sizeof(struct lsa_QueryTrustedDomainInfoBySid
),
13703 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryTrustedDomainInfoBySid
,
13704 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryTrustedDomainInfoBySid
,
13705 (ndr_print_function_t
) ndr_print_lsa_QueryTrustedDomainInfoBySid
,
13709 "lsa_SetTrustedDomainInfo",
13710 sizeof(struct lsa_SetTrustedDomainInfo
),
13711 (ndr_push_flags_fn_t
) ndr_push_lsa_SetTrustedDomainInfo
,
13712 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetTrustedDomainInfo
,
13713 (ndr_print_function_t
) ndr_print_lsa_SetTrustedDomainInfo
,
13717 "lsa_DeleteTrustedDomain",
13718 sizeof(struct lsa_DeleteTrustedDomain
),
13719 (ndr_push_flags_fn_t
) ndr_push_lsa_DeleteTrustedDomain
,
13720 (ndr_pull_flags_fn_t
) ndr_pull_lsa_DeleteTrustedDomain
,
13721 (ndr_print_function_t
) ndr_print_lsa_DeleteTrustedDomain
,
13725 "lsa_StorePrivateData",
13726 sizeof(struct lsa_StorePrivateData
),
13727 (ndr_push_flags_fn_t
) ndr_push_lsa_StorePrivateData
,
13728 (ndr_pull_flags_fn_t
) ndr_pull_lsa_StorePrivateData
,
13729 (ndr_print_function_t
) ndr_print_lsa_StorePrivateData
,
13733 "lsa_RetrievePrivateData",
13734 sizeof(struct lsa_RetrievePrivateData
),
13735 (ndr_push_flags_fn_t
) ndr_push_lsa_RetrievePrivateData
,
13736 (ndr_pull_flags_fn_t
) ndr_pull_lsa_RetrievePrivateData
,
13737 (ndr_print_function_t
) ndr_print_lsa_RetrievePrivateData
,
13742 sizeof(struct lsa_OpenPolicy2
),
13743 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenPolicy2
,
13744 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenPolicy2
,
13745 (ndr_print_function_t
) ndr_print_lsa_OpenPolicy2
,
13750 sizeof(struct lsa_GetUserName
),
13751 (ndr_push_flags_fn_t
) ndr_push_lsa_GetUserName
,
13752 (ndr_pull_flags_fn_t
) ndr_pull_lsa_GetUserName
,
13753 (ndr_print_function_t
) ndr_print_lsa_GetUserName
,
13757 "lsa_QueryInfoPolicy2",
13758 sizeof(struct lsa_QueryInfoPolicy2
),
13759 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryInfoPolicy2
,
13760 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryInfoPolicy2
,
13761 (ndr_print_function_t
) ndr_print_lsa_QueryInfoPolicy2
,
13765 "lsa_SetInfoPolicy2",
13766 sizeof(struct lsa_SetInfoPolicy2
),
13767 (ndr_push_flags_fn_t
) ndr_push_lsa_SetInfoPolicy2
,
13768 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetInfoPolicy2
,
13769 (ndr_print_function_t
) ndr_print_lsa_SetInfoPolicy2
,
13773 "lsa_QueryTrustedDomainInfoByName",
13774 sizeof(struct lsa_QueryTrustedDomainInfoByName
),
13775 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryTrustedDomainInfoByName
,
13776 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryTrustedDomainInfoByName
,
13777 (ndr_print_function_t
) ndr_print_lsa_QueryTrustedDomainInfoByName
,
13781 "lsa_SetTrustedDomainInfoByName",
13782 sizeof(struct lsa_SetTrustedDomainInfoByName
),
13783 (ndr_push_flags_fn_t
) ndr_push_lsa_SetTrustedDomainInfoByName
,
13784 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetTrustedDomainInfoByName
,
13785 (ndr_print_function_t
) ndr_print_lsa_SetTrustedDomainInfoByName
,
13789 "lsa_EnumTrustedDomainsEx",
13790 sizeof(struct lsa_EnumTrustedDomainsEx
),
13791 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumTrustedDomainsEx
,
13792 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumTrustedDomainsEx
,
13793 (ndr_print_function_t
) ndr_print_lsa_EnumTrustedDomainsEx
,
13797 "lsa_CreateTrustedDomainEx",
13798 sizeof(struct lsa_CreateTrustedDomainEx
),
13799 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateTrustedDomainEx
,
13800 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateTrustedDomainEx
,
13801 (ndr_print_function_t
) ndr_print_lsa_CreateTrustedDomainEx
,
13805 "lsa_CloseTrustedDomainEx",
13806 sizeof(struct lsa_CloseTrustedDomainEx
),
13807 (ndr_push_flags_fn_t
) ndr_push_lsa_CloseTrustedDomainEx
,
13808 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CloseTrustedDomainEx
,
13809 (ndr_print_function_t
) ndr_print_lsa_CloseTrustedDomainEx
,
13813 "lsa_QueryDomainInformationPolicy",
13814 sizeof(struct lsa_QueryDomainInformationPolicy
),
13815 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryDomainInformationPolicy
,
13816 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryDomainInformationPolicy
,
13817 (ndr_print_function_t
) ndr_print_lsa_QueryDomainInformationPolicy
,
13821 "lsa_SetDomainInformationPolicy",
13822 sizeof(struct lsa_SetDomainInformationPolicy
),
13823 (ndr_push_flags_fn_t
) ndr_push_lsa_SetDomainInformationPolicy
,
13824 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetDomainInformationPolicy
,
13825 (ndr_print_function_t
) ndr_print_lsa_SetDomainInformationPolicy
,
13829 "lsa_OpenTrustedDomainByName",
13830 sizeof(struct lsa_OpenTrustedDomainByName
),
13831 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenTrustedDomainByName
,
13832 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenTrustedDomainByName
,
13833 (ndr_print_function_t
) ndr_print_lsa_OpenTrustedDomainByName
,
13838 sizeof(struct lsa_TestCall
),
13839 (ndr_push_flags_fn_t
) ndr_push_lsa_TestCall
,
13840 (ndr_pull_flags_fn_t
) ndr_pull_lsa_TestCall
,
13841 (ndr_print_function_t
) ndr_print_lsa_TestCall
,
13846 sizeof(struct lsa_LookupSids2
),
13847 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupSids2
,
13848 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupSids2
,
13849 (ndr_print_function_t
) ndr_print_lsa_LookupSids2
,
13853 "lsa_LookupNames2",
13854 sizeof(struct lsa_LookupNames2
),
13855 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames2
,
13856 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames2
,
13857 (ndr_print_function_t
) ndr_print_lsa_LookupNames2
,
13861 "lsa_CreateTrustedDomainEx2",
13862 sizeof(struct lsa_CreateTrustedDomainEx2
),
13863 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateTrustedDomainEx2
,
13864 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateTrustedDomainEx2
,
13865 (ndr_print_function_t
) ndr_print_lsa_CreateTrustedDomainEx2
,
13870 sizeof(struct lsa_CREDRWRITE
),
13871 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRWRITE
,
13872 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRWRITE
,
13873 (ndr_print_function_t
) ndr_print_lsa_CREDRWRITE
,
13878 sizeof(struct lsa_CREDRREAD
),
13879 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRREAD
,
13880 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRREAD
,
13881 (ndr_print_function_t
) ndr_print_lsa_CREDRREAD
,
13885 "lsa_CREDRENUMERATE",
13886 sizeof(struct lsa_CREDRENUMERATE
),
13887 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRENUMERATE
,
13888 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRENUMERATE
,
13889 (ndr_print_function_t
) ndr_print_lsa_CREDRENUMERATE
,
13893 "lsa_CREDRWRITEDOMAINCREDENTIALS",
13894 sizeof(struct lsa_CREDRWRITEDOMAINCREDENTIALS
),
13895 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS
,
13896 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS
,
13897 (ndr_print_function_t
) ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS
,
13901 "lsa_CREDRREADDOMAINCREDENTIALS",
13902 sizeof(struct lsa_CREDRREADDOMAINCREDENTIALS
),
13903 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRREADDOMAINCREDENTIALS
,
13904 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS
,
13905 (ndr_print_function_t
) ndr_print_lsa_CREDRREADDOMAINCREDENTIALS
,
13910 sizeof(struct lsa_CREDRDELETE
),
13911 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRDELETE
,
13912 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRDELETE
,
13913 (ndr_print_function_t
) ndr_print_lsa_CREDRDELETE
,
13917 "lsa_CREDRGETTARGETINFO",
13918 sizeof(struct lsa_CREDRGETTARGETINFO
),
13919 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRGETTARGETINFO
,
13920 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRGETTARGETINFO
,
13921 (ndr_print_function_t
) ndr_print_lsa_CREDRGETTARGETINFO
,
13925 "lsa_CREDRPROFILELOADED",
13926 sizeof(struct lsa_CREDRPROFILELOADED
),
13927 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRPROFILELOADED
,
13928 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRPROFILELOADED
,
13929 (ndr_print_function_t
) ndr_print_lsa_CREDRPROFILELOADED
,
13933 "lsa_LookupNames3",
13934 sizeof(struct lsa_LookupNames3
),
13935 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames3
,
13936 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames3
,
13937 (ndr_print_function_t
) ndr_print_lsa_LookupNames3
,
13941 "lsa_CREDRGETSESSIONTYPES",
13942 sizeof(struct lsa_CREDRGETSESSIONTYPES
),
13943 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRGETSESSIONTYPES
,
13944 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRGETSESSIONTYPES
,
13945 (ndr_print_function_t
) ndr_print_lsa_CREDRGETSESSIONTYPES
,
13949 "lsa_LSARREGISTERAUDITEVENT",
13950 sizeof(struct lsa_LSARREGISTERAUDITEVENT
),
13951 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARREGISTERAUDITEVENT
,
13952 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARREGISTERAUDITEVENT
,
13953 (ndr_print_function_t
) ndr_print_lsa_LSARREGISTERAUDITEVENT
,
13957 "lsa_LSARGENAUDITEVENT",
13958 sizeof(struct lsa_LSARGENAUDITEVENT
),
13959 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARGENAUDITEVENT
,
13960 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARGENAUDITEVENT
,
13961 (ndr_print_function_t
) ndr_print_lsa_LSARGENAUDITEVENT
,
13965 "lsa_LSARUNREGISTERAUDITEVENT",
13966 sizeof(struct lsa_LSARUNREGISTERAUDITEVENT
),
13967 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARUNREGISTERAUDITEVENT
,
13968 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARUNREGISTERAUDITEVENT
,
13969 (ndr_print_function_t
) ndr_print_lsa_LSARUNREGISTERAUDITEVENT
,
13973 "lsa_lsaRQueryForestTrustInformation",
13974 sizeof(struct lsa_lsaRQueryForestTrustInformation
),
13975 (ndr_push_flags_fn_t
) ndr_push_lsa_lsaRQueryForestTrustInformation
,
13976 (ndr_pull_flags_fn_t
) ndr_pull_lsa_lsaRQueryForestTrustInformation
,
13977 (ndr_print_function_t
) ndr_print_lsa_lsaRQueryForestTrustInformation
,
13981 "lsa_lsaRSetForestTrustInformation",
13982 sizeof(struct lsa_lsaRSetForestTrustInformation
),
13983 (ndr_push_flags_fn_t
) ndr_push_lsa_lsaRSetForestTrustInformation
,
13984 (ndr_pull_flags_fn_t
) ndr_pull_lsa_lsaRSetForestTrustInformation
,
13985 (ndr_print_function_t
) ndr_print_lsa_lsaRSetForestTrustInformation
,
13990 sizeof(struct lsa_CREDRRENAME
),
13991 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRRENAME
,
13992 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRRENAME
,
13993 (ndr_print_function_t
) ndr_print_lsa_CREDRRENAME
,
13998 sizeof(struct lsa_LookupSids3
),
13999 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupSids3
,
14000 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupSids3
,
14001 (ndr_print_function_t
) ndr_print_lsa_LookupSids3
,
14005 "lsa_LookupNames4",
14006 sizeof(struct lsa_LookupNames4
),
14007 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames4
,
14008 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames4
,
14009 (ndr_print_function_t
) ndr_print_lsa_LookupNames4
,
14013 "lsa_LSAROPENPOLICYSCE",
14014 sizeof(struct lsa_LSAROPENPOLICYSCE
),
14015 (ndr_push_flags_fn_t
) ndr_push_lsa_LSAROPENPOLICYSCE
,
14016 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSAROPENPOLICYSCE
,
14017 (ndr_print_function_t
) ndr_print_lsa_LSAROPENPOLICYSCE
,
14021 "lsa_LSARADTREGISTERSECURITYEVENTSOURCE",
14022 sizeof(struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
),
14023 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE
,
14024 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE
,
14025 (ndr_print_function_t
) ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE
,
14029 "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE",
14030 sizeof(struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
),
14031 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
,
14032 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
,
14033 (ndr_print_function_t
) ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
,
14037 "lsa_LSARADTREPORTSECURITYEVENT",
14038 sizeof(struct lsa_LSARADTREPORTSECURITYEVENT
),
14039 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARADTREPORTSECURITYEVENT
,
14040 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARADTREPORTSECURITYEVENT
,
14041 (ndr_print_function_t
) ndr_print_lsa_LSARADTREPORTSECURITYEVENT
,
14044 { NULL
, 0, NULL
, NULL
, NULL
, false }
14047 static const char * const lsarpc_endpoint_strings
[] = {
14048 "ncacn_np:[\\pipe\\lsarpc]",
14049 "ncacn_np:[\\pipe\\netlogon]",
14050 "ncacn_np:[\\pipe\\lsass]",
14055 static const struct ndr_interface_string_array lsarpc_endpoints
= {
14057 .names
= lsarpc_endpoint_strings
14060 static const char * const lsarpc_authservice_strings
[] = {
14064 static const struct ndr_interface_string_array lsarpc_authservices
= {
14066 .names
= lsarpc_authservice_strings
14070 const struct ndr_interface_table ndr_table_lsarpc
= {
14073 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},
14076 .helpstring
= NDR_LSARPC_HELPSTRING
,
14078 .calls
= lsarpc_calls
,
14079 .endpoints
= &lsarpc_endpoints
,
14080 .authservices
= &lsarpc_authservices