1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_lsa.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 #include "librpc/gen_ndr/ndr_security.h"
8 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_String(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_String
*r
)
10 if (ndr_flags
& NDR_SCALARS
) {
11 NDR_CHECK(ndr_push_align(ndr
, 4));
12 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
13 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
14 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
16 if (ndr_flags
& NDR_BUFFERS
) {
18 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
) / 2));
19 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
20 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
) / 2));
21 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, 2 * strlen_m(r
->string
) / 2, sizeof(uint16_t), CH_UTF16
));
24 return NDR_ERR_SUCCESS
;
27 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_String(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_String
*r
)
30 TALLOC_CTX
*_mem_save_string_0
;
31 if (ndr_flags
& NDR_SCALARS
) {
32 NDR_CHECK(ndr_pull_align(ndr
, 4));
33 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
34 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
35 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
37 NDR_PULL_ALLOC(ndr
, r
->string
);
42 if (ndr_flags
& NDR_BUFFERS
) {
44 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
45 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
46 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
47 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
48 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
49 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string
), ndr_get_array_length(ndr
, &r
->string
));
51 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
52 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
55 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
/ 2));
58 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
/ 2));
61 return NDR_ERR_SUCCESS
;
64 _PUBLIC_
void ndr_print_lsa_String(struct ndr_print
*ndr
, const char *name
, const struct lsa_String
*r
)
66 ndr_print_struct(ndr
, name
, "lsa_String");
68 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
69 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->size
);
70 ndr_print_ptr(ndr
, "string", r
->string
);
73 ndr_print_string(ndr
, "string", r
->string
);
79 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_StringLarge(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_StringLarge
*r
)
81 if (ndr_flags
& NDR_SCALARS
) {
82 NDR_CHECK(ndr_push_align(ndr
, 4));
83 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
84 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m_term(r
->string
)));
85 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
87 if (ndr_flags
& NDR_BUFFERS
) {
89 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2 * strlen_m_term(r
->string
) / 2));
90 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
91 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
) / 2));
92 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, 2 * strlen_m(r
->string
) / 2, sizeof(uint16_t), CH_UTF16
));
95 return NDR_ERR_SUCCESS
;
98 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_StringLarge(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_StringLarge
*r
)
100 uint32_t _ptr_string
;
101 TALLOC_CTX
*_mem_save_string_0
;
102 if (ndr_flags
& NDR_SCALARS
) {
103 NDR_CHECK(ndr_pull_align(ndr
, 4));
104 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
105 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
106 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
108 NDR_PULL_ALLOC(ndr
, r
->string
);
113 if (ndr_flags
& NDR_BUFFERS
) {
115 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
116 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
117 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
118 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
119 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
120 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string
), ndr_get_array_length(ndr
, &r
->string
));
122 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
123 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
126 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
/ 2));
129 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
/ 2));
132 return NDR_ERR_SUCCESS
;
135 _PUBLIC_
void ndr_print_lsa_StringLarge(struct ndr_print
*ndr
, const char *name
, const struct lsa_StringLarge
*r
)
137 ndr_print_struct(ndr
, name
, "lsa_StringLarge");
139 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
140 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m_term(r
->string
):r
->size
);
141 ndr_print_ptr(ndr
, "string", r
->string
);
144 ndr_print_string(ndr
, "string", r
->string
);
150 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_Strings(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_Strings
*r
)
152 uint32_t cntr_names_1
;
153 if (ndr_flags
& NDR_SCALARS
) {
154 NDR_CHECK(ndr_push_align(ndr
, 4));
155 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
156 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
158 if (ndr_flags
& NDR_BUFFERS
) {
160 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
161 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
162 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
164 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
165 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
169 return NDR_ERR_SUCCESS
;
172 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_Strings(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_Strings
*r
)
175 uint32_t cntr_names_1
;
176 TALLOC_CTX
*_mem_save_names_0
;
177 TALLOC_CTX
*_mem_save_names_1
;
178 if (ndr_flags
& NDR_SCALARS
) {
179 NDR_CHECK(ndr_pull_align(ndr
, 4));
180 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
181 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
183 NDR_PULL_ALLOC(ndr
, r
->names
);
188 if (ndr_flags
& NDR_BUFFERS
) {
190 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
191 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
192 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
193 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
194 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
195 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
196 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
197 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
199 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
200 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
202 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
203 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
206 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
209 return NDR_ERR_SUCCESS
;
212 _PUBLIC_
void ndr_print_lsa_Strings(struct ndr_print
*ndr
, const char *name
, const struct lsa_Strings
*r
)
214 uint32_t cntr_names_1
;
215 ndr_print_struct(ndr
, name
, "lsa_Strings");
217 ndr_print_uint32(ndr
, "count", r
->count
);
218 ndr_print_ptr(ndr
, "names", r
->names
);
221 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
223 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
225 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
226 ndr_print_lsa_String(ndr
, "names", &r
->names
[cntr_names_1
]);
236 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_AsciiString(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AsciiString
*r
)
238 if (ndr_flags
& NDR_SCALARS
) {
239 NDR_CHECK(ndr_push_align(ndr
, 4));
240 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
241 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
242 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
244 if (ndr_flags
& NDR_BUFFERS
) {
246 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
247 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
248 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
249 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, strlen_m(r
->string
), sizeof(uint8_t), CH_DOS
));
252 return NDR_ERR_SUCCESS
;
255 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_AsciiString(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AsciiString
*r
)
257 uint32_t _ptr_string
;
258 TALLOC_CTX
*_mem_save_string_0
;
259 if (ndr_flags
& NDR_SCALARS
) {
260 NDR_CHECK(ndr_pull_align(ndr
, 4));
261 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
262 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
263 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
265 NDR_PULL_ALLOC(ndr
, r
->string
);
270 if (ndr_flags
& NDR_BUFFERS
) {
272 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
273 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
274 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
275 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
276 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
277 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string
), ndr_get_array_length(ndr
, &r
->string
));
279 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
280 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
283 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
));
286 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
));
289 return NDR_ERR_SUCCESS
;
292 _PUBLIC_
void ndr_print_lsa_AsciiString(struct ndr_print
*ndr
, const char *name
, const struct lsa_AsciiString
*r
)
294 ndr_print_struct(ndr
, name
, "lsa_AsciiString");
296 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->length
);
297 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->size
);
298 ndr_print_ptr(ndr
, "string", r
->string
);
301 ndr_print_string(ndr
, "string", r
->string
);
307 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_AsciiStringLarge(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AsciiStringLarge
*r
)
309 if (ndr_flags
& NDR_SCALARS
) {
310 NDR_CHECK(ndr_push_align(ndr
, 4));
311 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
312 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m_term(r
->string
)));
313 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
315 if (ndr_flags
& NDR_BUFFERS
) {
317 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m_term(r
->string
)));
318 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
319 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
320 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, strlen_m(r
->string
), sizeof(uint8_t), CH_DOS
));
323 return NDR_ERR_SUCCESS
;
326 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_AsciiStringLarge(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AsciiStringLarge
*r
)
328 uint32_t _ptr_string
;
329 TALLOC_CTX
*_mem_save_string_0
;
330 if (ndr_flags
& NDR_SCALARS
) {
331 NDR_CHECK(ndr_pull_align(ndr
, 4));
332 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
333 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
334 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
336 NDR_PULL_ALLOC(ndr
, r
->string
);
341 if (ndr_flags
& NDR_BUFFERS
) {
343 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
344 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
345 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
346 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
347 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
348 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->string
), ndr_get_array_length(ndr
, &r
->string
));
350 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
351 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
354 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
));
357 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
));
360 return NDR_ERR_SUCCESS
;
363 _PUBLIC_
void ndr_print_lsa_AsciiStringLarge(struct ndr_print
*ndr
, const char *name
, const struct lsa_AsciiStringLarge
*r
)
365 ndr_print_struct(ndr
, name
, "lsa_AsciiStringLarge");
367 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->length
);
368 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m_term(r
->string
):r
->size
);
369 ndr_print_ptr(ndr
, "string", r
->string
);
372 ndr_print_string(ndr
, "string", r
->string
);
378 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_BinaryString(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_BinaryString
*r
)
380 uint32_t cntr_array_1
;
381 if (ndr_flags
& NDR_SCALARS
) {
382 NDR_CHECK(ndr_push_align(ndr
, 4));
383 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->length
));
384 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->size
));
385 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
387 if (ndr_flags
& NDR_BUFFERS
) {
389 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
/ 2));
390 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
391 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
/ 2));
392 for (cntr_array_1
= 0; cntr_array_1
< r
->length
/ 2; cntr_array_1
++) {
393 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->array
[cntr_array_1
]));
397 return NDR_ERR_SUCCESS
;
400 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_BinaryString(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_BinaryString
*r
)
403 uint32_t cntr_array_1
;
404 TALLOC_CTX
*_mem_save_array_0
;
405 TALLOC_CTX
*_mem_save_array_1
;
406 if (ndr_flags
& NDR_SCALARS
) {
407 NDR_CHECK(ndr_pull_align(ndr
, 4));
408 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
409 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
410 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
412 NDR_PULL_ALLOC(ndr
, r
->array
);
417 if (ndr_flags
& NDR_BUFFERS
) {
419 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
420 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
421 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
422 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->array
));
423 if (ndr_get_array_length(ndr
, &r
->array
) > ndr_get_array_size(ndr
, &r
->array
)) {
424 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->array
), ndr_get_array_length(ndr
, &r
->array
));
426 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
427 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
428 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
429 for (cntr_array_1
= 0; cntr_array_1
< r
->length
/ 2; cntr_array_1
++) {
430 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
432 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
433 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
436 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->size
/ 2));
439 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->array
, r
->length
/ 2));
442 return NDR_ERR_SUCCESS
;
445 _PUBLIC_
void ndr_print_lsa_BinaryString(struct ndr_print
*ndr
, const char *name
, const struct lsa_BinaryString
*r
)
447 uint32_t cntr_array_1
;
448 ndr_print_struct(ndr
, name
, "lsa_BinaryString");
450 ndr_print_uint16(ndr
, "length", r
->length
);
451 ndr_print_uint16(ndr
, "size", r
->size
);
452 ndr_print_ptr(ndr
, "array", r
->array
);
455 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->length
/ 2);
457 for (cntr_array_1
=0;cntr_array_1
<r
->length
/ 2;cntr_array_1
++) {
459 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
460 ndr_print_uint16(ndr
, "array", r
->array
[cntr_array_1
]);
470 static enum ndr_err_code
ndr_push_lsa_LUID(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_LUID
*r
)
472 if (ndr_flags
& NDR_SCALARS
) {
473 NDR_CHECK(ndr_push_align(ndr
, 4));
474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->low
));
475 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->high
));
477 if (ndr_flags
& NDR_BUFFERS
) {
479 return NDR_ERR_SUCCESS
;
482 static enum ndr_err_code
ndr_pull_lsa_LUID(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_LUID
*r
)
484 if (ndr_flags
& NDR_SCALARS
) {
485 NDR_CHECK(ndr_pull_align(ndr
, 4));
486 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->low
));
487 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->high
));
489 if (ndr_flags
& NDR_BUFFERS
) {
491 return NDR_ERR_SUCCESS
;
494 _PUBLIC_
void ndr_print_lsa_LUID(struct ndr_print
*ndr
, const char *name
, const struct lsa_LUID
*r
)
496 ndr_print_struct(ndr
, name
, "lsa_LUID");
498 ndr_print_uint32(ndr
, "low", r
->low
);
499 ndr_print_uint32(ndr
, "high", r
->high
);
503 static enum ndr_err_code
ndr_push_lsa_PrivEntry(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PrivEntry
*r
)
505 if (ndr_flags
& NDR_SCALARS
) {
506 NDR_CHECK(ndr_push_align(ndr
, 4));
507 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
508 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
510 if (ndr_flags
& NDR_BUFFERS
) {
511 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
513 return NDR_ERR_SUCCESS
;
516 static enum ndr_err_code
ndr_pull_lsa_PrivEntry(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PrivEntry
*r
)
518 if (ndr_flags
& NDR_SCALARS
) {
519 NDR_CHECK(ndr_pull_align(ndr
, 4));
520 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
521 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
523 if (ndr_flags
& NDR_BUFFERS
) {
524 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
526 return NDR_ERR_SUCCESS
;
529 _PUBLIC_
void ndr_print_lsa_PrivEntry(struct ndr_print
*ndr
, const char *name
, const struct lsa_PrivEntry
*r
)
531 ndr_print_struct(ndr
, name
, "lsa_PrivEntry");
533 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
534 ndr_print_lsa_LUID(ndr
, "luid", &r
->luid
);
538 static enum ndr_err_code
ndr_push_lsa_PrivArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PrivArray
*r
)
540 uint32_t cntr_privs_1
;
541 if (ndr_flags
& NDR_SCALARS
) {
542 NDR_CHECK(ndr_push_align(ndr
, 4));
543 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
544 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->privs
));
546 if (ndr_flags
& NDR_BUFFERS
) {
548 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
549 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
550 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr
, NDR_SCALARS
, &r
->privs
[cntr_privs_1
]));
552 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
553 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr
, NDR_BUFFERS
, &r
->privs
[cntr_privs_1
]));
557 return NDR_ERR_SUCCESS
;
560 static enum ndr_err_code
ndr_pull_lsa_PrivArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PrivArray
*r
)
563 uint32_t cntr_privs_1
;
564 TALLOC_CTX
*_mem_save_privs_0
;
565 TALLOC_CTX
*_mem_save_privs_1
;
566 if (ndr_flags
& NDR_SCALARS
) {
567 NDR_CHECK(ndr_pull_align(ndr
, 4));
568 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
569 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_privs
));
571 NDR_PULL_ALLOC(ndr
, r
->privs
);
576 if (ndr_flags
& NDR_BUFFERS
) {
578 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
579 NDR_PULL_SET_MEM_CTX(ndr
, r
->privs
, 0);
580 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->privs
));
581 NDR_PULL_ALLOC_N(ndr
, r
->privs
, ndr_get_array_size(ndr
, &r
->privs
));
582 _mem_save_privs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
583 NDR_PULL_SET_MEM_CTX(ndr
, r
->privs
, 0);
584 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
585 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr
, NDR_SCALARS
, &r
->privs
[cntr_privs_1
]));
587 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
588 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr
, NDR_BUFFERS
, &r
->privs
[cntr_privs_1
]));
590 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_1
, 0);
591 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, 0);
594 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->privs
, r
->count
));
597 return NDR_ERR_SUCCESS
;
600 _PUBLIC_
void ndr_print_lsa_PrivArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_PrivArray
*r
)
602 uint32_t cntr_privs_1
;
603 ndr_print_struct(ndr
, name
, "lsa_PrivArray");
605 ndr_print_uint32(ndr
, "count", r
->count
);
606 ndr_print_ptr(ndr
, "privs", r
->privs
);
609 ndr
->print(ndr
, "%s: ARRAY(%d)", "privs", (int)r
->count
);
611 for (cntr_privs_1
=0;cntr_privs_1
<r
->count
;cntr_privs_1
++) {
613 if (asprintf(&idx_1
, "[%d]", cntr_privs_1
) != -1) {
614 ndr_print_lsa_PrivEntry(ndr
, "privs", &r
->privs
[cntr_privs_1
]);
624 static enum ndr_err_code
ndr_push_lsa_QosInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_QosInfo
*r
)
626 if (ndr_flags
& NDR_SCALARS
) {
627 NDR_CHECK(ndr_push_align(ndr
, 4));
628 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->len
));
629 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->impersonation_level
));
630 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->context_mode
));
631 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->effective_only
));
633 if (ndr_flags
& NDR_BUFFERS
) {
635 return NDR_ERR_SUCCESS
;
638 static enum ndr_err_code
ndr_pull_lsa_QosInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_QosInfo
*r
)
640 if (ndr_flags
& NDR_SCALARS
) {
641 NDR_CHECK(ndr_pull_align(ndr
, 4));
642 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->len
));
643 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->impersonation_level
));
644 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->context_mode
));
645 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->effective_only
));
647 if (ndr_flags
& NDR_BUFFERS
) {
649 return NDR_ERR_SUCCESS
;
652 _PUBLIC_
void ndr_print_lsa_QosInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_QosInfo
*r
)
654 ndr_print_struct(ndr
, name
, "lsa_QosInfo");
656 ndr_print_uint32(ndr
, "len", r
->len
);
657 ndr_print_uint16(ndr
, "impersonation_level", r
->impersonation_level
);
658 ndr_print_uint8(ndr
, "context_mode", r
->context_mode
);
659 ndr_print_uint8(ndr
, "effective_only", r
->effective_only
);
663 static enum ndr_err_code
ndr_push_lsa_ObjectAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ObjectAttribute
*r
)
665 if (ndr_flags
& NDR_SCALARS
) {
666 NDR_CHECK(ndr_push_align(ndr
, 4));
667 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->len
));
668 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->root_dir
));
669 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_name
));
670 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->attributes
));
671 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sec_desc
));
672 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sec_qos
));
674 if (ndr_flags
& NDR_BUFFERS
) {
676 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, *r
->root_dir
));
678 if (r
->object_name
) {
679 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_name
, CH_UTF16
)));
680 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
681 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_name
, CH_UTF16
)));
682 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_name
, ndr_charset_length(r
->object_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
685 NDR_CHECK(ndr_push_security_descriptor(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sec_desc
));
688 NDR_CHECK(ndr_push_lsa_QosInfo(ndr
, NDR_SCALARS
, r
->sec_qos
));
691 return NDR_ERR_SUCCESS
;
694 static enum ndr_err_code
ndr_pull_lsa_ObjectAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ObjectAttribute
*r
)
696 uint32_t _ptr_root_dir
;
697 TALLOC_CTX
*_mem_save_root_dir_0
;
698 uint32_t _ptr_object_name
;
699 TALLOC_CTX
*_mem_save_object_name_0
;
700 uint32_t _ptr_sec_desc
;
701 TALLOC_CTX
*_mem_save_sec_desc_0
;
702 uint32_t _ptr_sec_qos
;
703 TALLOC_CTX
*_mem_save_sec_qos_0
;
704 if (ndr_flags
& NDR_SCALARS
) {
705 NDR_CHECK(ndr_pull_align(ndr
, 4));
706 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->len
));
707 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_root_dir
));
709 NDR_PULL_ALLOC(ndr
, r
->root_dir
);
713 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_name
));
714 if (_ptr_object_name
) {
715 NDR_PULL_ALLOC(ndr
, r
->object_name
);
717 r
->object_name
= NULL
;
719 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->attributes
));
720 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sec_desc
));
722 NDR_PULL_ALLOC(ndr
, r
->sec_desc
);
726 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sec_qos
));
728 NDR_PULL_ALLOC(ndr
, r
->sec_qos
);
733 if (ndr_flags
& NDR_BUFFERS
) {
735 _mem_save_root_dir_0
= NDR_PULL_GET_MEM_CTX(ndr
);
736 NDR_PULL_SET_MEM_CTX(ndr
, r
->root_dir
, 0);
737 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, r
->root_dir
));
738 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_root_dir_0
, 0);
740 if (r
->object_name
) {
741 _mem_save_object_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
742 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_name
, 0);
743 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_name
));
744 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_name
));
745 if (ndr_get_array_length(ndr
, &r
->object_name
) > ndr_get_array_size(ndr
, &r
->object_name
)) {
746 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->object_name
), ndr_get_array_length(ndr
, &r
->object_name
));
748 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_name
), sizeof(uint16_t)));
749 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_name
, ndr_get_array_length(ndr
, &r
->object_name
), sizeof(uint16_t), CH_UTF16
));
750 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_name_0
, 0);
753 _mem_save_sec_desc_0
= NDR_PULL_GET_MEM_CTX(ndr
);
754 NDR_PULL_SET_MEM_CTX(ndr
, r
->sec_desc
, 0);
755 NDR_CHECK(ndr_pull_security_descriptor(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sec_desc
));
756 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_desc_0
, 0);
759 _mem_save_sec_qos_0
= NDR_PULL_GET_MEM_CTX(ndr
);
760 NDR_PULL_SET_MEM_CTX(ndr
, r
->sec_qos
, 0);
761 NDR_CHECK(ndr_pull_lsa_QosInfo(ndr
, NDR_SCALARS
, r
->sec_qos
));
762 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_qos_0
, 0);
765 return NDR_ERR_SUCCESS
;
768 _PUBLIC_
void ndr_print_lsa_ObjectAttribute(struct ndr_print
*ndr
, const char *name
, const struct lsa_ObjectAttribute
*r
)
770 ndr_print_struct(ndr
, name
, "lsa_ObjectAttribute");
772 ndr_print_uint32(ndr
, "len", r
->len
);
773 ndr_print_ptr(ndr
, "root_dir", r
->root_dir
);
776 ndr_print_uint8(ndr
, "root_dir", *r
->root_dir
);
779 ndr_print_ptr(ndr
, "object_name", r
->object_name
);
781 if (r
->object_name
) {
782 ndr_print_string(ndr
, "object_name", r
->object_name
);
785 ndr_print_uint32(ndr
, "attributes", r
->attributes
);
786 ndr_print_ptr(ndr
, "sec_desc", r
->sec_desc
);
789 ndr_print_security_descriptor(ndr
, "sec_desc", r
->sec_desc
);
792 ndr_print_ptr(ndr
, "sec_qos", r
->sec_qos
);
795 ndr_print_lsa_QosInfo(ndr
, "sec_qos", r
->sec_qos
);
801 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_PolicyAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
803 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
804 return NDR_ERR_SUCCESS
;
807 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_PolicyAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
810 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
812 return NDR_ERR_SUCCESS
;
815 _PUBLIC_
void ndr_print_lsa_PolicyAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
817 ndr_print_uint32(ndr
, name
, r
);
819 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_VIEW_LOCAL_INFORMATION", LSA_POLICY_VIEW_LOCAL_INFORMATION
, r
);
820 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_VIEW_AUDIT_INFORMATION", LSA_POLICY_VIEW_AUDIT_INFORMATION
, r
);
821 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_GET_PRIVATE_INFORMATION", LSA_POLICY_GET_PRIVATE_INFORMATION
, r
);
822 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_TRUST_ADMIN", LSA_POLICY_TRUST_ADMIN
, r
);
823 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_CREATE_ACCOUNT", LSA_POLICY_CREATE_ACCOUNT
, r
);
824 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_CREATE_SECRET", LSA_POLICY_CREATE_SECRET
, r
);
825 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_CREATE_PRIVILEGE", LSA_POLICY_CREATE_PRIVILEGE
, r
);
826 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS", LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS
, r
);
827 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_SET_AUDIT_REQUIREMENTS", LSA_POLICY_SET_AUDIT_REQUIREMENTS
, r
);
828 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_AUDIT_LOG_ADMIN", LSA_POLICY_AUDIT_LOG_ADMIN
, r
);
829 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_SERVER_ADMIN", LSA_POLICY_SERVER_ADMIN
, r
);
830 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_LOOKUP_NAMES", LSA_POLICY_LOOKUP_NAMES
, r
);
831 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_NOTIFICATION", LSA_POLICY_NOTIFICATION
, r
);
835 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_AccountAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
837 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
838 return NDR_ERR_SUCCESS
;
841 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_AccountAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
844 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
846 return NDR_ERR_SUCCESS
;
849 _PUBLIC_
void ndr_print_lsa_AccountAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
851 ndr_print_uint32(ndr
, name
, r
);
853 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_ACCOUNT_VIEW", LSA_ACCOUNT_VIEW
, r
);
854 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_PRIVILEGES", LSA_ACCOUNT_ADJUST_PRIVILEGES
, r
);
855 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_QUOTAS", LSA_ACCOUNT_ADJUST_QUOTAS
, r
);
856 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS", LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS
, r
);
860 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SecretAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
862 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
863 return NDR_ERR_SUCCESS
;
866 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SecretAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
869 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
871 return NDR_ERR_SUCCESS
;
874 _PUBLIC_
void ndr_print_lsa_SecretAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
876 ndr_print_uint32(ndr
, name
, r
);
878 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_SECRET_SET_VALUE", LSA_SECRET_SET_VALUE
, r
);
879 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_SECRET_QUERY_VALUE", LSA_SECRET_QUERY_VALUE
, r
);
883 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_TrustedAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
885 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
886 return NDR_ERR_SUCCESS
;
889 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_TrustedAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
892 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
894 return NDR_ERR_SUCCESS
;
897 _PUBLIC_
void ndr_print_lsa_TrustedAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
899 ndr_print_uint32(ndr
, name
, r
);
901 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_QUERY_DOMAIN_NAME", LSA_TRUSTED_QUERY_DOMAIN_NAME
, r
);
902 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_QUERY_CONTROLLERS", LSA_TRUSTED_QUERY_CONTROLLERS
, r
);
903 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_SET_CONTROLLERS", LSA_TRUSTED_SET_CONTROLLERS
, r
);
904 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_QUERY_POSIX", LSA_TRUSTED_QUERY_POSIX
, r
);
905 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_SET_POSIX", LSA_TRUSTED_SET_POSIX
, r
);
906 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_SET_AUTH", LSA_TRUSTED_SET_AUTH
, r
);
907 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUSTED_QUERY_AUTH", LSA_TRUSTED_QUERY_AUTH
, r
);
911 static enum ndr_err_code
ndr_push_lsa_AuditLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditLogInfo
*r
)
913 if (ndr_flags
& NDR_SCALARS
) {
914 NDR_CHECK(ndr_push_align(ndr
, 8));
915 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->percent_full
));
916 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->maximum_log_size
));
917 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->retention_time
));
918 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->shutdown_in_progress
));
919 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->time_to_shutdown
));
920 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->next_audit_record
));
922 if (ndr_flags
& NDR_BUFFERS
) {
924 return NDR_ERR_SUCCESS
;
927 static enum ndr_err_code
ndr_pull_lsa_AuditLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditLogInfo
*r
)
929 if (ndr_flags
& NDR_SCALARS
) {
930 NDR_CHECK(ndr_pull_align(ndr
, 8));
931 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->percent_full
));
932 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->maximum_log_size
));
933 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->retention_time
));
934 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->shutdown_in_progress
));
935 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->time_to_shutdown
));
936 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->next_audit_record
));
938 if (ndr_flags
& NDR_BUFFERS
) {
940 return NDR_ERR_SUCCESS
;
943 _PUBLIC_
void ndr_print_lsa_AuditLogInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditLogInfo
*r
)
945 ndr_print_struct(ndr
, name
, "lsa_AuditLogInfo");
947 ndr_print_uint32(ndr
, "percent_full", r
->percent_full
);
948 ndr_print_uint32(ndr
, "maximum_log_size", r
->maximum_log_size
);
949 ndr_print_hyper(ndr
, "retention_time", r
->retention_time
);
950 ndr_print_uint8(ndr
, "shutdown_in_progress", r
->shutdown_in_progress
);
951 ndr_print_hyper(ndr
, "time_to_shutdown", r
->time_to_shutdown
);
952 ndr_print_uint32(ndr
, "next_audit_record", r
->next_audit_record
);
956 static enum ndr_err_code
ndr_push_lsa_PolicyAuditPolicy(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_PolicyAuditPolicy r
)
958 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
959 return NDR_ERR_SUCCESS
;
962 static enum ndr_err_code
ndr_pull_lsa_PolicyAuditPolicy(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_PolicyAuditPolicy
*r
)
965 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
967 return NDR_ERR_SUCCESS
;
970 _PUBLIC_
void ndr_print_lsa_PolicyAuditPolicy(struct ndr_print
*ndr
, const char *name
, enum lsa_PolicyAuditPolicy r
)
972 const char *val
= NULL
;
975 case LSA_AUDIT_POLICY_NONE
: val
= "LSA_AUDIT_POLICY_NONE"; break;
976 case LSA_AUDIT_POLICY_SUCCESS
: val
= "LSA_AUDIT_POLICY_SUCCESS"; break;
977 case LSA_AUDIT_POLICY_FAILURE
: val
= "LSA_AUDIT_POLICY_FAILURE"; break;
978 case LSA_AUDIT_POLICY_ALL
: val
= "LSA_AUDIT_POLICY_ALL"; break;
979 case LSA_AUDIT_POLICY_CLEAR
: val
= "LSA_AUDIT_POLICY_CLEAR"; break;
981 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
984 static enum ndr_err_code
ndr_push_lsa_AuditEventsInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditEventsInfo
*r
)
986 uint32_t cntr_settings_1
;
987 if (ndr_flags
& NDR_SCALARS
) {
988 NDR_CHECK(ndr_push_align(ndr
, 4));
989 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->auditing_mode
));
990 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->settings
));
991 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
993 if (ndr_flags
& NDR_BUFFERS
) {
995 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
996 for (cntr_settings_1
= 0; cntr_settings_1
< r
->count
; cntr_settings_1
++) {
997 NDR_CHECK(ndr_push_lsa_PolicyAuditPolicy(ndr
, NDR_SCALARS
, r
->settings
[cntr_settings_1
]));
1001 return NDR_ERR_SUCCESS
;
1004 static enum ndr_err_code
ndr_pull_lsa_AuditEventsInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditEventsInfo
*r
)
1006 uint32_t _ptr_settings
;
1007 uint32_t cntr_settings_1
;
1008 TALLOC_CTX
*_mem_save_settings_0
;
1009 TALLOC_CTX
*_mem_save_settings_1
;
1010 if (ndr_flags
& NDR_SCALARS
) {
1011 NDR_CHECK(ndr_pull_align(ndr
, 4));
1012 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->auditing_mode
));
1013 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_settings
));
1014 if (_ptr_settings
) {
1015 NDR_PULL_ALLOC(ndr
, r
->settings
);
1019 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1021 if (ndr_flags
& NDR_BUFFERS
) {
1023 _mem_save_settings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1024 NDR_PULL_SET_MEM_CTX(ndr
, r
->settings
, 0);
1025 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->settings
));
1026 NDR_PULL_ALLOC_N(ndr
, r
->settings
, ndr_get_array_size(ndr
, &r
->settings
));
1027 _mem_save_settings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1028 NDR_PULL_SET_MEM_CTX(ndr
, r
->settings
, 0);
1029 for (cntr_settings_1
= 0; cntr_settings_1
< r
->count
; cntr_settings_1
++) {
1030 NDR_CHECK(ndr_pull_lsa_PolicyAuditPolicy(ndr
, NDR_SCALARS
, &r
->settings
[cntr_settings_1
]));
1032 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_settings_1
, 0);
1033 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_settings_0
, 0);
1036 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->settings
, r
->count
));
1039 return NDR_ERR_SUCCESS
;
1042 _PUBLIC_
void ndr_print_lsa_AuditEventsInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditEventsInfo
*r
)
1044 uint32_t cntr_settings_1
;
1045 ndr_print_struct(ndr
, name
, "lsa_AuditEventsInfo");
1047 ndr_print_uint32(ndr
, "auditing_mode", r
->auditing_mode
);
1048 ndr_print_ptr(ndr
, "settings", r
->settings
);
1051 ndr
->print(ndr
, "%s: ARRAY(%d)", "settings", (int)r
->count
);
1053 for (cntr_settings_1
=0;cntr_settings_1
<r
->count
;cntr_settings_1
++) {
1055 if (asprintf(&idx_1
, "[%d]", cntr_settings_1
) != -1) {
1056 ndr_print_lsa_PolicyAuditPolicy(ndr
, "settings", r
->settings
[cntr_settings_1
]);
1063 ndr_print_uint32(ndr
, "count", r
->count
);
1067 static enum ndr_err_code
ndr_push_lsa_DomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainInfo
*r
)
1069 if (ndr_flags
& NDR_SCALARS
) {
1070 NDR_CHECK(ndr_push_align(ndr
, 4));
1071 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1072 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
1074 if (ndr_flags
& NDR_BUFFERS
) {
1075 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1077 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1080 return NDR_ERR_SUCCESS
;
1083 static enum ndr_err_code
ndr_pull_lsa_DomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainInfo
*r
)
1086 TALLOC_CTX
*_mem_save_sid_0
;
1087 if (ndr_flags
& NDR_SCALARS
) {
1088 NDR_CHECK(ndr_pull_align(ndr
, 4));
1089 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1090 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
1092 NDR_PULL_ALLOC(ndr
, r
->sid
);
1097 if (ndr_flags
& NDR_BUFFERS
) {
1098 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1100 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1101 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
1102 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1103 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
1106 return NDR_ERR_SUCCESS
;
1109 _PUBLIC_
void ndr_print_lsa_DomainInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainInfo
*r
)
1111 ndr_print_struct(ndr
, name
, "lsa_DomainInfo");
1113 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
1114 ndr_print_ptr(ndr
, "sid", r
->sid
);
1117 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
1123 static enum ndr_err_code
ndr_push_lsa_PDAccountInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PDAccountInfo
*r
)
1125 if (ndr_flags
& NDR_SCALARS
) {
1126 NDR_CHECK(ndr_push_align(ndr
, 4));
1127 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1129 if (ndr_flags
& NDR_BUFFERS
) {
1130 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1132 return NDR_ERR_SUCCESS
;
1135 static enum ndr_err_code
ndr_pull_lsa_PDAccountInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PDAccountInfo
*r
)
1137 if (ndr_flags
& NDR_SCALARS
) {
1138 NDR_CHECK(ndr_pull_align(ndr
, 4));
1139 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1141 if (ndr_flags
& NDR_BUFFERS
) {
1142 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1144 return NDR_ERR_SUCCESS
;
1147 _PUBLIC_
void ndr_print_lsa_PDAccountInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_PDAccountInfo
*r
)
1149 ndr_print_struct(ndr
, name
, "lsa_PDAccountInfo");
1151 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1155 static enum ndr_err_code
ndr_push_lsa_Role(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_Role r
)
1157 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
1158 return NDR_ERR_SUCCESS
;
1161 static enum ndr_err_code
ndr_pull_lsa_Role(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_Role
*r
)
1164 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
1166 return NDR_ERR_SUCCESS
;
1169 _PUBLIC_
void ndr_print_lsa_Role(struct ndr_print
*ndr
, const char *name
, enum lsa_Role r
)
1171 const char *val
= NULL
;
1174 case LSA_ROLE_BACKUP
: val
= "LSA_ROLE_BACKUP"; break;
1175 case LSA_ROLE_PRIMARY
: val
= "LSA_ROLE_PRIMARY"; break;
1177 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1180 static enum ndr_err_code
ndr_push_lsa_ServerRole(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ServerRole
*r
)
1182 if (ndr_flags
& NDR_SCALARS
) {
1183 NDR_CHECK(ndr_push_align(ndr
, 4));
1184 NDR_CHECK(ndr_push_lsa_Role(ndr
, NDR_SCALARS
, r
->role
));
1186 if (ndr_flags
& NDR_BUFFERS
) {
1188 return NDR_ERR_SUCCESS
;
1191 static enum ndr_err_code
ndr_pull_lsa_ServerRole(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ServerRole
*r
)
1193 if (ndr_flags
& NDR_SCALARS
) {
1194 NDR_CHECK(ndr_pull_align(ndr
, 4));
1195 NDR_CHECK(ndr_pull_lsa_Role(ndr
, NDR_SCALARS
, &r
->role
));
1197 if (ndr_flags
& NDR_BUFFERS
) {
1199 return NDR_ERR_SUCCESS
;
1202 _PUBLIC_
void ndr_print_lsa_ServerRole(struct ndr_print
*ndr
, const char *name
, const struct lsa_ServerRole
*r
)
1204 ndr_print_struct(ndr
, name
, "lsa_ServerRole");
1206 ndr_print_lsa_Role(ndr
, "role", r
->role
);
1210 static enum ndr_err_code
ndr_push_lsa_ReplicaSourceInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ReplicaSourceInfo
*r
)
1212 if (ndr_flags
& NDR_SCALARS
) {
1213 NDR_CHECK(ndr_push_align(ndr
, 4));
1214 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->source
));
1215 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account
));
1217 if (ndr_flags
& NDR_BUFFERS
) {
1218 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->source
));
1219 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account
));
1221 return NDR_ERR_SUCCESS
;
1224 static enum ndr_err_code
ndr_pull_lsa_ReplicaSourceInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ReplicaSourceInfo
*r
)
1226 if (ndr_flags
& NDR_SCALARS
) {
1227 NDR_CHECK(ndr_pull_align(ndr
, 4));
1228 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->source
));
1229 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account
));
1231 if (ndr_flags
& NDR_BUFFERS
) {
1232 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->source
));
1233 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account
));
1235 return NDR_ERR_SUCCESS
;
1238 _PUBLIC_
void ndr_print_lsa_ReplicaSourceInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ReplicaSourceInfo
*r
)
1240 ndr_print_struct(ndr
, name
, "lsa_ReplicaSourceInfo");
1242 ndr_print_lsa_String(ndr
, "source", &r
->source
);
1243 ndr_print_lsa_String(ndr
, "account", &r
->account
);
1247 static enum ndr_err_code
ndr_push_lsa_DefaultQuotaInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DefaultQuotaInfo
*r
)
1249 if (ndr_flags
& NDR_SCALARS
) {
1250 NDR_CHECK(ndr_push_align(ndr
, 8));
1251 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->paged_pool
));
1252 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->non_paged_pool
));
1253 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->min_wss
));
1254 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_wss
));
1255 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pagefile
));
1256 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown
));
1258 if (ndr_flags
& NDR_BUFFERS
) {
1260 return NDR_ERR_SUCCESS
;
1263 static enum ndr_err_code
ndr_pull_lsa_DefaultQuotaInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DefaultQuotaInfo
*r
)
1265 if (ndr_flags
& NDR_SCALARS
) {
1266 NDR_CHECK(ndr_pull_align(ndr
, 8));
1267 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->paged_pool
));
1268 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->non_paged_pool
));
1269 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->min_wss
));
1270 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_wss
));
1271 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pagefile
));
1272 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown
));
1274 if (ndr_flags
& NDR_BUFFERS
) {
1276 return NDR_ERR_SUCCESS
;
1279 _PUBLIC_
void ndr_print_lsa_DefaultQuotaInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_DefaultQuotaInfo
*r
)
1281 ndr_print_struct(ndr
, name
, "lsa_DefaultQuotaInfo");
1283 ndr_print_uint32(ndr
, "paged_pool", r
->paged_pool
);
1284 ndr_print_uint32(ndr
, "non_paged_pool", r
->non_paged_pool
);
1285 ndr_print_uint32(ndr
, "min_wss", r
->min_wss
);
1286 ndr_print_uint32(ndr
, "max_wss", r
->max_wss
);
1287 ndr_print_uint32(ndr
, "pagefile", r
->pagefile
);
1288 ndr_print_hyper(ndr
, "unknown", r
->unknown
);
1292 static enum ndr_err_code
ndr_push_lsa_ModificationInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ModificationInfo
*r
)
1294 if (ndr_flags
& NDR_SCALARS
) {
1295 NDR_CHECK(ndr_push_align(ndr
, 8));
1296 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->modified_id
));
1297 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->db_create_time
));
1299 if (ndr_flags
& NDR_BUFFERS
) {
1301 return NDR_ERR_SUCCESS
;
1304 static enum ndr_err_code
ndr_pull_lsa_ModificationInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ModificationInfo
*r
)
1306 if (ndr_flags
& NDR_SCALARS
) {
1307 NDR_CHECK(ndr_pull_align(ndr
, 8));
1308 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->modified_id
));
1309 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->db_create_time
));
1311 if (ndr_flags
& NDR_BUFFERS
) {
1313 return NDR_ERR_SUCCESS
;
1316 _PUBLIC_
void ndr_print_lsa_ModificationInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ModificationInfo
*r
)
1318 ndr_print_struct(ndr
, name
, "lsa_ModificationInfo");
1320 ndr_print_hyper(ndr
, "modified_id", r
->modified_id
);
1321 ndr_print_NTTIME_hyper(ndr
, "db_create_time", r
->db_create_time
);
1325 static enum ndr_err_code
ndr_push_lsa_AuditFullSetInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditFullSetInfo
*r
)
1327 if (ndr_flags
& NDR_SCALARS
) {
1328 NDR_CHECK(ndr_push_align(ndr
, 1));
1329 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->shutdown_on_full
));
1331 if (ndr_flags
& NDR_BUFFERS
) {
1333 return NDR_ERR_SUCCESS
;
1336 static enum ndr_err_code
ndr_pull_lsa_AuditFullSetInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditFullSetInfo
*r
)
1338 if (ndr_flags
& NDR_SCALARS
) {
1339 NDR_CHECK(ndr_pull_align(ndr
, 1));
1340 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->shutdown_on_full
));
1342 if (ndr_flags
& NDR_BUFFERS
) {
1344 return NDR_ERR_SUCCESS
;
1347 _PUBLIC_
void ndr_print_lsa_AuditFullSetInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditFullSetInfo
*r
)
1349 ndr_print_struct(ndr
, name
, "lsa_AuditFullSetInfo");
1351 ndr_print_uint8(ndr
, "shutdown_on_full", r
->shutdown_on_full
);
1355 static enum ndr_err_code
ndr_push_lsa_AuditFullQueryInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditFullQueryInfo
*r
)
1357 if (ndr_flags
& NDR_SCALARS
) {
1358 NDR_CHECK(ndr_push_align(ndr
, 1));
1359 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->shutdown_on_full
));
1360 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->log_is_full
));
1362 if (ndr_flags
& NDR_BUFFERS
) {
1364 return NDR_ERR_SUCCESS
;
1367 static enum ndr_err_code
ndr_pull_lsa_AuditFullQueryInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditFullQueryInfo
*r
)
1369 if (ndr_flags
& NDR_SCALARS
) {
1370 NDR_CHECK(ndr_pull_align(ndr
, 1));
1371 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->shutdown_on_full
));
1372 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->log_is_full
));
1374 if (ndr_flags
& NDR_BUFFERS
) {
1376 return NDR_ERR_SUCCESS
;
1379 _PUBLIC_
void ndr_print_lsa_AuditFullQueryInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditFullQueryInfo
*r
)
1381 ndr_print_struct(ndr
, name
, "lsa_AuditFullQueryInfo");
1383 ndr_print_uint8(ndr
, "shutdown_on_full", r
->shutdown_on_full
);
1384 ndr_print_uint8(ndr
, "log_is_full", r
->log_is_full
);
1388 static enum ndr_err_code
ndr_push_lsa_DnsDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DnsDomainInfo
*r
)
1390 if (ndr_flags
& NDR_SCALARS
) {
1391 NDR_CHECK(ndr_push_align(ndr
, 4));
1392 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1393 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain
));
1394 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_forest
));
1395 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->domain_guid
));
1396 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
1398 if (ndr_flags
& NDR_BUFFERS
) {
1399 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1400 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain
));
1401 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_forest
));
1403 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1406 return NDR_ERR_SUCCESS
;
1409 static enum ndr_err_code
ndr_pull_lsa_DnsDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DnsDomainInfo
*r
)
1412 TALLOC_CTX
*_mem_save_sid_0
;
1413 if (ndr_flags
& NDR_SCALARS
) {
1414 NDR_CHECK(ndr_pull_align(ndr
, 4));
1415 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1416 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain
));
1417 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_forest
));
1418 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->domain_guid
));
1419 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
1421 NDR_PULL_ALLOC(ndr
, r
->sid
);
1426 if (ndr_flags
& NDR_BUFFERS
) {
1427 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1428 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain
));
1429 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_forest
));
1431 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1432 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
1433 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1434 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
1437 return NDR_ERR_SUCCESS
;
1440 _PUBLIC_
void ndr_print_lsa_DnsDomainInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_DnsDomainInfo
*r
)
1442 ndr_print_struct(ndr
, name
, "lsa_DnsDomainInfo");
1444 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
1445 ndr_print_lsa_StringLarge(ndr
, "dns_domain", &r
->dns_domain
);
1446 ndr_print_lsa_StringLarge(ndr
, "dns_forest", &r
->dns_forest
);
1447 ndr_print_GUID(ndr
, "domain_guid", &r
->domain_guid
);
1448 ndr_print_ptr(ndr
, "sid", r
->sid
);
1451 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
1457 static enum ndr_err_code
ndr_push_lsa_PolicyInfo(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_PolicyInfo r
)
1459 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
1460 return NDR_ERR_SUCCESS
;
1463 static enum ndr_err_code
ndr_pull_lsa_PolicyInfo(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_PolicyInfo
*r
)
1466 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
1468 return NDR_ERR_SUCCESS
;
1471 _PUBLIC_
void ndr_print_lsa_PolicyInfo(struct ndr_print
*ndr
, const char *name
, enum lsa_PolicyInfo r
)
1473 const char *val
= NULL
;
1476 case LSA_POLICY_INFO_AUDIT_LOG
: val
= "LSA_POLICY_INFO_AUDIT_LOG"; break;
1477 case LSA_POLICY_INFO_AUDIT_EVENTS
: val
= "LSA_POLICY_INFO_AUDIT_EVENTS"; break;
1478 case LSA_POLICY_INFO_DOMAIN
: val
= "LSA_POLICY_INFO_DOMAIN"; break;
1479 case LSA_POLICY_INFO_PD
: val
= "LSA_POLICY_INFO_PD"; break;
1480 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: val
= "LSA_POLICY_INFO_ACCOUNT_DOMAIN"; break;
1481 case LSA_POLICY_INFO_ROLE
: val
= "LSA_POLICY_INFO_ROLE"; break;
1482 case LSA_POLICY_INFO_REPLICA
: val
= "LSA_POLICY_INFO_REPLICA"; break;
1483 case LSA_POLICY_INFO_QUOTA
: val
= "LSA_POLICY_INFO_QUOTA"; break;
1484 case LSA_POLICY_INFO_MOD
: val
= "LSA_POLICY_INFO_MOD"; break;
1485 case LSA_POLICY_INFO_AUDIT_FULL_SET
: val
= "LSA_POLICY_INFO_AUDIT_FULL_SET"; break;
1486 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: val
= "LSA_POLICY_INFO_AUDIT_FULL_QUERY"; break;
1487 case LSA_POLICY_INFO_DNS
: val
= "LSA_POLICY_INFO_DNS"; break;
1488 case LSA_POLICY_INFO_DNS_INT
: val
= "LSA_POLICY_INFO_DNS_INT"; break;
1489 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
: val
= "LSA_POLICY_INFO_L_ACCOUNT_DOMAIN"; break;
1491 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1494 static enum ndr_err_code
ndr_push_lsa_PolicyInformation(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_PolicyInformation
*r
)
1496 if (ndr_flags
& NDR_SCALARS
) {
1497 int level
= ndr_push_get_switch_value(ndr
, r
);
1498 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
1500 case LSA_POLICY_INFO_AUDIT_LOG
: {
1501 NDR_CHECK(ndr_push_lsa_AuditLogInfo(ndr
, NDR_SCALARS
, &r
->audit_log
));
1504 case LSA_POLICY_INFO_AUDIT_EVENTS
: {
1505 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr
, NDR_SCALARS
, &r
->audit_events
));
1508 case LSA_POLICY_INFO_DOMAIN
: {
1509 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domain
));
1512 case LSA_POLICY_INFO_PD
: {
1513 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr
, NDR_SCALARS
, &r
->pd
));
1516 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: {
1517 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->account_domain
));
1520 case LSA_POLICY_INFO_ROLE
: {
1521 NDR_CHECK(ndr_push_lsa_ServerRole(ndr
, NDR_SCALARS
, &r
->role
));
1524 case LSA_POLICY_INFO_REPLICA
: {
1525 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr
, NDR_SCALARS
, &r
->replica
));
1528 case LSA_POLICY_INFO_QUOTA
: {
1529 NDR_CHECK(ndr_push_lsa_DefaultQuotaInfo(ndr
, NDR_SCALARS
, &r
->quota
));
1532 case LSA_POLICY_INFO_MOD
: {
1533 NDR_CHECK(ndr_push_lsa_ModificationInfo(ndr
, NDR_SCALARS
, &r
->mod
));
1536 case LSA_POLICY_INFO_AUDIT_FULL_SET
: {
1537 NDR_CHECK(ndr_push_lsa_AuditFullSetInfo(ndr
, NDR_SCALARS
, &r
->auditfullset
));
1540 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: {
1541 NDR_CHECK(ndr_push_lsa_AuditFullQueryInfo(ndr
, NDR_SCALARS
, &r
->auditfullquery
));
1544 case LSA_POLICY_INFO_DNS
: {
1545 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1548 case LSA_POLICY_INFO_DNS_INT
: {
1549 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1552 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
: {
1553 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->l_account_domain
));
1557 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1560 if (ndr_flags
& NDR_BUFFERS
) {
1561 int level
= ndr_push_get_switch_value(ndr
, r
);
1563 case LSA_POLICY_INFO_AUDIT_LOG
:
1566 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1567 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr
, NDR_BUFFERS
, &r
->audit_events
));
1570 case LSA_POLICY_INFO_DOMAIN
:
1571 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domain
));
1574 case LSA_POLICY_INFO_PD
:
1575 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr
, NDR_BUFFERS
, &r
->pd
));
1578 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1579 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->account_domain
));
1582 case LSA_POLICY_INFO_ROLE
:
1585 case LSA_POLICY_INFO_REPLICA
:
1586 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr
, NDR_BUFFERS
, &r
->replica
));
1589 case LSA_POLICY_INFO_QUOTA
:
1592 case LSA_POLICY_INFO_MOD
:
1595 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1598 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1601 case LSA_POLICY_INFO_DNS
:
1602 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1605 case LSA_POLICY_INFO_DNS_INT
:
1606 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1609 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
:
1610 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->l_account_domain
));
1614 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1617 return NDR_ERR_SUCCESS
;
1620 static enum ndr_err_code
ndr_pull_lsa_PolicyInformation(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_PolicyInformation
*r
)
1624 level
= ndr_pull_get_switch_value(ndr
, r
);
1625 if (ndr_flags
& NDR_SCALARS
) {
1626 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1627 if (_level
!= level
) {
1628 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
1631 case LSA_POLICY_INFO_AUDIT_LOG
: {
1632 NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr
, NDR_SCALARS
, &r
->audit_log
));
1635 case LSA_POLICY_INFO_AUDIT_EVENTS
: {
1636 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr
, NDR_SCALARS
, &r
->audit_events
));
1639 case LSA_POLICY_INFO_DOMAIN
: {
1640 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domain
));
1643 case LSA_POLICY_INFO_PD
: {
1644 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr
, NDR_SCALARS
, &r
->pd
));
1647 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: {
1648 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->account_domain
));
1651 case LSA_POLICY_INFO_ROLE
: {
1652 NDR_CHECK(ndr_pull_lsa_ServerRole(ndr
, NDR_SCALARS
, &r
->role
));
1655 case LSA_POLICY_INFO_REPLICA
: {
1656 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr
, NDR_SCALARS
, &r
->replica
));
1659 case LSA_POLICY_INFO_QUOTA
: {
1660 NDR_CHECK(ndr_pull_lsa_DefaultQuotaInfo(ndr
, NDR_SCALARS
, &r
->quota
));
1663 case LSA_POLICY_INFO_MOD
: {
1664 NDR_CHECK(ndr_pull_lsa_ModificationInfo(ndr
, NDR_SCALARS
, &r
->mod
));
1667 case LSA_POLICY_INFO_AUDIT_FULL_SET
: {
1668 NDR_CHECK(ndr_pull_lsa_AuditFullSetInfo(ndr
, NDR_SCALARS
, &r
->auditfullset
));
1671 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: {
1672 NDR_CHECK(ndr_pull_lsa_AuditFullQueryInfo(ndr
, NDR_SCALARS
, &r
->auditfullquery
));
1675 case LSA_POLICY_INFO_DNS
: {
1676 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1679 case LSA_POLICY_INFO_DNS_INT
: {
1680 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1683 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
: {
1684 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->l_account_domain
));
1688 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1691 if (ndr_flags
& NDR_BUFFERS
) {
1693 case LSA_POLICY_INFO_AUDIT_LOG
:
1696 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1697 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr
, NDR_BUFFERS
, &r
->audit_events
));
1700 case LSA_POLICY_INFO_DOMAIN
:
1701 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domain
));
1704 case LSA_POLICY_INFO_PD
:
1705 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr
, NDR_BUFFERS
, &r
->pd
));
1708 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1709 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->account_domain
));
1712 case LSA_POLICY_INFO_ROLE
:
1715 case LSA_POLICY_INFO_REPLICA
:
1716 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr
, NDR_BUFFERS
, &r
->replica
));
1719 case LSA_POLICY_INFO_QUOTA
:
1722 case LSA_POLICY_INFO_MOD
:
1725 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1728 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1731 case LSA_POLICY_INFO_DNS
:
1732 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1735 case LSA_POLICY_INFO_DNS_INT
:
1736 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1739 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
:
1740 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->l_account_domain
));
1744 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1747 return NDR_ERR_SUCCESS
;
1750 _PUBLIC_
void ndr_print_lsa_PolicyInformation(struct ndr_print
*ndr
, const char *name
, const union lsa_PolicyInformation
*r
)
1753 level
= ndr_print_get_switch_value(ndr
, r
);
1754 ndr_print_union(ndr
, name
, level
, "lsa_PolicyInformation");
1756 case LSA_POLICY_INFO_AUDIT_LOG
:
1757 ndr_print_lsa_AuditLogInfo(ndr
, "audit_log", &r
->audit_log
);
1760 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1761 ndr_print_lsa_AuditEventsInfo(ndr
, "audit_events", &r
->audit_events
);
1764 case LSA_POLICY_INFO_DOMAIN
:
1765 ndr_print_lsa_DomainInfo(ndr
, "domain", &r
->domain
);
1768 case LSA_POLICY_INFO_PD
:
1769 ndr_print_lsa_PDAccountInfo(ndr
, "pd", &r
->pd
);
1772 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1773 ndr_print_lsa_DomainInfo(ndr
, "account_domain", &r
->account_domain
);
1776 case LSA_POLICY_INFO_ROLE
:
1777 ndr_print_lsa_ServerRole(ndr
, "role", &r
->role
);
1780 case LSA_POLICY_INFO_REPLICA
:
1781 ndr_print_lsa_ReplicaSourceInfo(ndr
, "replica", &r
->replica
);
1784 case LSA_POLICY_INFO_QUOTA
:
1785 ndr_print_lsa_DefaultQuotaInfo(ndr
, "quota", &r
->quota
);
1788 case LSA_POLICY_INFO_MOD
:
1789 ndr_print_lsa_ModificationInfo(ndr
, "mod", &r
->mod
);
1792 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1793 ndr_print_lsa_AuditFullSetInfo(ndr
, "auditfullset", &r
->auditfullset
);
1796 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1797 ndr_print_lsa_AuditFullQueryInfo(ndr
, "auditfullquery", &r
->auditfullquery
);
1800 case LSA_POLICY_INFO_DNS
:
1801 ndr_print_lsa_DnsDomainInfo(ndr
, "dns", &r
->dns
);
1804 case LSA_POLICY_INFO_DNS_INT
:
1805 ndr_print_lsa_DnsDomainInfo(ndr
, "dns", &r
->dns
);
1808 case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN
:
1809 ndr_print_lsa_DomainInfo(ndr
, "l_account_domain", &r
->l_account_domain
);
1813 ndr_print_bad_level(ndr
, name
, level
);
1817 static enum ndr_err_code
ndr_push_lsa_SidPtr(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_SidPtr
*r
)
1819 if (ndr_flags
& NDR_SCALARS
) {
1820 NDR_CHECK(ndr_push_align(ndr
, 4));
1821 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
1823 if (ndr_flags
& NDR_BUFFERS
) {
1825 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1828 return NDR_ERR_SUCCESS
;
1831 static enum ndr_err_code
ndr_pull_lsa_SidPtr(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_SidPtr
*r
)
1834 TALLOC_CTX
*_mem_save_sid_0
;
1835 if (ndr_flags
& NDR_SCALARS
) {
1836 NDR_CHECK(ndr_pull_align(ndr
, 4));
1837 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
1839 NDR_PULL_ALLOC(ndr
, r
->sid
);
1844 if (ndr_flags
& NDR_BUFFERS
) {
1846 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1847 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
1848 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1849 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
1852 return NDR_ERR_SUCCESS
;
1855 _PUBLIC_
void ndr_print_lsa_SidPtr(struct ndr_print
*ndr
, const char *name
, const struct lsa_SidPtr
*r
)
1857 ndr_print_struct(ndr
, name
, "lsa_SidPtr");
1859 ndr_print_ptr(ndr
, "sid", r
->sid
);
1862 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
1868 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SidArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_SidArray
*r
)
1870 uint32_t cntr_sids_1
;
1871 if (ndr_flags
& NDR_SCALARS
) {
1872 NDR_CHECK(ndr_push_align(ndr
, 4));
1873 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
1874 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
1876 if (ndr_flags
& NDR_BUFFERS
) {
1878 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
1879 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1880 NDR_CHECK(ndr_push_lsa_SidPtr(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
1882 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1883 NDR_CHECK(ndr_push_lsa_SidPtr(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
1887 return NDR_ERR_SUCCESS
;
1890 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SidArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_SidArray
*r
)
1893 uint32_t cntr_sids_1
;
1894 TALLOC_CTX
*_mem_save_sids_0
;
1895 TALLOC_CTX
*_mem_save_sids_1
;
1896 if (ndr_flags
& NDR_SCALARS
) {
1897 NDR_CHECK(ndr_pull_align(ndr
, 4));
1898 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
1899 if (r
->num_sids
> 1000) {
1900 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1902 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
1904 NDR_PULL_ALLOC(ndr
, r
->sids
);
1909 if (ndr_flags
& NDR_BUFFERS
) {
1911 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1912 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
1913 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
1914 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
1915 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1916 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
1917 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1918 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
1920 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1921 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
1923 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
1924 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
1927 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
1930 return NDR_ERR_SUCCESS
;
1933 _PUBLIC_
void ndr_print_lsa_SidArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_SidArray
*r
)
1935 uint32_t cntr_sids_1
;
1936 ndr_print_struct(ndr
, name
, "lsa_SidArray");
1938 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
1939 ndr_print_ptr(ndr
, "sids", r
->sids
);
1942 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
1944 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
1946 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
1947 ndr_print_lsa_SidPtr(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
1957 static enum ndr_err_code
ndr_push_lsa_DomainList(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainList
*r
)
1959 uint32_t cntr_domains_1
;
1960 if (ndr_flags
& NDR_SCALARS
) {
1961 NDR_CHECK(ndr_push_align(ndr
, 4));
1962 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1963 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domains
));
1965 if (ndr_flags
& NDR_BUFFERS
) {
1967 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1968 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
1969 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
1971 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
1972 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
1976 return NDR_ERR_SUCCESS
;
1979 static enum ndr_err_code
ndr_pull_lsa_DomainList(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainList
*r
)
1981 uint32_t _ptr_domains
;
1982 uint32_t cntr_domains_1
;
1983 TALLOC_CTX
*_mem_save_domains_0
;
1984 TALLOC_CTX
*_mem_save_domains_1
;
1985 if (ndr_flags
& NDR_SCALARS
) {
1986 NDR_CHECK(ndr_pull_align(ndr
, 4));
1987 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1988 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
1990 NDR_PULL_ALLOC(ndr
, r
->domains
);
1995 if (ndr_flags
& NDR_BUFFERS
) {
1997 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1998 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
1999 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domains
));
2000 NDR_PULL_ALLOC_N(ndr
, r
->domains
, ndr_get_array_size(ndr
, &r
->domains
));
2001 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2002 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
2003 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2004 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
2006 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2007 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
2009 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
2010 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, 0);
2013 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->domains
, r
->count
));
2016 return NDR_ERR_SUCCESS
;
2019 _PUBLIC_
void ndr_print_lsa_DomainList(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainList
*r
)
2021 uint32_t cntr_domains_1
;
2022 ndr_print_struct(ndr
, name
, "lsa_DomainList");
2024 ndr_print_uint32(ndr
, "count", r
->count
);
2025 ndr_print_ptr(ndr
, "domains", r
->domains
);
2028 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
2030 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
2032 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
2033 ndr_print_lsa_DomainInfo(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
2043 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SidType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_SidType r
)
2045 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
2046 return NDR_ERR_SUCCESS
;
2049 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SidType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_SidType
*r
)
2052 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
2054 return NDR_ERR_SUCCESS
;
2057 _PUBLIC_
void ndr_print_lsa_SidType(struct ndr_print
*ndr
, const char *name
, enum lsa_SidType r
)
2059 const char *val
= NULL
;
2062 case SID_NAME_USE_NONE
: val
= "SID_NAME_USE_NONE"; break;
2063 case SID_NAME_USER
: val
= "SID_NAME_USER"; break;
2064 case SID_NAME_DOM_GRP
: val
= "SID_NAME_DOM_GRP"; break;
2065 case SID_NAME_DOMAIN
: val
= "SID_NAME_DOMAIN"; break;
2066 case SID_NAME_ALIAS
: val
= "SID_NAME_ALIAS"; break;
2067 case SID_NAME_WKN_GRP
: val
= "SID_NAME_WKN_GRP"; break;
2068 case SID_NAME_DELETED
: val
= "SID_NAME_DELETED"; break;
2069 case SID_NAME_INVALID
: val
= "SID_NAME_INVALID"; break;
2070 case SID_NAME_UNKNOWN
: val
= "SID_NAME_UNKNOWN"; break;
2071 case SID_NAME_COMPUTER
: val
= "SID_NAME_COMPUTER"; break;
2073 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2076 static enum ndr_err_code
ndr_push_lsa_TranslatedSid(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedSid
*r
)
2078 if (ndr_flags
& NDR_SCALARS
) {
2079 NDR_CHECK(ndr_push_align(ndr
, 4));
2080 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
2081 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
2082 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
2084 if (ndr_flags
& NDR_BUFFERS
) {
2086 return NDR_ERR_SUCCESS
;
2089 static enum ndr_err_code
ndr_pull_lsa_TranslatedSid(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedSid
*r
)
2091 if (ndr_flags
& NDR_SCALARS
) {
2092 NDR_CHECK(ndr_pull_align(ndr
, 4));
2093 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
2094 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
2095 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
2097 if (ndr_flags
& NDR_BUFFERS
) {
2099 return NDR_ERR_SUCCESS
;
2102 _PUBLIC_
void ndr_print_lsa_TranslatedSid(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedSid
*r
)
2104 ndr_print_struct(ndr
, name
, "lsa_TranslatedSid");
2106 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
2107 ndr_print_uint32(ndr
, "rid", r
->rid
);
2108 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
2112 static enum ndr_err_code
ndr_push_lsa_TransSidArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransSidArray
*r
)
2114 uint32_t cntr_sids_1
;
2115 if (ndr_flags
& NDR_SCALARS
) {
2116 NDR_CHECK(ndr_push_align(ndr
, 4));
2117 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2118 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
2120 if (ndr_flags
& NDR_BUFFERS
) {
2122 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2123 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
2124 NDR_CHECK(ndr_push_lsa_TranslatedSid(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
2128 return NDR_ERR_SUCCESS
;
2131 static enum ndr_err_code
ndr_pull_lsa_TransSidArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransSidArray
*r
)
2134 uint32_t cntr_sids_1
;
2135 TALLOC_CTX
*_mem_save_sids_0
;
2136 TALLOC_CTX
*_mem_save_sids_1
;
2137 if (ndr_flags
& NDR_SCALARS
) {
2138 NDR_CHECK(ndr_pull_align(ndr
, 4));
2139 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2140 if (r
->count
> 1000) {
2141 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2143 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
2145 NDR_PULL_ALLOC(ndr
, r
->sids
);
2150 if (ndr_flags
& NDR_BUFFERS
) {
2152 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2153 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
2154 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
2155 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
2156 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2157 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
2158 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
2159 NDR_CHECK(ndr_pull_lsa_TranslatedSid(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
2161 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
2162 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
2165 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->count
));
2168 return NDR_ERR_SUCCESS
;
2171 _PUBLIC_
void ndr_print_lsa_TransSidArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransSidArray
*r
)
2173 uint32_t cntr_sids_1
;
2174 ndr_print_struct(ndr
, name
, "lsa_TransSidArray");
2176 ndr_print_uint32(ndr
, "count", r
->count
);
2177 ndr_print_ptr(ndr
, "sids", r
->sids
);
2180 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
2182 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
2184 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
2185 ndr_print_lsa_TranslatedSid(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
2195 static enum ndr_err_code
ndr_push_lsa_RefDomainList(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_RefDomainList
*r
)
2197 uint32_t cntr_domains_1
;
2198 if (ndr_flags
& NDR_SCALARS
) {
2199 NDR_CHECK(ndr_push_align(ndr
, 4));
2200 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2201 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domains
));
2202 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_size
));
2204 if (ndr_flags
& NDR_BUFFERS
) {
2206 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2207 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2208 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
2210 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2211 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
2215 return NDR_ERR_SUCCESS
;
2218 static enum ndr_err_code
ndr_pull_lsa_RefDomainList(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_RefDomainList
*r
)
2220 uint32_t _ptr_domains
;
2221 uint32_t cntr_domains_1
;
2222 TALLOC_CTX
*_mem_save_domains_0
;
2223 TALLOC_CTX
*_mem_save_domains_1
;
2224 if (ndr_flags
& NDR_SCALARS
) {
2225 NDR_CHECK(ndr_pull_align(ndr
, 4));
2226 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2227 if (r
->count
> 1000) {
2228 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2230 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
2232 NDR_PULL_ALLOC(ndr
, r
->domains
);
2236 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_size
));
2238 if (ndr_flags
& NDR_BUFFERS
) {
2240 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2241 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
2242 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domains
));
2243 NDR_PULL_ALLOC_N(ndr
, r
->domains
, ndr_get_array_size(ndr
, &r
->domains
));
2244 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2245 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
2246 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2247 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
2249 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2250 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
2252 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
2253 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, 0);
2256 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->domains
, r
->count
));
2259 return NDR_ERR_SUCCESS
;
2262 _PUBLIC_
void ndr_print_lsa_RefDomainList(struct ndr_print
*ndr
, const char *name
, const struct lsa_RefDomainList
*r
)
2264 uint32_t cntr_domains_1
;
2265 ndr_print_struct(ndr
, name
, "lsa_RefDomainList");
2267 ndr_print_uint32(ndr
, "count", r
->count
);
2268 ndr_print_ptr(ndr
, "domains", r
->domains
);
2271 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
2273 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
2275 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
2276 ndr_print_lsa_DomainInfo(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
2283 ndr_print_uint32(ndr
, "max_size", r
->max_size
);
2287 static enum ndr_err_code
ndr_push_lsa_LookupNamesLevel(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_LookupNamesLevel r
)
2289 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
2290 return NDR_ERR_SUCCESS
;
2293 static enum ndr_err_code
ndr_pull_lsa_LookupNamesLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_LookupNamesLevel
*r
)
2296 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
2298 return NDR_ERR_SUCCESS
;
2301 _PUBLIC_
void ndr_print_lsa_LookupNamesLevel(struct ndr_print
*ndr
, const char *name
, enum lsa_LookupNamesLevel r
)
2303 const char *val
= NULL
;
2306 case LSA_LOOKUP_NAMES_ALL
: val
= "LSA_LOOKUP_NAMES_ALL"; break;
2307 case LSA_LOOKUP_NAMES_DOMAINS_ONLY
: val
= "LSA_LOOKUP_NAMES_DOMAINS_ONLY"; break;
2308 case LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY
: val
= "LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY"; break;
2309 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY
: val
= "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY"; break;
2310 case LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY
: val
= "LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY"; break;
2311 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2
: val
= "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2"; break;
2312 case LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC
: val
= "LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC"; break;
2314 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2317 static enum ndr_err_code
ndr_push_lsa_TranslatedName(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedName
*r
)
2319 if (ndr_flags
& NDR_SCALARS
) {
2320 NDR_CHECK(ndr_push_align(ndr
, 4));
2321 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
2322 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
2323 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
2325 if (ndr_flags
& NDR_BUFFERS
) {
2326 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
2328 return NDR_ERR_SUCCESS
;
2331 static enum ndr_err_code
ndr_pull_lsa_TranslatedName(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedName
*r
)
2333 if (ndr_flags
& NDR_SCALARS
) {
2334 NDR_CHECK(ndr_pull_align(ndr
, 4));
2335 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
2336 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
2337 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
2339 if (ndr_flags
& NDR_BUFFERS
) {
2340 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
2342 return NDR_ERR_SUCCESS
;
2345 _PUBLIC_
void ndr_print_lsa_TranslatedName(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedName
*r
)
2347 ndr_print_struct(ndr
, name
, "lsa_TranslatedName");
2349 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
2350 ndr_print_lsa_String(ndr
, "name", &r
->name
);
2351 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
2355 static enum ndr_err_code
ndr_push_lsa_TransNameArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransNameArray
*r
)
2357 uint32_t cntr_names_1
;
2358 if (ndr_flags
& NDR_SCALARS
) {
2359 NDR_CHECK(ndr_push_align(ndr
, 4));
2360 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2361 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
2363 if (ndr_flags
& NDR_BUFFERS
) {
2365 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2366 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2367 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
2369 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2370 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
2374 return NDR_ERR_SUCCESS
;
2377 static enum ndr_err_code
ndr_pull_lsa_TransNameArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransNameArray
*r
)
2379 uint32_t _ptr_names
;
2380 uint32_t cntr_names_1
;
2381 TALLOC_CTX
*_mem_save_names_0
;
2382 TALLOC_CTX
*_mem_save_names_1
;
2383 if (ndr_flags
& NDR_SCALARS
) {
2384 NDR_CHECK(ndr_pull_align(ndr
, 4));
2385 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2386 if (r
->count
> 1000) {
2387 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2389 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
2391 NDR_PULL_ALLOC(ndr
, r
->names
);
2396 if (ndr_flags
& NDR_BUFFERS
) {
2398 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2399 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
2400 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
2401 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
2402 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2403 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
2404 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2405 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
2407 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2408 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
2410 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
2411 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
2414 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
2417 return NDR_ERR_SUCCESS
;
2420 _PUBLIC_
void ndr_print_lsa_TransNameArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransNameArray
*r
)
2422 uint32_t cntr_names_1
;
2423 ndr_print_struct(ndr
, name
, "lsa_TransNameArray");
2425 ndr_print_uint32(ndr
, "count", r
->count
);
2426 ndr_print_ptr(ndr
, "names", r
->names
);
2429 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
2431 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
2433 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
2434 ndr_print_lsa_TranslatedName(ndr
, "names", &r
->names
[cntr_names_1
]);
2444 static enum ndr_err_code
ndr_push_lsa_LUIDAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_LUIDAttribute
*r
)
2446 if (ndr_flags
& NDR_SCALARS
) {
2447 NDR_CHECK(ndr_push_align(ndr
, 4));
2448 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
2449 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->attribute
));
2451 if (ndr_flags
& NDR_BUFFERS
) {
2453 return NDR_ERR_SUCCESS
;
2456 static enum ndr_err_code
ndr_pull_lsa_LUIDAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_LUIDAttribute
*r
)
2458 if (ndr_flags
& NDR_SCALARS
) {
2459 NDR_CHECK(ndr_pull_align(ndr
, 4));
2460 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
2461 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->attribute
));
2463 if (ndr_flags
& NDR_BUFFERS
) {
2465 return NDR_ERR_SUCCESS
;
2468 _PUBLIC_
void ndr_print_lsa_LUIDAttribute(struct ndr_print
*ndr
, const char *name
, const struct lsa_LUIDAttribute
*r
)
2470 ndr_print_struct(ndr
, name
, "lsa_LUIDAttribute");
2472 ndr_print_lsa_LUID(ndr
, "luid", &r
->luid
);
2473 ndr_print_uint32(ndr
, "attribute", r
->attribute
);
2477 static enum ndr_err_code
ndr_push_lsa_PrivilegeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PrivilegeSet
*r
)
2479 uint32_t cntr_set_0
;
2480 if (ndr_flags
& NDR_SCALARS
) {
2481 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2482 NDR_CHECK(ndr_push_align(ndr
, 4));
2483 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2484 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
2485 for (cntr_set_0
= 0; cntr_set_0
< r
->count
; cntr_set_0
++) {
2486 NDR_CHECK(ndr_push_lsa_LUIDAttribute(ndr
, NDR_SCALARS
, &r
->set
[cntr_set_0
]));
2489 if (ndr_flags
& NDR_BUFFERS
) {
2491 return NDR_ERR_SUCCESS
;
2494 static enum ndr_err_code
ndr_pull_lsa_PrivilegeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PrivilegeSet
*r
)
2496 uint32_t cntr_set_0
;
2497 TALLOC_CTX
*_mem_save_set_0
;
2498 if (ndr_flags
& NDR_SCALARS
) {
2499 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->set
));
2500 NDR_CHECK(ndr_pull_align(ndr
, 4));
2501 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2502 if (r
->count
> 1000) {
2503 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2505 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
2506 NDR_PULL_ALLOC_N(ndr
, r
->set
, ndr_get_array_size(ndr
, &r
->set
));
2507 _mem_save_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2508 NDR_PULL_SET_MEM_CTX(ndr
, r
->set
, 0);
2509 for (cntr_set_0
= 0; cntr_set_0
< r
->count
; cntr_set_0
++) {
2510 NDR_CHECK(ndr_pull_lsa_LUIDAttribute(ndr
, NDR_SCALARS
, &r
->set
[cntr_set_0
]));
2512 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_set_0
, 0);
2514 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->set
, r
->count
));
2517 if (ndr_flags
& NDR_BUFFERS
) {
2519 return NDR_ERR_SUCCESS
;
2522 _PUBLIC_
void ndr_print_lsa_PrivilegeSet(struct ndr_print
*ndr
, const char *name
, const struct lsa_PrivilegeSet
*r
)
2524 uint32_t cntr_set_0
;
2525 ndr_print_struct(ndr
, name
, "lsa_PrivilegeSet");
2527 ndr_print_uint32(ndr
, "count", r
->count
);
2528 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
2529 ndr
->print(ndr
, "%s: ARRAY(%d)", "set", (int)r
->count
);
2531 for (cntr_set_0
=0;cntr_set_0
<r
->count
;cntr_set_0
++) {
2533 if (asprintf(&idx_0
, "[%d]", cntr_set_0
) != -1) {
2534 ndr_print_lsa_LUIDAttribute(ndr
, "set", &r
->set
[cntr_set_0
]);
2542 static enum ndr_err_code
ndr_push_lsa_DATA_BUF(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DATA_BUF
*r
)
2545 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2546 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2547 if (ndr_flags
& NDR_SCALARS
) {
2548 NDR_CHECK(ndr_push_align(ndr
, 4));
2549 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
2550 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2551 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
2553 if (ndr_flags
& NDR_BUFFERS
) {
2555 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2556 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2557 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
2558 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
2561 ndr
->flags
= _flags_save_STRUCT
;
2563 return NDR_ERR_SUCCESS
;
2566 static enum ndr_err_code
ndr_pull_lsa_DATA_BUF(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DATA_BUF
*r
)
2569 TALLOC_CTX
*_mem_save_data_0
;
2571 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2572 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2573 if (ndr_flags
& NDR_SCALARS
) {
2574 NDR_CHECK(ndr_pull_align(ndr
, 4));
2575 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
2576 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2577 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
2579 NDR_PULL_ALLOC(ndr
, r
->data
);
2584 if (ndr_flags
& NDR_BUFFERS
) {
2586 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2587 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
2588 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
2589 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->data
));
2590 if (ndr_get_array_length(ndr
, &r
->data
) > ndr_get_array_size(ndr
, &r
->data
)) {
2591 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
));
2593 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
2594 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_length(ndr
, &r
->data
)));
2595 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
2598 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
2601 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->data
, r
->length
));
2604 ndr
->flags
= _flags_save_STRUCT
;
2606 return NDR_ERR_SUCCESS
;
2609 _PUBLIC_
void ndr_print_lsa_DATA_BUF(struct ndr_print
*ndr
, const char *name
, const struct lsa_DATA_BUF
*r
)
2611 ndr_print_struct(ndr
, name
, "lsa_DATA_BUF");
2613 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2614 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2616 ndr_print_uint32(ndr
, "length", r
->length
);
2617 ndr_print_uint32(ndr
, "size", r
->size
);
2618 ndr_print_ptr(ndr
, "data", r
->data
);
2621 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
2625 ndr
->flags
= _flags_save_STRUCT
;
2629 static enum ndr_err_code
ndr_push_lsa_DATA_BUF2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DATA_BUF2
*r
)
2632 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2633 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2634 if (ndr_flags
& NDR_SCALARS
) {
2635 NDR_CHECK(ndr_push_align(ndr
, 4));
2636 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2637 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
2639 if (ndr_flags
& NDR_BUFFERS
) {
2641 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2642 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
2645 ndr
->flags
= _flags_save_STRUCT
;
2647 return NDR_ERR_SUCCESS
;
2650 static enum ndr_err_code
ndr_pull_lsa_DATA_BUF2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DATA_BUF2
*r
)
2653 TALLOC_CTX
*_mem_save_data_0
;
2655 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2656 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2657 if (ndr_flags
& NDR_SCALARS
) {
2658 NDR_CHECK(ndr_pull_align(ndr
, 4));
2659 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2660 if (r
->size
> 65536) {
2661 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2663 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
2665 NDR_PULL_ALLOC(ndr
, r
->data
);
2670 if (ndr_flags
& NDR_BUFFERS
) {
2672 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2673 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
2674 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
2675 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
2676 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
2677 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
2680 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
2683 ndr
->flags
= _flags_save_STRUCT
;
2685 return NDR_ERR_SUCCESS
;
2688 _PUBLIC_
void ndr_print_lsa_DATA_BUF2(struct ndr_print
*ndr
, const char *name
, const struct lsa_DATA_BUF2
*r
)
2690 ndr_print_struct(ndr
, name
, "lsa_DATA_BUF2");
2692 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2693 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2695 ndr_print_uint32(ndr
, "size", r
->size
);
2696 ndr_print_ptr(ndr
, "data", r
->data
);
2699 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
2703 ndr
->flags
= _flags_save_STRUCT
;
2707 static enum ndr_err_code
ndr_push_lsa_TrustDomInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_TrustDomInfoEnum r
)
2709 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
2710 return NDR_ERR_SUCCESS
;
2713 static enum ndr_err_code
ndr_pull_lsa_TrustDomInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_TrustDomInfoEnum
*r
)
2716 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
2718 return NDR_ERR_SUCCESS
;
2721 _PUBLIC_
void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print
*ndr
, const char *name
, enum lsa_TrustDomInfoEnum r
)
2723 const char *val
= NULL
;
2726 case LSA_TRUSTED_DOMAIN_INFO_NAME
: val
= "LSA_TRUSTED_DOMAIN_INFO_NAME"; break;
2727 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
: val
= "LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS"; break;
2728 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: val
= "LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET"; break;
2729 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: val
= "LSA_TRUSTED_DOMAIN_INFO_PASSWORD"; break;
2730 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: val
= "LSA_TRUSTED_DOMAIN_INFO_BASIC"; break;
2731 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: val
= "LSA_TRUSTED_DOMAIN_INFO_INFO_EX"; break;
2732 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: val
= "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO"; break;
2733 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: val
= "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO"; break;
2734 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
: val
= "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL"; break;
2735 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
: val
= "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL"; break;
2736 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
: val
= "LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL"; break;
2737 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
: val
= "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL"; break;
2738 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES
: val
= "LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES"; break;
2740 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2743 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_TrustDirection(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2745 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2746 return NDR_ERR_SUCCESS
;
2749 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_TrustDirection(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2752 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2754 return NDR_ERR_SUCCESS
;
2757 _PUBLIC_
void ndr_print_lsa_TrustDirection(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2759 ndr_print_uint32(ndr
, name
, r
);
2761 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_DIRECTION_INBOUND", LSA_TRUST_DIRECTION_INBOUND
, r
);
2762 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_DIRECTION_OUTBOUND", LSA_TRUST_DIRECTION_OUTBOUND
, r
);
2766 static enum ndr_err_code
ndr_push_lsa_TrustType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_TrustType r
)
2768 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2769 return NDR_ERR_SUCCESS
;
2772 static enum ndr_err_code
ndr_pull_lsa_TrustType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_TrustType
*r
)
2775 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2777 return NDR_ERR_SUCCESS
;
2780 _PUBLIC_
void ndr_print_lsa_TrustType(struct ndr_print
*ndr
, const char *name
, enum lsa_TrustType r
)
2782 const char *val
= NULL
;
2785 case LSA_TRUST_TYPE_DOWNLEVEL
: val
= "LSA_TRUST_TYPE_DOWNLEVEL"; break;
2786 case LSA_TRUST_TYPE_UPLEVEL
: val
= "LSA_TRUST_TYPE_UPLEVEL"; break;
2787 case LSA_TRUST_TYPE_MIT
: val
= "LSA_TRUST_TYPE_MIT"; break;
2789 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2792 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_TrustAttributes(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2794 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2795 return NDR_ERR_SUCCESS
;
2798 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_TrustAttributes(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2801 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2803 return NDR_ERR_SUCCESS
;
2806 _PUBLIC_
void ndr_print_lsa_TrustAttributes(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2808 ndr_print_uint32(ndr
, name
, r
);
2810 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE", LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE
, r
);
2811 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY", LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY
, r
);
2812 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN
, r
);
2813 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE
, r
);
2814 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION
, r
);
2815 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_WITHIN_FOREST", LSA_TRUST_ATTRIBUTE_WITHIN_FOREST
, r
);
2816 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL
, r
);
2817 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION", LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION
, r
);
2821 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoName(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoName
*r
)
2823 if (ndr_flags
& NDR_SCALARS
) {
2824 NDR_CHECK(ndr_push_align(ndr
, 4));
2825 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2827 if (ndr_flags
& NDR_BUFFERS
) {
2828 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2830 return NDR_ERR_SUCCESS
;
2833 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoName(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoName
*r
)
2835 if (ndr_flags
& NDR_SCALARS
) {
2836 NDR_CHECK(ndr_pull_align(ndr
, 4));
2837 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2839 if (ndr_flags
& NDR_BUFFERS
) {
2840 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2842 return NDR_ERR_SUCCESS
;
2845 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoName(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoName
*r
)
2847 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoName");
2849 ndr_print_lsa_StringLarge(ndr
, "netbios_name", &r
->netbios_name
);
2853 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoControllers(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoControllers
*r
)
2855 uint32_t cntr_netbios_names_1
;
2856 if (ndr_flags
& NDR_SCALARS
) {
2857 NDR_CHECK(ndr_push_align(ndr
, 4));
2858 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->entries
));
2859 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_names
));
2861 if (ndr_flags
& NDR_BUFFERS
) {
2862 if (r
->netbios_names
) {
2863 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->entries
));
2864 for (cntr_netbios_names_1
= 0; cntr_netbios_names_1
< r
->entries
; cntr_netbios_names_1
++) {
2865 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_names
[cntr_netbios_names_1
]));
2867 for (cntr_netbios_names_1
= 0; cntr_netbios_names_1
< r
->entries
; cntr_netbios_names_1
++) {
2868 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_names
[cntr_netbios_names_1
]));
2872 return NDR_ERR_SUCCESS
;
2875 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoControllers(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoControllers
*r
)
2877 uint32_t _ptr_netbios_names
;
2878 uint32_t cntr_netbios_names_1
;
2879 TALLOC_CTX
*_mem_save_netbios_names_0
;
2880 TALLOC_CTX
*_mem_save_netbios_names_1
;
2881 if (ndr_flags
& NDR_SCALARS
) {
2882 NDR_CHECK(ndr_pull_align(ndr
, 4));
2883 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->entries
));
2884 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_names
));
2885 if (_ptr_netbios_names
) {
2886 NDR_PULL_ALLOC(ndr
, r
->netbios_names
);
2888 r
->netbios_names
= NULL
;
2891 if (ndr_flags
& NDR_BUFFERS
) {
2892 if (r
->netbios_names
) {
2893 _mem_save_netbios_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2894 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_names
, 0);
2895 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_names
));
2896 NDR_PULL_ALLOC_N(ndr
, r
->netbios_names
, ndr_get_array_size(ndr
, &r
->netbios_names
));
2897 _mem_save_netbios_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2898 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_names
, 0);
2899 for (cntr_netbios_names_1
= 0; cntr_netbios_names_1
< r
->entries
; cntr_netbios_names_1
++) {
2900 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_names
[cntr_netbios_names_1
]));
2902 for (cntr_netbios_names_1
= 0; cntr_netbios_names_1
< r
->entries
; cntr_netbios_names_1
++) {
2903 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_names
[cntr_netbios_names_1
]));
2905 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_names_1
, 0);
2906 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_names_0
, 0);
2908 if (r
->netbios_names
) {
2909 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->netbios_names
, r
->entries
));
2912 return NDR_ERR_SUCCESS
;
2915 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoControllers(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoControllers
*r
)
2917 uint32_t cntr_netbios_names_1
;
2918 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoControllers");
2920 ndr_print_uint32(ndr
, "entries", r
->entries
);
2921 ndr_print_ptr(ndr
, "netbios_names", r
->netbios_names
);
2923 if (r
->netbios_names
) {
2924 ndr
->print(ndr
, "%s: ARRAY(%d)", "netbios_names", (int)r
->entries
);
2926 for (cntr_netbios_names_1
=0;cntr_netbios_names_1
<r
->entries
;cntr_netbios_names_1
++) {
2928 if (asprintf(&idx_1
, "[%d]", cntr_netbios_names_1
) != -1) {
2929 ndr_print_lsa_StringLarge(ndr
, "netbios_names", &r
->netbios_names
[cntr_netbios_names_1
]);
2939 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoPosixOffset(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoPosixOffset
*r
)
2941 if (ndr_flags
& NDR_SCALARS
) {
2942 NDR_CHECK(ndr_push_align(ndr
, 4));
2943 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->posix_offset
));
2945 if (ndr_flags
& NDR_BUFFERS
) {
2947 return NDR_ERR_SUCCESS
;
2950 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoPosixOffset(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoPosixOffset
*r
)
2952 if (ndr_flags
& NDR_SCALARS
) {
2953 NDR_CHECK(ndr_pull_align(ndr
, 4));
2954 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->posix_offset
));
2956 if (ndr_flags
& NDR_BUFFERS
) {
2958 return NDR_ERR_SUCCESS
;
2961 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoPosixOffset
*r
)
2963 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoPosixOffset");
2965 ndr_print_uint32(ndr
, "posix_offset", r
->posix_offset
);
2969 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoPassword(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoPassword
*r
)
2971 if (ndr_flags
& NDR_SCALARS
) {
2972 NDR_CHECK(ndr_push_align(ndr
, 4));
2973 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->password
));
2974 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->old_password
));
2976 if (ndr_flags
& NDR_BUFFERS
) {
2978 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->password
));
2980 if (r
->old_password
) {
2981 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->old_password
));
2984 return NDR_ERR_SUCCESS
;
2987 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoPassword(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoPassword
*r
)
2989 uint32_t _ptr_password
;
2990 TALLOC_CTX
*_mem_save_password_0
;
2991 uint32_t _ptr_old_password
;
2992 TALLOC_CTX
*_mem_save_old_password_0
;
2993 if (ndr_flags
& NDR_SCALARS
) {
2994 NDR_CHECK(ndr_pull_align(ndr
, 4));
2995 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password
));
2996 if (_ptr_password
) {
2997 NDR_PULL_ALLOC(ndr
, r
->password
);
3001 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_password
));
3002 if (_ptr_old_password
) {
3003 NDR_PULL_ALLOC(ndr
, r
->old_password
);
3005 r
->old_password
= NULL
;
3008 if (ndr_flags
& NDR_BUFFERS
) {
3010 _mem_save_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3011 NDR_PULL_SET_MEM_CTX(ndr
, r
->password
, 0);
3012 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->password
));
3013 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password_0
, 0);
3015 if (r
->old_password
) {
3016 _mem_save_old_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3017 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_password
, 0);
3018 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->old_password
));
3019 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_password_0
, 0);
3022 return NDR_ERR_SUCCESS
;
3025 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoPassword
*r
)
3027 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoPassword");
3029 ndr_print_ptr(ndr
, "password", r
->password
);
3032 ndr_print_lsa_DATA_BUF(ndr
, "password", r
->password
);
3035 ndr_print_ptr(ndr
, "old_password", r
->old_password
);
3037 if (r
->old_password
) {
3038 ndr_print_lsa_DATA_BUF(ndr
, "old_password", r
->old_password
);
3044 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoBasic(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoBasic
*r
)
3046 if (ndr_flags
& NDR_SCALARS
) {
3047 NDR_CHECK(ndr_push_align(ndr
, 4));
3048 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->netbios_name
));
3049 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
3051 if (ndr_flags
& NDR_BUFFERS
) {
3052 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
3054 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
3057 return NDR_ERR_SUCCESS
;
3060 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoBasic(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoBasic
*r
)
3063 TALLOC_CTX
*_mem_save_sid_0
;
3064 if (ndr_flags
& NDR_SCALARS
) {
3065 NDR_CHECK(ndr_pull_align(ndr
, 4));
3066 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->netbios_name
));
3067 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
3069 NDR_PULL_ALLOC(ndr
, r
->sid
);
3074 if (ndr_flags
& NDR_BUFFERS
) {
3075 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
3077 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3078 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
3079 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
3080 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
3083 return NDR_ERR_SUCCESS
;
3086 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoBasic
*r
)
3088 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoBasic");
3090 ndr_print_lsa_String(ndr
, "netbios_name", &r
->netbios_name
);
3091 ndr_print_ptr(ndr
, "sid", r
->sid
);
3094 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
3100 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoInfoEx(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoInfoEx
*r
)
3102 if (ndr_flags
& NDR_SCALARS
) {
3103 NDR_CHECK(ndr_push_align(ndr
, 4));
3104 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->domain_name
));
3105 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
3106 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
3107 NDR_CHECK(ndr_push_lsa_TrustDirection(ndr
, NDR_SCALARS
, r
->trust_direction
));
3108 NDR_CHECK(ndr_push_lsa_TrustType(ndr
, NDR_SCALARS
, r
->trust_type
));
3109 NDR_CHECK(ndr_push_lsa_TrustAttributes(ndr
, NDR_SCALARS
, r
->trust_attributes
));
3111 if (ndr_flags
& NDR_BUFFERS
) {
3112 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->domain_name
));
3113 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
3115 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
3118 return NDR_ERR_SUCCESS
;
3121 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoInfoEx(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoInfoEx
*r
)
3124 TALLOC_CTX
*_mem_save_sid_0
;
3125 if (ndr_flags
& NDR_SCALARS
) {
3126 NDR_CHECK(ndr_pull_align(ndr
, 4));
3127 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->domain_name
));
3128 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
3129 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
3131 NDR_PULL_ALLOC(ndr
, r
->sid
);
3135 NDR_CHECK(ndr_pull_lsa_TrustDirection(ndr
, NDR_SCALARS
, &r
->trust_direction
));
3136 NDR_CHECK(ndr_pull_lsa_TrustType(ndr
, NDR_SCALARS
, &r
->trust_type
));
3137 NDR_CHECK(ndr_pull_lsa_TrustAttributes(ndr
, NDR_SCALARS
, &r
->trust_attributes
));
3139 if (ndr_flags
& NDR_BUFFERS
) {
3140 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->domain_name
));
3141 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
3143 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3144 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
3145 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
3146 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
3149 return NDR_ERR_SUCCESS
;
3152 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoInfoEx
*r
)
3154 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoInfoEx");
3156 ndr_print_lsa_StringLarge(ndr
, "domain_name", &r
->domain_name
);
3157 ndr_print_lsa_StringLarge(ndr
, "netbios_name", &r
->netbios_name
);
3158 ndr_print_ptr(ndr
, "sid", r
->sid
);
3161 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
3164 ndr_print_lsa_TrustDirection(ndr
, "trust_direction", r
->trust_direction
);
3165 ndr_print_lsa_TrustType(ndr
, "trust_type", r
->trust_type
);
3166 ndr_print_lsa_TrustAttributes(ndr
, "trust_attributes", r
->trust_attributes
);
3170 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_TrustAuthType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_TrustAuthType r
)
3172 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
3173 return NDR_ERR_SUCCESS
;
3176 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_TrustAuthType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_TrustAuthType
*r
)
3179 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
3181 return NDR_ERR_SUCCESS
;
3184 _PUBLIC_
void ndr_print_lsa_TrustAuthType(struct ndr_print
*ndr
, const char *name
, enum lsa_TrustAuthType r
)
3186 const char *val
= NULL
;
3189 case TRUST_AUTH_TYPE_NONE
: val
= "TRUST_AUTH_TYPE_NONE"; break;
3190 case TRUST_AUTH_TYPE_NT4OWF
: val
= "TRUST_AUTH_TYPE_NT4OWF"; break;
3191 case TRUST_AUTH_TYPE_CLEAR
: val
= "TRUST_AUTH_TYPE_CLEAR"; break;
3192 case TRUST_AUTH_TYPE_VERSION
: val
= "TRUST_AUTH_TYPE_VERSION"; break;
3194 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3197 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoBuffer
*r
)
3199 if (ndr_flags
& NDR_SCALARS
) {
3200 NDR_CHECK(ndr_push_align(ndr
, 8));
3201 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->last_update_time
));
3202 NDR_CHECK(ndr_push_lsa_TrustAuthType(ndr
, NDR_SCALARS
, r
->AuthType
));
3203 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data
));
3205 if (ndr_flags
& NDR_BUFFERS
) {
3206 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data
));
3208 return NDR_ERR_SUCCESS
;
3211 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoBuffer
*r
)
3213 if (ndr_flags
& NDR_SCALARS
) {
3214 NDR_CHECK(ndr_pull_align(ndr
, 8));
3215 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->last_update_time
));
3216 NDR_CHECK(ndr_pull_lsa_TrustAuthType(ndr
, NDR_SCALARS
, &r
->AuthType
));
3217 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data
));
3219 if (ndr_flags
& NDR_BUFFERS
) {
3220 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data
));
3222 return NDR_ERR_SUCCESS
;
3225 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoBuffer(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoBuffer
*r
)
3227 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoBuffer");
3229 ndr_print_NTTIME_hyper(ndr
, "last_update_time", r
->last_update_time
);
3230 ndr_print_lsa_TrustAuthType(ndr
, "AuthType", r
->AuthType
);
3231 ndr_print_lsa_DATA_BUF2(ndr
, "data", &r
->data
);
3235 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoAuthInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoAuthInfo
*r
)
3237 if (ndr_flags
& NDR_SCALARS
) {
3238 NDR_CHECK(ndr_push_align(ndr
, 4));
3239 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->incoming_count
));
3240 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->incoming_current_auth_info
));
3241 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->incoming_previous_auth_info
));
3242 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->outgoing_count
));
3243 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->outgoing_current_auth_info
));
3244 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->outgoing_previous_auth_info
));
3246 if (ndr_flags
& NDR_BUFFERS
) {
3247 if (r
->incoming_current_auth_info
) {
3248 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_current_auth_info
));
3250 if (r
->incoming_previous_auth_info
) {
3251 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_previous_auth_info
));
3253 if (r
->outgoing_current_auth_info
) {
3254 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_current_auth_info
));
3256 if (r
->outgoing_previous_auth_info
) {
3257 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_previous_auth_info
));
3260 return NDR_ERR_SUCCESS
;
3263 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoAuthInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoAuthInfo
*r
)
3265 uint32_t _ptr_incoming_current_auth_info
;
3266 TALLOC_CTX
*_mem_save_incoming_current_auth_info_0
;
3267 uint32_t _ptr_incoming_previous_auth_info
;
3268 TALLOC_CTX
*_mem_save_incoming_previous_auth_info_0
;
3269 uint32_t _ptr_outgoing_current_auth_info
;
3270 TALLOC_CTX
*_mem_save_outgoing_current_auth_info_0
;
3271 uint32_t _ptr_outgoing_previous_auth_info
;
3272 TALLOC_CTX
*_mem_save_outgoing_previous_auth_info_0
;
3273 if (ndr_flags
& NDR_SCALARS
) {
3274 NDR_CHECK(ndr_pull_align(ndr
, 4));
3275 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->incoming_count
));
3276 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_incoming_current_auth_info
));
3277 if (_ptr_incoming_current_auth_info
) {
3278 NDR_PULL_ALLOC(ndr
, r
->incoming_current_auth_info
);
3280 r
->incoming_current_auth_info
= NULL
;
3282 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_incoming_previous_auth_info
));
3283 if (_ptr_incoming_previous_auth_info
) {
3284 NDR_PULL_ALLOC(ndr
, r
->incoming_previous_auth_info
);
3286 r
->incoming_previous_auth_info
= NULL
;
3288 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->outgoing_count
));
3289 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_outgoing_current_auth_info
));
3290 if (_ptr_outgoing_current_auth_info
) {
3291 NDR_PULL_ALLOC(ndr
, r
->outgoing_current_auth_info
);
3293 r
->outgoing_current_auth_info
= NULL
;
3295 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_outgoing_previous_auth_info
));
3296 if (_ptr_outgoing_previous_auth_info
) {
3297 NDR_PULL_ALLOC(ndr
, r
->outgoing_previous_auth_info
);
3299 r
->outgoing_previous_auth_info
= NULL
;
3302 if (ndr_flags
& NDR_BUFFERS
) {
3303 if (r
->incoming_current_auth_info
) {
3304 _mem_save_incoming_current_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3305 NDR_PULL_SET_MEM_CTX(ndr
, r
->incoming_current_auth_info
, 0);
3306 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_current_auth_info
));
3307 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_incoming_current_auth_info_0
, 0);
3309 if (r
->incoming_previous_auth_info
) {
3310 _mem_save_incoming_previous_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3311 NDR_PULL_SET_MEM_CTX(ndr
, r
->incoming_previous_auth_info
, 0);
3312 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_previous_auth_info
));
3313 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_incoming_previous_auth_info_0
, 0);
3315 if (r
->outgoing_current_auth_info
) {
3316 _mem_save_outgoing_current_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3317 NDR_PULL_SET_MEM_CTX(ndr
, r
->outgoing_current_auth_info
, 0);
3318 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_current_auth_info
));
3319 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_outgoing_current_auth_info_0
, 0);
3321 if (r
->outgoing_previous_auth_info
) {
3322 _mem_save_outgoing_previous_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3323 NDR_PULL_SET_MEM_CTX(ndr
, r
->outgoing_previous_auth_info
, 0);
3324 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_previous_auth_info
));
3325 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_outgoing_previous_auth_info_0
, 0);
3328 return NDR_ERR_SUCCESS
;
3331 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoAuthInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoAuthInfo
*r
)
3333 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoAuthInfo");
3335 ndr_print_uint32(ndr
, "incoming_count", r
->incoming_count
);
3336 ndr_print_ptr(ndr
, "incoming_current_auth_info", r
->incoming_current_auth_info
);
3338 if (r
->incoming_current_auth_info
) {
3339 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "incoming_current_auth_info", r
->incoming_current_auth_info
);
3342 ndr_print_ptr(ndr
, "incoming_previous_auth_info", r
->incoming_previous_auth_info
);
3344 if (r
->incoming_previous_auth_info
) {
3345 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "incoming_previous_auth_info", r
->incoming_previous_auth_info
);
3348 ndr_print_uint32(ndr
, "outgoing_count", r
->outgoing_count
);
3349 ndr_print_ptr(ndr
, "outgoing_current_auth_info", r
->outgoing_current_auth_info
);
3351 if (r
->outgoing_current_auth_info
) {
3352 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "outgoing_current_auth_info", r
->outgoing_current_auth_info
);
3355 ndr_print_ptr(ndr
, "outgoing_previous_auth_info", r
->outgoing_previous_auth_info
);
3357 if (r
->outgoing_previous_auth_info
) {
3358 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "outgoing_previous_auth_info", r
->outgoing_previous_auth_info
);
3364 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoFullInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoFullInfo
*r
)
3366 if (ndr_flags
& NDR_SCALARS
) {
3367 NDR_CHECK(ndr_push_align(ndr
, 4));
3368 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3369 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3370 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3372 if (ndr_flags
& NDR_BUFFERS
) {
3373 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3374 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3376 return NDR_ERR_SUCCESS
;
3379 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoFullInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoFullInfo
*r
)
3381 if (ndr_flags
& NDR_SCALARS
) {
3382 NDR_CHECK(ndr_pull_align(ndr
, 4));
3383 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3384 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3385 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3387 if (ndr_flags
& NDR_BUFFERS
) {
3388 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3389 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3391 return NDR_ERR_SUCCESS
;
3394 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoFullInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoFullInfo
*r
)
3396 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoFullInfo");
3398 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3399 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3400 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
3404 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoAuthInfoInternal
*r
)
3406 if (ndr_flags
& NDR_SCALARS
) {
3407 NDR_CHECK(ndr_push_align(ndr
, 4));
3408 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->auth_blob
));
3410 if (ndr_flags
& NDR_BUFFERS
) {
3411 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->auth_blob
));
3413 return NDR_ERR_SUCCESS
;
3416 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoAuthInfoInternal
*r
)
3418 if (ndr_flags
& NDR_SCALARS
) {
3419 NDR_CHECK(ndr_pull_align(ndr
, 4));
3420 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->auth_blob
));
3422 if (ndr_flags
& NDR_BUFFERS
) {
3423 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->auth_blob
));
3425 return NDR_ERR_SUCCESS
;
3428 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoAuthInfoInternal(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoAuthInfoInternal
*r
)
3430 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoAuthInfoInternal");
3432 ndr_print_lsa_DATA_BUF2(ndr
, "auth_blob", &r
->auth_blob
);
3436 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoFullInfoInternal(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoFullInfoInternal
*r
)
3438 if (ndr_flags
& NDR_SCALARS
) {
3439 NDR_CHECK(ndr_push_align(ndr
, 4));
3440 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3441 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3442 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info
));
3444 if (ndr_flags
& NDR_BUFFERS
) {
3445 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3446 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3448 return NDR_ERR_SUCCESS
;
3451 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoFullInfoInternal(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoFullInfoInternal
*r
)
3453 if (ndr_flags
& NDR_SCALARS
) {
3454 NDR_CHECK(ndr_pull_align(ndr
, 4));
3455 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3456 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3457 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info
));
3459 if (ndr_flags
& NDR_BUFFERS
) {
3460 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3461 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3463 return NDR_ERR_SUCCESS
;
3466 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoFullInfoInternal(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoFullInfoInternal
*r
)
3468 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoFullInfoInternal");
3470 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3471 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3472 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info", &r
->auth_info
);
3476 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoInfoEx2Internal
*r
)
3478 if (ndr_flags
& NDR_SCALARS
) {
3479 NDR_CHECK(ndr_push_align(ndr
, 4));
3480 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3481 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->forest_trust_length
));
3482 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->forest_trust_data
));
3484 if (ndr_flags
& NDR_BUFFERS
) {
3485 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3486 if (r
->forest_trust_data
) {
3487 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->forest_trust_length
));
3488 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->forest_trust_data
, r
->forest_trust_length
));
3491 return NDR_ERR_SUCCESS
;
3494 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoInfoEx2Internal
*r
)
3496 uint32_t _ptr_forest_trust_data
;
3497 TALLOC_CTX
*_mem_save_forest_trust_data_0
;
3498 if (ndr_flags
& NDR_SCALARS
) {
3499 NDR_CHECK(ndr_pull_align(ndr
, 4));
3500 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3501 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->forest_trust_length
));
3502 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_forest_trust_data
));
3503 if (_ptr_forest_trust_data
) {
3504 NDR_PULL_ALLOC(ndr
, r
->forest_trust_data
);
3506 r
->forest_trust_data
= NULL
;
3509 if (ndr_flags
& NDR_BUFFERS
) {
3510 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3511 if (r
->forest_trust_data
) {
3512 _mem_save_forest_trust_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3513 NDR_PULL_SET_MEM_CTX(ndr
, r
->forest_trust_data
, 0);
3514 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->forest_trust_data
));
3515 NDR_PULL_ALLOC_N(ndr
, r
->forest_trust_data
, ndr_get_array_size(ndr
, &r
->forest_trust_data
));
3516 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->forest_trust_data
, ndr_get_array_size(ndr
, &r
->forest_trust_data
)));
3517 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_forest_trust_data_0
, 0);
3519 if (r
->forest_trust_data
) {
3520 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->forest_trust_data
, r
->forest_trust_length
));
3523 return NDR_ERR_SUCCESS
;
3526 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoInfoEx2Internal(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoInfoEx2Internal
*r
)
3528 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoInfoEx2Internal");
3530 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3531 ndr_print_uint32(ndr
, "forest_trust_length", r
->forest_trust_length
);
3532 ndr_print_ptr(ndr
, "forest_trust_data", r
->forest_trust_data
);
3534 if (r
->forest_trust_data
) {
3535 ndr_print_array_uint8(ndr
, "forest_trust_data", r
->forest_trust_data
, r
->forest_trust_length
);
3541 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoFullInfo2Internal
*r
)
3543 if (ndr_flags
& NDR_SCALARS
) {
3544 NDR_CHECK(ndr_push_align(ndr
, 4));
3545 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info
));
3546 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3547 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3549 if (ndr_flags
& NDR_BUFFERS
) {
3550 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info
));
3551 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3553 return NDR_ERR_SUCCESS
;
3556 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoFullInfo2Internal
*r
)
3558 if (ndr_flags
& NDR_SCALARS
) {
3559 NDR_CHECK(ndr_pull_align(ndr
, 4));
3560 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info
));
3561 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3562 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3564 if (ndr_flags
& NDR_BUFFERS
) {
3565 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info
));
3566 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3568 return NDR_ERR_SUCCESS
;
3571 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoFullInfo2Internal(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoFullInfo2Internal
*r
)
3573 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoFullInfo2Internal");
3575 ndr_print_lsa_TrustDomainInfoInfoEx2Internal(ndr
, "info", &r
->info
);
3576 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3577 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
3581 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoSupportedEncTypes
*r
)
3583 if (ndr_flags
& NDR_SCALARS
) {
3584 NDR_CHECK(ndr_push_align(ndr
, 4));
3585 NDR_CHECK(ndr_push_kerb_EncTypes(ndr
, NDR_SCALARS
, r
->enc_types
));
3587 if (ndr_flags
& NDR_BUFFERS
) {
3589 return NDR_ERR_SUCCESS
;
3592 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoSupportedEncTypes
*r
)
3594 if (ndr_flags
& NDR_SCALARS
) {
3595 NDR_CHECK(ndr_pull_align(ndr
, 4));
3596 NDR_CHECK(ndr_pull_kerb_EncTypes(ndr
, NDR_SCALARS
, &r
->enc_types
));
3598 if (ndr_flags
& NDR_BUFFERS
) {
3600 return NDR_ERR_SUCCESS
;
3603 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoSupportedEncTypes(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoSupportedEncTypes
*r
)
3605 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoSupportedEncTypes");
3607 ndr_print_kerb_EncTypes(ndr
, "enc_types", r
->enc_types
);
3611 static enum ndr_err_code
ndr_push_lsa_TrustedDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_TrustedDomainInfo
*r
)
3613 if (ndr_flags
& NDR_SCALARS
) {
3614 int level
= ndr_push_get_switch_value(ndr
, r
);
3615 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, level
));
3617 case LSA_TRUSTED_DOMAIN_INFO_NAME
: {
3618 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr
, NDR_SCALARS
, &r
->name
));
3621 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
: {
3622 NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr
, NDR_SCALARS
, &r
->controllers
));
3625 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: {
3626 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3629 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: {
3630 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr
, NDR_SCALARS
, &r
->password
));
3633 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: {
3634 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr
, NDR_SCALARS
, &r
->info_basic
));
3637 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: {
3638 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3641 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: {
3642 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3645 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: {
3646 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr
, NDR_SCALARS
, &r
->full_info
));
3649 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
: {
3650 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info_internal
));
3653 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
: {
3654 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_SCALARS
, &r
->full_info_internal
));
3657 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
: {
3658 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info_ex2_internal
));
3661 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
: {
3662 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_SCALARS
, &r
->full_info2_internal
));
3665 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES
: {
3666 NDR_CHECK(ndr_push_lsa_TrustDomainInfoSupportedEncTypes(ndr
, NDR_SCALARS
, &r
->enc_types
));
3670 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3673 if (ndr_flags
& NDR_BUFFERS
) {
3674 int level
= ndr_push_get_switch_value(ndr
, r
);
3676 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3677 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr
, NDR_BUFFERS
, &r
->name
));
3680 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
:
3681 NDR_CHECK(ndr_push_lsa_TrustDomainInfoControllers(ndr
, NDR_BUFFERS
, &r
->controllers
));
3684 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3687 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3688 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr
, NDR_BUFFERS
, &r
->password
));
3691 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3692 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr
, NDR_BUFFERS
, &r
->info_basic
));
3695 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3696 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3699 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3700 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3703 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3704 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr
, NDR_BUFFERS
, &r
->full_info
));
3707 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
:
3708 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info_internal
));
3711 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
:
3712 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_BUFFERS
, &r
->full_info_internal
));
3715 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
:
3716 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info_ex2_internal
));
3719 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
:
3720 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_BUFFERS
, &r
->full_info2_internal
));
3723 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES
:
3727 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3730 return NDR_ERR_SUCCESS
;
3733 static enum ndr_err_code
ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_TrustedDomainInfo
*r
)
3737 level
= ndr_pull_get_switch_value(ndr
, r
);
3738 if (ndr_flags
& NDR_SCALARS
) {
3739 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3740 if (_level
!= level
) {
3741 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
3744 case LSA_TRUSTED_DOMAIN_INFO_NAME
: {
3745 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr
, NDR_SCALARS
, &r
->name
));
3748 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
: {
3749 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr
, NDR_SCALARS
, &r
->controllers
));
3752 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: {
3753 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3756 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: {
3757 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr
, NDR_SCALARS
, &r
->password
));
3760 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: {
3761 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr
, NDR_SCALARS
, &r
->info_basic
));
3764 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: {
3765 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3768 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: {
3769 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3772 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: {
3773 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr
, NDR_SCALARS
, &r
->full_info
));
3776 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
: {
3777 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
, &r
->auth_info_internal
));
3780 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
: {
3781 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_SCALARS
, &r
->full_info_internal
));
3784 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
: {
3785 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_SCALARS
, &r
->info_ex2_internal
));
3788 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
: {
3789 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_SCALARS
, &r
->full_info2_internal
));
3792 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES
: {
3793 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoSupportedEncTypes(ndr
, NDR_SCALARS
, &r
->enc_types
));
3797 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3800 if (ndr_flags
& NDR_BUFFERS
) {
3802 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3803 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr
, NDR_BUFFERS
, &r
->name
));
3806 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
:
3807 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoControllers(ndr
, NDR_BUFFERS
, &r
->controllers
));
3810 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3813 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3814 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr
, NDR_BUFFERS
, &r
->password
));
3817 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3818 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr
, NDR_BUFFERS
, &r
->info_basic
));
3821 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3822 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3825 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3826 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3829 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3830 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr
, NDR_BUFFERS
, &r
->full_info
));
3833 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
:
3834 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_BUFFERS
, &r
->auth_info_internal
));
3837 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
:
3838 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfoInternal(ndr
, NDR_BUFFERS
, &r
->full_info_internal
));
3841 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
:
3842 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx2Internal(ndr
, NDR_BUFFERS
, &r
->info_ex2_internal
));
3845 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
:
3846 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo2Internal(ndr
, NDR_BUFFERS
, &r
->full_info2_internal
));
3849 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES
:
3853 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3856 return NDR_ERR_SUCCESS
;
3859 _PUBLIC_
void ndr_print_lsa_TrustedDomainInfo(struct ndr_print
*ndr
, const char *name
, const union lsa_TrustedDomainInfo
*r
)
3862 level
= ndr_print_get_switch_value(ndr
, r
);
3863 ndr_print_union(ndr
, name
, level
, "lsa_TrustedDomainInfo");
3865 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3866 ndr_print_lsa_TrustDomainInfoName(ndr
, "name", &r
->name
);
3869 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS
:
3870 ndr_print_lsa_TrustDomainInfoControllers(ndr
, "controllers", &r
->controllers
);
3873 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3874 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3877 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3878 ndr_print_lsa_TrustDomainInfoPassword(ndr
, "password", &r
->password
);
3881 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3882 ndr_print_lsa_TrustDomainInfoBasic(ndr
, "info_basic", &r
->info_basic
);
3885 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3886 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3889 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3890 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
3893 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3894 ndr_print_lsa_TrustDomainInfoFullInfo(ndr
, "full_info", &r
->full_info
);
3897 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL
:
3898 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info_internal", &r
->auth_info_internal
);
3901 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL
:
3902 ndr_print_lsa_TrustDomainInfoFullInfoInternal(ndr
, "full_info_internal", &r
->full_info_internal
);
3905 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL
:
3906 ndr_print_lsa_TrustDomainInfoInfoEx2Internal(ndr
, "info_ex2_internal", &r
->info_ex2_internal
);
3909 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL
:
3910 ndr_print_lsa_TrustDomainInfoFullInfo2Internal(ndr
, "full_info2_internal", &r
->full_info2_internal
);
3913 case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES
:
3914 ndr_print_lsa_TrustDomainInfoSupportedEncTypes(ndr
, "enc_types", &r
->enc_types
);
3918 ndr_print_bad_level(ndr
, name
, level
);
3922 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
)
3924 if (ndr_flags
& NDR_SCALARS
) {
3925 NDR_CHECK(ndr_push_align(ndr
, 4));
3926 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buf
));
3928 if (ndr_flags
& NDR_BUFFERS
) {
3930 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->buf
));
3933 return NDR_ERR_SUCCESS
;
3936 static enum ndr_err_code
ndr_pull_lsa_DATA_BUF_PTR(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DATA_BUF_PTR
*r
)
3939 TALLOC_CTX
*_mem_save_buf_0
;
3940 if (ndr_flags
& NDR_SCALARS
) {
3941 NDR_CHECK(ndr_pull_align(ndr
, 4));
3942 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buf
));
3944 NDR_PULL_ALLOC(ndr
, r
->buf
);
3949 if (ndr_flags
& NDR_BUFFERS
) {
3951 _mem_save_buf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3952 NDR_PULL_SET_MEM_CTX(ndr
, r
->buf
, 0);
3953 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->buf
));
3954 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buf_0
, 0);
3957 return NDR_ERR_SUCCESS
;
3960 _PUBLIC_
void ndr_print_lsa_DATA_BUF_PTR(struct ndr_print
*ndr
, const char *name
, const struct lsa_DATA_BUF_PTR
*r
)
3962 ndr_print_struct(ndr
, name
, "lsa_DATA_BUF_PTR");
3964 ndr_print_ptr(ndr
, "buf", r
->buf
);
3967 ndr_print_lsa_DATA_BUF(ndr
, "buf", r
->buf
);
3973 static enum ndr_err_code
ndr_push_lsa_RightSet(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_RightSet
*r
)
3975 uint32_t cntr_names_1
;
3976 if (ndr_flags
& NDR_SCALARS
) {
3977 NDR_CHECK(ndr_push_align(ndr
, 4));
3978 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3979 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
3981 if (ndr_flags
& NDR_BUFFERS
) {
3983 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3984 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3985 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
3987 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3988 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
3992 return NDR_ERR_SUCCESS
;
3995 static enum ndr_err_code
ndr_pull_lsa_RightSet(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_RightSet
*r
)
3997 uint32_t _ptr_names
;
3998 uint32_t cntr_names_1
;
3999 TALLOC_CTX
*_mem_save_names_0
;
4000 TALLOC_CTX
*_mem_save_names_1
;
4001 if (ndr_flags
& NDR_SCALARS
) {
4002 NDR_CHECK(ndr_pull_align(ndr
, 4));
4003 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4004 if (r
->count
> 256) {
4005 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4007 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
4009 NDR_PULL_ALLOC(ndr
, r
->names
);
4014 if (ndr_flags
& NDR_BUFFERS
) {
4016 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4017 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4018 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
4019 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
4020 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4021 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4022 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4023 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
4025 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4026 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
4028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
4029 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
4032 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
4035 return NDR_ERR_SUCCESS
;
4038 _PUBLIC_
void ndr_print_lsa_RightSet(struct ndr_print
*ndr
, const char *name
, const struct lsa_RightSet
*r
)
4040 uint32_t cntr_names_1
;
4041 ndr_print_struct(ndr
, name
, "lsa_RightSet");
4043 ndr_print_uint32(ndr
, "count", r
->count
);
4044 ndr_print_ptr(ndr
, "names", r
->names
);
4047 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
4049 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
4051 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
4052 ndr_print_lsa_StringLarge(ndr
, "names", &r
->names
[cntr_names_1
]);
4062 static enum ndr_err_code
ndr_push_lsa_DomainListEx(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainListEx
*r
)
4064 uint32_t cntr_domains_1
;
4065 if (ndr_flags
& NDR_SCALARS
) {
4066 NDR_CHECK(ndr_push_align(ndr
, 4));
4067 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4068 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domains
));
4070 if (ndr_flags
& NDR_BUFFERS
) {
4072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4073 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
4074 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
4076 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
4077 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
4081 return NDR_ERR_SUCCESS
;
4084 static enum ndr_err_code
ndr_pull_lsa_DomainListEx(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainListEx
*r
)
4086 uint32_t _ptr_domains
;
4087 uint32_t cntr_domains_1
;
4088 TALLOC_CTX
*_mem_save_domains_0
;
4089 TALLOC_CTX
*_mem_save_domains_1
;
4090 if (ndr_flags
& NDR_SCALARS
) {
4091 NDR_CHECK(ndr_pull_align(ndr
, 4));
4092 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4093 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
4095 NDR_PULL_ALLOC(ndr
, r
->domains
);
4100 if (ndr_flags
& NDR_BUFFERS
) {
4102 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4103 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
4104 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domains
));
4105 NDR_PULL_ALLOC_N(ndr
, r
->domains
, ndr_get_array_size(ndr
, &r
->domains
));
4106 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4107 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
4108 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
4109 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
4111 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
4112 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
4114 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
4115 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, 0);
4118 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->domains
, r
->count
));
4121 return NDR_ERR_SUCCESS
;
4124 _PUBLIC_
void ndr_print_lsa_DomainListEx(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainListEx
*r
)
4126 uint32_t cntr_domains_1
;
4127 ndr_print_struct(ndr
, name
, "lsa_DomainListEx");
4129 ndr_print_uint32(ndr
, "count", r
->count
);
4130 ndr_print_ptr(ndr
, "domains", r
->domains
);
4133 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
4135 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
4137 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
4138 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
4148 static enum ndr_err_code
ndr_push_lsa_DomainInfoKerberos(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainInfoKerberos
*r
)
4150 if (ndr_flags
& NDR_SCALARS
) {
4151 NDR_CHECK(ndr_push_align(ndr
, 8));
4152 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enforce_restrictions
));
4153 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->service_tkt_lifetime
));
4154 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->user_tkt_lifetime
));
4155 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->user_tkt_renewaltime
));
4156 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->clock_skew
));
4157 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown6
));
4159 if (ndr_flags
& NDR_BUFFERS
) {
4161 return NDR_ERR_SUCCESS
;
4164 static enum ndr_err_code
ndr_pull_lsa_DomainInfoKerberos(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainInfoKerberos
*r
)
4166 if (ndr_flags
& NDR_SCALARS
) {
4167 NDR_CHECK(ndr_pull_align(ndr
, 8));
4168 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enforce_restrictions
));
4169 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->service_tkt_lifetime
));
4170 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->user_tkt_lifetime
));
4171 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->user_tkt_renewaltime
));
4172 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->clock_skew
));
4173 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown6
));
4175 if (ndr_flags
& NDR_BUFFERS
) {
4177 return NDR_ERR_SUCCESS
;
4180 _PUBLIC_
void ndr_print_lsa_DomainInfoKerberos(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainInfoKerberos
*r
)
4182 ndr_print_struct(ndr
, name
, "lsa_DomainInfoKerberos");
4184 ndr_print_uint32(ndr
, "enforce_restrictions", r
->enforce_restrictions
);
4185 ndr_print_hyper(ndr
, "service_tkt_lifetime", r
->service_tkt_lifetime
);
4186 ndr_print_hyper(ndr
, "user_tkt_lifetime", r
->user_tkt_lifetime
);
4187 ndr_print_hyper(ndr
, "user_tkt_renewaltime", r
->user_tkt_renewaltime
);
4188 ndr_print_hyper(ndr
, "clock_skew", r
->clock_skew
);
4189 ndr_print_hyper(ndr
, "unknown6", r
->unknown6
);
4193 static enum ndr_err_code
ndr_push_lsa_DomainInfoEfs(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainInfoEfs
*r
)
4195 if (ndr_flags
& NDR_SCALARS
) {
4196 NDR_CHECK(ndr_push_align(ndr
, 4));
4197 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->blob_size
));
4198 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->efs_blob
));
4200 if (ndr_flags
& NDR_BUFFERS
) {
4202 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->blob_size
));
4203 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->efs_blob
, r
->blob_size
));
4206 return NDR_ERR_SUCCESS
;
4209 static enum ndr_err_code
ndr_pull_lsa_DomainInfoEfs(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainInfoEfs
*r
)
4211 uint32_t _ptr_efs_blob
;
4212 TALLOC_CTX
*_mem_save_efs_blob_0
;
4213 if (ndr_flags
& NDR_SCALARS
) {
4214 NDR_CHECK(ndr_pull_align(ndr
, 4));
4215 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blob_size
));
4216 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_efs_blob
));
4217 if (_ptr_efs_blob
) {
4218 NDR_PULL_ALLOC(ndr
, r
->efs_blob
);
4223 if (ndr_flags
& NDR_BUFFERS
) {
4225 _mem_save_efs_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4226 NDR_PULL_SET_MEM_CTX(ndr
, r
->efs_blob
, 0);
4227 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->efs_blob
));
4228 NDR_PULL_ALLOC_N(ndr
, r
->efs_blob
, ndr_get_array_size(ndr
, &r
->efs_blob
));
4229 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->efs_blob
, ndr_get_array_size(ndr
, &r
->efs_blob
)));
4230 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_efs_blob_0
, 0);
4233 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->efs_blob
, r
->blob_size
));
4236 return NDR_ERR_SUCCESS
;
4239 _PUBLIC_
void ndr_print_lsa_DomainInfoEfs(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainInfoEfs
*r
)
4241 ndr_print_struct(ndr
, name
, "lsa_DomainInfoEfs");
4243 ndr_print_uint32(ndr
, "blob_size", r
->blob_size
);
4244 ndr_print_ptr(ndr
, "efs_blob", r
->efs_blob
);
4247 ndr_print_array_uint8(ndr
, "efs_blob", r
->efs_blob
, r
->blob_size
);
4253 static enum ndr_err_code
ndr_push_lsa_DomainInformationPolicy(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_DomainInformationPolicy
*r
)
4255 if (ndr_flags
& NDR_SCALARS
) {
4256 int level
= ndr_push_get_switch_value(ndr
, r
);
4257 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
4259 case LSA_DOMAIN_INFO_POLICY_EFS
: {
4260 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr
, NDR_SCALARS
, &r
->efs_info
));
4263 case LSA_DOMAIN_INFO_POLICY_KERBEROS
: {
4264 NDR_CHECK(ndr_push_lsa_DomainInfoKerberos(ndr
, NDR_SCALARS
, &r
->kerberos_info
));
4268 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4271 if (ndr_flags
& NDR_BUFFERS
) {
4272 int level
= ndr_push_get_switch_value(ndr
, r
);
4274 case LSA_DOMAIN_INFO_POLICY_EFS
:
4275 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr
, NDR_BUFFERS
, &r
->efs_info
));
4278 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
4282 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4285 return NDR_ERR_SUCCESS
;
4288 static enum ndr_err_code
ndr_pull_lsa_DomainInformationPolicy(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_DomainInformationPolicy
*r
)
4292 level
= ndr_pull_get_switch_value(ndr
, r
);
4293 if (ndr_flags
& NDR_SCALARS
) {
4294 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
4295 if (_level
!= level
) {
4296 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4299 case LSA_DOMAIN_INFO_POLICY_EFS
: {
4300 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr
, NDR_SCALARS
, &r
->efs_info
));
4303 case LSA_DOMAIN_INFO_POLICY_KERBEROS
: {
4304 NDR_CHECK(ndr_pull_lsa_DomainInfoKerberos(ndr
, NDR_SCALARS
, &r
->kerberos_info
));
4308 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4311 if (ndr_flags
& NDR_BUFFERS
) {
4313 case LSA_DOMAIN_INFO_POLICY_EFS
:
4314 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr
, NDR_BUFFERS
, &r
->efs_info
));
4317 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
4321 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
4324 return NDR_ERR_SUCCESS
;
4327 _PUBLIC_
void ndr_print_lsa_DomainInformationPolicy(struct ndr_print
*ndr
, const char *name
, const union lsa_DomainInformationPolicy
*r
)
4330 level
= ndr_print_get_switch_value(ndr
, r
);
4331 ndr_print_union(ndr
, name
, level
, "lsa_DomainInformationPolicy");
4333 case LSA_DOMAIN_INFO_POLICY_EFS
:
4334 ndr_print_lsa_DomainInfoEfs(ndr
, "efs_info", &r
->efs_info
);
4337 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
4338 ndr_print_lsa_DomainInfoKerberos(ndr
, "kerberos_info", &r
->kerberos_info
);
4342 ndr_print_bad_level(ndr
, name
, level
);
4346 static enum ndr_err_code
ndr_push_lsa_TranslatedName2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedName2
*r
)
4348 if (ndr_flags
& NDR_SCALARS
) {
4349 NDR_CHECK(ndr_push_align(ndr
, 4));
4350 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
4351 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
4352 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
4353 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
4355 if (ndr_flags
& NDR_BUFFERS
) {
4356 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
4358 return NDR_ERR_SUCCESS
;
4361 static enum ndr_err_code
ndr_pull_lsa_TranslatedName2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedName2
*r
)
4363 if (ndr_flags
& NDR_SCALARS
) {
4364 NDR_CHECK(ndr_pull_align(ndr
, 4));
4365 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
4366 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
4367 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
4368 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
4370 if (ndr_flags
& NDR_BUFFERS
) {
4371 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
4373 return NDR_ERR_SUCCESS
;
4376 _PUBLIC_
void ndr_print_lsa_TranslatedName2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedName2
*r
)
4378 ndr_print_struct(ndr
, name
, "lsa_TranslatedName2");
4380 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
4381 ndr_print_lsa_String(ndr
, "name", &r
->name
);
4382 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
4383 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
4387 static enum ndr_err_code
ndr_push_lsa_TransNameArray2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransNameArray2
*r
)
4389 uint32_t cntr_names_1
;
4390 if (ndr_flags
& NDR_SCALARS
) {
4391 NDR_CHECK(ndr_push_align(ndr
, 4));
4392 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4393 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
4395 if (ndr_flags
& NDR_BUFFERS
) {
4397 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4398 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4399 NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
4401 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4402 NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
4406 return NDR_ERR_SUCCESS
;
4409 static enum ndr_err_code
ndr_pull_lsa_TransNameArray2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransNameArray2
*r
)
4411 uint32_t _ptr_names
;
4412 uint32_t cntr_names_1
;
4413 TALLOC_CTX
*_mem_save_names_0
;
4414 TALLOC_CTX
*_mem_save_names_1
;
4415 if (ndr_flags
& NDR_SCALARS
) {
4416 NDR_CHECK(ndr_pull_align(ndr
, 4));
4417 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4418 if (r
->count
> 1000) {
4419 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4421 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
4423 NDR_PULL_ALLOC(ndr
, r
->names
);
4428 if (ndr_flags
& NDR_BUFFERS
) {
4430 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4431 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4432 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
4433 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
4434 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4435 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
4436 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4437 NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
4439 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
4440 NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
4442 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
4443 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
4446 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
4449 return NDR_ERR_SUCCESS
;
4452 _PUBLIC_
void ndr_print_lsa_TransNameArray2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransNameArray2
*r
)
4454 uint32_t cntr_names_1
;
4455 ndr_print_struct(ndr
, name
, "lsa_TransNameArray2");
4457 ndr_print_uint32(ndr
, "count", r
->count
);
4458 ndr_print_ptr(ndr
, "names", r
->names
);
4461 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
4463 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
4465 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
4466 ndr_print_lsa_TranslatedName2(ndr
, "names", &r
->names
[cntr_names_1
]);
4476 static enum ndr_err_code
ndr_push_lsa_TranslatedSid2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedSid2
*r
)
4478 if (ndr_flags
& NDR_SCALARS
) {
4479 NDR_CHECK(ndr_push_align(ndr
, 4));
4480 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
4481 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
4482 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
4483 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
4485 if (ndr_flags
& NDR_BUFFERS
) {
4487 return NDR_ERR_SUCCESS
;
4490 static enum ndr_err_code
ndr_pull_lsa_TranslatedSid2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedSid2
*r
)
4492 if (ndr_flags
& NDR_SCALARS
) {
4493 NDR_CHECK(ndr_pull_align(ndr
, 4));
4494 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
4495 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
4496 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
4497 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
4499 if (ndr_flags
& NDR_BUFFERS
) {
4501 return NDR_ERR_SUCCESS
;
4504 _PUBLIC_
void ndr_print_lsa_TranslatedSid2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedSid2
*r
)
4506 ndr_print_struct(ndr
, name
, "lsa_TranslatedSid2");
4508 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
4509 ndr_print_uint32(ndr
, "rid", r
->rid
);
4510 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
4511 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
4515 static enum ndr_err_code
ndr_push_lsa_TransSidArray2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransSidArray2
*r
)
4517 uint32_t cntr_sids_1
;
4518 if (ndr_flags
& NDR_SCALARS
) {
4519 NDR_CHECK(ndr_push_align(ndr
, 4));
4520 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4521 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4523 if (ndr_flags
& NDR_BUFFERS
) {
4525 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4526 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4527 NDR_CHECK(ndr_push_lsa_TranslatedSid2(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4531 return NDR_ERR_SUCCESS
;
4534 static enum ndr_err_code
ndr_pull_lsa_TransSidArray2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransSidArray2
*r
)
4537 uint32_t cntr_sids_1
;
4538 TALLOC_CTX
*_mem_save_sids_0
;
4539 TALLOC_CTX
*_mem_save_sids_1
;
4540 if (ndr_flags
& NDR_SCALARS
) {
4541 NDR_CHECK(ndr_pull_align(ndr
, 4));
4542 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4543 if (r
->count
> 1000) {
4544 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4546 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4548 NDR_PULL_ALLOC(ndr
, r
->sids
);
4553 if (ndr_flags
& NDR_BUFFERS
) {
4555 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4556 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4557 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4558 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4559 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4560 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4561 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4562 NDR_CHECK(ndr_pull_lsa_TranslatedSid2(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4564 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4565 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4568 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->count
));
4571 return NDR_ERR_SUCCESS
;
4574 _PUBLIC_
void ndr_print_lsa_TransSidArray2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransSidArray2
*r
)
4576 uint32_t cntr_sids_1
;
4577 ndr_print_struct(ndr
, name
, "lsa_TransSidArray2");
4579 ndr_print_uint32(ndr
, "count", r
->count
);
4580 ndr_print_ptr(ndr
, "sids", r
->sids
);
4583 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
4585 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
4587 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4588 ndr_print_lsa_TranslatedSid2(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
4598 static enum ndr_err_code
ndr_push_lsa_TranslatedSid3(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedSid3
*r
)
4600 if (ndr_flags
& NDR_SCALARS
) {
4601 NDR_CHECK(ndr_push_align(ndr
, 4));
4602 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
4603 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
4604 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
4605 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
4607 if (ndr_flags
& NDR_BUFFERS
) {
4609 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
4612 return NDR_ERR_SUCCESS
;
4615 static enum ndr_err_code
ndr_pull_lsa_TranslatedSid3(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedSid3
*r
)
4618 TALLOC_CTX
*_mem_save_sid_0
;
4619 if (ndr_flags
& NDR_SCALARS
) {
4620 NDR_CHECK(ndr_pull_align(ndr
, 4));
4621 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
4622 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
4624 NDR_PULL_ALLOC(ndr
, r
->sid
);
4628 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
4629 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
4631 if (ndr_flags
& NDR_BUFFERS
) {
4633 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4634 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
4635 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
4636 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
4639 return NDR_ERR_SUCCESS
;
4642 _PUBLIC_
void ndr_print_lsa_TranslatedSid3(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedSid3
*r
)
4644 ndr_print_struct(ndr
, name
, "lsa_TranslatedSid3");
4646 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
4647 ndr_print_ptr(ndr
, "sid", r
->sid
);
4650 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
4653 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
4654 ndr_print_uint32(ndr
, "flags", r
->flags
);
4658 static enum ndr_err_code
ndr_push_lsa_TransSidArray3(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransSidArray3
*r
)
4660 uint32_t cntr_sids_1
;
4661 if (ndr_flags
& NDR_SCALARS
) {
4662 NDR_CHECK(ndr_push_align(ndr
, 4));
4663 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4664 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4666 if (ndr_flags
& NDR_BUFFERS
) {
4668 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4669 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4670 NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4672 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4673 NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
4677 return NDR_ERR_SUCCESS
;
4680 static enum ndr_err_code
ndr_pull_lsa_TransSidArray3(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransSidArray3
*r
)
4683 uint32_t cntr_sids_1
;
4684 TALLOC_CTX
*_mem_save_sids_0
;
4685 TALLOC_CTX
*_mem_save_sids_1
;
4686 if (ndr_flags
& NDR_SCALARS
) {
4687 NDR_CHECK(ndr_pull_align(ndr
, 4));
4688 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4689 if (r
->count
> 1000) {
4690 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4692 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4694 NDR_PULL_ALLOC(ndr
, r
->sids
);
4699 if (ndr_flags
& NDR_BUFFERS
) {
4701 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4702 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4703 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4704 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4705 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4706 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4707 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4708 NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4710 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4711 NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
4713 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4714 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4717 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->count
));
4720 return NDR_ERR_SUCCESS
;
4723 _PUBLIC_
void ndr_print_lsa_TransSidArray3(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransSidArray3
*r
)
4725 uint32_t cntr_sids_1
;
4726 ndr_print_struct(ndr
, name
, "lsa_TransSidArray3");
4728 ndr_print_uint32(ndr
, "count", r
->count
);
4729 ndr_print_ptr(ndr
, "sids", r
->sids
);
4732 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
4734 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
4736 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4737 ndr_print_lsa_TranslatedSid3(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
4747 static enum ndr_err_code
ndr_push_lsa_ForestTrustBinaryData(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustBinaryData
*r
)
4749 if (ndr_flags
& NDR_SCALARS
) {
4750 NDR_CHECK(ndr_push_align(ndr
, 4));
4751 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4752 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
4754 if (ndr_flags
& NDR_BUFFERS
) {
4756 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4757 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
4760 return NDR_ERR_SUCCESS
;
4763 static enum ndr_err_code
ndr_pull_lsa_ForestTrustBinaryData(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustBinaryData
*r
)
4766 TALLOC_CTX
*_mem_save_data_0
;
4767 if (ndr_flags
& NDR_SCALARS
) {
4768 NDR_CHECK(ndr_pull_align(ndr
, 4));
4769 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
4770 if (r
->length
> 131072) {
4771 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4773 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
4775 NDR_PULL_ALLOC(ndr
, r
->data
);
4780 if (ndr_flags
& NDR_BUFFERS
) {
4782 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4783 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
4784 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
4785 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
4786 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
4787 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
4790 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
4793 return NDR_ERR_SUCCESS
;
4796 _PUBLIC_
void ndr_print_lsa_ForestTrustBinaryData(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustBinaryData
*r
)
4798 ndr_print_struct(ndr
, name
, "lsa_ForestTrustBinaryData");
4800 ndr_print_uint32(ndr
, "length", r
->length
);
4801 ndr_print_ptr(ndr
, "data", r
->data
);
4804 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
4810 static enum ndr_err_code
ndr_push_lsa_ForestTrustDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustDomainInfo
*r
)
4812 if (ndr_flags
& NDR_SCALARS
) {
4813 NDR_CHECK(ndr_push_align(ndr
, 4));
4814 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_sid
));
4815 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain_name
));
4816 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_domain_name
));
4818 if (ndr_flags
& NDR_BUFFERS
) {
4819 if (r
->domain_sid
) {
4820 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain_sid
));
4822 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain_name
));
4823 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_domain_name
));
4825 return NDR_ERR_SUCCESS
;
4828 static enum ndr_err_code
ndr_pull_lsa_ForestTrustDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustDomainInfo
*r
)
4830 uint32_t _ptr_domain_sid
;
4831 TALLOC_CTX
*_mem_save_domain_sid_0
;
4832 if (ndr_flags
& NDR_SCALARS
) {
4833 NDR_CHECK(ndr_pull_align(ndr
, 4));
4834 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_sid
));
4835 if (_ptr_domain_sid
) {
4836 NDR_PULL_ALLOC(ndr
, r
->domain_sid
);
4838 r
->domain_sid
= NULL
;
4840 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain_name
));
4841 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_domain_name
));
4843 if (ndr_flags
& NDR_BUFFERS
) {
4844 if (r
->domain_sid
) {
4845 _mem_save_domain_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4846 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_sid
, 0);
4847 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain_sid
));
4848 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_sid_0
, 0);
4850 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain_name
));
4851 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_domain_name
));
4853 return NDR_ERR_SUCCESS
;
4856 _PUBLIC_
void ndr_print_lsa_ForestTrustDomainInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustDomainInfo
*r
)
4858 ndr_print_struct(ndr
, name
, "lsa_ForestTrustDomainInfo");
4860 ndr_print_ptr(ndr
, "domain_sid", r
->domain_sid
);
4862 if (r
->domain_sid
) {
4863 ndr_print_dom_sid2(ndr
, "domain_sid", r
->domain_sid
);
4866 ndr_print_lsa_StringLarge(ndr
, "dns_domain_name", &r
->dns_domain_name
);
4867 ndr_print_lsa_StringLarge(ndr
, "netbios_domain_name", &r
->netbios_domain_name
);
4871 static enum ndr_err_code
ndr_push_lsa_ForestTrustData(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_ForestTrustData
*r
)
4873 if (ndr_flags
& NDR_SCALARS
) {
4874 int level
= ndr_push_get_switch_value(ndr
, r
);
4875 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4877 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: {
4878 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->top_level_name
));
4881 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
4882 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name_ex
));
4885 case LSA_FOREST_TRUST_DOMAIN_INFO
: {
4886 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr
, NDR_SCALARS
, &r
->domain_info
));
4890 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
4895 if (ndr_flags
& NDR_BUFFERS
) {
4896 int level
= ndr_push_get_switch_value(ndr
, r
);
4898 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
4899 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->top_level_name
));
4902 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
4903 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name_ex
));
4906 case LSA_FOREST_TRUST_DOMAIN_INFO
:
4907 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr
, NDR_BUFFERS
, &r
->domain_info
));
4911 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr
, NDR_BUFFERS
, &r
->data
));
4916 return NDR_ERR_SUCCESS
;
4919 static enum ndr_err_code
ndr_pull_lsa_ForestTrustData(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_ForestTrustData
*r
)
4923 level
= ndr_pull_get_switch_value(ndr
, r
);
4924 if (ndr_flags
& NDR_SCALARS
) {
4925 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4926 if (_level
!= level
) {
4927 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4930 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: {
4931 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->top_level_name
));
4934 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
4935 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name_ex
));
4938 case LSA_FOREST_TRUST_DOMAIN_INFO
: {
4939 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr
, NDR_SCALARS
, &r
->domain_info
));
4943 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
4948 if (ndr_flags
& NDR_BUFFERS
) {
4950 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
4951 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->top_level_name
));
4954 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
4955 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name_ex
));
4958 case LSA_FOREST_TRUST_DOMAIN_INFO
:
4959 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr
, NDR_BUFFERS
, &r
->domain_info
));
4963 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr
, NDR_BUFFERS
, &r
->data
));
4968 return NDR_ERR_SUCCESS
;
4971 _PUBLIC_
void ndr_print_lsa_ForestTrustData(struct ndr_print
*ndr
, const char *name
, const union lsa_ForestTrustData
*r
)
4974 level
= ndr_print_get_switch_value(ndr
, r
);
4975 ndr_print_union(ndr
, name
, level
, "lsa_ForestTrustData");
4977 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
4978 ndr_print_lsa_String(ndr
, "top_level_name", &r
->top_level_name
);
4981 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
4982 ndr_print_lsa_StringLarge(ndr
, "top_level_name_ex", &r
->top_level_name_ex
);
4985 case LSA_FOREST_TRUST_DOMAIN_INFO
:
4986 ndr_print_lsa_ForestTrustDomainInfo(ndr
, "domain_info", &r
->domain_info
);
4990 ndr_print_lsa_ForestTrustBinaryData(ndr
, "data", &r
->data
);
4996 static enum ndr_err_code
ndr_push_lsa_ForestTrustRecordType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_ForestTrustRecordType r
)
4998 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4999 return NDR_ERR_SUCCESS
;
5002 static enum ndr_err_code
ndr_pull_lsa_ForestTrustRecordType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_ForestTrustRecordType
*r
)
5005 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
5007 return NDR_ERR_SUCCESS
;
5010 _PUBLIC_
void ndr_print_lsa_ForestTrustRecordType(struct ndr_print
*ndr
, const char *name
, enum lsa_ForestTrustRecordType r
)
5012 const char *val
= NULL
;
5015 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: val
= "LSA_FOREST_TRUST_TOP_LEVEL_NAME"; break;
5016 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: val
= "LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX"; break;
5017 case LSA_FOREST_TRUST_DOMAIN_INFO
: val
= "LSA_FOREST_TRUST_DOMAIN_INFO"; break;
5018 case LSA_FOREST_TRUST_RECORD_TYPE_LAST
: val
= "LSA_FOREST_TRUST_RECORD_TYPE_LAST"; break;
5020 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5023 static enum ndr_err_code
ndr_push_lsa_ForestTrustRecord(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustRecord
*r
)
5025 if (ndr_flags
& NDR_SCALARS
) {
5026 NDR_CHECK(ndr_push_align(ndr
, 8));
5027 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
5028 NDR_CHECK(ndr_push_lsa_ForestTrustRecordType(ndr
, NDR_SCALARS
, r
->level
));
5029 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown
));
5030 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->forest_trust_data
, r
->level
));
5031 NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr
, NDR_SCALARS
, &r
->forest_trust_data
));
5033 if (ndr_flags
& NDR_BUFFERS
) {
5034 NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr
, NDR_BUFFERS
, &r
->forest_trust_data
));
5036 return NDR_ERR_SUCCESS
;
5039 static enum ndr_err_code
ndr_pull_lsa_ForestTrustRecord(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustRecord
*r
)
5041 if (ndr_flags
& NDR_SCALARS
) {
5042 NDR_CHECK(ndr_pull_align(ndr
, 8));
5043 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
5044 NDR_CHECK(ndr_pull_lsa_ForestTrustRecordType(ndr
, NDR_SCALARS
, &r
->level
));
5045 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown
));
5046 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->forest_trust_data
, r
->level
));
5047 NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr
, NDR_SCALARS
, &r
->forest_trust_data
));
5049 if (ndr_flags
& NDR_BUFFERS
) {
5050 NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr
, NDR_BUFFERS
, &r
->forest_trust_data
));
5052 return NDR_ERR_SUCCESS
;
5055 _PUBLIC_
void ndr_print_lsa_ForestTrustRecord(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustRecord
*r
)
5057 ndr_print_struct(ndr
, name
, "lsa_ForestTrustRecord");
5059 ndr_print_uint32(ndr
, "flags", r
->flags
);
5060 ndr_print_lsa_ForestTrustRecordType(ndr
, "level", r
->level
);
5061 ndr_print_hyper(ndr
, "unknown", r
->unknown
);
5062 ndr_print_set_switch_value(ndr
, &r
->forest_trust_data
, r
->level
);
5063 ndr_print_lsa_ForestTrustData(ndr
, "forest_trust_data", &r
->forest_trust_data
);
5067 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_ForestTrustInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustInformation
*r
)
5069 uint32_t cntr_entries_1
;
5070 if (ndr_flags
& NDR_SCALARS
) {
5071 NDR_CHECK(ndr_push_align(ndr
, 4));
5072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5073 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
5075 if (ndr_flags
& NDR_BUFFERS
) {
5077 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5078 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5079 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
[cntr_entries_1
]));
5081 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5082 if (r
->entries
[cntr_entries_1
]) {
5083 NDR_CHECK(ndr_push_lsa_ForestTrustRecord(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->entries
[cntr_entries_1
]));
5088 return NDR_ERR_SUCCESS
;
5091 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_ForestTrustInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustInformation
*r
)
5093 uint32_t _ptr_entries
;
5094 uint32_t cntr_entries_1
;
5095 TALLOC_CTX
*_mem_save_entries_0
;
5096 TALLOC_CTX
*_mem_save_entries_1
;
5097 TALLOC_CTX
*_mem_save_entries_2
;
5098 if (ndr_flags
& NDR_SCALARS
) {
5099 NDR_CHECK(ndr_pull_align(ndr
, 4));
5100 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5101 if (r
->count
> 4000) {
5102 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5104 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
5106 NDR_PULL_ALLOC(ndr
, r
->entries
);
5111 if (ndr_flags
& NDR_BUFFERS
) {
5113 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5114 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
5115 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
5116 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
5117 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5118 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
5119 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5120 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
5122 NDR_PULL_ALLOC(ndr
, r
->entries
[cntr_entries_1
]);
5124 r
->entries
[cntr_entries_1
] = NULL
;
5127 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
5128 if (r
->entries
[cntr_entries_1
]) {
5129 _mem_save_entries_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5130 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
[cntr_entries_1
], 0);
5131 NDR_CHECK(ndr_pull_lsa_ForestTrustRecord(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->entries
[cntr_entries_1
]));
5132 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_2
, 0);
5135 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
5136 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
5139 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
5142 return NDR_ERR_SUCCESS
;
5145 _PUBLIC_
void ndr_print_lsa_ForestTrustInformation(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustInformation
*r
)
5147 uint32_t cntr_entries_1
;
5148 ndr_print_struct(ndr
, name
, "lsa_ForestTrustInformation");
5150 ndr_print_uint32(ndr
, "count", r
->count
);
5151 ndr_print_ptr(ndr
, "entries", r
->entries
);
5154 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
5156 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
5158 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
5159 ndr_print_ptr(ndr
, "entries", r
->entries
[cntr_entries_1
]);
5161 if (r
->entries
[cntr_entries_1
]) {
5162 ndr_print_lsa_ForestTrustRecord(ndr
, "entries", r
->entries
[cntr_entries_1
]);
5174 static enum ndr_err_code
ndr_push_lsa_Close(struct ndr_push
*ndr
, int flags
, const struct lsa_Close
*r
)
5176 if (flags
& NDR_IN
) {
5177 if (r
->in
.handle
== NULL
) {
5178 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5180 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5182 if (flags
& NDR_OUT
) {
5183 if (r
->out
.handle
== NULL
) {
5184 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5186 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5187 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5189 return NDR_ERR_SUCCESS
;
5192 static enum ndr_err_code
ndr_pull_lsa_Close(struct ndr_pull
*ndr
, int flags
, struct lsa_Close
*r
)
5194 TALLOC_CTX
*_mem_save_handle_0
;
5195 if (flags
& NDR_IN
) {
5196 ZERO_STRUCT(r
->out
);
5198 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5199 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5201 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5202 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5203 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5204 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5205 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5206 *r
->out
.handle
= *r
->in
.handle
;
5208 if (flags
& NDR_OUT
) {
5209 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5210 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5212 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5213 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5214 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5215 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5216 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5218 return NDR_ERR_SUCCESS
;
5221 _PUBLIC_
void ndr_print_lsa_Close(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_Close
*r
)
5223 ndr_print_struct(ndr
, name
, "lsa_Close");
5225 if (flags
& NDR_SET_VALUES
) {
5226 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5228 if (flags
& NDR_IN
) {
5229 ndr_print_struct(ndr
, "in", "lsa_Close");
5231 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5233 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5237 if (flags
& NDR_OUT
) {
5238 ndr_print_struct(ndr
, "out", "lsa_Close");
5240 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5242 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5244 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5250 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_Delete(struct ndr_push
*ndr
, int flags
, const struct lsa_Delete
*r
)
5252 if (flags
& NDR_IN
) {
5253 if (r
->in
.handle
== NULL
) {
5254 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5256 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5258 if (flags
& NDR_OUT
) {
5259 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5261 return NDR_ERR_SUCCESS
;
5264 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_Delete(struct ndr_pull
*ndr
, int flags
, struct lsa_Delete
*r
)
5266 TALLOC_CTX
*_mem_save_handle_0
;
5267 if (flags
& NDR_IN
) {
5268 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5269 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5271 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5272 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5273 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5274 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5276 if (flags
& NDR_OUT
) {
5277 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5279 return NDR_ERR_SUCCESS
;
5282 _PUBLIC_
void ndr_print_lsa_Delete(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_Delete
*r
)
5284 ndr_print_struct(ndr
, name
, "lsa_Delete");
5286 if (flags
& NDR_SET_VALUES
) {
5287 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5289 if (flags
& NDR_IN
) {
5290 ndr_print_struct(ndr
, "in", "lsa_Delete");
5292 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5294 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5298 if (flags
& NDR_OUT
) {
5299 ndr_print_struct(ndr
, "out", "lsa_Delete");
5301 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5307 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_EnumPrivs(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumPrivs
*r
)
5309 if (flags
& NDR_IN
) {
5310 if (r
->in
.handle
== NULL
) {
5311 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5313 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5314 if (r
->in
.resume_handle
== NULL
) {
5315 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5317 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
5318 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_count
));
5320 if (flags
& NDR_OUT
) {
5321 if (r
->out
.resume_handle
== NULL
) {
5322 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5324 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
5325 if (r
->out
.privs
== NULL
) {
5326 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5328 NDR_CHECK(ndr_push_lsa_PrivArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.privs
));
5329 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5331 return NDR_ERR_SUCCESS
;
5334 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_EnumPrivs(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumPrivs
*r
)
5336 TALLOC_CTX
*_mem_save_handle_0
;
5337 TALLOC_CTX
*_mem_save_resume_handle_0
;
5338 TALLOC_CTX
*_mem_save_privs_0
;
5339 if (flags
& NDR_IN
) {
5340 ZERO_STRUCT(r
->out
);
5342 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5343 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5345 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5346 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5347 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5348 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5349 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5350 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
5352 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5353 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5354 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
5355 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5356 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_count
));
5357 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5358 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
5359 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
5360 ZERO_STRUCTP(r
->out
.privs
);
5362 if (flags
& NDR_OUT
) {
5363 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5364 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5366 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5367 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5368 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
5369 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5370 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5371 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
5373 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5374 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.privs
, LIBNDR_FLAG_REF_ALLOC
);
5375 NDR_CHECK(ndr_pull_lsa_PrivArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.privs
));
5376 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, LIBNDR_FLAG_REF_ALLOC
);
5377 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5379 return NDR_ERR_SUCCESS
;
5382 _PUBLIC_
void ndr_print_lsa_EnumPrivs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumPrivs
*r
)
5384 ndr_print_struct(ndr
, name
, "lsa_EnumPrivs");
5386 if (flags
& NDR_SET_VALUES
) {
5387 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5389 if (flags
& NDR_IN
) {
5390 ndr_print_struct(ndr
, "in", "lsa_EnumPrivs");
5392 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5394 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5396 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
5398 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
5400 ndr_print_uint32(ndr
, "max_count", r
->in
.max_count
);
5403 if (flags
& NDR_OUT
) {
5404 ndr_print_struct(ndr
, "out", "lsa_EnumPrivs");
5406 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
5408 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
5410 ndr_print_ptr(ndr
, "privs", r
->out
.privs
);
5412 ndr_print_lsa_PrivArray(ndr
, "privs", r
->out
.privs
);
5414 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5420 static enum ndr_err_code
ndr_push_lsa_QuerySecurity(struct ndr_push
*ndr
, int flags
, const struct lsa_QuerySecurity
*r
)
5422 if (flags
& NDR_IN
) {
5423 if (r
->in
.handle
== NULL
) {
5424 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5426 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5427 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5429 if (flags
& NDR_OUT
) {
5430 if (r
->out
.sdbuf
== NULL
) {
5431 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5433 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sdbuf
));
5434 if (*r
->out
.sdbuf
) {
5435 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5437 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5439 return NDR_ERR_SUCCESS
;
5442 static enum ndr_err_code
ndr_pull_lsa_QuerySecurity(struct ndr_pull
*ndr
, int flags
, struct lsa_QuerySecurity
*r
)
5444 uint32_t _ptr_sdbuf
;
5445 TALLOC_CTX
*_mem_save_handle_0
;
5446 TALLOC_CTX
*_mem_save_sdbuf_0
;
5447 TALLOC_CTX
*_mem_save_sdbuf_1
;
5448 if (flags
& NDR_IN
) {
5449 ZERO_STRUCT(r
->out
);
5451 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5452 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5454 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5455 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5456 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5457 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5458 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5459 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5460 ZERO_STRUCTP(r
->out
.sdbuf
);
5462 if (flags
& NDR_OUT
) {
5463 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5464 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
5466 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5467 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5468 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sdbuf
));
5470 NDR_PULL_ALLOC(ndr
, *r
->out
.sdbuf
);
5472 *r
->out
.sdbuf
= NULL
;
5474 if (*r
->out
.sdbuf
) {
5475 _mem_save_sdbuf_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5476 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sdbuf
, 0);
5477 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
5478 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_1
, 0);
5480 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5481 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5483 return NDR_ERR_SUCCESS
;
5486 _PUBLIC_
void ndr_print_lsa_QuerySecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QuerySecurity
*r
)
5488 ndr_print_struct(ndr
, name
, "lsa_QuerySecurity");
5490 if (flags
& NDR_SET_VALUES
) {
5491 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5493 if (flags
& NDR_IN
) {
5494 ndr_print_struct(ndr
, "in", "lsa_QuerySecurity");
5496 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5498 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5500 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5503 if (flags
& NDR_OUT
) {
5504 ndr_print_struct(ndr
, "out", "lsa_QuerySecurity");
5506 ndr_print_ptr(ndr
, "sdbuf", r
->out
.sdbuf
);
5508 ndr_print_ptr(ndr
, "sdbuf", *r
->out
.sdbuf
);
5510 if (*r
->out
.sdbuf
) {
5511 ndr_print_sec_desc_buf(ndr
, "sdbuf", *r
->out
.sdbuf
);
5515 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5521 static enum ndr_err_code
ndr_push_lsa_SetSecObj(struct ndr_push
*ndr
, int flags
, const struct lsa_SetSecObj
*r
)
5523 if (flags
& NDR_IN
) {
5524 if (r
->in
.handle
== NULL
) {
5525 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5527 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5528 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
5529 if (r
->in
.sdbuf
== NULL
) {
5530 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5532 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5534 if (flags
& NDR_OUT
) {
5535 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5537 return NDR_ERR_SUCCESS
;
5540 static enum ndr_err_code
ndr_pull_lsa_SetSecObj(struct ndr_pull
*ndr
, int flags
, struct lsa_SetSecObj
*r
)
5542 TALLOC_CTX
*_mem_save_handle_0
;
5543 TALLOC_CTX
*_mem_save_sdbuf_0
;
5544 if (flags
& NDR_IN
) {
5545 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5546 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5548 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5549 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5550 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5551 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5552 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5553 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5554 NDR_PULL_ALLOC(ndr
, r
->in
.sdbuf
);
5556 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5557 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5558 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5559 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5561 if (flags
& NDR_OUT
) {
5562 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5564 return NDR_ERR_SUCCESS
;
5567 _PUBLIC_
void ndr_print_lsa_SetSecObj(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetSecObj
*r
)
5569 ndr_print_struct(ndr
, name
, "lsa_SetSecObj");
5571 if (flags
& NDR_SET_VALUES
) {
5572 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5574 if (flags
& NDR_IN
) {
5575 ndr_print_struct(ndr
, "in", "lsa_SetSecObj");
5577 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5579 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5581 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5582 ndr_print_ptr(ndr
, "sdbuf", r
->in
.sdbuf
);
5584 ndr_print_sec_desc_buf(ndr
, "sdbuf", r
->in
.sdbuf
);
5588 if (flags
& NDR_OUT
) {
5589 ndr_print_struct(ndr
, "out", "lsa_SetSecObj");
5591 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5597 static enum ndr_err_code
ndr_push_lsa_ChangePassword(struct ndr_push
*ndr
, int flags
, const struct lsa_ChangePassword
*r
)
5599 if (flags
& NDR_IN
) {
5601 if (flags
& NDR_OUT
) {
5602 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5604 return NDR_ERR_SUCCESS
;
5607 static enum ndr_err_code
ndr_pull_lsa_ChangePassword(struct ndr_pull
*ndr
, int flags
, struct lsa_ChangePassword
*r
)
5609 if (flags
& NDR_IN
) {
5611 if (flags
& NDR_OUT
) {
5612 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5614 return NDR_ERR_SUCCESS
;
5617 _PUBLIC_
void ndr_print_lsa_ChangePassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_ChangePassword
*r
)
5619 ndr_print_struct(ndr
, name
, "lsa_ChangePassword");
5621 if (flags
& NDR_SET_VALUES
) {
5622 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5624 if (flags
& NDR_IN
) {
5625 ndr_print_struct(ndr
, "in", "lsa_ChangePassword");
5629 if (flags
& NDR_OUT
) {
5630 ndr_print_struct(ndr
, "out", "lsa_ChangePassword");
5632 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5638 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_OpenPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenPolicy
*r
)
5640 if (flags
& NDR_IN
) {
5641 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
5642 if (r
->in
.system_name
) {
5643 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->in
.system_name
));
5645 if (r
->in
.attr
== NULL
) {
5646 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5648 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
5649 NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5651 if (flags
& NDR_OUT
) {
5652 if (r
->out
.handle
== NULL
) {
5653 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5655 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5656 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5658 return NDR_ERR_SUCCESS
;
5661 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_OpenPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenPolicy
*r
)
5663 uint32_t _ptr_system_name
;
5664 TALLOC_CTX
*_mem_save_system_name_0
;
5665 TALLOC_CTX
*_mem_save_attr_0
;
5666 TALLOC_CTX
*_mem_save_handle_0
;
5667 if (flags
& NDR_IN
) {
5668 ZERO_STRUCT(r
->out
);
5670 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
5671 if (_ptr_system_name
) {
5672 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
5674 r
->in
.system_name
= NULL
;
5676 if (r
->in
.system_name
) {
5677 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5678 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
5679 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->in
.system_name
));
5680 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
5682 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5683 NDR_PULL_ALLOC(ndr
, r
->in
.attr
);
5685 _mem_save_attr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5686 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.attr
, LIBNDR_FLAG_REF_ALLOC
);
5687 NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
5688 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attr_0
, LIBNDR_FLAG_REF_ALLOC
);
5689 NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5690 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5691 ZERO_STRUCTP(r
->out
.handle
);
5693 if (flags
& NDR_OUT
) {
5694 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5695 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5697 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5698 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5699 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
5700 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5701 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5703 return NDR_ERR_SUCCESS
;
5706 _PUBLIC_
void ndr_print_lsa_OpenPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenPolicy
*r
)
5708 ndr_print_struct(ndr
, name
, "lsa_OpenPolicy");
5710 if (flags
& NDR_SET_VALUES
) {
5711 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5713 if (flags
& NDR_IN
) {
5714 ndr_print_struct(ndr
, "in", "lsa_OpenPolicy");
5716 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
5718 if (r
->in
.system_name
) {
5719 ndr_print_uint16(ndr
, "system_name", *r
->in
.system_name
);
5722 ndr_print_ptr(ndr
, "attr", r
->in
.attr
);
5724 ndr_print_lsa_ObjectAttribute(ndr
, "attr", r
->in
.attr
);
5726 ndr_print_lsa_PolicyAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
5729 if (flags
& NDR_OUT
) {
5730 ndr_print_struct(ndr
, "out", "lsa_OpenPolicy");
5732 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5734 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5736 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5742 static enum ndr_err_code
ndr_push_lsa_QueryInfoPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryInfoPolicy
*r
)
5744 if (flags
& NDR_IN
) {
5745 if (r
->in
.handle
== NULL
) {
5746 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5748 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5749 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
5751 if (flags
& NDR_OUT
) {
5752 if (r
->out
.info
== NULL
) {
5753 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5755 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
5757 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
5758 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
5760 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5762 return NDR_ERR_SUCCESS
;
5765 static enum ndr_err_code
ndr_pull_lsa_QueryInfoPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryInfoPolicy
*r
)
5768 TALLOC_CTX
*_mem_save_handle_0
;
5769 TALLOC_CTX
*_mem_save_info_0
;
5770 TALLOC_CTX
*_mem_save_info_1
;
5771 if (flags
& NDR_IN
) {
5772 ZERO_STRUCT(r
->out
);
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
);
5781 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
5782 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
5783 ZERO_STRUCTP(r
->out
.info
);
5785 if (flags
& NDR_OUT
) {
5786 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5787 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
5789 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5790 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
5791 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
5793 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
5795 *r
->out
.info
= NULL
;
5798 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5799 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
5800 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
5801 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
5802 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
5804 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
5805 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5807 return NDR_ERR_SUCCESS
;
5810 _PUBLIC_
void ndr_print_lsa_QueryInfoPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryInfoPolicy
*r
)
5812 ndr_print_struct(ndr
, name
, "lsa_QueryInfoPolicy");
5814 if (flags
& NDR_SET_VALUES
) {
5815 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5817 if (flags
& NDR_IN
) {
5818 ndr_print_struct(ndr
, "in", "lsa_QueryInfoPolicy");
5820 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5822 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5824 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
5827 if (flags
& NDR_OUT
) {
5828 ndr_print_struct(ndr
, "out", "lsa_QueryInfoPolicy");
5830 ndr_print_ptr(ndr
, "info", r
->out
.info
);
5832 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
5835 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
5836 ndr_print_lsa_PolicyInformation(ndr
, "info", *r
->out
.info
);
5840 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5846 static enum ndr_err_code
ndr_push_lsa_SetInfoPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_SetInfoPolicy
*r
)
5848 if (flags
& NDR_IN
) {
5849 if (r
->in
.handle
== NULL
) {
5850 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5852 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5853 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
5854 if (r
->in
.info
== NULL
) {
5855 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5857 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
5858 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
5860 if (flags
& NDR_OUT
) {
5861 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5863 return NDR_ERR_SUCCESS
;
5866 static enum ndr_err_code
ndr_pull_lsa_SetInfoPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_SetInfoPolicy
*r
)
5868 TALLOC_CTX
*_mem_save_handle_0
;
5869 TALLOC_CTX
*_mem_save_info_0
;
5870 if (flags
& NDR_IN
) {
5871 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5872 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5874 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5875 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5876 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5877 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5878 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
5879 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5880 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
5882 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5883 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
5884 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
5885 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
5886 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
5888 if (flags
& NDR_OUT
) {
5889 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5891 return NDR_ERR_SUCCESS
;
5894 _PUBLIC_
void ndr_print_lsa_SetInfoPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetInfoPolicy
*r
)
5896 ndr_print_struct(ndr
, name
, "lsa_SetInfoPolicy");
5898 if (flags
& NDR_SET_VALUES
) {
5899 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5901 if (flags
& NDR_IN
) {
5902 ndr_print_struct(ndr
, "in", "lsa_SetInfoPolicy");
5904 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5906 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5908 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
5909 ndr_print_ptr(ndr
, "info", r
->in
.info
);
5911 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
5912 ndr_print_lsa_PolicyInformation(ndr
, "info", r
->in
.info
);
5916 if (flags
& NDR_OUT
) {
5917 ndr_print_struct(ndr
, "out", "lsa_SetInfoPolicy");
5919 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5925 static enum ndr_err_code
ndr_push_lsa_ClearAuditLog(struct ndr_push
*ndr
, int flags
, const struct lsa_ClearAuditLog
*r
)
5927 if (flags
& NDR_IN
) {
5929 if (flags
& NDR_OUT
) {
5930 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5932 return NDR_ERR_SUCCESS
;
5935 static enum ndr_err_code
ndr_pull_lsa_ClearAuditLog(struct ndr_pull
*ndr
, int flags
, struct lsa_ClearAuditLog
*r
)
5937 if (flags
& NDR_IN
) {
5939 if (flags
& NDR_OUT
) {
5940 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5942 return NDR_ERR_SUCCESS
;
5945 _PUBLIC_
void ndr_print_lsa_ClearAuditLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_ClearAuditLog
*r
)
5947 ndr_print_struct(ndr
, name
, "lsa_ClearAuditLog");
5949 if (flags
& NDR_SET_VALUES
) {
5950 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5952 if (flags
& NDR_IN
) {
5953 ndr_print_struct(ndr
, "in", "lsa_ClearAuditLog");
5957 if (flags
& NDR_OUT
) {
5958 ndr_print_struct(ndr
, "out", "lsa_ClearAuditLog");
5960 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5966 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_CreateAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateAccount
*r
)
5968 if (flags
& NDR_IN
) {
5969 if (r
->in
.handle
== NULL
) {
5970 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5972 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
5973 if (r
->in
.sid
== NULL
) {
5974 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5976 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
5977 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5979 if (flags
& NDR_OUT
) {
5980 if (r
->out
.acct_handle
== NULL
) {
5981 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5983 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.acct_handle
));
5984 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5986 return NDR_ERR_SUCCESS
;
5989 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_CreateAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateAccount
*r
)
5991 TALLOC_CTX
*_mem_save_handle_0
;
5992 TALLOC_CTX
*_mem_save_sid_0
;
5993 TALLOC_CTX
*_mem_save_acct_handle_0
;
5994 if (flags
& NDR_IN
) {
5995 ZERO_STRUCT(r
->out
);
5997 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5998 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6000 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6001 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6002 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6003 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6004 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6005 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
6007 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6008 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6009 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6010 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6011 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6012 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
6013 ZERO_STRUCTP(r
->out
.acct_handle
);
6015 if (flags
& NDR_OUT
) {
6016 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6017 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
6019 _mem_save_acct_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6020 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.acct_handle
, LIBNDR_FLAG_REF_ALLOC
);
6021 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.acct_handle
));
6022 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_acct_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6023 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6025 return NDR_ERR_SUCCESS
;
6028 _PUBLIC_
void ndr_print_lsa_CreateAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateAccount
*r
)
6030 ndr_print_struct(ndr
, name
, "lsa_CreateAccount");
6032 if (flags
& NDR_SET_VALUES
) {
6033 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6035 if (flags
& NDR_IN
) {
6036 ndr_print_struct(ndr
, "in", "lsa_CreateAccount");
6038 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6040 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6042 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6044 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6046 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
6049 if (flags
& NDR_OUT
) {
6050 ndr_print_struct(ndr
, "out", "lsa_CreateAccount");
6052 ndr_print_ptr(ndr
, "acct_handle", r
->out
.acct_handle
);
6054 ndr_print_policy_handle(ndr
, "acct_handle", r
->out
.acct_handle
);
6056 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6062 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_EnumAccounts(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumAccounts
*r
)
6064 if (flags
& NDR_IN
) {
6065 if (r
->in
.handle
== NULL
) {
6066 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6068 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6069 if (r
->in
.resume_handle
== NULL
) {
6070 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6073 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_entries
));
6075 if (flags
& NDR_OUT
) {
6076 if (r
->out
.resume_handle
== NULL
) {
6077 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6079 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6080 if (r
->out
.sids
== NULL
) {
6081 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6083 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
6084 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6086 return NDR_ERR_SUCCESS
;
6089 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_EnumAccounts(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumAccounts
*r
)
6091 TALLOC_CTX
*_mem_save_handle_0
;
6092 TALLOC_CTX
*_mem_save_resume_handle_0
;
6093 TALLOC_CTX
*_mem_save_sids_0
;
6094 if (flags
& NDR_IN
) {
6095 ZERO_STRUCT(r
->out
);
6097 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6098 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6100 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6101 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6102 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6103 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6104 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6105 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6107 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6108 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6109 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6110 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6111 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_entries
));
6112 if (r
->in
.num_entries
> 8192) {
6113 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6115 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6116 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6117 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
6118 ZERO_STRUCTP(r
->out
.sids
);
6120 if (flags
& NDR_OUT
) {
6121 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6122 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6124 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6125 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6126 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6127 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6128 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6129 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
6131 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6132 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
6133 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
6134 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
6135 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6137 return NDR_ERR_SUCCESS
;
6140 _PUBLIC_
void ndr_print_lsa_EnumAccounts(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumAccounts
*r
)
6142 ndr_print_struct(ndr
, name
, "lsa_EnumAccounts");
6144 if (flags
& NDR_SET_VALUES
) {
6145 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6147 if (flags
& NDR_IN
) {
6148 ndr_print_struct(ndr
, "in", "lsa_EnumAccounts");
6150 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6152 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6154 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6156 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6158 ndr_print_uint32(ndr
, "num_entries", r
->in
.num_entries
);
6161 if (flags
& NDR_OUT
) {
6162 ndr_print_struct(ndr
, "out", "lsa_EnumAccounts");
6164 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6166 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6168 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
6170 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
6172 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6178 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_CreateTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateTrustedDomain
*r
)
6180 if (flags
& NDR_IN
) {
6181 if (r
->in
.policy_handle
== NULL
) {
6182 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6184 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
6185 if (r
->in
.info
== NULL
) {
6186 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6188 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6189 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6191 if (flags
& NDR_OUT
) {
6192 if (r
->out
.trustdom_handle
== NULL
) {
6193 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6195 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
6196 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6198 return NDR_ERR_SUCCESS
;
6201 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_CreateTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateTrustedDomain
*r
)
6203 TALLOC_CTX
*_mem_save_policy_handle_0
;
6204 TALLOC_CTX
*_mem_save_info_0
;
6205 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
6206 if (flags
& NDR_IN
) {
6207 ZERO_STRUCT(r
->out
);
6209 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6210 NDR_PULL_ALLOC(ndr
, r
->in
.policy_handle
);
6212 _mem_save_policy_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6213 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.policy_handle
, LIBNDR_FLAG_REF_ALLOC
);
6214 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
6215 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_policy_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6216 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6217 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
6219 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6220 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
6221 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
6222 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
6223 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6224 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
6225 ZERO_STRUCTP(r
->out
.trustdom_handle
);
6227 if (flags
& NDR_OUT
) {
6228 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6229 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
6231 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6232 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
6233 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
6234 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6235 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6237 return NDR_ERR_SUCCESS
;
6240 _PUBLIC_
void ndr_print_lsa_CreateTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateTrustedDomain
*r
)
6242 ndr_print_struct(ndr
, name
, "lsa_CreateTrustedDomain");
6244 if (flags
& NDR_SET_VALUES
) {
6245 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6247 if (flags
& NDR_IN
) {
6248 ndr_print_struct(ndr
, "in", "lsa_CreateTrustedDomain");
6250 ndr_print_ptr(ndr
, "policy_handle", r
->in
.policy_handle
);
6252 ndr_print_policy_handle(ndr
, "policy_handle", r
->in
.policy_handle
);
6254 ndr_print_ptr(ndr
, "info", r
->in
.info
);
6256 ndr_print_lsa_DomainInfo(ndr
, "info", r
->in
.info
);
6258 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
6261 if (flags
& NDR_OUT
) {
6262 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomain");
6264 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
6266 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
6268 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6274 static enum ndr_err_code
ndr_push_lsa_EnumTrustDom(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumTrustDom
*r
)
6276 if (flags
& NDR_IN
) {
6277 if (r
->in
.handle
== NULL
) {
6278 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6280 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6281 if (r
->in
.resume_handle
== NULL
) {
6282 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6284 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
6285 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
6287 if (flags
& NDR_OUT
) {
6288 if (r
->out
.resume_handle
== NULL
) {
6289 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6291 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
6292 if (r
->out
.domains
== NULL
) {
6293 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6295 NDR_CHECK(ndr_push_lsa_DomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
6296 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6298 return NDR_ERR_SUCCESS
;
6301 static enum ndr_err_code
ndr_pull_lsa_EnumTrustDom(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumTrustDom
*r
)
6303 TALLOC_CTX
*_mem_save_handle_0
;
6304 TALLOC_CTX
*_mem_save_resume_handle_0
;
6305 TALLOC_CTX
*_mem_save_domains_0
;
6306 if (flags
& NDR_IN
) {
6307 ZERO_STRUCT(r
->out
);
6309 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6310 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6312 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6313 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6314 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6315 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6316 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6317 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
6319 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6320 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6321 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
6322 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6323 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
6324 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6325 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
6326 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6327 ZERO_STRUCTP(r
->out
.domains
);
6329 if (flags
& NDR_OUT
) {
6330 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6331 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
6333 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6334 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
6335 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
6336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6337 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6338 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6340 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6341 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
6342 NDR_CHECK(ndr_pull_lsa_DomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
6343 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
6344 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6346 return NDR_ERR_SUCCESS
;
6349 _PUBLIC_
void ndr_print_lsa_EnumTrustDom(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumTrustDom
*r
)
6351 ndr_print_struct(ndr
, name
, "lsa_EnumTrustDom");
6353 if (flags
& NDR_SET_VALUES
) {
6354 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6356 if (flags
& NDR_IN
) {
6357 ndr_print_struct(ndr
, "in", "lsa_EnumTrustDom");
6359 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6361 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6363 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
6365 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
6367 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
6370 if (flags
& NDR_OUT
) {
6371 ndr_print_struct(ndr
, "out", "lsa_EnumTrustDom");
6373 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
6375 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
6377 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
6379 ndr_print_lsa_DomainList(ndr
, "domains", r
->out
.domains
);
6381 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6387 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupNames(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames
*r
)
6389 uint32_t cntr_names_0
;
6390 if (flags
& NDR_IN
) {
6391 if (r
->in
.handle
== NULL
) {
6392 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6394 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6395 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
6396 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
6397 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
6398 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
6400 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
6401 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
6403 if (r
->in
.sids
== NULL
) {
6404 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6406 NDR_CHECK(ndr_push_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
6407 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
6408 if (r
->in
.count
== NULL
) {
6409 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6411 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
6413 if (flags
& NDR_OUT
) {
6414 if (r
->out
.domains
== NULL
) {
6415 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6417 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
6418 if (*r
->out
.domains
) {
6419 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
6421 if (r
->out
.sids
== NULL
) {
6422 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6424 NDR_CHECK(ndr_push_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
6425 if (r
->out
.count
== NULL
) {
6426 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6428 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
6429 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6431 return NDR_ERR_SUCCESS
;
6434 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupNames(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames
*r
)
6436 uint32_t cntr_names_0
;
6437 uint32_t _ptr_domains
;
6438 TALLOC_CTX
*_mem_save_handle_0
;
6439 TALLOC_CTX
*_mem_save_names_0
;
6440 TALLOC_CTX
*_mem_save_domains_0
;
6441 TALLOC_CTX
*_mem_save_domains_1
;
6442 TALLOC_CTX
*_mem_save_sids_0
;
6443 TALLOC_CTX
*_mem_save_count_0
;
6444 if (flags
& NDR_IN
) {
6445 ZERO_STRUCT(r
->out
);
6447 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6448 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6450 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6451 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6452 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6453 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6454 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
6455 if (r
->in
.num_names
> 1000) {
6456 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6458 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
6459 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
6460 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6461 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
6462 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
6463 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
6465 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
6466 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
6468 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
6469 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6470 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
6472 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6473 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
6474 NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
6475 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
6476 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
6477 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6478 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
6480 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6481 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
6482 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
6483 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
6484 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6485 ZERO_STRUCTP(r
->out
.domains
);
6486 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
6487 *r
->out
.sids
= *r
->in
.sids
;
6488 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
6489 *r
->out
.count
= *r
->in
.count
;
6491 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
6494 if (flags
& NDR_OUT
) {
6495 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6496 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6498 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6499 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
6500 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
6502 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
6504 *r
->out
.domains
= NULL
;
6506 if (*r
->out
.domains
) {
6507 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6508 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
6509 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
6510 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
6512 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
6513 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6514 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
6516 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6517 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
6518 NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
6519 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
6520 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6521 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
6523 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6524 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
6525 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
6526 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
6527 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6529 return NDR_ERR_SUCCESS
;
6532 _PUBLIC_
void ndr_print_lsa_LookupNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames
*r
)
6534 uint32_t cntr_names_0
;
6535 ndr_print_struct(ndr
, name
, "lsa_LookupNames");
6537 if (flags
& NDR_SET_VALUES
) {
6538 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6540 if (flags
& NDR_IN
) {
6541 ndr_print_struct(ndr
, "in", "lsa_LookupNames");
6543 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6545 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6547 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
6548 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
6550 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
6552 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
6553 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
6558 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
6560 ndr_print_lsa_TransSidArray(ndr
, "sids", r
->in
.sids
);
6562 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
6563 ndr_print_ptr(ndr
, "count", r
->in
.count
);
6565 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
6569 if (flags
& NDR_OUT
) {
6570 ndr_print_struct(ndr
, "out", "lsa_LookupNames");
6572 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
6574 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
6576 if (*r
->out
.domains
) {
6577 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
6581 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
6583 ndr_print_lsa_TransSidArray(ndr
, "sids", r
->out
.sids
);
6585 ndr_print_ptr(ndr
, "count", r
->out
.count
);
6587 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
6589 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6595 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupSids(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupSids
*r
)
6597 if (flags
& NDR_IN
) {
6598 if (r
->in
.handle
== NULL
) {
6599 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6601 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6602 if (r
->in
.sids
== NULL
) {
6603 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6605 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
6606 if (r
->in
.names
== NULL
) {
6607 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6609 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
6610 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
6611 if (r
->in
.count
== NULL
) {
6612 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6614 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
6616 if (flags
& NDR_OUT
) {
6617 if (r
->out
.domains
== NULL
) {
6618 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6620 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
6621 if (*r
->out
.domains
) {
6622 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
6624 if (r
->out
.names
== NULL
) {
6625 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6627 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
6628 if (r
->out
.count
== NULL
) {
6629 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6631 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
6632 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6634 return NDR_ERR_SUCCESS
;
6637 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupSids(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupSids
*r
)
6639 uint32_t _ptr_domains
;
6640 TALLOC_CTX
*_mem_save_handle_0
;
6641 TALLOC_CTX
*_mem_save_sids_0
;
6642 TALLOC_CTX
*_mem_save_domains_0
;
6643 TALLOC_CTX
*_mem_save_domains_1
;
6644 TALLOC_CTX
*_mem_save_names_0
;
6645 TALLOC_CTX
*_mem_save_count_0
;
6646 if (flags
& NDR_IN
) {
6647 ZERO_STRUCT(r
->out
);
6649 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6650 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6652 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6653 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6654 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6655 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6656 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6657 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
6659 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6660 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
6661 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
6662 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
6663 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6664 NDR_PULL_ALLOC(ndr
, r
->in
.names
);
6666 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6667 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, LIBNDR_FLAG_REF_ALLOC
);
6668 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
6669 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
6670 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
6671 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6672 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
6674 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6675 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
6676 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
6677 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
6678 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6679 ZERO_STRUCTP(r
->out
.domains
);
6680 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
6681 *r
->out
.names
= *r
->in
.names
;
6682 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
6683 *r
->out
.count
= *r
->in
.count
;
6685 if (flags
& NDR_OUT
) {
6686 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6687 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6689 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6690 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
6691 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
6693 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
6695 *r
->out
.domains
= NULL
;
6697 if (*r
->out
.domains
) {
6698 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6699 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
6700 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
6701 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
6703 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
6704 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6705 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
6707 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6708 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
6709 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
6710 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
6711 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6712 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
6714 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6715 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
6716 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
6717 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
6718 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6720 return NDR_ERR_SUCCESS
;
6723 _PUBLIC_
void ndr_print_lsa_LookupSids(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupSids
*r
)
6725 ndr_print_struct(ndr
, name
, "lsa_LookupSids");
6727 if (flags
& NDR_SET_VALUES
) {
6728 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6730 if (flags
& NDR_IN
) {
6731 ndr_print_struct(ndr
, "in", "lsa_LookupSids");
6733 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6735 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6737 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
6739 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
6741 ndr_print_ptr(ndr
, "names", r
->in
.names
);
6743 ndr_print_lsa_TransNameArray(ndr
, "names", r
->in
.names
);
6745 ndr_print_uint16(ndr
, "level", r
->in
.level
);
6746 ndr_print_ptr(ndr
, "count", r
->in
.count
);
6748 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
6752 if (flags
& NDR_OUT
) {
6753 ndr_print_struct(ndr
, "out", "lsa_LookupSids");
6755 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
6757 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
6759 if (*r
->out
.domains
) {
6760 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
6764 ndr_print_ptr(ndr
, "names", r
->out
.names
);
6766 ndr_print_lsa_TransNameArray(ndr
, "names", r
->out
.names
);
6768 ndr_print_ptr(ndr
, "count", r
->out
.count
);
6770 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
6772 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6778 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_CreateSecret(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateSecret
*r
)
6780 if (flags
& NDR_IN
) {
6781 if (r
->in
.handle
== NULL
) {
6782 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6784 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6785 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
6786 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6788 if (flags
& NDR_OUT
) {
6789 if (r
->out
.sec_handle
== NULL
) {
6790 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6792 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.sec_handle
));
6793 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6795 return NDR_ERR_SUCCESS
;
6798 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_CreateSecret(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateSecret
*r
)
6800 TALLOC_CTX
*_mem_save_handle_0
;
6801 TALLOC_CTX
*_mem_save_sec_handle_0
;
6802 if (flags
& NDR_IN
) {
6803 ZERO_STRUCT(r
->out
);
6805 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6806 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6808 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6809 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6810 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6811 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6812 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
6813 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6814 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
6815 ZERO_STRUCTP(r
->out
.sec_handle
);
6817 if (flags
& NDR_OUT
) {
6818 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6819 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
6821 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6822 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
6823 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.sec_handle
));
6824 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6825 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6827 return NDR_ERR_SUCCESS
;
6830 _PUBLIC_
void ndr_print_lsa_CreateSecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateSecret
*r
)
6832 ndr_print_struct(ndr
, name
, "lsa_CreateSecret");
6834 if (flags
& NDR_SET_VALUES
) {
6835 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6837 if (flags
& NDR_IN
) {
6838 ndr_print_struct(ndr
, "in", "lsa_CreateSecret");
6840 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6842 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6844 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
6845 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
6848 if (flags
& NDR_OUT
) {
6849 ndr_print_struct(ndr
, "out", "lsa_CreateSecret");
6851 ndr_print_ptr(ndr
, "sec_handle", r
->out
.sec_handle
);
6853 ndr_print_policy_handle(ndr
, "sec_handle", r
->out
.sec_handle
);
6855 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6861 static enum ndr_err_code
ndr_push_lsa_OpenAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenAccount
*r
)
6863 if (flags
& NDR_IN
) {
6864 if (r
->in
.handle
== NULL
) {
6865 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6867 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6868 if (r
->in
.sid
== NULL
) {
6869 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6871 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6872 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6874 if (flags
& NDR_OUT
) {
6875 if (r
->out
.acct_handle
== NULL
) {
6876 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6878 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.acct_handle
));
6879 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6881 return NDR_ERR_SUCCESS
;
6884 static enum ndr_err_code
ndr_pull_lsa_OpenAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenAccount
*r
)
6886 TALLOC_CTX
*_mem_save_handle_0
;
6887 TALLOC_CTX
*_mem_save_sid_0
;
6888 TALLOC_CTX
*_mem_save_acct_handle_0
;
6889 if (flags
& NDR_IN
) {
6890 ZERO_STRUCT(r
->out
);
6892 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6893 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6895 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6896 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6897 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6898 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6899 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6900 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
6902 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6903 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6904 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6905 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6906 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6907 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
6908 ZERO_STRUCTP(r
->out
.acct_handle
);
6910 if (flags
& NDR_OUT
) {
6911 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6912 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
6914 _mem_save_acct_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6915 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.acct_handle
, LIBNDR_FLAG_REF_ALLOC
);
6916 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.acct_handle
));
6917 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_acct_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6918 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6920 return NDR_ERR_SUCCESS
;
6923 _PUBLIC_
void ndr_print_lsa_OpenAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenAccount
*r
)
6925 ndr_print_struct(ndr
, name
, "lsa_OpenAccount");
6927 if (flags
& NDR_SET_VALUES
) {
6928 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6930 if (flags
& NDR_IN
) {
6931 ndr_print_struct(ndr
, "in", "lsa_OpenAccount");
6933 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6935 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6937 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6939 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6941 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
6944 if (flags
& NDR_OUT
) {
6945 ndr_print_struct(ndr
, "out", "lsa_OpenAccount");
6947 ndr_print_ptr(ndr
, "acct_handle", r
->out
.acct_handle
);
6949 ndr_print_policy_handle(ndr
, "acct_handle", r
->out
.acct_handle
);
6951 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6957 static enum ndr_err_code
ndr_push_lsa_EnumPrivsAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumPrivsAccount
*r
)
6959 if (flags
& NDR_IN
) {
6960 if (r
->in
.handle
== NULL
) {
6961 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6963 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6965 if (flags
& NDR_OUT
) {
6966 if (r
->out
.privs
== NULL
) {
6967 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6969 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.privs
));
6970 if (*r
->out
.privs
) {
6971 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, *r
->out
.privs
));
6973 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6975 return NDR_ERR_SUCCESS
;
6978 static enum ndr_err_code
ndr_pull_lsa_EnumPrivsAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumPrivsAccount
*r
)
6980 uint32_t _ptr_privs
;
6981 TALLOC_CTX
*_mem_save_handle_0
;
6982 TALLOC_CTX
*_mem_save_privs_0
;
6983 TALLOC_CTX
*_mem_save_privs_1
;
6984 if (flags
& NDR_IN
) {
6985 ZERO_STRUCT(r
->out
);
6987 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6988 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6990 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6991 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6992 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
6993 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6994 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
6995 ZERO_STRUCTP(r
->out
.privs
);
6997 if (flags
& NDR_OUT
) {
6998 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6999 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
7001 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7002 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.privs
, LIBNDR_FLAG_REF_ALLOC
);
7003 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_privs
));
7005 NDR_PULL_ALLOC(ndr
, *r
->out
.privs
);
7007 *r
->out
.privs
= NULL
;
7009 if (*r
->out
.privs
) {
7010 _mem_save_privs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7011 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.privs
, 0);
7012 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, *r
->out
.privs
));
7013 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_1
, 0);
7015 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, LIBNDR_FLAG_REF_ALLOC
);
7016 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7018 return NDR_ERR_SUCCESS
;
7021 _PUBLIC_
void ndr_print_lsa_EnumPrivsAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumPrivsAccount
*r
)
7023 ndr_print_struct(ndr
, name
, "lsa_EnumPrivsAccount");
7025 if (flags
& NDR_SET_VALUES
) {
7026 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7028 if (flags
& NDR_IN
) {
7029 ndr_print_struct(ndr
, "in", "lsa_EnumPrivsAccount");
7031 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7033 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7037 if (flags
& NDR_OUT
) {
7038 ndr_print_struct(ndr
, "out", "lsa_EnumPrivsAccount");
7040 ndr_print_ptr(ndr
, "privs", r
->out
.privs
);
7042 ndr_print_ptr(ndr
, "privs", *r
->out
.privs
);
7044 if (*r
->out
.privs
) {
7045 ndr_print_lsa_PrivilegeSet(ndr
, "privs", *r
->out
.privs
);
7049 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7055 static enum ndr_err_code
ndr_push_lsa_AddPrivilegesToAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_AddPrivilegesToAccount
*r
)
7057 if (flags
& NDR_IN
) {
7058 if (r
->in
.handle
== NULL
) {
7059 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7061 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7062 if (r
->in
.privs
== NULL
) {
7063 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7065 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
7067 if (flags
& NDR_OUT
) {
7068 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7070 return NDR_ERR_SUCCESS
;
7073 static enum ndr_err_code
ndr_pull_lsa_AddPrivilegesToAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_AddPrivilegesToAccount
*r
)
7075 TALLOC_CTX
*_mem_save_handle_0
;
7076 TALLOC_CTX
*_mem_save_privs_0
;
7077 if (flags
& NDR_IN
) {
7078 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7079 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7081 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7082 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7083 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7084 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7085 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7086 NDR_PULL_ALLOC(ndr
, r
->in
.privs
);
7088 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7089 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.privs
, LIBNDR_FLAG_REF_ALLOC
);
7090 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
7091 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, LIBNDR_FLAG_REF_ALLOC
);
7093 if (flags
& NDR_OUT
) {
7094 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7096 return NDR_ERR_SUCCESS
;
7099 _PUBLIC_
void ndr_print_lsa_AddPrivilegesToAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_AddPrivilegesToAccount
*r
)
7101 ndr_print_struct(ndr
, name
, "lsa_AddPrivilegesToAccount");
7103 if (flags
& NDR_SET_VALUES
) {
7104 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7106 if (flags
& NDR_IN
) {
7107 ndr_print_struct(ndr
, "in", "lsa_AddPrivilegesToAccount");
7109 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7111 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7113 ndr_print_ptr(ndr
, "privs", r
->in
.privs
);
7115 ndr_print_lsa_PrivilegeSet(ndr
, "privs", r
->in
.privs
);
7119 if (flags
& NDR_OUT
) {
7120 ndr_print_struct(ndr
, "out", "lsa_AddPrivilegesToAccount");
7122 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7128 static enum ndr_err_code
ndr_push_lsa_RemovePrivilegesFromAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_RemovePrivilegesFromAccount
*r
)
7130 if (flags
& NDR_IN
) {
7131 if (r
->in
.handle
== NULL
) {
7132 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7134 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7135 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.remove_all
));
7136 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.privs
));
7138 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
7141 if (flags
& NDR_OUT
) {
7142 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7144 return NDR_ERR_SUCCESS
;
7147 static enum ndr_err_code
ndr_pull_lsa_RemovePrivilegesFromAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_RemovePrivilegesFromAccount
*r
)
7149 uint32_t _ptr_privs
;
7150 TALLOC_CTX
*_mem_save_handle_0
;
7151 TALLOC_CTX
*_mem_save_privs_0
;
7152 if (flags
& NDR_IN
) {
7153 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7154 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7156 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7157 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7158 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7159 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7160 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.remove_all
));
7161 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_privs
));
7163 NDR_PULL_ALLOC(ndr
, r
->in
.privs
);
7168 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7169 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.privs
, 0);
7170 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
7171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, 0);
7174 if (flags
& NDR_OUT
) {
7175 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7177 return NDR_ERR_SUCCESS
;
7180 _PUBLIC_
void ndr_print_lsa_RemovePrivilegesFromAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_RemovePrivilegesFromAccount
*r
)
7182 ndr_print_struct(ndr
, name
, "lsa_RemovePrivilegesFromAccount");
7184 if (flags
& NDR_SET_VALUES
) {
7185 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7187 if (flags
& NDR_IN
) {
7188 ndr_print_struct(ndr
, "in", "lsa_RemovePrivilegesFromAccount");
7190 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7192 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7194 ndr_print_uint8(ndr
, "remove_all", r
->in
.remove_all
);
7195 ndr_print_ptr(ndr
, "privs", r
->in
.privs
);
7198 ndr_print_lsa_PrivilegeSet(ndr
, "privs", r
->in
.privs
);
7203 if (flags
& NDR_OUT
) {
7204 ndr_print_struct(ndr
, "out", "lsa_RemovePrivilegesFromAccount");
7206 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7212 static enum ndr_err_code
ndr_push_lsa_GetQuotasForAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_GetQuotasForAccount
*r
)
7214 if (flags
& NDR_IN
) {
7216 if (flags
& NDR_OUT
) {
7217 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7219 return NDR_ERR_SUCCESS
;
7222 static enum ndr_err_code
ndr_pull_lsa_GetQuotasForAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_GetQuotasForAccount
*r
)
7224 if (flags
& NDR_IN
) {
7226 if (flags
& NDR_OUT
) {
7227 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7229 return NDR_ERR_SUCCESS
;
7232 _PUBLIC_
void ndr_print_lsa_GetQuotasForAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_GetQuotasForAccount
*r
)
7234 ndr_print_struct(ndr
, name
, "lsa_GetQuotasForAccount");
7236 if (flags
& NDR_SET_VALUES
) {
7237 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7239 if (flags
& NDR_IN
) {
7240 ndr_print_struct(ndr
, "in", "lsa_GetQuotasForAccount");
7244 if (flags
& NDR_OUT
) {
7245 ndr_print_struct(ndr
, "out", "lsa_GetQuotasForAccount");
7247 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7253 static enum ndr_err_code
ndr_push_lsa_SetQuotasForAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_SetQuotasForAccount
*r
)
7255 if (flags
& NDR_IN
) {
7257 if (flags
& NDR_OUT
) {
7258 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7260 return NDR_ERR_SUCCESS
;
7263 static enum ndr_err_code
ndr_pull_lsa_SetQuotasForAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_SetQuotasForAccount
*r
)
7265 if (flags
& NDR_IN
) {
7267 if (flags
& NDR_OUT
) {
7268 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7270 return NDR_ERR_SUCCESS
;
7273 _PUBLIC_
void ndr_print_lsa_SetQuotasForAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetQuotasForAccount
*r
)
7275 ndr_print_struct(ndr
, name
, "lsa_SetQuotasForAccount");
7277 if (flags
& NDR_SET_VALUES
) {
7278 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7280 if (flags
& NDR_IN
) {
7281 ndr_print_struct(ndr
, "in", "lsa_SetQuotasForAccount");
7285 if (flags
& NDR_OUT
) {
7286 ndr_print_struct(ndr
, "out", "lsa_SetQuotasForAccount");
7288 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7294 static enum ndr_err_code
ndr_push_lsa_GetSystemAccessAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_GetSystemAccessAccount
*r
)
7296 if (flags
& NDR_IN
) {
7297 if (r
->in
.handle
== NULL
) {
7298 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7300 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7302 if (flags
& NDR_OUT
) {
7303 if (r
->out
.access_mask
== NULL
) {
7304 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7306 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.access_mask
));
7307 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7309 return NDR_ERR_SUCCESS
;
7312 static enum ndr_err_code
ndr_pull_lsa_GetSystemAccessAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_GetSystemAccessAccount
*r
)
7314 TALLOC_CTX
*_mem_save_handle_0
;
7315 TALLOC_CTX
*_mem_save_access_mask_0
;
7316 if (flags
& NDR_IN
) {
7317 ZERO_STRUCT(r
->out
);
7319 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7320 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7322 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7323 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7324 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7325 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7326 NDR_PULL_ALLOC(ndr
, r
->out
.access_mask
);
7327 ZERO_STRUCTP(r
->out
.access_mask
);
7329 if (flags
& NDR_OUT
) {
7330 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7331 NDR_PULL_ALLOC(ndr
, r
->out
.access_mask
);
7333 _mem_save_access_mask_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7334 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.access_mask
, LIBNDR_FLAG_REF_ALLOC
);
7335 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.access_mask
));
7336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_access_mask_0
, LIBNDR_FLAG_REF_ALLOC
);
7337 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7339 return NDR_ERR_SUCCESS
;
7342 _PUBLIC_
void ndr_print_lsa_GetSystemAccessAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_GetSystemAccessAccount
*r
)
7344 ndr_print_struct(ndr
, name
, "lsa_GetSystemAccessAccount");
7346 if (flags
& NDR_SET_VALUES
) {
7347 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7349 if (flags
& NDR_IN
) {
7350 ndr_print_struct(ndr
, "in", "lsa_GetSystemAccessAccount");
7352 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7354 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7358 if (flags
& NDR_OUT
) {
7359 ndr_print_struct(ndr
, "out", "lsa_GetSystemAccessAccount");
7361 ndr_print_ptr(ndr
, "access_mask", r
->out
.access_mask
);
7363 ndr_print_uint32(ndr
, "access_mask", *r
->out
.access_mask
);
7365 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7371 static enum ndr_err_code
ndr_push_lsa_SetSystemAccessAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_SetSystemAccessAccount
*r
)
7373 if (flags
& NDR_IN
) {
7374 if (r
->in
.handle
== NULL
) {
7375 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7377 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7378 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7380 if (flags
& NDR_OUT
) {
7381 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7383 return NDR_ERR_SUCCESS
;
7386 static enum ndr_err_code
ndr_pull_lsa_SetSystemAccessAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_SetSystemAccessAccount
*r
)
7388 TALLOC_CTX
*_mem_save_handle_0
;
7389 if (flags
& NDR_IN
) {
7390 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7391 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7393 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7394 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7395 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7396 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7397 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7399 if (flags
& NDR_OUT
) {
7400 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7402 return NDR_ERR_SUCCESS
;
7405 _PUBLIC_
void ndr_print_lsa_SetSystemAccessAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetSystemAccessAccount
*r
)
7407 ndr_print_struct(ndr
, name
, "lsa_SetSystemAccessAccount");
7409 if (flags
& NDR_SET_VALUES
) {
7410 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7412 if (flags
& NDR_IN
) {
7413 ndr_print_struct(ndr
, "in", "lsa_SetSystemAccessAccount");
7415 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7417 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7419 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
7422 if (flags
& NDR_OUT
) {
7423 ndr_print_struct(ndr
, "out", "lsa_SetSystemAccessAccount");
7425 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7431 static enum ndr_err_code
ndr_push_lsa_OpenTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenTrustedDomain
*r
)
7433 if (flags
& NDR_IN
) {
7434 if (r
->in
.handle
== NULL
) {
7435 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7437 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7438 if (r
->in
.sid
== NULL
) {
7439 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7441 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
7442 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7444 if (flags
& NDR_OUT
) {
7445 if (r
->out
.trustdom_handle
== NULL
) {
7446 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7448 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
7449 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7451 return NDR_ERR_SUCCESS
;
7454 static enum ndr_err_code
ndr_pull_lsa_OpenTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenTrustedDomain
*r
)
7456 TALLOC_CTX
*_mem_save_handle_0
;
7457 TALLOC_CTX
*_mem_save_sid_0
;
7458 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
7459 if (flags
& NDR_IN
) {
7460 ZERO_STRUCT(r
->out
);
7462 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7463 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7465 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7466 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7467 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7468 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7469 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7470 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
7472 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7473 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
7474 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
7475 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
7476 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7477 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
7478 ZERO_STRUCTP(r
->out
.trustdom_handle
);
7480 if (flags
& NDR_OUT
) {
7481 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7482 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
7484 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7485 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
7486 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
7487 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7488 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7490 return NDR_ERR_SUCCESS
;
7493 _PUBLIC_
void ndr_print_lsa_OpenTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenTrustedDomain
*r
)
7495 ndr_print_struct(ndr
, name
, "lsa_OpenTrustedDomain");
7497 if (flags
& NDR_SET_VALUES
) {
7498 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7500 if (flags
& NDR_IN
) {
7501 ndr_print_struct(ndr
, "in", "lsa_OpenTrustedDomain");
7503 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7505 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7507 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
7509 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
7511 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
7514 if (flags
& NDR_OUT
) {
7515 ndr_print_struct(ndr
, "out", "lsa_OpenTrustedDomain");
7517 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
7519 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
7521 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7527 static enum ndr_err_code
ndr_push_lsa_QueryTrustedDomainInfo(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryTrustedDomainInfo
*r
)
7529 if (flags
& NDR_IN
) {
7530 if (r
->in
.trustdom_handle
== NULL
) {
7531 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7533 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.trustdom_handle
));
7534 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7536 if (flags
& NDR_OUT
) {
7537 if (r
->out
.info
== NULL
) {
7538 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7540 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
7542 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7543 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7545 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7547 return NDR_ERR_SUCCESS
;
7550 static enum ndr_err_code
ndr_pull_lsa_QueryTrustedDomainInfo(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryTrustedDomainInfo
*r
)
7553 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
7554 TALLOC_CTX
*_mem_save_info_0
;
7555 TALLOC_CTX
*_mem_save_info_1
;
7556 if (flags
& NDR_IN
) {
7557 ZERO_STRUCT(r
->out
);
7559 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7560 NDR_PULL_ALLOC(ndr
, r
->in
.trustdom_handle
);
7562 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7563 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
7564 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.trustdom_handle
));
7565 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7566 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7567 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7568 ZERO_STRUCTP(r
->out
.info
);
7570 if (flags
& NDR_OUT
) {
7571 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7572 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7574 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7575 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
7576 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
7578 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
7580 *r
->out
.info
= NULL
;
7583 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7584 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
7585 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7586 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7587 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
7589 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7590 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7592 return NDR_ERR_SUCCESS
;
7595 _PUBLIC_
void ndr_print_lsa_QueryTrustedDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryTrustedDomainInfo
*r
)
7597 ndr_print_struct(ndr
, name
, "lsa_QueryTrustedDomainInfo");
7599 if (flags
& NDR_SET_VALUES
) {
7600 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7602 if (flags
& NDR_IN
) {
7603 ndr_print_struct(ndr
, "in", "lsa_QueryTrustedDomainInfo");
7605 ndr_print_ptr(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7607 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7609 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
7612 if (flags
& NDR_OUT
) {
7613 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfo");
7615 ndr_print_ptr(ndr
, "info", r
->out
.info
);
7617 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
7620 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
7621 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", *r
->out
.info
);
7625 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7631 static enum ndr_err_code
ndr_push_lsa_SetInformationTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_SetInformationTrustedDomain
*r
)
7633 if (flags
& NDR_IN
) {
7634 if (r
->in
.trustdom_handle
== NULL
) {
7635 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7637 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.trustdom_handle
));
7638 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7639 if (r
->in
.info
== NULL
) {
7640 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7642 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7643 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7645 if (flags
& NDR_OUT
) {
7646 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7648 return NDR_ERR_SUCCESS
;
7651 static enum ndr_err_code
ndr_pull_lsa_SetInformationTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_SetInformationTrustedDomain
*r
)
7653 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
7654 TALLOC_CTX
*_mem_save_info_0
;
7655 if (flags
& NDR_IN
) {
7656 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7657 NDR_PULL_ALLOC(ndr
, r
->in
.trustdom_handle
);
7659 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7660 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
7661 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.trustdom_handle
));
7662 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7663 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7664 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7665 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
7667 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7668 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
7669 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
7670 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
7671 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7673 if (flags
& NDR_OUT
) {
7674 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7676 return NDR_ERR_SUCCESS
;
7679 _PUBLIC_
void ndr_print_lsa_SetInformationTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetInformationTrustedDomain
*r
)
7681 ndr_print_struct(ndr
, name
, "lsa_SetInformationTrustedDomain");
7683 if (flags
& NDR_SET_VALUES
) {
7684 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7686 if (flags
& NDR_IN
) {
7687 ndr_print_struct(ndr
, "in", "lsa_SetInformationTrustedDomain");
7689 ndr_print_ptr(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7691 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7693 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
7694 ndr_print_ptr(ndr
, "info", r
->in
.info
);
7696 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
7697 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
7701 if (flags
& NDR_OUT
) {
7702 ndr_print_struct(ndr
, "out", "lsa_SetInformationTrustedDomain");
7704 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7710 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_OpenSecret(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenSecret
*r
)
7712 if (flags
& NDR_IN
) {
7713 if (r
->in
.handle
== NULL
) {
7714 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7716 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7717 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
7718 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7720 if (flags
& NDR_OUT
) {
7721 if (r
->out
.sec_handle
== NULL
) {
7722 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7724 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.sec_handle
));
7725 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7727 return NDR_ERR_SUCCESS
;
7730 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_OpenSecret(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenSecret
*r
)
7732 TALLOC_CTX
*_mem_save_handle_0
;
7733 TALLOC_CTX
*_mem_save_sec_handle_0
;
7734 if (flags
& NDR_IN
) {
7735 ZERO_STRUCT(r
->out
);
7737 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7738 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7740 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7741 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7742 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
7743 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7744 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
7745 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7746 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
7747 ZERO_STRUCTP(r
->out
.sec_handle
);
7749 if (flags
& NDR_OUT
) {
7750 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7751 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
7753 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7754 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
7755 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.sec_handle
));
7756 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7757 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7759 return NDR_ERR_SUCCESS
;
7762 _PUBLIC_
void ndr_print_lsa_OpenSecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenSecret
*r
)
7764 ndr_print_struct(ndr
, name
, "lsa_OpenSecret");
7766 if (flags
& NDR_SET_VALUES
) {
7767 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7769 if (flags
& NDR_IN
) {
7770 ndr_print_struct(ndr
, "in", "lsa_OpenSecret");
7772 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7774 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7776 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
7777 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
7780 if (flags
& NDR_OUT
) {
7781 ndr_print_struct(ndr
, "out", "lsa_OpenSecret");
7783 ndr_print_ptr(ndr
, "sec_handle", r
->out
.sec_handle
);
7785 ndr_print_policy_handle(ndr
, "sec_handle", r
->out
.sec_handle
);
7787 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7793 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SetSecret(struct ndr_push
*ndr
, int flags
, const struct lsa_SetSecret
*r
)
7795 if (flags
& NDR_IN
) {
7796 if (r
->in
.sec_handle
== NULL
) {
7797 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7799 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.sec_handle
));
7800 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_val
));
7801 if (r
->in
.new_val
) {
7802 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
7804 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_val
));
7805 if (r
->in
.old_val
) {
7806 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
7809 if (flags
& NDR_OUT
) {
7810 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7812 return NDR_ERR_SUCCESS
;
7815 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SetSecret(struct ndr_pull
*ndr
, int flags
, struct lsa_SetSecret
*r
)
7817 uint32_t _ptr_new_val
;
7818 uint32_t _ptr_old_val
;
7819 TALLOC_CTX
*_mem_save_sec_handle_0
;
7820 TALLOC_CTX
*_mem_save_new_val_0
;
7821 TALLOC_CTX
*_mem_save_old_val_0
;
7822 if (flags
& NDR_IN
) {
7823 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7824 NDR_PULL_ALLOC(ndr
, r
->in
.sec_handle
);
7826 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7827 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
7828 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.sec_handle
));
7829 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7830 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_val
));
7832 NDR_PULL_ALLOC(ndr
, r
->in
.new_val
);
7834 r
->in
.new_val
= NULL
;
7836 if (r
->in
.new_val
) {
7837 _mem_save_new_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7838 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_val
, 0);
7839 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
7840 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_val_0
, 0);
7842 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_val
));
7844 NDR_PULL_ALLOC(ndr
, r
->in
.old_val
);
7846 r
->in
.old_val
= NULL
;
7848 if (r
->in
.old_val
) {
7849 _mem_save_old_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7850 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_val
, 0);
7851 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
7852 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_val_0
, 0);
7855 if (flags
& NDR_OUT
) {
7856 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7858 return NDR_ERR_SUCCESS
;
7861 _PUBLIC_
void ndr_print_lsa_SetSecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetSecret
*r
)
7863 ndr_print_struct(ndr
, name
, "lsa_SetSecret");
7865 if (flags
& NDR_SET_VALUES
) {
7866 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7868 if (flags
& NDR_IN
) {
7869 ndr_print_struct(ndr
, "in", "lsa_SetSecret");
7871 ndr_print_ptr(ndr
, "sec_handle", r
->in
.sec_handle
);
7873 ndr_print_policy_handle(ndr
, "sec_handle", r
->in
.sec_handle
);
7875 ndr_print_ptr(ndr
, "new_val", r
->in
.new_val
);
7877 if (r
->in
.new_val
) {
7878 ndr_print_lsa_DATA_BUF(ndr
, "new_val", r
->in
.new_val
);
7881 ndr_print_ptr(ndr
, "old_val", r
->in
.old_val
);
7883 if (r
->in
.old_val
) {
7884 ndr_print_lsa_DATA_BUF(ndr
, "old_val", r
->in
.old_val
);
7889 if (flags
& NDR_OUT
) {
7890 ndr_print_struct(ndr
, "out", "lsa_SetSecret");
7892 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7898 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_QuerySecret(struct ndr_push
*ndr
, int flags
, const struct lsa_QuerySecret
*r
)
7900 if (flags
& NDR_IN
) {
7901 if (r
->in
.sec_handle
== NULL
) {
7902 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7904 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.sec_handle
));
7905 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_val
));
7906 if (r
->in
.new_val
) {
7907 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
7909 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_mtime
));
7910 if (r
->in
.new_mtime
) {
7911 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->in
.new_mtime
));
7913 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_val
));
7914 if (r
->in
.old_val
) {
7915 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
7917 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_mtime
));
7918 if (r
->in
.old_mtime
) {
7919 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->in
.old_mtime
));
7922 if (flags
& NDR_OUT
) {
7923 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.new_val
));
7924 if (r
->out
.new_val
) {
7925 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.new_val
));
7927 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.new_mtime
));
7928 if (r
->out
.new_mtime
) {
7929 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->out
.new_mtime
));
7931 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.old_val
));
7932 if (r
->out
.old_val
) {
7933 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.old_val
));
7935 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.old_mtime
));
7936 if (r
->out
.old_mtime
) {
7937 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->out
.old_mtime
));
7939 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7941 return NDR_ERR_SUCCESS
;
7944 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_QuerySecret(struct ndr_pull
*ndr
, int flags
, struct lsa_QuerySecret
*r
)
7946 uint32_t _ptr_new_val
;
7947 uint32_t _ptr_new_mtime
;
7948 uint32_t _ptr_old_val
;
7949 uint32_t _ptr_old_mtime
;
7950 TALLOC_CTX
*_mem_save_sec_handle_0
;
7951 TALLOC_CTX
*_mem_save_new_val_0
;
7952 TALLOC_CTX
*_mem_save_new_mtime_0
;
7953 TALLOC_CTX
*_mem_save_old_val_0
;
7954 TALLOC_CTX
*_mem_save_old_mtime_0
;
7955 if (flags
& NDR_IN
) {
7956 ZERO_STRUCT(r
->out
);
7958 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7959 NDR_PULL_ALLOC(ndr
, r
->in
.sec_handle
);
7961 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7962 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
7963 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.sec_handle
));
7964 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7965 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_val
));
7967 NDR_PULL_ALLOC(ndr
, r
->in
.new_val
);
7969 r
->in
.new_val
= NULL
;
7971 if (r
->in
.new_val
) {
7972 _mem_save_new_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7973 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_val
, 0);
7974 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
7975 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_val_0
, 0);
7977 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_mtime
));
7978 if (_ptr_new_mtime
) {
7979 NDR_PULL_ALLOC(ndr
, r
->in
.new_mtime
);
7981 r
->in
.new_mtime
= NULL
;
7983 if (r
->in
.new_mtime
) {
7984 _mem_save_new_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7985 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_mtime
, 0);
7986 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->in
.new_mtime
));
7987 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_mtime_0
, 0);
7989 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_val
));
7991 NDR_PULL_ALLOC(ndr
, r
->in
.old_val
);
7993 r
->in
.old_val
= NULL
;
7995 if (r
->in
.old_val
) {
7996 _mem_save_old_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7997 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_val
, 0);
7998 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
7999 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_val_0
, 0);
8001 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_mtime
));
8002 if (_ptr_old_mtime
) {
8003 NDR_PULL_ALLOC(ndr
, r
->in
.old_mtime
);
8005 r
->in
.old_mtime
= NULL
;
8007 if (r
->in
.old_mtime
) {
8008 _mem_save_old_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8009 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_mtime
, 0);
8010 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->in
.old_mtime
));
8011 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_mtime_0
, 0);
8014 if (flags
& NDR_OUT
) {
8015 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_val
));
8017 NDR_PULL_ALLOC(ndr
, r
->out
.new_val
);
8019 r
->out
.new_val
= NULL
;
8021 if (r
->out
.new_val
) {
8022 _mem_save_new_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8023 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.new_val
, 0);
8024 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.new_val
));
8025 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_val_0
, 0);
8027 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_mtime
));
8028 if (_ptr_new_mtime
) {
8029 NDR_PULL_ALLOC(ndr
, r
->out
.new_mtime
);
8031 r
->out
.new_mtime
= NULL
;
8033 if (r
->out
.new_mtime
) {
8034 _mem_save_new_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8035 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.new_mtime
, 0);
8036 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->out
.new_mtime
));
8037 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_mtime_0
, 0);
8039 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_val
));
8041 NDR_PULL_ALLOC(ndr
, r
->out
.old_val
);
8043 r
->out
.old_val
= NULL
;
8045 if (r
->out
.old_val
) {
8046 _mem_save_old_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8047 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.old_val
, 0);
8048 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.old_val
));
8049 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_val_0
, 0);
8051 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_mtime
));
8052 if (_ptr_old_mtime
) {
8053 NDR_PULL_ALLOC(ndr
, r
->out
.old_mtime
);
8055 r
->out
.old_mtime
= NULL
;
8057 if (r
->out
.old_mtime
) {
8058 _mem_save_old_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8059 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.old_mtime
, 0);
8060 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->out
.old_mtime
));
8061 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_mtime_0
, 0);
8063 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8065 return NDR_ERR_SUCCESS
;
8068 _PUBLIC_
void ndr_print_lsa_QuerySecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QuerySecret
*r
)
8070 ndr_print_struct(ndr
, name
, "lsa_QuerySecret");
8072 if (flags
& NDR_SET_VALUES
) {
8073 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8075 if (flags
& NDR_IN
) {
8076 ndr_print_struct(ndr
, "in", "lsa_QuerySecret");
8078 ndr_print_ptr(ndr
, "sec_handle", r
->in
.sec_handle
);
8080 ndr_print_policy_handle(ndr
, "sec_handle", r
->in
.sec_handle
);
8082 ndr_print_ptr(ndr
, "new_val", r
->in
.new_val
);
8084 if (r
->in
.new_val
) {
8085 ndr_print_lsa_DATA_BUF_PTR(ndr
, "new_val", r
->in
.new_val
);
8088 ndr_print_ptr(ndr
, "new_mtime", r
->in
.new_mtime
);
8090 if (r
->in
.new_mtime
) {
8091 ndr_print_NTTIME_hyper(ndr
, "new_mtime", *r
->in
.new_mtime
);
8094 ndr_print_ptr(ndr
, "old_val", r
->in
.old_val
);
8096 if (r
->in
.old_val
) {
8097 ndr_print_lsa_DATA_BUF_PTR(ndr
, "old_val", r
->in
.old_val
);
8100 ndr_print_ptr(ndr
, "old_mtime", r
->in
.old_mtime
);
8102 if (r
->in
.old_mtime
) {
8103 ndr_print_NTTIME_hyper(ndr
, "old_mtime", *r
->in
.old_mtime
);
8108 if (flags
& NDR_OUT
) {
8109 ndr_print_struct(ndr
, "out", "lsa_QuerySecret");
8111 ndr_print_ptr(ndr
, "new_val", r
->out
.new_val
);
8113 if (r
->out
.new_val
) {
8114 ndr_print_lsa_DATA_BUF_PTR(ndr
, "new_val", r
->out
.new_val
);
8117 ndr_print_ptr(ndr
, "new_mtime", r
->out
.new_mtime
);
8119 if (r
->out
.new_mtime
) {
8120 ndr_print_NTTIME_hyper(ndr
, "new_mtime", *r
->out
.new_mtime
);
8123 ndr_print_ptr(ndr
, "old_val", r
->out
.old_val
);
8125 if (r
->out
.old_val
) {
8126 ndr_print_lsa_DATA_BUF_PTR(ndr
, "old_val", r
->out
.old_val
);
8129 ndr_print_ptr(ndr
, "old_mtime", r
->out
.old_mtime
);
8131 if (r
->out
.old_mtime
) {
8132 ndr_print_NTTIME_hyper(ndr
, "old_mtime", *r
->out
.old_mtime
);
8135 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8141 static enum ndr_err_code
ndr_push_lsa_LookupPrivValue(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupPrivValue
*r
)
8143 if (flags
& NDR_IN
) {
8144 if (r
->in
.handle
== NULL
) {
8145 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8147 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8148 if (r
->in
.name
== NULL
) {
8149 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8151 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8153 if (flags
& NDR_OUT
) {
8154 if (r
->out
.luid
== NULL
) {
8155 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8157 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, r
->out
.luid
));
8158 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8160 return NDR_ERR_SUCCESS
;
8163 static enum ndr_err_code
ndr_pull_lsa_LookupPrivValue(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupPrivValue
*r
)
8165 TALLOC_CTX
*_mem_save_handle_0
;
8166 TALLOC_CTX
*_mem_save_name_0
;
8167 TALLOC_CTX
*_mem_save_luid_0
;
8168 if (flags
& NDR_IN
) {
8169 ZERO_STRUCT(r
->out
);
8171 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8172 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8174 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8175 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8176 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8177 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8178 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8179 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
8181 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8182 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
8183 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8184 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8185 NDR_PULL_ALLOC(ndr
, r
->out
.luid
);
8186 ZERO_STRUCTP(r
->out
.luid
);
8188 if (flags
& NDR_OUT
) {
8189 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8190 NDR_PULL_ALLOC(ndr
, r
->out
.luid
);
8192 _mem_save_luid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8193 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.luid
, LIBNDR_FLAG_REF_ALLOC
);
8194 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, r
->out
.luid
));
8195 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_luid_0
, LIBNDR_FLAG_REF_ALLOC
);
8196 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8198 return NDR_ERR_SUCCESS
;
8201 _PUBLIC_
void ndr_print_lsa_LookupPrivValue(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupPrivValue
*r
)
8203 ndr_print_struct(ndr
, name
, "lsa_LookupPrivValue");
8205 if (flags
& NDR_SET_VALUES
) {
8206 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8208 if (flags
& NDR_IN
) {
8209 ndr_print_struct(ndr
, "in", "lsa_LookupPrivValue");
8211 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8213 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8215 ndr_print_ptr(ndr
, "name", r
->in
.name
);
8217 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
8221 if (flags
& NDR_OUT
) {
8222 ndr_print_struct(ndr
, "out", "lsa_LookupPrivValue");
8224 ndr_print_ptr(ndr
, "luid", r
->out
.luid
);
8226 ndr_print_lsa_LUID(ndr
, "luid", r
->out
.luid
);
8228 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8234 static enum ndr_err_code
ndr_push_lsa_LookupPrivName(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupPrivName
*r
)
8236 if (flags
& NDR_IN
) {
8237 if (r
->in
.handle
== NULL
) {
8238 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8240 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8241 if (r
->in
.luid
== NULL
) {
8242 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8244 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, r
->in
.luid
));
8246 if (flags
& NDR_OUT
) {
8247 if (r
->out
.name
== NULL
) {
8248 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8250 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.name
));
8252 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.name
));
8254 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8256 return NDR_ERR_SUCCESS
;
8259 static enum ndr_err_code
ndr_pull_lsa_LookupPrivName(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupPrivName
*r
)
8262 TALLOC_CTX
*_mem_save_handle_0
;
8263 TALLOC_CTX
*_mem_save_luid_0
;
8264 TALLOC_CTX
*_mem_save_name_0
;
8265 TALLOC_CTX
*_mem_save_name_1
;
8266 if (flags
& NDR_IN
) {
8267 ZERO_STRUCT(r
->out
);
8269 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8270 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8272 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8273 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8274 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8275 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8276 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8277 NDR_PULL_ALLOC(ndr
, r
->in
.luid
);
8279 _mem_save_luid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8280 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.luid
, LIBNDR_FLAG_REF_ALLOC
);
8281 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, r
->in
.luid
));
8282 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_luid_0
, LIBNDR_FLAG_REF_ALLOC
);
8283 NDR_PULL_ALLOC(ndr
, r
->out
.name
);
8284 ZERO_STRUCTP(r
->out
.name
);
8286 if (flags
& NDR_OUT
) {
8287 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8288 NDR_PULL_ALLOC(ndr
, r
->out
.name
);
8290 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8291 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.name
, LIBNDR_FLAG_REF_ALLOC
);
8292 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
8294 NDR_PULL_ALLOC(ndr
, *r
->out
.name
);
8296 *r
->out
.name
= NULL
;
8299 _mem_save_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8300 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.name
, 0);
8301 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.name
));
8302 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_1
, 0);
8304 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8305 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8307 return NDR_ERR_SUCCESS
;
8310 _PUBLIC_
void ndr_print_lsa_LookupPrivName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupPrivName
*r
)
8312 ndr_print_struct(ndr
, name
, "lsa_LookupPrivName");
8314 if (flags
& NDR_SET_VALUES
) {
8315 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8317 if (flags
& NDR_IN
) {
8318 ndr_print_struct(ndr
, "in", "lsa_LookupPrivName");
8320 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8322 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8324 ndr_print_ptr(ndr
, "luid", r
->in
.luid
);
8326 ndr_print_lsa_LUID(ndr
, "luid", r
->in
.luid
);
8330 if (flags
& NDR_OUT
) {
8331 ndr_print_struct(ndr
, "out", "lsa_LookupPrivName");
8333 ndr_print_ptr(ndr
, "name", r
->out
.name
);
8335 ndr_print_ptr(ndr
, "name", *r
->out
.name
);
8338 ndr_print_lsa_StringLarge(ndr
, "name", *r
->out
.name
);
8342 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8348 static enum ndr_err_code
ndr_push_lsa_LookupPrivDisplayName(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupPrivDisplayName
*r
)
8350 if (flags
& NDR_IN
) {
8351 if (r
->in
.handle
== NULL
) {
8352 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8354 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8355 if (r
->in
.name
== NULL
) {
8356 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8358 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8359 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.language_id
));
8360 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.language_id_sys
));
8362 if (flags
& NDR_OUT
) {
8363 if (r
->out
.disp_name
== NULL
) {
8364 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8366 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.disp_name
));
8367 if (*r
->out
.disp_name
) {
8368 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.disp_name
));
8370 if (r
->out
.returned_language_id
== NULL
) {
8371 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8373 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->out
.returned_language_id
));
8374 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8376 return NDR_ERR_SUCCESS
;
8379 static enum ndr_err_code
ndr_pull_lsa_LookupPrivDisplayName(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupPrivDisplayName
*r
)
8381 uint32_t _ptr_disp_name
;
8382 TALLOC_CTX
*_mem_save_handle_0
;
8383 TALLOC_CTX
*_mem_save_name_0
;
8384 TALLOC_CTX
*_mem_save_disp_name_0
;
8385 TALLOC_CTX
*_mem_save_disp_name_1
;
8386 TALLOC_CTX
*_mem_save_returned_language_id_0
;
8387 if (flags
& NDR_IN
) {
8388 ZERO_STRUCT(r
->out
);
8390 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8391 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8393 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8394 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8395 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8396 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8397 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8398 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
8400 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8401 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
8402 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8403 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8404 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.language_id
));
8405 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.language_id_sys
));
8406 NDR_PULL_ALLOC(ndr
, r
->out
.disp_name
);
8407 ZERO_STRUCTP(r
->out
.disp_name
);
8408 NDR_PULL_ALLOC(ndr
, r
->out
.returned_language_id
);
8409 ZERO_STRUCTP(r
->out
.returned_language_id
);
8411 if (flags
& NDR_OUT
) {
8412 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8413 NDR_PULL_ALLOC(ndr
, r
->out
.disp_name
);
8415 _mem_save_disp_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8416 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.disp_name
, LIBNDR_FLAG_REF_ALLOC
);
8417 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_disp_name
));
8418 if (_ptr_disp_name
) {
8419 NDR_PULL_ALLOC(ndr
, *r
->out
.disp_name
);
8421 *r
->out
.disp_name
= NULL
;
8423 if (*r
->out
.disp_name
) {
8424 _mem_save_disp_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8425 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.disp_name
, 0);
8426 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.disp_name
));
8427 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_disp_name_1
, 0);
8429 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_disp_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8430 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8431 NDR_PULL_ALLOC(ndr
, r
->out
.returned_language_id
);
8433 _mem_save_returned_language_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8434 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_language_id
, LIBNDR_FLAG_REF_ALLOC
);
8435 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->out
.returned_language_id
));
8436 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_language_id_0
, LIBNDR_FLAG_REF_ALLOC
);
8437 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8439 return NDR_ERR_SUCCESS
;
8442 _PUBLIC_
void ndr_print_lsa_LookupPrivDisplayName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupPrivDisplayName
*r
)
8444 ndr_print_struct(ndr
, name
, "lsa_LookupPrivDisplayName");
8446 if (flags
& NDR_SET_VALUES
) {
8447 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8449 if (flags
& NDR_IN
) {
8450 ndr_print_struct(ndr
, "in", "lsa_LookupPrivDisplayName");
8452 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8454 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8456 ndr_print_ptr(ndr
, "name", r
->in
.name
);
8458 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
8460 ndr_print_uint16(ndr
, "language_id", r
->in
.language_id
);
8461 ndr_print_uint16(ndr
, "language_id_sys", r
->in
.language_id_sys
);
8464 if (flags
& NDR_OUT
) {
8465 ndr_print_struct(ndr
, "out", "lsa_LookupPrivDisplayName");
8467 ndr_print_ptr(ndr
, "disp_name", r
->out
.disp_name
);
8469 ndr_print_ptr(ndr
, "disp_name", *r
->out
.disp_name
);
8471 if (*r
->out
.disp_name
) {
8472 ndr_print_lsa_StringLarge(ndr
, "disp_name", *r
->out
.disp_name
);
8476 ndr_print_ptr(ndr
, "returned_language_id", r
->out
.returned_language_id
);
8478 ndr_print_uint16(ndr
, "returned_language_id", *r
->out
.returned_language_id
);
8480 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8486 static enum ndr_err_code
ndr_push_lsa_DeleteObject(struct ndr_push
*ndr
, int flags
, const struct lsa_DeleteObject
*r
)
8488 if (flags
& NDR_IN
) {
8489 if (r
->in
.handle
== NULL
) {
8490 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8492 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8494 if (flags
& NDR_OUT
) {
8495 if (r
->out
.handle
== NULL
) {
8496 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8498 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
8499 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8501 return NDR_ERR_SUCCESS
;
8504 static enum ndr_err_code
ndr_pull_lsa_DeleteObject(struct ndr_pull
*ndr
, int flags
, struct lsa_DeleteObject
*r
)
8506 TALLOC_CTX
*_mem_save_handle_0
;
8507 if (flags
& NDR_IN
) {
8508 ZERO_STRUCT(r
->out
);
8510 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8511 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8513 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8514 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8515 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8516 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8517 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
8518 *r
->out
.handle
= *r
->in
.handle
;
8520 if (flags
& NDR_OUT
) {
8521 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8522 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
8524 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8525 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8526 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
8527 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8528 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8530 return NDR_ERR_SUCCESS
;
8533 _PUBLIC_
void ndr_print_lsa_DeleteObject(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_DeleteObject
*r
)
8535 ndr_print_struct(ndr
, name
, "lsa_DeleteObject");
8537 if (flags
& NDR_SET_VALUES
) {
8538 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8540 if (flags
& NDR_IN
) {
8541 ndr_print_struct(ndr
, "in", "lsa_DeleteObject");
8543 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8545 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8549 if (flags
& NDR_OUT
) {
8550 ndr_print_struct(ndr
, "out", "lsa_DeleteObject");
8552 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
8554 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
8556 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8562 static enum ndr_err_code
ndr_push_lsa_EnumAccountsWithUserRight(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumAccountsWithUserRight
*r
)
8564 if (flags
& NDR_IN
) {
8565 if (r
->in
.handle
== NULL
) {
8566 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8568 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8569 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.name
));
8571 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8574 if (flags
& NDR_OUT
) {
8575 if (r
->out
.sids
== NULL
) {
8576 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8578 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8579 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8581 return NDR_ERR_SUCCESS
;
8584 static enum ndr_err_code
ndr_pull_lsa_EnumAccountsWithUserRight(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumAccountsWithUserRight
*r
)
8587 TALLOC_CTX
*_mem_save_handle_0
;
8588 TALLOC_CTX
*_mem_save_name_0
;
8589 TALLOC_CTX
*_mem_save_sids_0
;
8590 if (flags
& NDR_IN
) {
8591 ZERO_STRUCT(r
->out
);
8593 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8594 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8596 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8597 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8598 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8599 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8600 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
8602 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
8607 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8608 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, 0);
8609 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8610 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, 0);
8612 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8613 ZERO_STRUCTP(r
->out
.sids
);
8615 if (flags
& NDR_OUT
) {
8616 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8617 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8619 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8620 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
8621 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8622 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
8623 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8625 return NDR_ERR_SUCCESS
;
8628 _PUBLIC_
void ndr_print_lsa_EnumAccountsWithUserRight(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumAccountsWithUserRight
*r
)
8630 ndr_print_struct(ndr
, name
, "lsa_EnumAccountsWithUserRight");
8632 if (flags
& NDR_SET_VALUES
) {
8633 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8635 if (flags
& NDR_IN
) {
8636 ndr_print_struct(ndr
, "in", "lsa_EnumAccountsWithUserRight");
8638 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8640 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8642 ndr_print_ptr(ndr
, "name", r
->in
.name
);
8645 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
8650 if (flags
& NDR_OUT
) {
8651 ndr_print_struct(ndr
, "out", "lsa_EnumAccountsWithUserRight");
8653 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
8655 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
8657 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8663 static enum ndr_err_code
ndr_push_lsa_EnumAccountRights(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumAccountRights
*r
)
8665 if (flags
& NDR_IN
) {
8666 if (r
->in
.handle
== NULL
) {
8667 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8669 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8670 if (r
->in
.sid
== NULL
) {
8671 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8673 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8675 if (flags
& NDR_OUT
) {
8676 if (r
->out
.rights
== NULL
) {
8677 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8679 NDR_CHECK(ndr_push_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rights
));
8680 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8682 return NDR_ERR_SUCCESS
;
8685 static enum ndr_err_code
ndr_pull_lsa_EnumAccountRights(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumAccountRights
*r
)
8687 TALLOC_CTX
*_mem_save_handle_0
;
8688 TALLOC_CTX
*_mem_save_sid_0
;
8689 TALLOC_CTX
*_mem_save_rights_0
;
8690 if (flags
& NDR_IN
) {
8691 ZERO_STRUCT(r
->out
);
8693 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8694 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8696 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8697 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8698 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8699 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8700 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8701 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8703 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8704 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8705 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8706 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8707 NDR_PULL_ALLOC(ndr
, r
->out
.rights
);
8708 ZERO_STRUCTP(r
->out
.rights
);
8710 if (flags
& NDR_OUT
) {
8711 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8712 NDR_PULL_ALLOC(ndr
, r
->out
.rights
);
8714 _mem_save_rights_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8715 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rights
, LIBNDR_FLAG_REF_ALLOC
);
8716 NDR_CHECK(ndr_pull_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rights
));
8717 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rights_0
, LIBNDR_FLAG_REF_ALLOC
);
8718 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8720 return NDR_ERR_SUCCESS
;
8723 _PUBLIC_
void ndr_print_lsa_EnumAccountRights(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumAccountRights
*r
)
8725 ndr_print_struct(ndr
, name
, "lsa_EnumAccountRights");
8727 if (flags
& NDR_SET_VALUES
) {
8728 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8730 if (flags
& NDR_IN
) {
8731 ndr_print_struct(ndr
, "in", "lsa_EnumAccountRights");
8733 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8735 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8737 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8739 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8743 if (flags
& NDR_OUT
) {
8744 ndr_print_struct(ndr
, "out", "lsa_EnumAccountRights");
8746 ndr_print_ptr(ndr
, "rights", r
->out
.rights
);
8748 ndr_print_lsa_RightSet(ndr
, "rights", r
->out
.rights
);
8750 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8756 static enum ndr_err_code
ndr_push_lsa_AddAccountRights(struct ndr_push
*ndr
, int flags
, const struct lsa_AddAccountRights
*r
)
8758 if (flags
& NDR_IN
) {
8759 if (r
->in
.handle
== NULL
) {
8760 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8762 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8763 if (r
->in
.sid
== NULL
) {
8764 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8766 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8767 if (r
->in
.rights
== NULL
) {
8768 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8770 NDR_CHECK(ndr_push_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
8772 if (flags
& NDR_OUT
) {
8773 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8775 return NDR_ERR_SUCCESS
;
8778 static enum ndr_err_code
ndr_pull_lsa_AddAccountRights(struct ndr_pull
*ndr
, int flags
, struct lsa_AddAccountRights
*r
)
8780 TALLOC_CTX
*_mem_save_handle_0
;
8781 TALLOC_CTX
*_mem_save_sid_0
;
8782 TALLOC_CTX
*_mem_save_rights_0
;
8783 if (flags
& NDR_IN
) {
8784 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8785 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8787 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8788 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8789 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8790 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8791 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8792 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8794 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8795 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8796 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8797 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8798 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8799 NDR_PULL_ALLOC(ndr
, r
->in
.rights
);
8801 _mem_save_rights_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8802 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rights
, LIBNDR_FLAG_REF_ALLOC
);
8803 NDR_CHECK(ndr_pull_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
8804 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rights_0
, LIBNDR_FLAG_REF_ALLOC
);
8806 if (flags
& NDR_OUT
) {
8807 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8809 return NDR_ERR_SUCCESS
;
8812 _PUBLIC_
void ndr_print_lsa_AddAccountRights(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_AddAccountRights
*r
)
8814 ndr_print_struct(ndr
, name
, "lsa_AddAccountRights");
8816 if (flags
& NDR_SET_VALUES
) {
8817 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8819 if (flags
& NDR_IN
) {
8820 ndr_print_struct(ndr
, "in", "lsa_AddAccountRights");
8822 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8824 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8826 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8828 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8830 ndr_print_ptr(ndr
, "rights", r
->in
.rights
);
8832 ndr_print_lsa_RightSet(ndr
, "rights", r
->in
.rights
);
8836 if (flags
& NDR_OUT
) {
8837 ndr_print_struct(ndr
, "out", "lsa_AddAccountRights");
8839 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8845 static enum ndr_err_code
ndr_push_lsa_RemoveAccountRights(struct ndr_push
*ndr
, int flags
, const struct lsa_RemoveAccountRights
*r
)
8847 if (flags
& NDR_IN
) {
8848 if (r
->in
.handle
== NULL
) {
8849 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8851 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8852 if (r
->in
.sid
== NULL
) {
8853 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8855 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8856 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.remove_all
));
8857 if (r
->in
.rights
== NULL
) {
8858 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8860 NDR_CHECK(ndr_push_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
8862 if (flags
& NDR_OUT
) {
8863 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8865 return NDR_ERR_SUCCESS
;
8868 static enum ndr_err_code
ndr_pull_lsa_RemoveAccountRights(struct ndr_pull
*ndr
, int flags
, struct lsa_RemoveAccountRights
*r
)
8870 TALLOC_CTX
*_mem_save_handle_0
;
8871 TALLOC_CTX
*_mem_save_sid_0
;
8872 TALLOC_CTX
*_mem_save_rights_0
;
8873 if (flags
& NDR_IN
) {
8874 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8875 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8877 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8878 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8879 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8880 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8881 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8882 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8884 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8885 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8886 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8887 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8888 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.remove_all
));
8889 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8890 NDR_PULL_ALLOC(ndr
, r
->in
.rights
);
8892 _mem_save_rights_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8893 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rights
, LIBNDR_FLAG_REF_ALLOC
);
8894 NDR_CHECK(ndr_pull_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
8895 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rights_0
, LIBNDR_FLAG_REF_ALLOC
);
8897 if (flags
& NDR_OUT
) {
8898 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8900 return NDR_ERR_SUCCESS
;
8903 _PUBLIC_
void ndr_print_lsa_RemoveAccountRights(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_RemoveAccountRights
*r
)
8905 ndr_print_struct(ndr
, name
, "lsa_RemoveAccountRights");
8907 if (flags
& NDR_SET_VALUES
) {
8908 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8910 if (flags
& NDR_IN
) {
8911 ndr_print_struct(ndr
, "in", "lsa_RemoveAccountRights");
8913 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8915 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8917 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8919 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8921 ndr_print_uint8(ndr
, "remove_all", r
->in
.remove_all
);
8922 ndr_print_ptr(ndr
, "rights", r
->in
.rights
);
8924 ndr_print_lsa_RightSet(ndr
, "rights", r
->in
.rights
);
8928 if (flags
& NDR_OUT
) {
8929 ndr_print_struct(ndr
, "out", "lsa_RemoveAccountRights");
8931 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8937 static enum ndr_err_code
ndr_push_lsa_QueryTrustedDomainInfoBySid(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryTrustedDomainInfoBySid
*r
)
8939 if (flags
& NDR_IN
) {
8940 if (r
->in
.handle
== NULL
) {
8941 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8943 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8944 if (r
->in
.dom_sid
== NULL
) {
8945 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8947 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
8948 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8950 if (flags
& NDR_OUT
) {
8951 if (r
->out
.info
== NULL
) {
8952 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8954 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8956 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8957 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8959 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8961 return NDR_ERR_SUCCESS
;
8964 static enum ndr_err_code
ndr_pull_lsa_QueryTrustedDomainInfoBySid(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryTrustedDomainInfoBySid
*r
)
8967 TALLOC_CTX
*_mem_save_handle_0
;
8968 TALLOC_CTX
*_mem_save_dom_sid_0
;
8969 TALLOC_CTX
*_mem_save_info_0
;
8970 TALLOC_CTX
*_mem_save_info_1
;
8971 if (flags
& NDR_IN
) {
8972 ZERO_STRUCT(r
->out
);
8974 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8975 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8977 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8978 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8979 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
8980 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8981 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8982 NDR_PULL_ALLOC(ndr
, r
->in
.dom_sid
);
8984 _mem_save_dom_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8985 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_sid
, LIBNDR_FLAG_REF_ALLOC
);
8986 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
8987 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8988 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8989 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8990 ZERO_STRUCTP(r
->out
.info
);
8992 if (flags
& NDR_OUT
) {
8993 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8994 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8996 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8997 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8998 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9000 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9002 *r
->out
.info
= NULL
;
9005 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9006 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9007 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9008 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9009 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9011 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9012 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9014 return NDR_ERR_SUCCESS
;
9017 _PUBLIC_
void ndr_print_lsa_QueryTrustedDomainInfoBySid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryTrustedDomainInfoBySid
*r
)
9019 ndr_print_struct(ndr
, name
, "lsa_QueryTrustedDomainInfoBySid");
9021 if (flags
& NDR_SET_VALUES
) {
9022 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9024 if (flags
& NDR_IN
) {
9025 ndr_print_struct(ndr
, "in", "lsa_QueryTrustedDomainInfoBySid");
9027 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9029 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9031 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
9033 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
9035 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
9038 if (flags
& NDR_OUT
) {
9039 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfoBySid");
9041 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9043 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9046 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9047 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", *r
->out
.info
);
9051 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9057 static enum ndr_err_code
ndr_push_lsa_SetTrustedDomainInfo(struct ndr_push
*ndr
, int flags
, const struct lsa_SetTrustedDomainInfo
*r
)
9059 if (flags
& NDR_IN
) {
9060 if (r
->in
.handle
== NULL
) {
9061 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9063 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9064 if (r
->in
.dom_sid
== NULL
) {
9065 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9067 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9068 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
9069 if (r
->in
.info
== NULL
) {
9070 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9072 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9073 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9075 if (flags
& NDR_OUT
) {
9076 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9078 return NDR_ERR_SUCCESS
;
9081 static enum ndr_err_code
ndr_pull_lsa_SetTrustedDomainInfo(struct ndr_pull
*ndr
, int flags
, struct lsa_SetTrustedDomainInfo
*r
)
9083 TALLOC_CTX
*_mem_save_handle_0
;
9084 TALLOC_CTX
*_mem_save_dom_sid_0
;
9085 TALLOC_CTX
*_mem_save_info_0
;
9086 if (flags
& NDR_IN
) {
9087 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9088 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9090 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9091 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9092 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9093 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9094 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9095 NDR_PULL_ALLOC(ndr
, r
->in
.dom_sid
);
9097 _mem_save_dom_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9098 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_sid
, LIBNDR_FLAG_REF_ALLOC
);
9099 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9100 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9101 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
9102 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9103 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
9105 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9106 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
9107 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9108 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9109 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9111 if (flags
& NDR_OUT
) {
9112 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9114 return NDR_ERR_SUCCESS
;
9117 _PUBLIC_
void ndr_print_lsa_SetTrustedDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetTrustedDomainInfo
*r
)
9119 ndr_print_struct(ndr
, name
, "lsa_SetTrustedDomainInfo");
9121 if (flags
& NDR_SET_VALUES
) {
9122 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9124 if (flags
& NDR_IN
) {
9125 ndr_print_struct(ndr
, "in", "lsa_SetTrustedDomainInfo");
9127 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9129 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9131 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
9133 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
9135 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
9136 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9138 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9139 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
9143 if (flags
& NDR_OUT
) {
9144 ndr_print_struct(ndr
, "out", "lsa_SetTrustedDomainInfo");
9146 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9152 static enum ndr_err_code
ndr_push_lsa_DeleteTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_DeleteTrustedDomain
*r
)
9154 if (flags
& NDR_IN
) {
9155 if (r
->in
.handle
== NULL
) {
9156 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9158 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9159 if (r
->in
.dom_sid
== NULL
) {
9160 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9162 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9164 if (flags
& NDR_OUT
) {
9165 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9167 return NDR_ERR_SUCCESS
;
9170 static enum ndr_err_code
ndr_pull_lsa_DeleteTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_DeleteTrustedDomain
*r
)
9172 TALLOC_CTX
*_mem_save_handle_0
;
9173 TALLOC_CTX
*_mem_save_dom_sid_0
;
9174 if (flags
& NDR_IN
) {
9175 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9176 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9178 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9179 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9180 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9181 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9182 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9183 NDR_PULL_ALLOC(ndr
, r
->in
.dom_sid
);
9185 _mem_save_dom_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9186 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_sid
, LIBNDR_FLAG_REF_ALLOC
);
9187 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
9188 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
9190 if (flags
& NDR_OUT
) {
9191 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9193 return NDR_ERR_SUCCESS
;
9196 _PUBLIC_
void ndr_print_lsa_DeleteTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_DeleteTrustedDomain
*r
)
9198 ndr_print_struct(ndr
, name
, "lsa_DeleteTrustedDomain");
9200 if (flags
& NDR_SET_VALUES
) {
9201 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9203 if (flags
& NDR_IN
) {
9204 ndr_print_struct(ndr
, "in", "lsa_DeleteTrustedDomain");
9206 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9208 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9210 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
9212 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
9216 if (flags
& NDR_OUT
) {
9217 ndr_print_struct(ndr
, "out", "lsa_DeleteTrustedDomain");
9219 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9225 static enum ndr_err_code
ndr_push_lsa_StorePrivateData(struct ndr_push
*ndr
, int flags
, const struct lsa_StorePrivateData
*r
)
9227 if (flags
& NDR_IN
) {
9229 if (flags
& NDR_OUT
) {
9230 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9232 return NDR_ERR_SUCCESS
;
9235 static enum ndr_err_code
ndr_pull_lsa_StorePrivateData(struct ndr_pull
*ndr
, int flags
, struct lsa_StorePrivateData
*r
)
9237 if (flags
& NDR_IN
) {
9239 if (flags
& NDR_OUT
) {
9240 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9242 return NDR_ERR_SUCCESS
;
9245 _PUBLIC_
void ndr_print_lsa_StorePrivateData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_StorePrivateData
*r
)
9247 ndr_print_struct(ndr
, name
, "lsa_StorePrivateData");
9249 if (flags
& NDR_SET_VALUES
) {
9250 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9252 if (flags
& NDR_IN
) {
9253 ndr_print_struct(ndr
, "in", "lsa_StorePrivateData");
9257 if (flags
& NDR_OUT
) {
9258 ndr_print_struct(ndr
, "out", "lsa_StorePrivateData");
9260 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9266 static enum ndr_err_code
ndr_push_lsa_RetrievePrivateData(struct ndr_push
*ndr
, int flags
, const struct lsa_RetrievePrivateData
*r
)
9268 if (flags
& NDR_IN
) {
9270 if (flags
& NDR_OUT
) {
9271 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9273 return NDR_ERR_SUCCESS
;
9276 static enum ndr_err_code
ndr_pull_lsa_RetrievePrivateData(struct ndr_pull
*ndr
, int flags
, struct lsa_RetrievePrivateData
*r
)
9278 if (flags
& NDR_IN
) {
9280 if (flags
& NDR_OUT
) {
9281 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9283 return NDR_ERR_SUCCESS
;
9286 _PUBLIC_
void ndr_print_lsa_RetrievePrivateData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_RetrievePrivateData
*r
)
9288 ndr_print_struct(ndr
, name
, "lsa_RetrievePrivateData");
9290 if (flags
& NDR_SET_VALUES
) {
9291 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9293 if (flags
& NDR_IN
) {
9294 ndr_print_struct(ndr
, "in", "lsa_RetrievePrivateData");
9298 if (flags
& NDR_OUT
) {
9299 ndr_print_struct(ndr
, "out", "lsa_RetrievePrivateData");
9301 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9307 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_OpenPolicy2(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenPolicy2
*r
)
9309 if (flags
& NDR_IN
) {
9310 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
9311 if (r
->in
.system_name
) {
9312 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
9313 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
9314 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
9315 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
));
9317 if (r
->in
.attr
== NULL
) {
9318 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9320 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
9321 NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
9323 if (flags
& NDR_OUT
) {
9324 if (r
->out
.handle
== NULL
) {
9325 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9327 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
9328 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9330 return NDR_ERR_SUCCESS
;
9333 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_OpenPolicy2(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenPolicy2
*r
)
9335 uint32_t _ptr_system_name
;
9336 TALLOC_CTX
*_mem_save_system_name_0
;
9337 TALLOC_CTX
*_mem_save_attr_0
;
9338 TALLOC_CTX
*_mem_save_handle_0
;
9339 if (flags
& NDR_IN
) {
9340 ZERO_STRUCT(r
->out
);
9342 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
9343 if (_ptr_system_name
) {
9344 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
9346 r
->in
.system_name
= NULL
;
9348 if (r
->in
.system_name
) {
9349 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9350 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
9351 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
9352 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
9353 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
9354 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
));
9356 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
9357 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
));
9358 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
9360 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9361 NDR_PULL_ALLOC(ndr
, r
->in
.attr
);
9363 _mem_save_attr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9364 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.attr
, LIBNDR_FLAG_REF_ALLOC
);
9365 NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
9366 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attr_0
, LIBNDR_FLAG_REF_ALLOC
);
9367 NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
9368 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
9369 ZERO_STRUCTP(r
->out
.handle
);
9371 if (flags
& NDR_OUT
) {
9372 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9373 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
9375 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9376 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9377 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
9378 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9379 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9381 return NDR_ERR_SUCCESS
;
9384 _PUBLIC_
void ndr_print_lsa_OpenPolicy2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenPolicy2
*r
)
9386 ndr_print_struct(ndr
, name
, "lsa_OpenPolicy2");
9388 if (flags
& NDR_SET_VALUES
) {
9389 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9391 if (flags
& NDR_IN
) {
9392 ndr_print_struct(ndr
, "in", "lsa_OpenPolicy2");
9394 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
9396 if (r
->in
.system_name
) {
9397 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
9400 ndr_print_ptr(ndr
, "attr", r
->in
.attr
);
9402 ndr_print_lsa_ObjectAttribute(ndr
, "attr", r
->in
.attr
);
9404 ndr_print_lsa_PolicyAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
9407 if (flags
& NDR_OUT
) {
9408 ndr_print_struct(ndr
, "out", "lsa_OpenPolicy2");
9410 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
9412 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
9414 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9420 static enum ndr_err_code
ndr_push_lsa_GetUserName(struct ndr_push
*ndr
, int flags
, const struct lsa_GetUserName
*r
)
9422 if (flags
& NDR_IN
) {
9423 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
9424 if (r
->in
.system_name
) {
9425 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
9426 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
9427 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
9428 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
));
9430 if (r
->in
.account_name
== NULL
) {
9431 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9433 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->in
.account_name
));
9434 if (*r
->in
.account_name
) {
9435 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.account_name
));
9437 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.authority_name
));
9438 if (r
->in
.authority_name
) {
9439 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->in
.authority_name
));
9440 if (*r
->in
.authority_name
) {
9441 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.authority_name
));
9445 if (flags
& NDR_OUT
) {
9446 if (r
->out
.account_name
== NULL
) {
9447 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9449 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.account_name
));
9450 if (*r
->out
.account_name
) {
9451 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.account_name
));
9453 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.authority_name
));
9454 if (r
->out
.authority_name
) {
9455 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.authority_name
));
9456 if (*r
->out
.authority_name
) {
9457 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.authority_name
));
9460 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9462 return NDR_ERR_SUCCESS
;
9465 static enum ndr_err_code
ndr_pull_lsa_GetUserName(struct ndr_pull
*ndr
, int flags
, struct lsa_GetUserName
*r
)
9467 uint32_t _ptr_system_name
;
9468 uint32_t _ptr_account_name
;
9469 uint32_t _ptr_authority_name
;
9470 TALLOC_CTX
*_mem_save_system_name_0
;
9471 TALLOC_CTX
*_mem_save_account_name_0
;
9472 TALLOC_CTX
*_mem_save_account_name_1
;
9473 TALLOC_CTX
*_mem_save_authority_name_0
;
9474 TALLOC_CTX
*_mem_save_authority_name_1
;
9475 if (flags
& NDR_IN
) {
9476 ZERO_STRUCT(r
->out
);
9478 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
9479 if (_ptr_system_name
) {
9480 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
9482 r
->in
.system_name
= NULL
;
9484 if (r
->in
.system_name
) {
9485 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9486 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
9487 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
9488 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
9489 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
9490 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
));
9492 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
9493 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
));
9494 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
9496 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9497 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
9499 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9500 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
9501 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_account_name
));
9502 if (_ptr_account_name
) {
9503 NDR_PULL_ALLOC(ndr
, *r
->in
.account_name
);
9505 *r
->in
.account_name
= NULL
;
9507 if (*r
->in
.account_name
) {
9508 _mem_save_account_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9509 NDR_PULL_SET_MEM_CTX(ndr
, *r
->in
.account_name
, 0);
9510 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.account_name
));
9511 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_1
, 0);
9513 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
9514 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
9515 if (_ptr_authority_name
) {
9516 NDR_PULL_ALLOC(ndr
, r
->in
.authority_name
);
9518 r
->in
.authority_name
= NULL
;
9520 if (r
->in
.authority_name
) {
9521 _mem_save_authority_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9522 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.authority_name
, 0);
9523 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
9524 if (_ptr_authority_name
) {
9525 NDR_PULL_ALLOC(ndr
, *r
->in
.authority_name
);
9527 *r
->in
.authority_name
= NULL
;
9529 if (*r
->in
.authority_name
) {
9530 _mem_save_authority_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9531 NDR_PULL_SET_MEM_CTX(ndr
, *r
->in
.authority_name
, 0);
9532 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.authority_name
));
9533 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_1
, 0);
9535 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_0
, 0);
9537 NDR_PULL_ALLOC(ndr
, r
->out
.account_name
);
9538 *r
->out
.account_name
= *r
->in
.account_name
;
9540 if (flags
& NDR_OUT
) {
9541 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9542 NDR_PULL_ALLOC(ndr
, r
->out
.account_name
);
9544 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9545 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
9546 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_account_name
));
9547 if (_ptr_account_name
) {
9548 NDR_PULL_ALLOC(ndr
, *r
->out
.account_name
);
9550 *r
->out
.account_name
= NULL
;
9552 if (*r
->out
.account_name
) {
9553 _mem_save_account_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9554 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.account_name
, 0);
9555 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.account_name
));
9556 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_1
, 0);
9558 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
9559 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
9560 if (_ptr_authority_name
) {
9561 NDR_PULL_ALLOC(ndr
, r
->out
.authority_name
);
9563 r
->out
.authority_name
= NULL
;
9565 if (r
->out
.authority_name
) {
9566 _mem_save_authority_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9567 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.authority_name
, 0);
9568 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
9569 if (_ptr_authority_name
) {
9570 NDR_PULL_ALLOC(ndr
, *r
->out
.authority_name
);
9572 *r
->out
.authority_name
= NULL
;
9574 if (*r
->out
.authority_name
) {
9575 _mem_save_authority_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9576 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.authority_name
, 0);
9577 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.authority_name
));
9578 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_1
, 0);
9580 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_0
, 0);
9582 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9584 return NDR_ERR_SUCCESS
;
9587 _PUBLIC_
void ndr_print_lsa_GetUserName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_GetUserName
*r
)
9589 ndr_print_struct(ndr
, name
, "lsa_GetUserName");
9591 if (flags
& NDR_SET_VALUES
) {
9592 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9594 if (flags
& NDR_IN
) {
9595 ndr_print_struct(ndr
, "in", "lsa_GetUserName");
9597 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
9599 if (r
->in
.system_name
) {
9600 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
9603 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
9605 ndr_print_ptr(ndr
, "account_name", *r
->in
.account_name
);
9607 if (*r
->in
.account_name
) {
9608 ndr_print_lsa_String(ndr
, "account_name", *r
->in
.account_name
);
9612 ndr_print_ptr(ndr
, "authority_name", r
->in
.authority_name
);
9614 if (r
->in
.authority_name
) {
9615 ndr_print_ptr(ndr
, "authority_name", *r
->in
.authority_name
);
9617 if (*r
->in
.authority_name
) {
9618 ndr_print_lsa_String(ndr
, "authority_name", *r
->in
.authority_name
);
9625 if (flags
& NDR_OUT
) {
9626 ndr_print_struct(ndr
, "out", "lsa_GetUserName");
9628 ndr_print_ptr(ndr
, "account_name", r
->out
.account_name
);
9630 ndr_print_ptr(ndr
, "account_name", *r
->out
.account_name
);
9632 if (*r
->out
.account_name
) {
9633 ndr_print_lsa_String(ndr
, "account_name", *r
->out
.account_name
);
9637 ndr_print_ptr(ndr
, "authority_name", r
->out
.authority_name
);
9639 if (r
->out
.authority_name
) {
9640 ndr_print_ptr(ndr
, "authority_name", *r
->out
.authority_name
);
9642 if (*r
->out
.authority_name
) {
9643 ndr_print_lsa_String(ndr
, "authority_name", *r
->out
.authority_name
);
9648 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9654 static enum ndr_err_code
ndr_push_lsa_QueryInfoPolicy2(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryInfoPolicy2
*r
)
9656 if (flags
& NDR_IN
) {
9657 if (r
->in
.handle
== NULL
) {
9658 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9660 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9661 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
9663 if (flags
& NDR_OUT
) {
9664 if (r
->out
.info
== NULL
) {
9665 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9667 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9669 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9670 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9672 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9674 return NDR_ERR_SUCCESS
;
9677 static enum ndr_err_code
ndr_pull_lsa_QueryInfoPolicy2(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryInfoPolicy2
*r
)
9680 TALLOC_CTX
*_mem_save_handle_0
;
9681 TALLOC_CTX
*_mem_save_info_0
;
9682 TALLOC_CTX
*_mem_save_info_1
;
9683 if (flags
& NDR_IN
) {
9684 ZERO_STRUCT(r
->out
);
9686 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9687 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9689 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9690 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9691 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9692 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9693 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
9694 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9695 ZERO_STRUCTP(r
->out
.info
);
9697 if (flags
& NDR_OUT
) {
9698 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9699 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9701 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9702 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9703 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9705 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9707 *r
->out
.info
= NULL
;
9710 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9711 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9712 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9713 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9714 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9716 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9717 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9719 return NDR_ERR_SUCCESS
;
9722 _PUBLIC_
void ndr_print_lsa_QueryInfoPolicy2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryInfoPolicy2
*r
)
9724 ndr_print_struct(ndr
, name
, "lsa_QueryInfoPolicy2");
9726 if (flags
& NDR_SET_VALUES
) {
9727 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9729 if (flags
& NDR_IN
) {
9730 ndr_print_struct(ndr
, "in", "lsa_QueryInfoPolicy2");
9732 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9734 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9736 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
9739 if (flags
& NDR_OUT
) {
9740 ndr_print_struct(ndr
, "out", "lsa_QueryInfoPolicy2");
9742 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9744 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9747 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9748 ndr_print_lsa_PolicyInformation(ndr
, "info", *r
->out
.info
);
9752 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9758 static enum ndr_err_code
ndr_push_lsa_SetInfoPolicy2(struct ndr_push
*ndr
, int flags
, const struct lsa_SetInfoPolicy2
*r
)
9760 if (flags
& NDR_IN
) {
9761 if (r
->in
.handle
== NULL
) {
9762 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9764 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9765 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
9766 if (r
->in
.info
== NULL
) {
9767 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9769 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9770 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9772 if (flags
& NDR_OUT
) {
9773 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9775 return NDR_ERR_SUCCESS
;
9778 static enum ndr_err_code
ndr_pull_lsa_SetInfoPolicy2(struct ndr_pull
*ndr
, int flags
, struct lsa_SetInfoPolicy2
*r
)
9780 TALLOC_CTX
*_mem_save_handle_0
;
9781 TALLOC_CTX
*_mem_save_info_0
;
9782 if (flags
& NDR_IN
) {
9783 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9784 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9786 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9787 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9788 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9789 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9790 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
9791 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9792 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
9794 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9795 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
9796 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9797 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9798 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9800 if (flags
& NDR_OUT
) {
9801 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9803 return NDR_ERR_SUCCESS
;
9806 _PUBLIC_
void ndr_print_lsa_SetInfoPolicy2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetInfoPolicy2
*r
)
9808 ndr_print_struct(ndr
, name
, "lsa_SetInfoPolicy2");
9810 if (flags
& NDR_SET_VALUES
) {
9811 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9813 if (flags
& NDR_IN
) {
9814 ndr_print_struct(ndr
, "in", "lsa_SetInfoPolicy2");
9816 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9818 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9820 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
9821 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9823 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9824 ndr_print_lsa_PolicyInformation(ndr
, "info", r
->in
.info
);
9828 if (flags
& NDR_OUT
) {
9829 ndr_print_struct(ndr
, "out", "lsa_SetInfoPolicy2");
9831 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9837 static enum ndr_err_code
ndr_push_lsa_QueryTrustedDomainInfoByName(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryTrustedDomainInfoByName
*r
)
9839 if (flags
& NDR_IN
) {
9840 if (r
->in
.handle
== NULL
) {
9841 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9843 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9844 if (r
->in
.trusted_domain
== NULL
) {
9845 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9847 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain
));
9848 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
9850 if (flags
& NDR_OUT
) {
9851 if (r
->out
.info
== NULL
) {
9852 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9854 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9856 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9857 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9859 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9861 return NDR_ERR_SUCCESS
;
9864 static enum ndr_err_code
ndr_pull_lsa_QueryTrustedDomainInfoByName(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryTrustedDomainInfoByName
*r
)
9867 TALLOC_CTX
*_mem_save_handle_0
;
9868 TALLOC_CTX
*_mem_save_trusted_domain_0
;
9869 TALLOC_CTX
*_mem_save_info_0
;
9870 TALLOC_CTX
*_mem_save_info_1
;
9871 if (flags
& NDR_IN
) {
9872 ZERO_STRUCT(r
->out
);
9874 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9875 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9877 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9878 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9879 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9880 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9881 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9882 NDR_PULL_ALLOC(ndr
, r
->in
.trusted_domain
);
9884 _mem_save_trusted_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9885 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trusted_domain
, LIBNDR_FLAG_REF_ALLOC
);
9886 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain
));
9887 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trusted_domain_0
, LIBNDR_FLAG_REF_ALLOC
);
9888 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
9889 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9890 ZERO_STRUCTP(r
->out
.info
);
9892 if (flags
& NDR_OUT
) {
9893 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9894 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9896 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9897 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9898 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9900 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9902 *r
->out
.info
= NULL
;
9905 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9906 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9907 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9908 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9909 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9911 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9912 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9914 return NDR_ERR_SUCCESS
;
9917 _PUBLIC_
void ndr_print_lsa_QueryTrustedDomainInfoByName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryTrustedDomainInfoByName
*r
)
9919 ndr_print_struct(ndr
, name
, "lsa_QueryTrustedDomainInfoByName");
9921 if (flags
& NDR_SET_VALUES
) {
9922 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9924 if (flags
& NDR_IN
) {
9925 ndr_print_struct(ndr
, "in", "lsa_QueryTrustedDomainInfoByName");
9927 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9929 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9931 ndr_print_ptr(ndr
, "trusted_domain", r
->in
.trusted_domain
);
9933 ndr_print_lsa_String(ndr
, "trusted_domain", r
->in
.trusted_domain
);
9935 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
9938 if (flags
& NDR_OUT
) {
9939 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfoByName");
9941 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9943 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9946 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9947 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", *r
->out
.info
);
9951 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9957 static enum ndr_err_code
ndr_push_lsa_SetTrustedDomainInfoByName(struct ndr_push
*ndr
, int flags
, const struct lsa_SetTrustedDomainInfoByName
*r
)
9959 if (flags
& NDR_IN
) {
9960 if (r
->in
.handle
== NULL
) {
9961 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9963 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9964 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.trusted_domain
));
9965 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
9966 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.info
));
9968 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9969 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9972 if (flags
& NDR_OUT
) {
9973 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9975 return NDR_ERR_SUCCESS
;
9978 static enum ndr_err_code
ndr_pull_lsa_SetTrustedDomainInfoByName(struct ndr_pull
*ndr
, int flags
, struct lsa_SetTrustedDomainInfoByName
*r
)
9981 TALLOC_CTX
*_mem_save_handle_0
;
9982 TALLOC_CTX
*_mem_save_info_0
;
9983 if (flags
& NDR_IN
) {
9984 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9985 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9987 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9988 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9989 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
9990 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9991 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.trusted_domain
));
9992 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
9993 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9995 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
10000 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10001 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, 0);
10002 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
10003 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10004 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
10007 if (flags
& NDR_OUT
) {
10008 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10010 return NDR_ERR_SUCCESS
;
10013 _PUBLIC_
void ndr_print_lsa_SetTrustedDomainInfoByName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetTrustedDomainInfoByName
*r
)
10015 ndr_print_struct(ndr
, name
, "lsa_SetTrustedDomainInfoByName");
10017 if (flags
& NDR_SET_VALUES
) {
10018 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10020 if (flags
& NDR_IN
) {
10021 ndr_print_struct(ndr
, "in", "lsa_SetTrustedDomainInfoByName");
10023 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10025 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10027 ndr_print_lsa_String(ndr
, "trusted_domain", &r
->in
.trusted_domain
);
10028 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
10029 ndr_print_ptr(ndr
, "info", r
->in
.info
);
10032 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
10033 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
10038 if (flags
& NDR_OUT
) {
10039 ndr_print_struct(ndr
, "out", "lsa_SetTrustedDomainInfoByName");
10041 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10047 static enum ndr_err_code
ndr_push_lsa_EnumTrustedDomainsEx(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumTrustedDomainsEx
*r
)
10049 if (flags
& NDR_IN
) {
10050 if (r
->in
.handle
== NULL
) {
10051 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10053 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10054 if (r
->in
.resume_handle
== NULL
) {
10055 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10057 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
10058 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
10060 if (flags
& NDR_OUT
) {
10061 if (r
->out
.resume_handle
== NULL
) {
10062 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10064 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
10065 if (r
->out
.domains
== NULL
) {
10066 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10068 NDR_CHECK(ndr_push_lsa_DomainListEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
10069 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10071 return NDR_ERR_SUCCESS
;
10074 static enum ndr_err_code
ndr_pull_lsa_EnumTrustedDomainsEx(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumTrustedDomainsEx
*r
)
10076 TALLOC_CTX
*_mem_save_handle_0
;
10077 TALLOC_CTX
*_mem_save_resume_handle_0
;
10078 TALLOC_CTX
*_mem_save_domains_0
;
10079 if (flags
& NDR_IN
) {
10080 ZERO_STRUCT(r
->out
);
10082 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10083 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10085 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10086 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10087 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10088 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10089 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10090 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
10092 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10093 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
10094 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
10095 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10096 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
10097 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
10098 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
10099 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10100 ZERO_STRUCTP(r
->out
.domains
);
10102 if (flags
& NDR_OUT
) {
10103 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10104 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
10106 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10107 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
10108 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
10109 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10110 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10111 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10113 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10114 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
10115 NDR_CHECK(ndr_pull_lsa_DomainListEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
10116 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
10117 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10119 return NDR_ERR_SUCCESS
;
10122 _PUBLIC_
void ndr_print_lsa_EnumTrustedDomainsEx(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumTrustedDomainsEx
*r
)
10124 ndr_print_struct(ndr
, name
, "lsa_EnumTrustedDomainsEx");
10126 if (flags
& NDR_SET_VALUES
) {
10127 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10129 if (flags
& NDR_IN
) {
10130 ndr_print_struct(ndr
, "in", "lsa_EnumTrustedDomainsEx");
10132 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10134 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10136 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
10138 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
10140 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
10143 if (flags
& NDR_OUT
) {
10144 ndr_print_struct(ndr
, "out", "lsa_EnumTrustedDomainsEx");
10146 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
10148 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
10150 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
10152 ndr_print_lsa_DomainListEx(ndr
, "domains", r
->out
.domains
);
10154 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10160 static enum ndr_err_code
ndr_push_lsa_CreateTrustedDomainEx(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateTrustedDomainEx
*r
)
10162 if (flags
& NDR_IN
) {
10163 if (r
->in
.policy_handle
== NULL
) {
10164 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10166 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
10167 if (r
->in
.info
== NULL
) {
10168 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10170 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10171 if (r
->in
.auth_info
== NULL
) {
10172 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10174 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.auth_info
));
10175 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
10177 if (flags
& NDR_OUT
) {
10178 if (r
->out
.trustdom_handle
== NULL
) {
10179 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10181 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
10182 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10184 return NDR_ERR_SUCCESS
;
10187 static enum ndr_err_code
ndr_pull_lsa_CreateTrustedDomainEx(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateTrustedDomainEx
*r
)
10189 TALLOC_CTX
*_mem_save_policy_handle_0
;
10190 TALLOC_CTX
*_mem_save_info_0
;
10191 TALLOC_CTX
*_mem_save_auth_info_0
;
10192 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
10193 if (flags
& NDR_IN
) {
10194 ZERO_STRUCT(r
->out
);
10196 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10197 NDR_PULL_ALLOC(ndr
, r
->in
.policy_handle
);
10199 _mem_save_policy_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10200 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.policy_handle
, LIBNDR_FLAG_REF_ALLOC
);
10201 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
10202 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_policy_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10203 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10204 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
10206 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10207 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
10208 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10209 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10210 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10211 NDR_PULL_ALLOC(ndr
, r
->in
.auth_info
);
10213 _mem_save_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10214 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.auth_info
, LIBNDR_FLAG_REF_ALLOC
);
10215 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.auth_info
));
10216 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_auth_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10217 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10218 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
10219 ZERO_STRUCTP(r
->out
.trustdom_handle
);
10221 if (flags
& NDR_OUT
) {
10222 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10223 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
10225 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10226 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
10227 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
10228 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10229 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10231 return NDR_ERR_SUCCESS
;
10234 _PUBLIC_
void ndr_print_lsa_CreateTrustedDomainEx(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateTrustedDomainEx
*r
)
10236 ndr_print_struct(ndr
, name
, "lsa_CreateTrustedDomainEx");
10238 if (flags
& NDR_SET_VALUES
) {
10239 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10241 if (flags
& NDR_IN
) {
10242 ndr_print_struct(ndr
, "in", "lsa_CreateTrustedDomainEx");
10244 ndr_print_ptr(ndr
, "policy_handle", r
->in
.policy_handle
);
10246 ndr_print_policy_handle(ndr
, "policy_handle", r
->in
.policy_handle
);
10248 ndr_print_ptr(ndr
, "info", r
->in
.info
);
10250 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info", r
->in
.info
);
10252 ndr_print_ptr(ndr
, "auth_info", r
->in
.auth_info
);
10254 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info", r
->in
.auth_info
);
10256 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
10259 if (flags
& NDR_OUT
) {
10260 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomainEx");
10262 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
10264 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
10266 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10272 static enum ndr_err_code
ndr_push_lsa_CloseTrustedDomainEx(struct ndr_push
*ndr
, int flags
, const struct lsa_CloseTrustedDomainEx
*r
)
10274 if (flags
& NDR_IN
) {
10275 if (r
->in
.handle
== NULL
) {
10276 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10278 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10280 if (flags
& NDR_OUT
) {
10281 if (r
->out
.handle
== NULL
) {
10282 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10284 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
10285 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10287 return NDR_ERR_SUCCESS
;
10290 static enum ndr_err_code
ndr_pull_lsa_CloseTrustedDomainEx(struct ndr_pull
*ndr
, int flags
, struct lsa_CloseTrustedDomainEx
*r
)
10292 TALLOC_CTX
*_mem_save_handle_0
;
10293 if (flags
& NDR_IN
) {
10294 ZERO_STRUCT(r
->out
);
10296 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10297 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10299 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10300 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10301 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10302 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10303 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
10304 *r
->out
.handle
= *r
->in
.handle
;
10306 if (flags
& NDR_OUT
) {
10307 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10308 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
10310 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10311 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10312 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.handle
));
10313 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10314 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10316 return NDR_ERR_SUCCESS
;
10319 _PUBLIC_
void ndr_print_lsa_CloseTrustedDomainEx(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CloseTrustedDomainEx
*r
)
10321 ndr_print_struct(ndr
, name
, "lsa_CloseTrustedDomainEx");
10323 if (flags
& NDR_SET_VALUES
) {
10324 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10326 if (flags
& NDR_IN
) {
10327 ndr_print_struct(ndr
, "in", "lsa_CloseTrustedDomainEx");
10329 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10331 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10335 if (flags
& NDR_OUT
) {
10336 ndr_print_struct(ndr
, "out", "lsa_CloseTrustedDomainEx");
10338 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
10340 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
10342 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10348 static enum ndr_err_code
ndr_push_lsa_QueryDomainInformationPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryDomainInformationPolicy
*r
)
10350 if (flags
& NDR_IN
) {
10351 if (r
->in
.handle
== NULL
) {
10352 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10354 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10355 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10357 if (flags
& NDR_OUT
) {
10358 if (r
->out
.info
== NULL
) {
10359 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10361 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
10362 if (*r
->out
.info
) {
10363 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10364 NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10366 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10368 return NDR_ERR_SUCCESS
;
10371 static enum ndr_err_code
ndr_pull_lsa_QueryDomainInformationPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryDomainInformationPolicy
*r
)
10373 uint32_t _ptr_info
;
10374 TALLOC_CTX
*_mem_save_handle_0
;
10375 TALLOC_CTX
*_mem_save_info_0
;
10376 TALLOC_CTX
*_mem_save_info_1
;
10377 if (flags
& NDR_IN
) {
10378 ZERO_STRUCT(r
->out
);
10380 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10381 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10383 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10384 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10385 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10386 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10387 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10388 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10389 ZERO_STRUCTP(r
->out
.info
);
10391 if (flags
& NDR_OUT
) {
10392 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10393 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
10395 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10396 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
10397 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
10399 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
10401 *r
->out
.info
= NULL
;
10403 if (*r
->out
.info
) {
10404 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10405 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
10406 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
10407 NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
10408 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
10410 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
10411 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10413 return NDR_ERR_SUCCESS
;
10416 _PUBLIC_
void ndr_print_lsa_QueryDomainInformationPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryDomainInformationPolicy
*r
)
10418 ndr_print_struct(ndr
, name
, "lsa_QueryDomainInformationPolicy");
10420 if (flags
& NDR_SET_VALUES
) {
10421 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10423 if (flags
& NDR_IN
) {
10424 ndr_print_struct(ndr
, "in", "lsa_QueryDomainInformationPolicy");
10426 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10428 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10430 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10433 if (flags
& NDR_OUT
) {
10434 ndr_print_struct(ndr
, "out", "lsa_QueryDomainInformationPolicy");
10436 ndr_print_ptr(ndr
, "info", r
->out
.info
);
10438 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
10440 if (*r
->out
.info
) {
10441 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
10442 ndr_print_lsa_DomainInformationPolicy(ndr
, "info", *r
->out
.info
);
10446 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10452 static enum ndr_err_code
ndr_push_lsa_SetDomainInformationPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_SetDomainInformationPolicy
*r
)
10454 if (flags
& NDR_IN
) {
10455 if (r
->in
.handle
== NULL
) {
10456 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10458 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10459 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10460 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.info
));
10462 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
10463 NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10466 if (flags
& NDR_OUT
) {
10467 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10469 return NDR_ERR_SUCCESS
;
10472 static enum ndr_err_code
ndr_pull_lsa_SetDomainInformationPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_SetDomainInformationPolicy
*r
)
10474 uint32_t _ptr_info
;
10475 TALLOC_CTX
*_mem_save_handle_0
;
10476 TALLOC_CTX
*_mem_save_info_0
;
10477 if (flags
& NDR_IN
) {
10478 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10479 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10481 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10482 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10483 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10484 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10485 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10486 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
10488 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
10493 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10494 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, 0);
10495 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
10496 NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
10497 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
10500 if (flags
& NDR_OUT
) {
10501 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10503 return NDR_ERR_SUCCESS
;
10506 _PUBLIC_
void ndr_print_lsa_SetDomainInformationPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetDomainInformationPolicy
*r
)
10508 ndr_print_struct(ndr
, name
, "lsa_SetDomainInformationPolicy");
10510 if (flags
& NDR_SET_VALUES
) {
10511 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10513 if (flags
& NDR_IN
) {
10514 ndr_print_struct(ndr
, "in", "lsa_SetDomainInformationPolicy");
10516 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10518 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10520 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10521 ndr_print_ptr(ndr
, "info", r
->in
.info
);
10524 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
10525 ndr_print_lsa_DomainInformationPolicy(ndr
, "info", r
->in
.info
);
10530 if (flags
& NDR_OUT
) {
10531 ndr_print_struct(ndr
, "out", "lsa_SetDomainInformationPolicy");
10533 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10539 static enum ndr_err_code
ndr_push_lsa_OpenTrustedDomainByName(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenTrustedDomainByName
*r
)
10541 if (flags
& NDR_IN
) {
10542 if (r
->in
.handle
== NULL
) {
10543 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10545 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10546 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
10547 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
10549 if (flags
& NDR_OUT
) {
10550 if (r
->out
.trustdom_handle
== NULL
) {
10551 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10553 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
10554 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10556 return NDR_ERR_SUCCESS
;
10559 static enum ndr_err_code
ndr_pull_lsa_OpenTrustedDomainByName(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenTrustedDomainByName
*r
)
10561 TALLOC_CTX
*_mem_save_handle_0
;
10562 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
10563 if (flags
& NDR_IN
) {
10564 ZERO_STRUCT(r
->out
);
10566 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10567 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10569 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10570 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10571 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10572 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10573 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
10574 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
10575 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
10576 ZERO_STRUCTP(r
->out
.trustdom_handle
);
10578 if (flags
& NDR_OUT
) {
10579 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10580 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
10582 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10583 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
10584 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
10585 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10586 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10588 return NDR_ERR_SUCCESS
;
10591 _PUBLIC_
void ndr_print_lsa_OpenTrustedDomainByName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenTrustedDomainByName
*r
)
10593 ndr_print_struct(ndr
, name
, "lsa_OpenTrustedDomainByName");
10595 if (flags
& NDR_SET_VALUES
) {
10596 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10598 if (flags
& NDR_IN
) {
10599 ndr_print_struct(ndr
, "in", "lsa_OpenTrustedDomainByName");
10601 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10603 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10605 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
10606 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
10609 if (flags
& NDR_OUT
) {
10610 ndr_print_struct(ndr
, "out", "lsa_OpenTrustedDomainByName");
10612 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
10614 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
10616 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10622 static enum ndr_err_code
ndr_push_lsa_TestCall(struct ndr_push
*ndr
, int flags
, const struct lsa_TestCall
*r
)
10624 if (flags
& NDR_IN
) {
10626 if (flags
& NDR_OUT
) {
10627 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10629 return NDR_ERR_SUCCESS
;
10632 static enum ndr_err_code
ndr_pull_lsa_TestCall(struct ndr_pull
*ndr
, int flags
, struct lsa_TestCall
*r
)
10634 if (flags
& NDR_IN
) {
10636 if (flags
& NDR_OUT
) {
10637 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10639 return NDR_ERR_SUCCESS
;
10642 _PUBLIC_
void ndr_print_lsa_TestCall(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_TestCall
*r
)
10644 ndr_print_struct(ndr
, name
, "lsa_TestCall");
10646 if (flags
& NDR_SET_VALUES
) {
10647 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10649 if (flags
& NDR_IN
) {
10650 ndr_print_struct(ndr
, "in", "lsa_TestCall");
10654 if (flags
& NDR_OUT
) {
10655 ndr_print_struct(ndr
, "out", "lsa_TestCall");
10657 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10663 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupSids2(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupSids2
*r
)
10665 if (flags
& NDR_IN
) {
10666 if (r
->in
.handle
== NULL
) {
10667 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10669 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10670 if (r
->in
.sids
== NULL
) {
10671 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10673 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10674 if (r
->in
.names
== NULL
) {
10675 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10677 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
10678 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
10679 if (r
->in
.count
== NULL
) {
10680 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10682 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
10683 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
10684 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
10686 if (flags
& NDR_OUT
) {
10687 if (r
->out
.domains
== NULL
) {
10688 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10690 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
10691 if (*r
->out
.domains
) {
10692 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
10694 if (r
->out
.names
== NULL
) {
10695 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10697 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
10698 if (r
->out
.count
== NULL
) {
10699 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10701 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
10702 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10704 return NDR_ERR_SUCCESS
;
10707 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupSids2(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupSids2
*r
)
10709 uint32_t _ptr_domains
;
10710 TALLOC_CTX
*_mem_save_handle_0
;
10711 TALLOC_CTX
*_mem_save_sids_0
;
10712 TALLOC_CTX
*_mem_save_domains_0
;
10713 TALLOC_CTX
*_mem_save_domains_1
;
10714 TALLOC_CTX
*_mem_save_names_0
;
10715 TALLOC_CTX
*_mem_save_count_0
;
10716 if (flags
& NDR_IN
) {
10717 ZERO_STRUCT(r
->out
);
10719 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10720 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10722 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10723 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10724 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10725 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10726 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10727 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10729 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10730 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10731 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10732 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10733 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10734 NDR_PULL_ALLOC(ndr
, r
->in
.names
);
10736 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10737 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, LIBNDR_FLAG_REF_ALLOC
);
10738 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
10739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
10740 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10741 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10742 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
10744 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10745 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
10746 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
10747 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10748 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
10749 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
10750 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10751 ZERO_STRUCTP(r
->out
.domains
);
10752 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
10753 *r
->out
.names
= *r
->in
.names
;
10754 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10755 *r
->out
.count
= *r
->in
.count
;
10757 if (flags
& NDR_OUT
) {
10758 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10759 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10761 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10762 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
10763 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
10764 if (_ptr_domains
) {
10765 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
10767 *r
->out
.domains
= NULL
;
10769 if (*r
->out
.domains
) {
10770 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10771 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
10772 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
10773 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
10775 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
10776 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10777 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
10779 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10780 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
10781 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
10782 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
10783 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10784 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10786 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10787 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
10788 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
10789 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10790 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10792 return NDR_ERR_SUCCESS
;
10795 _PUBLIC_
void ndr_print_lsa_LookupSids2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupSids2
*r
)
10797 ndr_print_struct(ndr
, name
, "lsa_LookupSids2");
10799 if (flags
& NDR_SET_VALUES
) {
10800 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10802 if (flags
& NDR_IN
) {
10803 ndr_print_struct(ndr
, "in", "lsa_LookupSids2");
10805 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10807 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10809 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10811 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10813 ndr_print_ptr(ndr
, "names", r
->in
.names
);
10815 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->in
.names
);
10817 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10818 ndr_print_ptr(ndr
, "count", r
->in
.count
);
10820 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
10822 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
10823 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
10826 if (flags
& NDR_OUT
) {
10827 ndr_print_struct(ndr
, "out", "lsa_LookupSids2");
10829 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
10831 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
10833 if (*r
->out
.domains
) {
10834 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
10838 ndr_print_ptr(ndr
, "names", r
->out
.names
);
10840 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->out
.names
);
10842 ndr_print_ptr(ndr
, "count", r
->out
.count
);
10844 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
10846 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10852 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupNames2(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames2
*r
)
10854 uint32_t cntr_names_0
;
10855 if (flags
& NDR_IN
) {
10856 if (r
->in
.handle
== NULL
) {
10857 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10859 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10860 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
10861 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
10862 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10863 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
10865 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10866 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
10868 if (r
->in
.sids
== NULL
) {
10869 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10871 NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10872 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
10873 if (r
->in
.count
== NULL
) {
10874 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10876 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
10877 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.lookup_options
));
10878 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.client_revision
));
10880 if (flags
& NDR_OUT
) {
10881 if (r
->out
.domains
== NULL
) {
10882 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10884 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
10885 if (*r
->out
.domains
) {
10886 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
10888 if (r
->out
.sids
== NULL
) {
10889 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10891 NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
10892 if (r
->out
.count
== NULL
) {
10893 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10895 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
10896 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10898 return NDR_ERR_SUCCESS
;
10901 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupNames2(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames2
*r
)
10903 uint32_t cntr_names_0
;
10904 uint32_t _ptr_domains
;
10905 TALLOC_CTX
*_mem_save_handle_0
;
10906 TALLOC_CTX
*_mem_save_names_0
;
10907 TALLOC_CTX
*_mem_save_domains_0
;
10908 TALLOC_CTX
*_mem_save_domains_1
;
10909 TALLOC_CTX
*_mem_save_sids_0
;
10910 TALLOC_CTX
*_mem_save_count_0
;
10911 if (flags
& NDR_IN
) {
10912 ZERO_STRUCT(r
->out
);
10914 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10915 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10917 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10918 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10919 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
10920 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10921 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
10922 if (r
->in
.num_names
> 1000) {
10923 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
10925 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
10926 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
10927 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10928 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
10929 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10930 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
10932 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10933 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
10935 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
10936 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10937 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10939 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10940 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10941 NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10942 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10943 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
10944 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10945 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
10947 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10948 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
10949 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
10950 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10951 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.lookup_options
));
10952 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.client_revision
));
10953 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10954 ZERO_STRUCTP(r
->out
.domains
);
10955 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
10956 *r
->out
.sids
= *r
->in
.sids
;
10957 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10958 *r
->out
.count
= *r
->in
.count
;
10960 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
10963 if (flags
& NDR_OUT
) {
10964 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10965 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10967 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10968 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
10969 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
10970 if (_ptr_domains
) {
10971 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
10973 *r
->out
.domains
= NULL
;
10975 if (*r
->out
.domains
) {
10976 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10977 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
10978 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
10979 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
10981 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
10982 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10983 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
10985 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10986 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10987 NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
10988 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10989 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10990 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10992 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10993 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
10994 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
10995 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10996 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10998 return NDR_ERR_SUCCESS
;
11001 _PUBLIC_
void ndr_print_lsa_LookupNames2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames2
*r
)
11003 uint32_t cntr_names_0
;
11004 ndr_print_struct(ndr
, name
, "lsa_LookupNames2");
11006 if (flags
& NDR_SET_VALUES
) {
11007 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11009 if (flags
& NDR_IN
) {
11010 ndr_print_struct(ndr
, "in", "lsa_LookupNames2");
11012 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11014 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11016 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
11017 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
11019 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
11021 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
11022 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
11027 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
11029 ndr_print_lsa_TransSidArray2(ndr
, "sids", r
->in
.sids
);
11031 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
11032 ndr_print_ptr(ndr
, "count", r
->in
.count
);
11034 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
11036 ndr_print_uint32(ndr
, "lookup_options", r
->in
.lookup_options
);
11037 ndr_print_uint32(ndr
, "client_revision", r
->in
.client_revision
);
11040 if (flags
& NDR_OUT
) {
11041 ndr_print_struct(ndr
, "out", "lsa_LookupNames2");
11043 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
11045 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
11047 if (*r
->out
.domains
) {
11048 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
11052 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
11054 ndr_print_lsa_TransSidArray2(ndr
, "sids", r
->out
.sids
);
11056 ndr_print_ptr(ndr
, "count", r
->out
.count
);
11058 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
11060 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11066 static enum ndr_err_code
ndr_push_lsa_CreateTrustedDomainEx2(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateTrustedDomainEx2
*r
)
11068 if (flags
& NDR_IN
) {
11069 if (r
->in
.policy_handle
== NULL
) {
11070 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11072 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
11073 if (r
->in
.info
== NULL
) {
11074 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11076 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11077 if (r
->in
.auth_info
== NULL
) {
11078 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11080 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.auth_info
));
11081 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
11083 if (flags
& NDR_OUT
) {
11084 if (r
->out
.trustdom_handle
== NULL
) {
11085 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11087 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
11088 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11090 return NDR_ERR_SUCCESS
;
11093 static enum ndr_err_code
ndr_pull_lsa_CreateTrustedDomainEx2(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateTrustedDomainEx2
*r
)
11095 TALLOC_CTX
*_mem_save_policy_handle_0
;
11096 TALLOC_CTX
*_mem_save_info_0
;
11097 TALLOC_CTX
*_mem_save_auth_info_0
;
11098 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
11099 if (flags
& NDR_IN
) {
11100 ZERO_STRUCT(r
->out
);
11102 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11103 NDR_PULL_ALLOC(ndr
, r
->in
.policy_handle
);
11105 _mem_save_policy_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11106 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.policy_handle
, LIBNDR_FLAG_REF_ALLOC
);
11107 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.policy_handle
));
11108 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_policy_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11109 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11110 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
11112 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11113 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
11114 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
11115 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11116 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11117 NDR_PULL_ALLOC(ndr
, r
->in
.auth_info
);
11119 _mem_save_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11120 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.auth_info
, LIBNDR_FLAG_REF_ALLOC
);
11121 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfoInternal(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.auth_info
));
11122 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_auth_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11123 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
11124 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
11125 ZERO_STRUCTP(r
->out
.trustdom_handle
);
11127 if (flags
& NDR_OUT
) {
11128 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11129 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
11131 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11132 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
11133 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.trustdom_handle
));
11134 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11135 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11137 return NDR_ERR_SUCCESS
;
11140 _PUBLIC_
void ndr_print_lsa_CreateTrustedDomainEx2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateTrustedDomainEx2
*r
)
11142 ndr_print_struct(ndr
, name
, "lsa_CreateTrustedDomainEx2");
11144 if (flags
& NDR_SET_VALUES
) {
11145 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11147 if (flags
& NDR_IN
) {
11148 ndr_print_struct(ndr
, "in", "lsa_CreateTrustedDomainEx2");
11150 ndr_print_ptr(ndr
, "policy_handle", r
->in
.policy_handle
);
11152 ndr_print_policy_handle(ndr
, "policy_handle", r
->in
.policy_handle
);
11154 ndr_print_ptr(ndr
, "info", r
->in
.info
);
11156 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info", r
->in
.info
);
11158 ndr_print_ptr(ndr
, "auth_info", r
->in
.auth_info
);
11160 ndr_print_lsa_TrustDomainInfoAuthInfoInternal(ndr
, "auth_info", r
->in
.auth_info
);
11162 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
11165 if (flags
& NDR_OUT
) {
11166 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomainEx2");
11168 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11170 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
11172 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11178 static enum ndr_err_code
ndr_push_lsa_CREDRWRITE(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRWRITE
*r
)
11180 if (flags
& NDR_IN
) {
11182 if (flags
& NDR_OUT
) {
11183 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11185 return NDR_ERR_SUCCESS
;
11188 static enum ndr_err_code
ndr_pull_lsa_CREDRWRITE(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRWRITE
*r
)
11190 if (flags
& NDR_IN
) {
11192 if (flags
& NDR_OUT
) {
11193 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11195 return NDR_ERR_SUCCESS
;
11198 _PUBLIC_
void ndr_print_lsa_CREDRWRITE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRWRITE
*r
)
11200 ndr_print_struct(ndr
, name
, "lsa_CREDRWRITE");
11202 if (flags
& NDR_SET_VALUES
) {
11203 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11205 if (flags
& NDR_IN
) {
11206 ndr_print_struct(ndr
, "in", "lsa_CREDRWRITE");
11210 if (flags
& NDR_OUT
) {
11211 ndr_print_struct(ndr
, "out", "lsa_CREDRWRITE");
11213 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11219 static enum ndr_err_code
ndr_push_lsa_CREDRREAD(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRREAD
*r
)
11221 if (flags
& NDR_IN
) {
11223 if (flags
& NDR_OUT
) {
11224 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11226 return NDR_ERR_SUCCESS
;
11229 static enum ndr_err_code
ndr_pull_lsa_CREDRREAD(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRREAD
*r
)
11231 if (flags
& NDR_IN
) {
11233 if (flags
& NDR_OUT
) {
11234 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11236 return NDR_ERR_SUCCESS
;
11239 _PUBLIC_
void ndr_print_lsa_CREDRREAD(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRREAD
*r
)
11241 ndr_print_struct(ndr
, name
, "lsa_CREDRREAD");
11243 if (flags
& NDR_SET_VALUES
) {
11244 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11246 if (flags
& NDR_IN
) {
11247 ndr_print_struct(ndr
, "in", "lsa_CREDRREAD");
11251 if (flags
& NDR_OUT
) {
11252 ndr_print_struct(ndr
, "out", "lsa_CREDRREAD");
11254 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11260 static enum ndr_err_code
ndr_push_lsa_CREDRENUMERATE(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRENUMERATE
*r
)
11262 if (flags
& NDR_IN
) {
11264 if (flags
& NDR_OUT
) {
11265 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11267 return NDR_ERR_SUCCESS
;
11270 static enum ndr_err_code
ndr_pull_lsa_CREDRENUMERATE(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRENUMERATE
*r
)
11272 if (flags
& NDR_IN
) {
11274 if (flags
& NDR_OUT
) {
11275 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11277 return NDR_ERR_SUCCESS
;
11280 _PUBLIC_
void ndr_print_lsa_CREDRENUMERATE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRENUMERATE
*r
)
11282 ndr_print_struct(ndr
, name
, "lsa_CREDRENUMERATE");
11284 if (flags
& NDR_SET_VALUES
) {
11285 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11287 if (flags
& NDR_IN
) {
11288 ndr_print_struct(ndr
, "in", "lsa_CREDRENUMERATE");
11292 if (flags
& NDR_OUT
) {
11293 ndr_print_struct(ndr
, "out", "lsa_CREDRENUMERATE");
11295 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11301 static enum ndr_err_code
ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRWRITEDOMAINCREDENTIALS
*r
)
11303 if (flags
& NDR_IN
) {
11305 if (flags
& NDR_OUT
) {
11306 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11308 return NDR_ERR_SUCCESS
;
11311 static enum ndr_err_code
ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRWRITEDOMAINCREDENTIALS
*r
)
11313 if (flags
& NDR_IN
) {
11315 if (flags
& NDR_OUT
) {
11316 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11318 return NDR_ERR_SUCCESS
;
11321 _PUBLIC_
void ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRWRITEDOMAINCREDENTIALS
*r
)
11323 ndr_print_struct(ndr
, name
, "lsa_CREDRWRITEDOMAINCREDENTIALS");
11325 if (flags
& NDR_SET_VALUES
) {
11326 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11328 if (flags
& NDR_IN
) {
11329 ndr_print_struct(ndr
, "in", "lsa_CREDRWRITEDOMAINCREDENTIALS");
11333 if (flags
& NDR_OUT
) {
11334 ndr_print_struct(ndr
, "out", "lsa_CREDRWRITEDOMAINCREDENTIALS");
11336 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11342 static enum ndr_err_code
ndr_push_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRREADDOMAINCREDENTIALS
*r
)
11344 if (flags
& NDR_IN
) {
11346 if (flags
& NDR_OUT
) {
11347 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11349 return NDR_ERR_SUCCESS
;
11352 static enum ndr_err_code
ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRREADDOMAINCREDENTIALS
*r
)
11354 if (flags
& NDR_IN
) {
11356 if (flags
& NDR_OUT
) {
11357 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11359 return NDR_ERR_SUCCESS
;
11362 _PUBLIC_
void ndr_print_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRREADDOMAINCREDENTIALS
*r
)
11364 ndr_print_struct(ndr
, name
, "lsa_CREDRREADDOMAINCREDENTIALS");
11366 if (flags
& NDR_SET_VALUES
) {
11367 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11369 if (flags
& NDR_IN
) {
11370 ndr_print_struct(ndr
, "in", "lsa_CREDRREADDOMAINCREDENTIALS");
11374 if (flags
& NDR_OUT
) {
11375 ndr_print_struct(ndr
, "out", "lsa_CREDRREADDOMAINCREDENTIALS");
11377 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11383 static enum ndr_err_code
ndr_push_lsa_CREDRDELETE(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRDELETE
*r
)
11385 if (flags
& NDR_IN
) {
11387 if (flags
& NDR_OUT
) {
11388 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11390 return NDR_ERR_SUCCESS
;
11393 static enum ndr_err_code
ndr_pull_lsa_CREDRDELETE(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRDELETE
*r
)
11395 if (flags
& NDR_IN
) {
11397 if (flags
& NDR_OUT
) {
11398 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11400 return NDR_ERR_SUCCESS
;
11403 _PUBLIC_
void ndr_print_lsa_CREDRDELETE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRDELETE
*r
)
11405 ndr_print_struct(ndr
, name
, "lsa_CREDRDELETE");
11407 if (flags
& NDR_SET_VALUES
) {
11408 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11410 if (flags
& NDR_IN
) {
11411 ndr_print_struct(ndr
, "in", "lsa_CREDRDELETE");
11415 if (flags
& NDR_OUT
) {
11416 ndr_print_struct(ndr
, "out", "lsa_CREDRDELETE");
11418 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11424 static enum ndr_err_code
ndr_push_lsa_CREDRGETTARGETINFO(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRGETTARGETINFO
*r
)
11426 if (flags
& NDR_IN
) {
11428 if (flags
& NDR_OUT
) {
11429 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11431 return NDR_ERR_SUCCESS
;
11434 static enum ndr_err_code
ndr_pull_lsa_CREDRGETTARGETINFO(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRGETTARGETINFO
*r
)
11436 if (flags
& NDR_IN
) {
11438 if (flags
& NDR_OUT
) {
11439 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11441 return NDR_ERR_SUCCESS
;
11444 _PUBLIC_
void ndr_print_lsa_CREDRGETTARGETINFO(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRGETTARGETINFO
*r
)
11446 ndr_print_struct(ndr
, name
, "lsa_CREDRGETTARGETINFO");
11448 if (flags
& NDR_SET_VALUES
) {
11449 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11451 if (flags
& NDR_IN
) {
11452 ndr_print_struct(ndr
, "in", "lsa_CREDRGETTARGETINFO");
11456 if (flags
& NDR_OUT
) {
11457 ndr_print_struct(ndr
, "out", "lsa_CREDRGETTARGETINFO");
11459 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11465 static enum ndr_err_code
ndr_push_lsa_CREDRPROFILELOADED(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRPROFILELOADED
*r
)
11467 if (flags
& NDR_IN
) {
11469 if (flags
& NDR_OUT
) {
11470 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11472 return NDR_ERR_SUCCESS
;
11475 static enum ndr_err_code
ndr_pull_lsa_CREDRPROFILELOADED(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRPROFILELOADED
*r
)
11477 if (flags
& NDR_IN
) {
11479 if (flags
& NDR_OUT
) {
11480 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11482 return NDR_ERR_SUCCESS
;
11485 _PUBLIC_
void ndr_print_lsa_CREDRPROFILELOADED(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRPROFILELOADED
*r
)
11487 ndr_print_struct(ndr
, name
, "lsa_CREDRPROFILELOADED");
11489 if (flags
& NDR_SET_VALUES
) {
11490 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11492 if (flags
& NDR_IN
) {
11493 ndr_print_struct(ndr
, "in", "lsa_CREDRPROFILELOADED");
11497 if (flags
& NDR_OUT
) {
11498 ndr_print_struct(ndr
, "out", "lsa_CREDRPROFILELOADED");
11500 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11506 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupNames3(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames3
*r
)
11508 uint32_t cntr_names_0
;
11509 if (flags
& NDR_IN
) {
11510 if (r
->in
.handle
== NULL
) {
11511 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11513 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11514 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
11515 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
11516 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11517 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
11519 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11520 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
11522 if (r
->in
.sids
== NULL
) {
11523 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11525 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11526 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
11527 if (r
->in
.count
== NULL
) {
11528 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11530 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
11531 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.lookup_options
));
11532 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.client_revision
));
11534 if (flags
& NDR_OUT
) {
11535 if (r
->out
.domains
== NULL
) {
11536 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11538 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
11539 if (*r
->out
.domains
) {
11540 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11542 if (r
->out
.sids
== NULL
) {
11543 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11545 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
11546 if (r
->out
.count
== NULL
) {
11547 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11549 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
11550 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11552 return NDR_ERR_SUCCESS
;
11555 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupNames3(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames3
*r
)
11557 uint32_t cntr_names_0
;
11558 uint32_t _ptr_domains
;
11559 TALLOC_CTX
*_mem_save_handle_0
;
11560 TALLOC_CTX
*_mem_save_names_0
;
11561 TALLOC_CTX
*_mem_save_domains_0
;
11562 TALLOC_CTX
*_mem_save_domains_1
;
11563 TALLOC_CTX
*_mem_save_sids_0
;
11564 TALLOC_CTX
*_mem_save_count_0
;
11565 if (flags
& NDR_IN
) {
11566 ZERO_STRUCT(r
->out
);
11568 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11569 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
11571 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11572 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
11573 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11574 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11575 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
11576 if (r
->in
.num_names
> 1000) {
11577 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11579 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
11580 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
11581 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11582 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
11583 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11584 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
11586 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11587 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
11589 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
11590 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11591 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
11593 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11594 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
11595 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11596 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
11597 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
11598 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11599 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
11601 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11602 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
11603 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
11604 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11605 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.lookup_options
));
11606 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.client_revision
));
11607 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11608 ZERO_STRUCTP(r
->out
.domains
);
11609 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
11610 *r
->out
.sids
= *r
->in
.sids
;
11611 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11612 *r
->out
.count
= *r
->in
.count
;
11614 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
11617 if (flags
& NDR_OUT
) {
11618 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11619 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11621 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11622 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
11623 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
11624 if (_ptr_domains
) {
11625 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
11627 *r
->out
.domains
= NULL
;
11629 if (*r
->out
.domains
) {
11630 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11631 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
11632 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11633 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
11635 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
11636 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11637 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
11639 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11640 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
11641 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
11642 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
11643 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11644 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11646 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11647 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
11648 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
11649 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11650 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11652 return NDR_ERR_SUCCESS
;
11655 _PUBLIC_
void ndr_print_lsa_LookupNames3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames3
*r
)
11657 uint32_t cntr_names_0
;
11658 ndr_print_struct(ndr
, name
, "lsa_LookupNames3");
11660 if (flags
& NDR_SET_VALUES
) {
11661 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11663 if (flags
& NDR_IN
) {
11664 ndr_print_struct(ndr
, "in", "lsa_LookupNames3");
11666 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11668 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11670 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
11671 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
11673 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
11675 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
11676 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
11681 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
11683 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->in
.sids
);
11685 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
11686 ndr_print_ptr(ndr
, "count", r
->in
.count
);
11688 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
11690 ndr_print_uint32(ndr
, "lookup_options", r
->in
.lookup_options
);
11691 ndr_print_uint32(ndr
, "client_revision", r
->in
.client_revision
);
11694 if (flags
& NDR_OUT
) {
11695 ndr_print_struct(ndr
, "out", "lsa_LookupNames3");
11697 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
11699 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
11701 if (*r
->out
.domains
) {
11702 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
11706 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
11708 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->out
.sids
);
11710 ndr_print_ptr(ndr
, "count", r
->out
.count
);
11712 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
11714 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11720 static enum ndr_err_code
ndr_push_lsa_CREDRGETSESSIONTYPES(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRGETSESSIONTYPES
*r
)
11722 if (flags
& NDR_IN
) {
11724 if (flags
& NDR_OUT
) {
11725 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11727 return NDR_ERR_SUCCESS
;
11730 static enum ndr_err_code
ndr_pull_lsa_CREDRGETSESSIONTYPES(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRGETSESSIONTYPES
*r
)
11732 if (flags
& NDR_IN
) {
11734 if (flags
& NDR_OUT
) {
11735 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11737 return NDR_ERR_SUCCESS
;
11740 _PUBLIC_
void ndr_print_lsa_CREDRGETSESSIONTYPES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRGETSESSIONTYPES
*r
)
11742 ndr_print_struct(ndr
, name
, "lsa_CREDRGETSESSIONTYPES");
11744 if (flags
& NDR_SET_VALUES
) {
11745 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11747 if (flags
& NDR_IN
) {
11748 ndr_print_struct(ndr
, "in", "lsa_CREDRGETSESSIONTYPES");
11752 if (flags
& NDR_OUT
) {
11753 ndr_print_struct(ndr
, "out", "lsa_CREDRGETSESSIONTYPES");
11755 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11761 static enum ndr_err_code
ndr_push_lsa_LSARREGISTERAUDITEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARREGISTERAUDITEVENT
*r
)
11763 if (flags
& NDR_IN
) {
11765 if (flags
& NDR_OUT
) {
11766 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11768 return NDR_ERR_SUCCESS
;
11771 static enum ndr_err_code
ndr_pull_lsa_LSARREGISTERAUDITEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARREGISTERAUDITEVENT
*r
)
11773 if (flags
& NDR_IN
) {
11775 if (flags
& NDR_OUT
) {
11776 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11778 return NDR_ERR_SUCCESS
;
11781 _PUBLIC_
void ndr_print_lsa_LSARREGISTERAUDITEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARREGISTERAUDITEVENT
*r
)
11783 ndr_print_struct(ndr
, name
, "lsa_LSARREGISTERAUDITEVENT");
11785 if (flags
& NDR_SET_VALUES
) {
11786 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11788 if (flags
& NDR_IN
) {
11789 ndr_print_struct(ndr
, "in", "lsa_LSARREGISTERAUDITEVENT");
11793 if (flags
& NDR_OUT
) {
11794 ndr_print_struct(ndr
, "out", "lsa_LSARREGISTERAUDITEVENT");
11796 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11802 static enum ndr_err_code
ndr_push_lsa_LSARGENAUDITEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARGENAUDITEVENT
*r
)
11804 if (flags
& NDR_IN
) {
11806 if (flags
& NDR_OUT
) {
11807 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11809 return NDR_ERR_SUCCESS
;
11812 static enum ndr_err_code
ndr_pull_lsa_LSARGENAUDITEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARGENAUDITEVENT
*r
)
11814 if (flags
& NDR_IN
) {
11816 if (flags
& NDR_OUT
) {
11817 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11819 return NDR_ERR_SUCCESS
;
11822 _PUBLIC_
void ndr_print_lsa_LSARGENAUDITEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARGENAUDITEVENT
*r
)
11824 ndr_print_struct(ndr
, name
, "lsa_LSARGENAUDITEVENT");
11826 if (flags
& NDR_SET_VALUES
) {
11827 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11829 if (flags
& NDR_IN
) {
11830 ndr_print_struct(ndr
, "in", "lsa_LSARGENAUDITEVENT");
11834 if (flags
& NDR_OUT
) {
11835 ndr_print_struct(ndr
, "out", "lsa_LSARGENAUDITEVENT");
11837 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11843 static enum ndr_err_code
ndr_push_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARUNREGISTERAUDITEVENT
*r
)
11845 if (flags
& NDR_IN
) {
11847 if (flags
& NDR_OUT
) {
11848 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11850 return NDR_ERR_SUCCESS
;
11853 static enum ndr_err_code
ndr_pull_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARUNREGISTERAUDITEVENT
*r
)
11855 if (flags
& NDR_IN
) {
11857 if (flags
& NDR_OUT
) {
11858 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11860 return NDR_ERR_SUCCESS
;
11863 _PUBLIC_
void ndr_print_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARUNREGISTERAUDITEVENT
*r
)
11865 ndr_print_struct(ndr
, name
, "lsa_LSARUNREGISTERAUDITEVENT");
11867 if (flags
& NDR_SET_VALUES
) {
11868 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11870 if (flags
& NDR_IN
) {
11871 ndr_print_struct(ndr
, "in", "lsa_LSARUNREGISTERAUDITEVENT");
11875 if (flags
& NDR_OUT
) {
11876 ndr_print_struct(ndr
, "out", "lsa_LSARUNREGISTERAUDITEVENT");
11878 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11884 static enum ndr_err_code
ndr_push_lsa_lsaRQueryForestTrustInformation(struct ndr_push
*ndr
, int flags
, const struct lsa_lsaRQueryForestTrustInformation
*r
)
11886 if (flags
& NDR_IN
) {
11887 if (r
->in
.handle
== NULL
) {
11888 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11890 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11891 if (r
->in
.trusted_domain_name
== NULL
) {
11892 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11894 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain_name
));
11895 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.unknown
));
11897 if (flags
& NDR_OUT
) {
11898 if (r
->out
.forest_trust_info
== NULL
) {
11899 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11901 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.forest_trust_info
));
11902 if (*r
->out
.forest_trust_info
) {
11903 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.forest_trust_info
));
11905 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11907 return NDR_ERR_SUCCESS
;
11910 static enum ndr_err_code
ndr_pull_lsa_lsaRQueryForestTrustInformation(struct ndr_pull
*ndr
, int flags
, struct lsa_lsaRQueryForestTrustInformation
*r
)
11912 uint32_t _ptr_forest_trust_info
;
11913 TALLOC_CTX
*_mem_save_handle_0
;
11914 TALLOC_CTX
*_mem_save_trusted_domain_name_0
;
11915 TALLOC_CTX
*_mem_save_forest_trust_info_0
;
11916 TALLOC_CTX
*_mem_save_forest_trust_info_1
;
11917 if (flags
& NDR_IN
) {
11918 ZERO_STRUCT(r
->out
);
11920 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11921 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
11923 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11924 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
11925 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.handle
));
11926 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11927 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11928 NDR_PULL_ALLOC(ndr
, r
->in
.trusted_domain_name
);
11930 _mem_save_trusted_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11931 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trusted_domain_name
, LIBNDR_FLAG_REF_ALLOC
);
11932 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain_name
));
11933 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trusted_domain_name_0
, LIBNDR_FLAG_REF_ALLOC
);
11934 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
11935 NDR_PULL_ALLOC(ndr
, r
->out
.forest_trust_info
);
11936 ZERO_STRUCTP(r
->out
.forest_trust_info
);
11938 if (flags
& NDR_OUT
) {
11939 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11940 NDR_PULL_ALLOC(ndr
, r
->out
.forest_trust_info
);
11942 _mem_save_forest_trust_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11943 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.forest_trust_info
, LIBNDR_FLAG_REF_ALLOC
);
11944 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_forest_trust_info
));
11945 if (_ptr_forest_trust_info
) {
11946 NDR_PULL_ALLOC(ndr
, *r
->out
.forest_trust_info
);
11948 *r
->out
.forest_trust_info
= NULL
;
11950 if (*r
->out
.forest_trust_info
) {
11951 _mem_save_forest_trust_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11952 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.forest_trust_info
, 0);
11953 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.forest_trust_info
));
11954 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_forest_trust_info_1
, 0);
11956 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_forest_trust_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11957 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11959 return NDR_ERR_SUCCESS
;
11962 _PUBLIC_
void ndr_print_lsa_lsaRQueryForestTrustInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_lsaRQueryForestTrustInformation
*r
)
11964 ndr_print_struct(ndr
, name
, "lsa_lsaRQueryForestTrustInformation");
11966 if (flags
& NDR_SET_VALUES
) {
11967 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11969 if (flags
& NDR_IN
) {
11970 ndr_print_struct(ndr
, "in", "lsa_lsaRQueryForestTrustInformation");
11972 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11974 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11976 ndr_print_ptr(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
11978 ndr_print_lsa_String(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
11980 ndr_print_uint16(ndr
, "unknown", r
->in
.unknown
);
11983 if (flags
& NDR_OUT
) {
11984 ndr_print_struct(ndr
, "out", "lsa_lsaRQueryForestTrustInformation");
11986 ndr_print_ptr(ndr
, "forest_trust_info", r
->out
.forest_trust_info
);
11988 ndr_print_ptr(ndr
, "forest_trust_info", *r
->out
.forest_trust_info
);
11990 if (*r
->out
.forest_trust_info
) {
11991 ndr_print_lsa_ForestTrustInformation(ndr
, "forest_trust_info", *r
->out
.forest_trust_info
);
11995 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12001 static enum ndr_err_code
ndr_push_lsa_LSARSETFORESTTRUSTINFORMATION(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARSETFORESTTRUSTINFORMATION
*r
)
12003 if (flags
& NDR_IN
) {
12005 if (flags
& NDR_OUT
) {
12006 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12008 return NDR_ERR_SUCCESS
;
12011 static enum ndr_err_code
ndr_pull_lsa_LSARSETFORESTTRUSTINFORMATION(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARSETFORESTTRUSTINFORMATION
*r
)
12013 if (flags
& NDR_IN
) {
12015 if (flags
& NDR_OUT
) {
12016 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12018 return NDR_ERR_SUCCESS
;
12021 _PUBLIC_
void ndr_print_lsa_LSARSETFORESTTRUSTINFORMATION(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARSETFORESTTRUSTINFORMATION
*r
)
12023 ndr_print_struct(ndr
, name
, "lsa_LSARSETFORESTTRUSTINFORMATION");
12025 if (flags
& NDR_SET_VALUES
) {
12026 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12028 if (flags
& NDR_IN
) {
12029 ndr_print_struct(ndr
, "in", "lsa_LSARSETFORESTTRUSTINFORMATION");
12033 if (flags
& NDR_OUT
) {
12034 ndr_print_struct(ndr
, "out", "lsa_LSARSETFORESTTRUSTINFORMATION");
12036 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12042 static enum ndr_err_code
ndr_push_lsa_CREDRRENAME(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRRENAME
*r
)
12044 if (flags
& NDR_IN
) {
12046 if (flags
& NDR_OUT
) {
12047 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12049 return NDR_ERR_SUCCESS
;
12052 static enum ndr_err_code
ndr_pull_lsa_CREDRRENAME(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRRENAME
*r
)
12054 if (flags
& NDR_IN
) {
12056 if (flags
& NDR_OUT
) {
12057 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12059 return NDR_ERR_SUCCESS
;
12062 _PUBLIC_
void ndr_print_lsa_CREDRRENAME(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRRENAME
*r
)
12064 ndr_print_struct(ndr
, name
, "lsa_CREDRRENAME");
12066 if (flags
& NDR_SET_VALUES
) {
12067 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12069 if (flags
& NDR_IN
) {
12070 ndr_print_struct(ndr
, "in", "lsa_CREDRRENAME");
12074 if (flags
& NDR_OUT
) {
12075 ndr_print_struct(ndr
, "out", "lsa_CREDRRENAME");
12077 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12083 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupSids3(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupSids3
*r
)
12085 if (flags
& NDR_IN
) {
12086 if (r
->in
.sids
== NULL
) {
12087 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12089 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
12090 if (r
->in
.names
== NULL
) {
12091 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12093 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
12094 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
12095 if (r
->in
.count
== NULL
) {
12096 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12098 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
12099 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
12100 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
12102 if (flags
& NDR_OUT
) {
12103 if (r
->out
.domains
== NULL
) {
12104 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12106 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
12107 if (*r
->out
.domains
) {
12108 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
12110 if (r
->out
.names
== NULL
) {
12111 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12113 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
12114 if (r
->out
.count
== NULL
) {
12115 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12117 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
12118 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12120 return NDR_ERR_SUCCESS
;
12123 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupSids3(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupSids3
*r
)
12125 uint32_t _ptr_domains
;
12126 TALLOC_CTX
*_mem_save_sids_0
;
12127 TALLOC_CTX
*_mem_save_domains_0
;
12128 TALLOC_CTX
*_mem_save_domains_1
;
12129 TALLOC_CTX
*_mem_save_names_0
;
12130 TALLOC_CTX
*_mem_save_count_0
;
12131 if (flags
& NDR_IN
) {
12132 ZERO_STRUCT(r
->out
);
12134 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12135 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
12137 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12138 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
12139 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
12140 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
12141 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12142 NDR_PULL_ALLOC(ndr
, r
->in
.names
);
12144 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12145 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, LIBNDR_FLAG_REF_ALLOC
);
12146 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
12147 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
12148 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
12149 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12150 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
12152 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12153 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
12154 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
12155 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
12156 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
12157 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
12158 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
12159 ZERO_STRUCTP(r
->out
.domains
);
12160 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
12161 *r
->out
.names
= *r
->in
.names
;
12162 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
12163 *r
->out
.count
= *r
->in
.count
;
12165 if (flags
& NDR_OUT
) {
12166 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12167 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
12169 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12170 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
12171 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
12172 if (_ptr_domains
) {
12173 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
12175 *r
->out
.domains
= NULL
;
12177 if (*r
->out
.domains
) {
12178 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12179 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
12180 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
12181 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
12183 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
12184 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12185 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
12187 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12188 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
12189 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
12190 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
12191 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12192 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
12194 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12195 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
12196 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
12197 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
12198 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12200 return NDR_ERR_SUCCESS
;
12203 _PUBLIC_
void ndr_print_lsa_LookupSids3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupSids3
*r
)
12205 ndr_print_struct(ndr
, name
, "lsa_LookupSids3");
12207 if (flags
& NDR_SET_VALUES
) {
12208 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12210 if (flags
& NDR_IN
) {
12211 ndr_print_struct(ndr
, "in", "lsa_LookupSids3");
12213 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
12215 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
12217 ndr_print_ptr(ndr
, "names", r
->in
.names
);
12219 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->in
.names
);
12221 ndr_print_uint16(ndr
, "level", r
->in
.level
);
12222 ndr_print_ptr(ndr
, "count", r
->in
.count
);
12224 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
12226 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
12227 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
12230 if (flags
& NDR_OUT
) {
12231 ndr_print_struct(ndr
, "out", "lsa_LookupSids3");
12233 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
12235 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
12237 if (*r
->out
.domains
) {
12238 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
12242 ndr_print_ptr(ndr
, "names", r
->out
.names
);
12244 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->out
.names
);
12246 ndr_print_ptr(ndr
, "count", r
->out
.count
);
12248 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
12250 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12256 static enum ndr_err_code
ndr_push_lsa_LookupNames4(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames4
*r
)
12258 uint32_t cntr_names_0
;
12259 if (flags
& NDR_IN
) {
12260 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
12261 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
12262 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
12263 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
12265 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
12266 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
12268 if (r
->in
.sids
== NULL
) {
12269 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12271 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
12272 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
12273 if (r
->in
.count
== NULL
) {
12274 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12276 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
12277 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.lookup_options
));
12278 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.client_revision
));
12280 if (flags
& NDR_OUT
) {
12281 if (r
->out
.domains
== NULL
) {
12282 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12284 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
12285 if (*r
->out
.domains
) {
12286 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
12288 if (r
->out
.sids
== NULL
) {
12289 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12291 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
12292 if (r
->out
.count
== NULL
) {
12293 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
12295 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
12296 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12298 return NDR_ERR_SUCCESS
;
12301 static enum ndr_err_code
ndr_pull_lsa_LookupNames4(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames4
*r
)
12303 uint32_t cntr_names_0
;
12304 uint32_t _ptr_domains
;
12305 TALLOC_CTX
*_mem_save_names_0
;
12306 TALLOC_CTX
*_mem_save_domains_0
;
12307 TALLOC_CTX
*_mem_save_domains_1
;
12308 TALLOC_CTX
*_mem_save_sids_0
;
12309 TALLOC_CTX
*_mem_save_count_0
;
12310 if (flags
& NDR_IN
) {
12311 ZERO_STRUCT(r
->out
);
12313 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
12314 if (r
->in
.num_names
> 1000) {
12315 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12317 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
12318 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
12319 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12320 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
12321 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
12322 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
12324 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
12325 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
12327 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
12328 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12329 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
12331 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12332 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
12333 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
12334 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
12335 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
12336 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12337 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
12339 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12340 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
12341 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
12342 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
12343 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.lookup_options
));
12344 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.client_revision
));
12345 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
12346 ZERO_STRUCTP(r
->out
.domains
);
12347 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
12348 *r
->out
.sids
= *r
->in
.sids
;
12349 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
12350 *r
->out
.count
= *r
->in
.count
;
12352 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
12355 if (flags
& NDR_OUT
) {
12356 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12357 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
12359 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12360 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
12361 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
12362 if (_ptr_domains
) {
12363 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
12365 *r
->out
.domains
= NULL
;
12367 if (*r
->out
.domains
) {
12368 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12369 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
12370 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
12371 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
12373 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
12374 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12375 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
12377 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12378 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
12379 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
12380 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
12381 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
12382 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
12384 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12385 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
12386 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
12387 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
12388 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12390 return NDR_ERR_SUCCESS
;
12393 _PUBLIC_
void ndr_print_lsa_LookupNames4(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames4
*r
)
12395 uint32_t cntr_names_0
;
12396 ndr_print_struct(ndr
, name
, "lsa_LookupNames4");
12398 if (flags
& NDR_SET_VALUES
) {
12399 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12401 if (flags
& NDR_IN
) {
12402 ndr_print_struct(ndr
, "in", "lsa_LookupNames4");
12404 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
12405 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
12407 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
12409 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
12410 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
12415 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
12417 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->in
.sids
);
12419 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
12420 ndr_print_ptr(ndr
, "count", r
->in
.count
);
12422 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
12424 ndr_print_uint32(ndr
, "lookup_options", r
->in
.lookup_options
);
12425 ndr_print_uint32(ndr
, "client_revision", r
->in
.client_revision
);
12428 if (flags
& NDR_OUT
) {
12429 ndr_print_struct(ndr
, "out", "lsa_LookupNames4");
12431 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
12433 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
12435 if (*r
->out
.domains
) {
12436 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
12440 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
12442 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->out
.sids
);
12444 ndr_print_ptr(ndr
, "count", r
->out
.count
);
12446 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
12448 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12454 static enum ndr_err_code
ndr_push_lsa_LSAROPENPOLICYSCE(struct ndr_push
*ndr
, int flags
, const struct lsa_LSAROPENPOLICYSCE
*r
)
12456 if (flags
& NDR_IN
) {
12458 if (flags
& NDR_OUT
) {
12459 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12461 return NDR_ERR_SUCCESS
;
12464 static enum ndr_err_code
ndr_pull_lsa_LSAROPENPOLICYSCE(struct ndr_pull
*ndr
, int flags
, struct lsa_LSAROPENPOLICYSCE
*r
)
12466 if (flags
& NDR_IN
) {
12468 if (flags
& NDR_OUT
) {
12469 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12471 return NDR_ERR_SUCCESS
;
12474 _PUBLIC_
void ndr_print_lsa_LSAROPENPOLICYSCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSAROPENPOLICYSCE
*r
)
12476 ndr_print_struct(ndr
, name
, "lsa_LSAROPENPOLICYSCE");
12478 if (flags
& NDR_SET_VALUES
) {
12479 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12481 if (flags
& NDR_IN
) {
12482 ndr_print_struct(ndr
, "in", "lsa_LSAROPENPOLICYSCE");
12486 if (flags
& NDR_OUT
) {
12487 ndr_print_struct(ndr
, "out", "lsa_LSAROPENPOLICYSCE");
12489 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12495 static enum ndr_err_code
ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
*r
)
12497 if (flags
& NDR_IN
) {
12499 if (flags
& NDR_OUT
) {
12500 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12502 return NDR_ERR_SUCCESS
;
12505 static enum ndr_err_code
ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
*r
)
12507 if (flags
& NDR_IN
) {
12509 if (flags
& NDR_OUT
) {
12510 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12512 return NDR_ERR_SUCCESS
;
12515 _PUBLIC_
void ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
*r
)
12517 ndr_print_struct(ndr
, name
, "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
12519 if (flags
& NDR_SET_VALUES
) {
12520 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12522 if (flags
& NDR_IN
) {
12523 ndr_print_struct(ndr
, "in", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
12527 if (flags
& NDR_OUT
) {
12528 ndr_print_struct(ndr
, "out", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
12530 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12536 static enum ndr_err_code
ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
*r
)
12538 if (flags
& NDR_IN
) {
12540 if (flags
& NDR_OUT
) {
12541 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12543 return NDR_ERR_SUCCESS
;
12546 static enum ndr_err_code
ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
*r
)
12548 if (flags
& NDR_IN
) {
12550 if (flags
& NDR_OUT
) {
12551 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12553 return NDR_ERR_SUCCESS
;
12556 _PUBLIC_
void ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
*r
)
12558 ndr_print_struct(ndr
, name
, "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
12560 if (flags
& NDR_SET_VALUES
) {
12561 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12563 if (flags
& NDR_IN
) {
12564 ndr_print_struct(ndr
, "in", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
12568 if (flags
& NDR_OUT
) {
12569 ndr_print_struct(ndr
, "out", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
12571 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12577 static enum ndr_err_code
ndr_push_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARADTREPORTSECURITYEVENT
*r
)
12579 if (flags
& NDR_IN
) {
12581 if (flags
& NDR_OUT
) {
12582 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
12584 return NDR_ERR_SUCCESS
;
12587 static enum ndr_err_code
ndr_pull_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARADTREPORTSECURITYEVENT
*r
)
12589 if (flags
& NDR_IN
) {
12591 if (flags
& NDR_OUT
) {
12592 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
12594 return NDR_ERR_SUCCESS
;
12597 _PUBLIC_
void ndr_print_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARADTREPORTSECURITYEVENT
*r
)
12599 ndr_print_struct(ndr
, name
, "lsa_LSARADTREPORTSECURITYEVENT");
12601 if (flags
& NDR_SET_VALUES
) {
12602 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
12604 if (flags
& NDR_IN
) {
12605 ndr_print_struct(ndr
, "in", "lsa_LSARADTREPORTSECURITYEVENT");
12609 if (flags
& NDR_OUT
) {
12610 ndr_print_struct(ndr
, "out", "lsa_LSARADTREPORTSECURITYEVENT");
12612 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
12618 static const struct ndr_interface_call lsarpc_calls
[] = {
12621 sizeof(struct lsa_Close
),
12622 (ndr_push_flags_fn_t
) ndr_push_lsa_Close
,
12623 (ndr_pull_flags_fn_t
) ndr_pull_lsa_Close
,
12624 (ndr_print_function_t
) ndr_print_lsa_Close
,
12629 sizeof(struct lsa_Delete
),
12630 (ndr_push_flags_fn_t
) ndr_push_lsa_Delete
,
12631 (ndr_pull_flags_fn_t
) ndr_pull_lsa_Delete
,
12632 (ndr_print_function_t
) ndr_print_lsa_Delete
,
12637 sizeof(struct lsa_EnumPrivs
),
12638 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumPrivs
,
12639 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumPrivs
,
12640 (ndr_print_function_t
) ndr_print_lsa_EnumPrivs
,
12644 "lsa_QuerySecurity",
12645 sizeof(struct lsa_QuerySecurity
),
12646 (ndr_push_flags_fn_t
) ndr_push_lsa_QuerySecurity
,
12647 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QuerySecurity
,
12648 (ndr_print_function_t
) ndr_print_lsa_QuerySecurity
,
12653 sizeof(struct lsa_SetSecObj
),
12654 (ndr_push_flags_fn_t
) ndr_push_lsa_SetSecObj
,
12655 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetSecObj
,
12656 (ndr_print_function_t
) ndr_print_lsa_SetSecObj
,
12660 "lsa_ChangePassword",
12661 sizeof(struct lsa_ChangePassword
),
12662 (ndr_push_flags_fn_t
) ndr_push_lsa_ChangePassword
,
12663 (ndr_pull_flags_fn_t
) ndr_pull_lsa_ChangePassword
,
12664 (ndr_print_function_t
) ndr_print_lsa_ChangePassword
,
12669 sizeof(struct lsa_OpenPolicy
),
12670 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenPolicy
,
12671 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenPolicy
,
12672 (ndr_print_function_t
) ndr_print_lsa_OpenPolicy
,
12676 "lsa_QueryInfoPolicy",
12677 sizeof(struct lsa_QueryInfoPolicy
),
12678 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryInfoPolicy
,
12679 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryInfoPolicy
,
12680 (ndr_print_function_t
) ndr_print_lsa_QueryInfoPolicy
,
12684 "lsa_SetInfoPolicy",
12685 sizeof(struct lsa_SetInfoPolicy
),
12686 (ndr_push_flags_fn_t
) ndr_push_lsa_SetInfoPolicy
,
12687 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetInfoPolicy
,
12688 (ndr_print_function_t
) ndr_print_lsa_SetInfoPolicy
,
12692 "lsa_ClearAuditLog",
12693 sizeof(struct lsa_ClearAuditLog
),
12694 (ndr_push_flags_fn_t
) ndr_push_lsa_ClearAuditLog
,
12695 (ndr_pull_flags_fn_t
) ndr_pull_lsa_ClearAuditLog
,
12696 (ndr_print_function_t
) ndr_print_lsa_ClearAuditLog
,
12700 "lsa_CreateAccount",
12701 sizeof(struct lsa_CreateAccount
),
12702 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateAccount
,
12703 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateAccount
,
12704 (ndr_print_function_t
) ndr_print_lsa_CreateAccount
,
12708 "lsa_EnumAccounts",
12709 sizeof(struct lsa_EnumAccounts
),
12710 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumAccounts
,
12711 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumAccounts
,
12712 (ndr_print_function_t
) ndr_print_lsa_EnumAccounts
,
12716 "lsa_CreateTrustedDomain",
12717 sizeof(struct lsa_CreateTrustedDomain
),
12718 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateTrustedDomain
,
12719 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateTrustedDomain
,
12720 (ndr_print_function_t
) ndr_print_lsa_CreateTrustedDomain
,
12724 "lsa_EnumTrustDom",
12725 sizeof(struct lsa_EnumTrustDom
),
12726 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumTrustDom
,
12727 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumTrustDom
,
12728 (ndr_print_function_t
) ndr_print_lsa_EnumTrustDom
,
12733 sizeof(struct lsa_LookupNames
),
12734 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames
,
12735 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames
,
12736 (ndr_print_function_t
) ndr_print_lsa_LookupNames
,
12741 sizeof(struct lsa_LookupSids
),
12742 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupSids
,
12743 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupSids
,
12744 (ndr_print_function_t
) ndr_print_lsa_LookupSids
,
12748 "lsa_CreateSecret",
12749 sizeof(struct lsa_CreateSecret
),
12750 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateSecret
,
12751 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateSecret
,
12752 (ndr_print_function_t
) ndr_print_lsa_CreateSecret
,
12757 sizeof(struct lsa_OpenAccount
),
12758 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenAccount
,
12759 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenAccount
,
12760 (ndr_print_function_t
) ndr_print_lsa_OpenAccount
,
12764 "lsa_EnumPrivsAccount",
12765 sizeof(struct lsa_EnumPrivsAccount
),
12766 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumPrivsAccount
,
12767 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumPrivsAccount
,
12768 (ndr_print_function_t
) ndr_print_lsa_EnumPrivsAccount
,
12772 "lsa_AddPrivilegesToAccount",
12773 sizeof(struct lsa_AddPrivilegesToAccount
),
12774 (ndr_push_flags_fn_t
) ndr_push_lsa_AddPrivilegesToAccount
,
12775 (ndr_pull_flags_fn_t
) ndr_pull_lsa_AddPrivilegesToAccount
,
12776 (ndr_print_function_t
) ndr_print_lsa_AddPrivilegesToAccount
,
12780 "lsa_RemovePrivilegesFromAccount",
12781 sizeof(struct lsa_RemovePrivilegesFromAccount
),
12782 (ndr_push_flags_fn_t
) ndr_push_lsa_RemovePrivilegesFromAccount
,
12783 (ndr_pull_flags_fn_t
) ndr_pull_lsa_RemovePrivilegesFromAccount
,
12784 (ndr_print_function_t
) ndr_print_lsa_RemovePrivilegesFromAccount
,
12788 "lsa_GetQuotasForAccount",
12789 sizeof(struct lsa_GetQuotasForAccount
),
12790 (ndr_push_flags_fn_t
) ndr_push_lsa_GetQuotasForAccount
,
12791 (ndr_pull_flags_fn_t
) ndr_pull_lsa_GetQuotasForAccount
,
12792 (ndr_print_function_t
) ndr_print_lsa_GetQuotasForAccount
,
12796 "lsa_SetQuotasForAccount",
12797 sizeof(struct lsa_SetQuotasForAccount
),
12798 (ndr_push_flags_fn_t
) ndr_push_lsa_SetQuotasForAccount
,
12799 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetQuotasForAccount
,
12800 (ndr_print_function_t
) ndr_print_lsa_SetQuotasForAccount
,
12804 "lsa_GetSystemAccessAccount",
12805 sizeof(struct lsa_GetSystemAccessAccount
),
12806 (ndr_push_flags_fn_t
) ndr_push_lsa_GetSystemAccessAccount
,
12807 (ndr_pull_flags_fn_t
) ndr_pull_lsa_GetSystemAccessAccount
,
12808 (ndr_print_function_t
) ndr_print_lsa_GetSystemAccessAccount
,
12812 "lsa_SetSystemAccessAccount",
12813 sizeof(struct lsa_SetSystemAccessAccount
),
12814 (ndr_push_flags_fn_t
) ndr_push_lsa_SetSystemAccessAccount
,
12815 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetSystemAccessAccount
,
12816 (ndr_print_function_t
) ndr_print_lsa_SetSystemAccessAccount
,
12820 "lsa_OpenTrustedDomain",
12821 sizeof(struct lsa_OpenTrustedDomain
),
12822 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenTrustedDomain
,
12823 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenTrustedDomain
,
12824 (ndr_print_function_t
) ndr_print_lsa_OpenTrustedDomain
,
12828 "lsa_QueryTrustedDomainInfo",
12829 sizeof(struct lsa_QueryTrustedDomainInfo
),
12830 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryTrustedDomainInfo
,
12831 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryTrustedDomainInfo
,
12832 (ndr_print_function_t
) ndr_print_lsa_QueryTrustedDomainInfo
,
12836 "lsa_SetInformationTrustedDomain",
12837 sizeof(struct lsa_SetInformationTrustedDomain
),
12838 (ndr_push_flags_fn_t
) ndr_push_lsa_SetInformationTrustedDomain
,
12839 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetInformationTrustedDomain
,
12840 (ndr_print_function_t
) ndr_print_lsa_SetInformationTrustedDomain
,
12845 sizeof(struct lsa_OpenSecret
),
12846 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenSecret
,
12847 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenSecret
,
12848 (ndr_print_function_t
) ndr_print_lsa_OpenSecret
,
12853 sizeof(struct lsa_SetSecret
),
12854 (ndr_push_flags_fn_t
) ndr_push_lsa_SetSecret
,
12855 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetSecret
,
12856 (ndr_print_function_t
) ndr_print_lsa_SetSecret
,
12861 sizeof(struct lsa_QuerySecret
),
12862 (ndr_push_flags_fn_t
) ndr_push_lsa_QuerySecret
,
12863 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QuerySecret
,
12864 (ndr_print_function_t
) ndr_print_lsa_QuerySecret
,
12868 "lsa_LookupPrivValue",
12869 sizeof(struct lsa_LookupPrivValue
),
12870 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupPrivValue
,
12871 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupPrivValue
,
12872 (ndr_print_function_t
) ndr_print_lsa_LookupPrivValue
,
12876 "lsa_LookupPrivName",
12877 sizeof(struct lsa_LookupPrivName
),
12878 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupPrivName
,
12879 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupPrivName
,
12880 (ndr_print_function_t
) ndr_print_lsa_LookupPrivName
,
12884 "lsa_LookupPrivDisplayName",
12885 sizeof(struct lsa_LookupPrivDisplayName
),
12886 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupPrivDisplayName
,
12887 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupPrivDisplayName
,
12888 (ndr_print_function_t
) ndr_print_lsa_LookupPrivDisplayName
,
12892 "lsa_DeleteObject",
12893 sizeof(struct lsa_DeleteObject
),
12894 (ndr_push_flags_fn_t
) ndr_push_lsa_DeleteObject
,
12895 (ndr_pull_flags_fn_t
) ndr_pull_lsa_DeleteObject
,
12896 (ndr_print_function_t
) ndr_print_lsa_DeleteObject
,
12900 "lsa_EnumAccountsWithUserRight",
12901 sizeof(struct lsa_EnumAccountsWithUserRight
),
12902 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumAccountsWithUserRight
,
12903 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumAccountsWithUserRight
,
12904 (ndr_print_function_t
) ndr_print_lsa_EnumAccountsWithUserRight
,
12908 "lsa_EnumAccountRights",
12909 sizeof(struct lsa_EnumAccountRights
),
12910 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumAccountRights
,
12911 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumAccountRights
,
12912 (ndr_print_function_t
) ndr_print_lsa_EnumAccountRights
,
12916 "lsa_AddAccountRights",
12917 sizeof(struct lsa_AddAccountRights
),
12918 (ndr_push_flags_fn_t
) ndr_push_lsa_AddAccountRights
,
12919 (ndr_pull_flags_fn_t
) ndr_pull_lsa_AddAccountRights
,
12920 (ndr_print_function_t
) ndr_print_lsa_AddAccountRights
,
12924 "lsa_RemoveAccountRights",
12925 sizeof(struct lsa_RemoveAccountRights
),
12926 (ndr_push_flags_fn_t
) ndr_push_lsa_RemoveAccountRights
,
12927 (ndr_pull_flags_fn_t
) ndr_pull_lsa_RemoveAccountRights
,
12928 (ndr_print_function_t
) ndr_print_lsa_RemoveAccountRights
,
12932 "lsa_QueryTrustedDomainInfoBySid",
12933 sizeof(struct lsa_QueryTrustedDomainInfoBySid
),
12934 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryTrustedDomainInfoBySid
,
12935 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryTrustedDomainInfoBySid
,
12936 (ndr_print_function_t
) ndr_print_lsa_QueryTrustedDomainInfoBySid
,
12940 "lsa_SetTrustedDomainInfo",
12941 sizeof(struct lsa_SetTrustedDomainInfo
),
12942 (ndr_push_flags_fn_t
) ndr_push_lsa_SetTrustedDomainInfo
,
12943 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetTrustedDomainInfo
,
12944 (ndr_print_function_t
) ndr_print_lsa_SetTrustedDomainInfo
,
12948 "lsa_DeleteTrustedDomain",
12949 sizeof(struct lsa_DeleteTrustedDomain
),
12950 (ndr_push_flags_fn_t
) ndr_push_lsa_DeleteTrustedDomain
,
12951 (ndr_pull_flags_fn_t
) ndr_pull_lsa_DeleteTrustedDomain
,
12952 (ndr_print_function_t
) ndr_print_lsa_DeleteTrustedDomain
,
12956 "lsa_StorePrivateData",
12957 sizeof(struct lsa_StorePrivateData
),
12958 (ndr_push_flags_fn_t
) ndr_push_lsa_StorePrivateData
,
12959 (ndr_pull_flags_fn_t
) ndr_pull_lsa_StorePrivateData
,
12960 (ndr_print_function_t
) ndr_print_lsa_StorePrivateData
,
12964 "lsa_RetrievePrivateData",
12965 sizeof(struct lsa_RetrievePrivateData
),
12966 (ndr_push_flags_fn_t
) ndr_push_lsa_RetrievePrivateData
,
12967 (ndr_pull_flags_fn_t
) ndr_pull_lsa_RetrievePrivateData
,
12968 (ndr_print_function_t
) ndr_print_lsa_RetrievePrivateData
,
12973 sizeof(struct lsa_OpenPolicy2
),
12974 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenPolicy2
,
12975 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenPolicy2
,
12976 (ndr_print_function_t
) ndr_print_lsa_OpenPolicy2
,
12981 sizeof(struct lsa_GetUserName
),
12982 (ndr_push_flags_fn_t
) ndr_push_lsa_GetUserName
,
12983 (ndr_pull_flags_fn_t
) ndr_pull_lsa_GetUserName
,
12984 (ndr_print_function_t
) ndr_print_lsa_GetUserName
,
12988 "lsa_QueryInfoPolicy2",
12989 sizeof(struct lsa_QueryInfoPolicy2
),
12990 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryInfoPolicy2
,
12991 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryInfoPolicy2
,
12992 (ndr_print_function_t
) ndr_print_lsa_QueryInfoPolicy2
,
12996 "lsa_SetInfoPolicy2",
12997 sizeof(struct lsa_SetInfoPolicy2
),
12998 (ndr_push_flags_fn_t
) ndr_push_lsa_SetInfoPolicy2
,
12999 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetInfoPolicy2
,
13000 (ndr_print_function_t
) ndr_print_lsa_SetInfoPolicy2
,
13004 "lsa_QueryTrustedDomainInfoByName",
13005 sizeof(struct lsa_QueryTrustedDomainInfoByName
),
13006 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryTrustedDomainInfoByName
,
13007 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryTrustedDomainInfoByName
,
13008 (ndr_print_function_t
) ndr_print_lsa_QueryTrustedDomainInfoByName
,
13012 "lsa_SetTrustedDomainInfoByName",
13013 sizeof(struct lsa_SetTrustedDomainInfoByName
),
13014 (ndr_push_flags_fn_t
) ndr_push_lsa_SetTrustedDomainInfoByName
,
13015 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetTrustedDomainInfoByName
,
13016 (ndr_print_function_t
) ndr_print_lsa_SetTrustedDomainInfoByName
,
13020 "lsa_EnumTrustedDomainsEx",
13021 sizeof(struct lsa_EnumTrustedDomainsEx
),
13022 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumTrustedDomainsEx
,
13023 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumTrustedDomainsEx
,
13024 (ndr_print_function_t
) ndr_print_lsa_EnumTrustedDomainsEx
,
13028 "lsa_CreateTrustedDomainEx",
13029 sizeof(struct lsa_CreateTrustedDomainEx
),
13030 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateTrustedDomainEx
,
13031 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateTrustedDomainEx
,
13032 (ndr_print_function_t
) ndr_print_lsa_CreateTrustedDomainEx
,
13036 "lsa_CloseTrustedDomainEx",
13037 sizeof(struct lsa_CloseTrustedDomainEx
),
13038 (ndr_push_flags_fn_t
) ndr_push_lsa_CloseTrustedDomainEx
,
13039 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CloseTrustedDomainEx
,
13040 (ndr_print_function_t
) ndr_print_lsa_CloseTrustedDomainEx
,
13044 "lsa_QueryDomainInformationPolicy",
13045 sizeof(struct lsa_QueryDomainInformationPolicy
),
13046 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryDomainInformationPolicy
,
13047 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryDomainInformationPolicy
,
13048 (ndr_print_function_t
) ndr_print_lsa_QueryDomainInformationPolicy
,
13052 "lsa_SetDomainInformationPolicy",
13053 sizeof(struct lsa_SetDomainInformationPolicy
),
13054 (ndr_push_flags_fn_t
) ndr_push_lsa_SetDomainInformationPolicy
,
13055 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetDomainInformationPolicy
,
13056 (ndr_print_function_t
) ndr_print_lsa_SetDomainInformationPolicy
,
13060 "lsa_OpenTrustedDomainByName",
13061 sizeof(struct lsa_OpenTrustedDomainByName
),
13062 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenTrustedDomainByName
,
13063 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenTrustedDomainByName
,
13064 (ndr_print_function_t
) ndr_print_lsa_OpenTrustedDomainByName
,
13069 sizeof(struct lsa_TestCall
),
13070 (ndr_push_flags_fn_t
) ndr_push_lsa_TestCall
,
13071 (ndr_pull_flags_fn_t
) ndr_pull_lsa_TestCall
,
13072 (ndr_print_function_t
) ndr_print_lsa_TestCall
,
13077 sizeof(struct lsa_LookupSids2
),
13078 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupSids2
,
13079 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupSids2
,
13080 (ndr_print_function_t
) ndr_print_lsa_LookupSids2
,
13084 "lsa_LookupNames2",
13085 sizeof(struct lsa_LookupNames2
),
13086 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames2
,
13087 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames2
,
13088 (ndr_print_function_t
) ndr_print_lsa_LookupNames2
,
13092 "lsa_CreateTrustedDomainEx2",
13093 sizeof(struct lsa_CreateTrustedDomainEx2
),
13094 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateTrustedDomainEx2
,
13095 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateTrustedDomainEx2
,
13096 (ndr_print_function_t
) ndr_print_lsa_CreateTrustedDomainEx2
,
13101 sizeof(struct lsa_CREDRWRITE
),
13102 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRWRITE
,
13103 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRWRITE
,
13104 (ndr_print_function_t
) ndr_print_lsa_CREDRWRITE
,
13109 sizeof(struct lsa_CREDRREAD
),
13110 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRREAD
,
13111 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRREAD
,
13112 (ndr_print_function_t
) ndr_print_lsa_CREDRREAD
,
13116 "lsa_CREDRENUMERATE",
13117 sizeof(struct lsa_CREDRENUMERATE
),
13118 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRENUMERATE
,
13119 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRENUMERATE
,
13120 (ndr_print_function_t
) ndr_print_lsa_CREDRENUMERATE
,
13124 "lsa_CREDRWRITEDOMAINCREDENTIALS",
13125 sizeof(struct lsa_CREDRWRITEDOMAINCREDENTIALS
),
13126 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS
,
13127 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS
,
13128 (ndr_print_function_t
) ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS
,
13132 "lsa_CREDRREADDOMAINCREDENTIALS",
13133 sizeof(struct lsa_CREDRREADDOMAINCREDENTIALS
),
13134 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRREADDOMAINCREDENTIALS
,
13135 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS
,
13136 (ndr_print_function_t
) ndr_print_lsa_CREDRREADDOMAINCREDENTIALS
,
13141 sizeof(struct lsa_CREDRDELETE
),
13142 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRDELETE
,
13143 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRDELETE
,
13144 (ndr_print_function_t
) ndr_print_lsa_CREDRDELETE
,
13148 "lsa_CREDRGETTARGETINFO",
13149 sizeof(struct lsa_CREDRGETTARGETINFO
),
13150 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRGETTARGETINFO
,
13151 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRGETTARGETINFO
,
13152 (ndr_print_function_t
) ndr_print_lsa_CREDRGETTARGETINFO
,
13156 "lsa_CREDRPROFILELOADED",
13157 sizeof(struct lsa_CREDRPROFILELOADED
),
13158 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRPROFILELOADED
,
13159 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRPROFILELOADED
,
13160 (ndr_print_function_t
) ndr_print_lsa_CREDRPROFILELOADED
,
13164 "lsa_LookupNames3",
13165 sizeof(struct lsa_LookupNames3
),
13166 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames3
,
13167 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames3
,
13168 (ndr_print_function_t
) ndr_print_lsa_LookupNames3
,
13172 "lsa_CREDRGETSESSIONTYPES",
13173 sizeof(struct lsa_CREDRGETSESSIONTYPES
),
13174 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRGETSESSIONTYPES
,
13175 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRGETSESSIONTYPES
,
13176 (ndr_print_function_t
) ndr_print_lsa_CREDRGETSESSIONTYPES
,
13180 "lsa_LSARREGISTERAUDITEVENT",
13181 sizeof(struct lsa_LSARREGISTERAUDITEVENT
),
13182 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARREGISTERAUDITEVENT
,
13183 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARREGISTERAUDITEVENT
,
13184 (ndr_print_function_t
) ndr_print_lsa_LSARREGISTERAUDITEVENT
,
13188 "lsa_LSARGENAUDITEVENT",
13189 sizeof(struct lsa_LSARGENAUDITEVENT
),
13190 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARGENAUDITEVENT
,
13191 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARGENAUDITEVENT
,
13192 (ndr_print_function_t
) ndr_print_lsa_LSARGENAUDITEVENT
,
13196 "lsa_LSARUNREGISTERAUDITEVENT",
13197 sizeof(struct lsa_LSARUNREGISTERAUDITEVENT
),
13198 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARUNREGISTERAUDITEVENT
,
13199 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARUNREGISTERAUDITEVENT
,
13200 (ndr_print_function_t
) ndr_print_lsa_LSARUNREGISTERAUDITEVENT
,
13204 "lsa_lsaRQueryForestTrustInformation",
13205 sizeof(struct lsa_lsaRQueryForestTrustInformation
),
13206 (ndr_push_flags_fn_t
) ndr_push_lsa_lsaRQueryForestTrustInformation
,
13207 (ndr_pull_flags_fn_t
) ndr_pull_lsa_lsaRQueryForestTrustInformation
,
13208 (ndr_print_function_t
) ndr_print_lsa_lsaRQueryForestTrustInformation
,
13212 "lsa_LSARSETFORESTTRUSTINFORMATION",
13213 sizeof(struct lsa_LSARSETFORESTTRUSTINFORMATION
),
13214 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARSETFORESTTRUSTINFORMATION
,
13215 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARSETFORESTTRUSTINFORMATION
,
13216 (ndr_print_function_t
) ndr_print_lsa_LSARSETFORESTTRUSTINFORMATION
,
13221 sizeof(struct lsa_CREDRRENAME
),
13222 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRRENAME
,
13223 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRRENAME
,
13224 (ndr_print_function_t
) ndr_print_lsa_CREDRRENAME
,
13229 sizeof(struct lsa_LookupSids3
),
13230 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupSids3
,
13231 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupSids3
,
13232 (ndr_print_function_t
) ndr_print_lsa_LookupSids3
,
13236 "lsa_LookupNames4",
13237 sizeof(struct lsa_LookupNames4
),
13238 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames4
,
13239 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames4
,
13240 (ndr_print_function_t
) ndr_print_lsa_LookupNames4
,
13244 "lsa_LSAROPENPOLICYSCE",
13245 sizeof(struct lsa_LSAROPENPOLICYSCE
),
13246 (ndr_push_flags_fn_t
) ndr_push_lsa_LSAROPENPOLICYSCE
,
13247 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSAROPENPOLICYSCE
,
13248 (ndr_print_function_t
) ndr_print_lsa_LSAROPENPOLICYSCE
,
13252 "lsa_LSARADTREGISTERSECURITYEVENTSOURCE",
13253 sizeof(struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
),
13254 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE
,
13255 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE
,
13256 (ndr_print_function_t
) ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE
,
13260 "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE",
13261 sizeof(struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
),
13262 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
,
13263 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
,
13264 (ndr_print_function_t
) ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
,
13268 "lsa_LSARADTREPORTSECURITYEVENT",
13269 sizeof(struct lsa_LSARADTREPORTSECURITYEVENT
),
13270 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARADTREPORTSECURITYEVENT
,
13271 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARADTREPORTSECURITYEVENT
,
13272 (ndr_print_function_t
) ndr_print_lsa_LSARADTREPORTSECURITYEVENT
,
13275 { NULL
, 0, NULL
, NULL
, NULL
, false }
13278 static const char * const lsarpc_endpoint_strings
[] = {
13279 "ncacn_np:[\\pipe\\lsarpc]",
13280 "ncacn_np:[\\pipe\\netlogon]",
13281 "ncacn_np:[\\pipe\\lsass]",
13286 static const struct ndr_interface_string_array lsarpc_endpoints
= {
13288 .names
= lsarpc_endpoint_strings
13291 static const char * const lsarpc_authservice_strings
[] = {
13295 static const struct ndr_interface_string_array lsarpc_authservices
= {
13297 .names
= lsarpc_authservice_strings
13301 const struct ndr_interface_table ndr_table_lsarpc
= {
13304 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},
13307 .helpstring
= NDR_LSARPC_HELPSTRING
,
13309 .calls
= lsarpc_calls
,
13310 .endpoints
= &lsarpc_endpoints
,
13311 .authservices
= &lsarpc_authservices