1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_lsa.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_String(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_String
*r
)
9 if (ndr_flags
& NDR_SCALARS
) {
10 NDR_CHECK(ndr_push_align(ndr
, 4));
11 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
12 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
13 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
15 if (ndr_flags
& NDR_BUFFERS
) {
17 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
) / 2));
18 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
19 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
) / 2));
20 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, 2 * strlen_m(r
->string
) / 2, sizeof(uint16_t), CH_UTF16
));
23 return NDR_ERR_SUCCESS
;
26 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_String(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_String
*r
)
29 TALLOC_CTX
*_mem_save_string_0
;
30 if (ndr_flags
& NDR_SCALARS
) {
31 NDR_CHECK(ndr_pull_align(ndr
, 4));
32 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
33 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
34 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
36 NDR_PULL_ALLOC(ndr
, r
->string
);
41 if (ndr_flags
& NDR_BUFFERS
) {
43 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
44 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
45 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
46 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
47 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
48 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
));
50 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
51 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
54 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
/ 2));
57 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
/ 2));
60 return NDR_ERR_SUCCESS
;
63 _PUBLIC_
void ndr_print_lsa_String(struct ndr_print
*ndr
, const char *name
, const struct lsa_String
*r
)
65 ndr_print_struct(ndr
, name
, "lsa_String");
67 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
68 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->size
);
69 ndr_print_ptr(ndr
, "string", r
->string
);
72 ndr_print_string(ndr
, "string", r
->string
);
78 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_StringLarge(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_StringLarge
*r
)
80 if (ndr_flags
& NDR_SCALARS
) {
81 NDR_CHECK(ndr_push_align(ndr
, 4));
82 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
)));
83 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, 2 * strlen_m_term(r
->string
)));
84 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
86 if (ndr_flags
& NDR_BUFFERS
) {
88 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2 * strlen_m_term(r
->string
) / 2));
89 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
90 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2 * strlen_m(r
->string
) / 2));
91 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, 2 * strlen_m(r
->string
) / 2, sizeof(uint16_t), CH_UTF16
));
94 return NDR_ERR_SUCCESS
;
97 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_StringLarge(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_StringLarge
*r
)
100 TALLOC_CTX
*_mem_save_string_0
;
101 if (ndr_flags
& NDR_SCALARS
) {
102 NDR_CHECK(ndr_pull_align(ndr
, 4));
103 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
104 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
105 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
107 NDR_PULL_ALLOC(ndr
, r
->string
);
112 if (ndr_flags
& NDR_BUFFERS
) {
114 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
115 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
116 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
117 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
118 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
119 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
));
121 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint16_t), CH_UTF16
));
122 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
125 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
/ 2));
128 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
/ 2));
131 return NDR_ERR_SUCCESS
;
134 _PUBLIC_
void ndr_print_lsa_StringLarge(struct ndr_print
*ndr
, const char *name
, const struct lsa_StringLarge
*r
)
136 ndr_print_struct(ndr
, name
, "lsa_StringLarge");
138 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->string
):r
->length
);
139 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m_term(r
->string
):r
->size
);
140 ndr_print_ptr(ndr
, "string", r
->string
);
143 ndr_print_string(ndr
, "string", r
->string
);
149 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_Strings(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_Strings
*r
)
151 uint32_t cntr_names_1
;
152 if (ndr_flags
& NDR_SCALARS
) {
153 NDR_CHECK(ndr_push_align(ndr
, 4));
154 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
155 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
157 if (ndr_flags
& NDR_BUFFERS
) {
159 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
160 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
161 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
163 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
164 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
168 return NDR_ERR_SUCCESS
;
171 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_Strings(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_Strings
*r
)
174 uint32_t cntr_names_1
;
175 TALLOC_CTX
*_mem_save_names_0
;
176 TALLOC_CTX
*_mem_save_names_1
;
177 if (ndr_flags
& NDR_SCALARS
) {
178 NDR_CHECK(ndr_pull_align(ndr
, 4));
179 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
180 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
182 NDR_PULL_ALLOC(ndr
, r
->names
);
187 if (ndr_flags
& NDR_BUFFERS
) {
189 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
190 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
191 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
192 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
193 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
194 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
195 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
196 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
198 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
199 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
201 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
202 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
205 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
208 return NDR_ERR_SUCCESS
;
211 _PUBLIC_
void ndr_print_lsa_Strings(struct ndr_print
*ndr
, const char *name
, const struct lsa_Strings
*r
)
213 uint32_t cntr_names_1
;
214 ndr_print_struct(ndr
, name
, "lsa_Strings");
216 ndr_print_uint32(ndr
, "count", r
->count
);
217 ndr_print_ptr(ndr
, "names", r
->names
);
220 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
222 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
224 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
225 ndr_print_lsa_String(ndr
, "names", &r
->names
[cntr_names_1
]);
235 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_AsciiString(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AsciiString
*r
)
237 if (ndr_flags
& NDR_SCALARS
) {
238 NDR_CHECK(ndr_push_align(ndr
, 4));
239 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
240 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
241 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
243 if (ndr_flags
& NDR_BUFFERS
) {
245 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
246 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
247 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
248 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, strlen_m(r
->string
), sizeof(uint8_t), CH_DOS
));
251 return NDR_ERR_SUCCESS
;
254 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_AsciiString(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AsciiString
*r
)
256 uint32_t _ptr_string
;
257 TALLOC_CTX
*_mem_save_string_0
;
258 if (ndr_flags
& NDR_SCALARS
) {
259 NDR_CHECK(ndr_pull_align(ndr
, 4));
260 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
261 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
262 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
264 NDR_PULL_ALLOC(ndr
, r
->string
);
269 if (ndr_flags
& NDR_BUFFERS
) {
271 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
272 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
273 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
274 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
275 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
276 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
));
278 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
279 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
282 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
));
285 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
));
288 return NDR_ERR_SUCCESS
;
291 _PUBLIC_
void ndr_print_lsa_AsciiString(struct ndr_print
*ndr
, const char *name
, const struct lsa_AsciiString
*r
)
293 ndr_print_struct(ndr
, name
, "lsa_AsciiString");
295 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->length
);
296 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->size
);
297 ndr_print_ptr(ndr
, "string", r
->string
);
300 ndr_print_string(ndr
, "string", r
->string
);
306 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_AsciiStringLarge(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AsciiStringLarge
*r
)
308 if (ndr_flags
& NDR_SCALARS
) {
309 NDR_CHECK(ndr_push_align(ndr
, 4));
310 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
311 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, strlen_m_term(r
->string
)));
312 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->string
));
314 if (ndr_flags
& NDR_BUFFERS
) {
316 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m_term(r
->string
)));
317 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
318 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->string
)));
319 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->string
, strlen_m(r
->string
), sizeof(uint8_t), CH_DOS
));
322 return NDR_ERR_SUCCESS
;
325 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_AsciiStringLarge(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AsciiStringLarge
*r
)
327 uint32_t _ptr_string
;
328 TALLOC_CTX
*_mem_save_string_0
;
329 if (ndr_flags
& NDR_SCALARS
) {
330 NDR_CHECK(ndr_pull_align(ndr
, 4));
331 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
332 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
333 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_string
));
335 NDR_PULL_ALLOC(ndr
, r
->string
);
340 if (ndr_flags
& NDR_BUFFERS
) {
342 _mem_save_string_0
= NDR_PULL_GET_MEM_CTX(ndr
);
343 NDR_PULL_SET_MEM_CTX(ndr
, r
->string
, 0);
344 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->string
));
345 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->string
));
346 if (ndr_get_array_length(ndr
, &r
->string
) > ndr_get_array_size(ndr
, &r
->string
)) {
347 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
));
349 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->string
, ndr_get_array_length(ndr
, &r
->string
), sizeof(uint8_t), CH_DOS
));
350 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_string_0
, 0);
353 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->string
, r
->size
));
356 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->string
, r
->length
));
359 return NDR_ERR_SUCCESS
;
362 _PUBLIC_
void ndr_print_lsa_AsciiStringLarge(struct ndr_print
*ndr
, const char *name
, const struct lsa_AsciiStringLarge
*r
)
364 ndr_print_struct(ndr
, name
, "lsa_AsciiStringLarge");
366 ndr_print_uint16(ndr
, "length", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->string
):r
->length
);
367 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m_term(r
->string
):r
->size
);
368 ndr_print_ptr(ndr
, "string", r
->string
);
371 ndr_print_string(ndr
, "string", r
->string
);
377 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_BinaryString(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_BinaryString
*r
)
379 uint32_t cntr_array_1
;
380 if (ndr_flags
& NDR_SCALARS
) {
381 NDR_CHECK(ndr_push_align(ndr
, 4));
382 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->length
));
383 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->size
));
384 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
386 if (ndr_flags
& NDR_BUFFERS
) {
388 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
/ 2));
389 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
390 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
/ 2));
391 for (cntr_array_1
= 0; cntr_array_1
< r
->length
/ 2; cntr_array_1
++) {
392 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->array
[cntr_array_1
]));
396 return NDR_ERR_SUCCESS
;
399 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_BinaryString(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_BinaryString
*r
)
402 uint32_t cntr_array_1
;
403 TALLOC_CTX
*_mem_save_array_0
;
404 TALLOC_CTX
*_mem_save_array_1
;
405 if (ndr_flags
& NDR_SCALARS
) {
406 NDR_CHECK(ndr_pull_align(ndr
, 4));
407 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->length
));
408 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
409 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
411 NDR_PULL_ALLOC(ndr
, r
->array
);
416 if (ndr_flags
& NDR_BUFFERS
) {
418 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
419 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
420 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
421 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->array
));
422 if (ndr_get_array_length(ndr
, &r
->array
) > ndr_get_array_size(ndr
, &r
->array
)) {
423 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
));
425 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
426 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
427 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
428 for (cntr_array_1
= 0; cntr_array_1
< r
->length
/ 2; cntr_array_1
++) {
429 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
431 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
432 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
435 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->size
/ 2));
438 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->array
, r
->length
/ 2));
441 return NDR_ERR_SUCCESS
;
444 _PUBLIC_
void ndr_print_lsa_BinaryString(struct ndr_print
*ndr
, const char *name
, const struct lsa_BinaryString
*r
)
446 uint32_t cntr_array_1
;
447 ndr_print_struct(ndr
, name
, "lsa_BinaryString");
449 ndr_print_uint16(ndr
, "length", r
->length
);
450 ndr_print_uint16(ndr
, "size", r
->size
);
451 ndr_print_ptr(ndr
, "array", r
->array
);
454 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->length
/ 2);
456 for (cntr_array_1
=0;cntr_array_1
<r
->length
/ 2;cntr_array_1
++) {
458 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
459 ndr_print_uint16(ndr
, "array", r
->array
[cntr_array_1
]);
469 static enum ndr_err_code
ndr_push_lsa_LUID(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_LUID
*r
)
471 if (ndr_flags
& NDR_SCALARS
) {
472 NDR_CHECK(ndr_push_align(ndr
, 4));
473 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->low
));
474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->high
));
476 if (ndr_flags
& NDR_BUFFERS
) {
478 return NDR_ERR_SUCCESS
;
481 static enum ndr_err_code
ndr_pull_lsa_LUID(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_LUID
*r
)
483 if (ndr_flags
& NDR_SCALARS
) {
484 NDR_CHECK(ndr_pull_align(ndr
, 4));
485 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->low
));
486 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->high
));
488 if (ndr_flags
& NDR_BUFFERS
) {
490 return NDR_ERR_SUCCESS
;
493 _PUBLIC_
void ndr_print_lsa_LUID(struct ndr_print
*ndr
, const char *name
, const struct lsa_LUID
*r
)
495 ndr_print_struct(ndr
, name
, "lsa_LUID");
497 ndr_print_uint32(ndr
, "low", r
->low
);
498 ndr_print_uint32(ndr
, "high", r
->high
);
502 static enum ndr_err_code
ndr_push_lsa_PrivEntry(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PrivEntry
*r
)
504 if (ndr_flags
& NDR_SCALARS
) {
505 NDR_CHECK(ndr_push_align(ndr
, 4));
506 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
507 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
509 if (ndr_flags
& NDR_BUFFERS
) {
510 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
512 return NDR_ERR_SUCCESS
;
515 static enum ndr_err_code
ndr_pull_lsa_PrivEntry(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PrivEntry
*r
)
517 if (ndr_flags
& NDR_SCALARS
) {
518 NDR_CHECK(ndr_pull_align(ndr
, 4));
519 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
520 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
522 if (ndr_flags
& NDR_BUFFERS
) {
523 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
525 return NDR_ERR_SUCCESS
;
528 _PUBLIC_
void ndr_print_lsa_PrivEntry(struct ndr_print
*ndr
, const char *name
, const struct lsa_PrivEntry
*r
)
530 ndr_print_struct(ndr
, name
, "lsa_PrivEntry");
532 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
533 ndr_print_lsa_LUID(ndr
, "luid", &r
->luid
);
537 static enum ndr_err_code
ndr_push_lsa_PrivArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PrivArray
*r
)
539 uint32_t cntr_privs_1
;
540 if (ndr_flags
& NDR_SCALARS
) {
541 NDR_CHECK(ndr_push_align(ndr
, 4));
542 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
543 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->privs
));
545 if (ndr_flags
& NDR_BUFFERS
) {
547 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
548 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
549 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr
, NDR_SCALARS
, &r
->privs
[cntr_privs_1
]));
551 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
552 NDR_CHECK(ndr_push_lsa_PrivEntry(ndr
, NDR_BUFFERS
, &r
->privs
[cntr_privs_1
]));
556 return NDR_ERR_SUCCESS
;
559 static enum ndr_err_code
ndr_pull_lsa_PrivArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PrivArray
*r
)
562 uint32_t cntr_privs_1
;
563 TALLOC_CTX
*_mem_save_privs_0
;
564 TALLOC_CTX
*_mem_save_privs_1
;
565 if (ndr_flags
& NDR_SCALARS
) {
566 NDR_CHECK(ndr_pull_align(ndr
, 4));
567 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
568 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_privs
));
570 NDR_PULL_ALLOC(ndr
, r
->privs
);
575 if (ndr_flags
& NDR_BUFFERS
) {
577 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
578 NDR_PULL_SET_MEM_CTX(ndr
, r
->privs
, 0);
579 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->privs
));
580 NDR_PULL_ALLOC_N(ndr
, r
->privs
, ndr_get_array_size(ndr
, &r
->privs
));
581 _mem_save_privs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
582 NDR_PULL_SET_MEM_CTX(ndr
, r
->privs
, 0);
583 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
584 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr
, NDR_SCALARS
, &r
->privs
[cntr_privs_1
]));
586 for (cntr_privs_1
= 0; cntr_privs_1
< r
->count
; cntr_privs_1
++) {
587 NDR_CHECK(ndr_pull_lsa_PrivEntry(ndr
, NDR_BUFFERS
, &r
->privs
[cntr_privs_1
]));
589 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_1
, 0);
590 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, 0);
593 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->privs
, r
->count
));
596 return NDR_ERR_SUCCESS
;
599 _PUBLIC_
void ndr_print_lsa_PrivArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_PrivArray
*r
)
601 uint32_t cntr_privs_1
;
602 ndr_print_struct(ndr
, name
, "lsa_PrivArray");
604 ndr_print_uint32(ndr
, "count", r
->count
);
605 ndr_print_ptr(ndr
, "privs", r
->privs
);
608 ndr
->print(ndr
, "%s: ARRAY(%d)", "privs", (int)r
->count
);
610 for (cntr_privs_1
=0;cntr_privs_1
<r
->count
;cntr_privs_1
++) {
612 if (asprintf(&idx_1
, "[%d]", cntr_privs_1
) != -1) {
613 ndr_print_lsa_PrivEntry(ndr
, "privs", &r
->privs
[cntr_privs_1
]);
623 static enum ndr_err_code
ndr_push_lsa_QosInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_QosInfo
*r
)
625 if (ndr_flags
& NDR_SCALARS
) {
626 NDR_CHECK(ndr_push_align(ndr
, 4));
627 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->len
));
628 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->impersonation_level
));
629 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->context_mode
));
630 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->effective_only
));
632 if (ndr_flags
& NDR_BUFFERS
) {
634 return NDR_ERR_SUCCESS
;
637 static enum ndr_err_code
ndr_pull_lsa_QosInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_QosInfo
*r
)
639 if (ndr_flags
& NDR_SCALARS
) {
640 NDR_CHECK(ndr_pull_align(ndr
, 4));
641 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->len
));
642 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->impersonation_level
));
643 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->context_mode
));
644 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->effective_only
));
646 if (ndr_flags
& NDR_BUFFERS
) {
648 return NDR_ERR_SUCCESS
;
651 _PUBLIC_
void ndr_print_lsa_QosInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_QosInfo
*r
)
653 ndr_print_struct(ndr
, name
, "lsa_QosInfo");
655 ndr_print_uint32(ndr
, "len", r
->len
);
656 ndr_print_uint16(ndr
, "impersonation_level", r
->impersonation_level
);
657 ndr_print_uint8(ndr
, "context_mode", r
->context_mode
);
658 ndr_print_uint8(ndr
, "effective_only", r
->effective_only
);
662 static enum ndr_err_code
ndr_push_lsa_ObjectAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ObjectAttribute
*r
)
664 if (ndr_flags
& NDR_SCALARS
) {
665 NDR_CHECK(ndr_push_align(ndr
, 4));
666 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->len
));
667 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->root_dir
));
668 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_name
));
669 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->attributes
));
670 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sec_desc
));
671 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sec_qos
));
673 if (ndr_flags
& NDR_BUFFERS
) {
675 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, *r
->root_dir
));
677 if (r
->object_name
) {
678 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_name
, CH_UTF16
)));
679 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
680 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_name
, CH_UTF16
)));
681 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_name
, ndr_charset_length(r
->object_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
684 NDR_CHECK(ndr_push_security_descriptor(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sec_desc
));
687 NDR_CHECK(ndr_push_lsa_QosInfo(ndr
, NDR_SCALARS
, r
->sec_qos
));
690 return NDR_ERR_SUCCESS
;
693 static enum ndr_err_code
ndr_pull_lsa_ObjectAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ObjectAttribute
*r
)
695 uint32_t _ptr_root_dir
;
696 TALLOC_CTX
*_mem_save_root_dir_0
;
697 uint32_t _ptr_object_name
;
698 TALLOC_CTX
*_mem_save_object_name_0
;
699 uint32_t _ptr_sec_desc
;
700 TALLOC_CTX
*_mem_save_sec_desc_0
;
701 uint32_t _ptr_sec_qos
;
702 TALLOC_CTX
*_mem_save_sec_qos_0
;
703 if (ndr_flags
& NDR_SCALARS
) {
704 NDR_CHECK(ndr_pull_align(ndr
, 4));
705 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->len
));
706 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_root_dir
));
708 NDR_PULL_ALLOC(ndr
, r
->root_dir
);
712 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_name
));
713 if (_ptr_object_name
) {
714 NDR_PULL_ALLOC(ndr
, r
->object_name
);
716 r
->object_name
= NULL
;
718 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->attributes
));
719 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sec_desc
));
721 NDR_PULL_ALLOC(ndr
, r
->sec_desc
);
725 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sec_qos
));
727 NDR_PULL_ALLOC(ndr
, r
->sec_qos
);
732 if (ndr_flags
& NDR_BUFFERS
) {
734 _mem_save_root_dir_0
= NDR_PULL_GET_MEM_CTX(ndr
);
735 NDR_PULL_SET_MEM_CTX(ndr
, r
->root_dir
, 0);
736 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, r
->root_dir
));
737 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_root_dir_0
, 0);
739 if (r
->object_name
) {
740 _mem_save_object_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
741 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_name
, 0);
742 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_name
));
743 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_name
));
744 if (ndr_get_array_length(ndr
, &r
->object_name
) > ndr_get_array_size(ndr
, &r
->object_name
)) {
745 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
));
747 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_name
), sizeof(uint16_t)));
748 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_name
, ndr_get_array_length(ndr
, &r
->object_name
), sizeof(uint16_t), CH_UTF16
));
749 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_name_0
, 0);
752 _mem_save_sec_desc_0
= NDR_PULL_GET_MEM_CTX(ndr
);
753 NDR_PULL_SET_MEM_CTX(ndr
, r
->sec_desc
, 0);
754 NDR_CHECK(ndr_pull_security_descriptor(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sec_desc
));
755 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_desc_0
, 0);
758 _mem_save_sec_qos_0
= NDR_PULL_GET_MEM_CTX(ndr
);
759 NDR_PULL_SET_MEM_CTX(ndr
, r
->sec_qos
, 0);
760 NDR_CHECK(ndr_pull_lsa_QosInfo(ndr
, NDR_SCALARS
, r
->sec_qos
));
761 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_qos_0
, 0);
764 return NDR_ERR_SUCCESS
;
767 _PUBLIC_
void ndr_print_lsa_ObjectAttribute(struct ndr_print
*ndr
, const char *name
, const struct lsa_ObjectAttribute
*r
)
769 ndr_print_struct(ndr
, name
, "lsa_ObjectAttribute");
771 ndr_print_uint32(ndr
, "len", r
->len
);
772 ndr_print_ptr(ndr
, "root_dir", r
->root_dir
);
775 ndr_print_uint8(ndr
, "root_dir", *r
->root_dir
);
778 ndr_print_ptr(ndr
, "object_name", r
->object_name
);
780 if (r
->object_name
) {
781 ndr_print_string(ndr
, "object_name", r
->object_name
);
784 ndr_print_uint32(ndr
, "attributes", r
->attributes
);
785 ndr_print_ptr(ndr
, "sec_desc", r
->sec_desc
);
788 ndr_print_security_descriptor(ndr
, "sec_desc", r
->sec_desc
);
791 ndr_print_ptr(ndr
, "sec_qos", r
->sec_qos
);
794 ndr_print_lsa_QosInfo(ndr
, "sec_qos", r
->sec_qos
);
800 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_PolicyAccessMask(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
802 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
803 return NDR_ERR_SUCCESS
;
806 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_PolicyAccessMask(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
809 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
811 return NDR_ERR_SUCCESS
;
814 _PUBLIC_
void ndr_print_lsa_PolicyAccessMask(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
816 ndr_print_uint32(ndr
, name
, r
);
818 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_VIEW_LOCAL_INFORMATION", LSA_POLICY_VIEW_LOCAL_INFORMATION
, r
);
819 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_VIEW_AUDIT_INFORMATION", LSA_POLICY_VIEW_AUDIT_INFORMATION
, r
);
820 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_GET_PRIVATE_INFORMATION", LSA_POLICY_GET_PRIVATE_INFORMATION
, r
);
821 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_TRUST_ADMIN", LSA_POLICY_TRUST_ADMIN
, r
);
822 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_CREATE_ACCOUNT", LSA_POLICY_CREATE_ACCOUNT
, r
);
823 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_CREATE_SECRET", LSA_POLICY_CREATE_SECRET
, r
);
824 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_CREATE_PRIVILEGE", LSA_POLICY_CREATE_PRIVILEGE
, r
);
825 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS", LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS
, r
);
826 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_SET_AUDIT_REQUIREMENTS", LSA_POLICY_SET_AUDIT_REQUIREMENTS
, r
);
827 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_AUDIT_LOG_ADMIN", LSA_POLICY_AUDIT_LOG_ADMIN
, r
);
828 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_SERVER_ADMIN", LSA_POLICY_SERVER_ADMIN
, r
);
829 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "LSA_POLICY_LOOKUP_NAMES", LSA_POLICY_LOOKUP_NAMES
, r
);
833 static enum ndr_err_code
ndr_push_lsa_AuditLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditLogInfo
*r
)
835 if (ndr_flags
& NDR_SCALARS
) {
836 NDR_CHECK(ndr_push_align(ndr
, 4));
837 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->percent_full
));
838 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->log_size
));
839 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->retention_time
));
840 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->shutdown_in_progress
));
841 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time_to_shutdown
));
842 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->next_audit_record
));
843 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
845 if (ndr_flags
& NDR_BUFFERS
) {
847 return NDR_ERR_SUCCESS
;
850 static enum ndr_err_code
ndr_pull_lsa_AuditLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditLogInfo
*r
)
852 if (ndr_flags
& NDR_SCALARS
) {
853 NDR_CHECK(ndr_pull_align(ndr
, 4));
854 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->percent_full
));
855 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->log_size
));
856 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->retention_time
));
857 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->shutdown_in_progress
));
858 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time_to_shutdown
));
859 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->next_audit_record
));
860 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
862 if (ndr_flags
& NDR_BUFFERS
) {
864 return NDR_ERR_SUCCESS
;
867 _PUBLIC_
void ndr_print_lsa_AuditLogInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditLogInfo
*r
)
869 ndr_print_struct(ndr
, name
, "lsa_AuditLogInfo");
871 ndr_print_uint32(ndr
, "percent_full", r
->percent_full
);
872 ndr_print_uint32(ndr
, "log_size", r
->log_size
);
873 ndr_print_NTTIME(ndr
, "retention_time", r
->retention_time
);
874 ndr_print_uint8(ndr
, "shutdown_in_progress", r
->shutdown_in_progress
);
875 ndr_print_NTTIME(ndr
, "time_to_shutdown", r
->time_to_shutdown
);
876 ndr_print_uint32(ndr
, "next_audit_record", r
->next_audit_record
);
877 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
881 static enum ndr_err_code
ndr_push_lsa_PolicyAuditPolicy(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_PolicyAuditPolicy r
)
883 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
884 return NDR_ERR_SUCCESS
;
887 static enum ndr_err_code
ndr_pull_lsa_PolicyAuditPolicy(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_PolicyAuditPolicy
*r
)
890 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
892 return NDR_ERR_SUCCESS
;
895 _PUBLIC_
void ndr_print_lsa_PolicyAuditPolicy(struct ndr_print
*ndr
, const char *name
, enum lsa_PolicyAuditPolicy r
)
897 const char *val
= NULL
;
900 case LSA_AUDIT_POLICY_NONE
: val
= "LSA_AUDIT_POLICY_NONE"; break;
901 case LSA_AUDIT_POLICY_SUCCESS
: val
= "LSA_AUDIT_POLICY_SUCCESS"; break;
902 case LSA_AUDIT_POLICY_FAILURE
: val
= "LSA_AUDIT_POLICY_FAILURE"; break;
903 case LSA_AUDIT_POLICY_ALL
: val
= "LSA_AUDIT_POLICY_ALL"; break;
904 case LSA_AUDIT_POLICY_CLEAR
: val
= "LSA_AUDIT_POLICY_CLEAR"; break;
906 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
909 static enum ndr_err_code
ndr_push_lsa_AuditEventsInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditEventsInfo
*r
)
911 uint32_t cntr_settings_1
;
912 if (ndr_flags
& NDR_SCALARS
) {
913 NDR_CHECK(ndr_push_align(ndr
, 4));
914 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->auditing_mode
));
915 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->settings
));
916 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
918 if (ndr_flags
& NDR_BUFFERS
) {
920 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
921 for (cntr_settings_1
= 0; cntr_settings_1
< r
->count
; cntr_settings_1
++) {
922 NDR_CHECK(ndr_push_lsa_PolicyAuditPolicy(ndr
, NDR_SCALARS
, r
->settings
[cntr_settings_1
]));
926 return NDR_ERR_SUCCESS
;
929 static enum ndr_err_code
ndr_pull_lsa_AuditEventsInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditEventsInfo
*r
)
931 uint32_t _ptr_settings
;
932 uint32_t cntr_settings_1
;
933 TALLOC_CTX
*_mem_save_settings_0
;
934 TALLOC_CTX
*_mem_save_settings_1
;
935 if (ndr_flags
& NDR_SCALARS
) {
936 NDR_CHECK(ndr_pull_align(ndr
, 4));
937 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->auditing_mode
));
938 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_settings
));
940 NDR_PULL_ALLOC(ndr
, r
->settings
);
944 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
946 if (ndr_flags
& NDR_BUFFERS
) {
948 _mem_save_settings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
949 NDR_PULL_SET_MEM_CTX(ndr
, r
->settings
, 0);
950 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->settings
));
951 NDR_PULL_ALLOC_N(ndr
, r
->settings
, ndr_get_array_size(ndr
, &r
->settings
));
952 _mem_save_settings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
953 NDR_PULL_SET_MEM_CTX(ndr
, r
->settings
, 0);
954 for (cntr_settings_1
= 0; cntr_settings_1
< r
->count
; cntr_settings_1
++) {
955 NDR_CHECK(ndr_pull_lsa_PolicyAuditPolicy(ndr
, NDR_SCALARS
, &r
->settings
[cntr_settings_1
]));
957 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_settings_1
, 0);
958 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_settings_0
, 0);
961 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->settings
, r
->count
));
964 return NDR_ERR_SUCCESS
;
967 _PUBLIC_
void ndr_print_lsa_AuditEventsInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditEventsInfo
*r
)
969 uint32_t cntr_settings_1
;
970 ndr_print_struct(ndr
, name
, "lsa_AuditEventsInfo");
972 ndr_print_uint32(ndr
, "auditing_mode", r
->auditing_mode
);
973 ndr_print_ptr(ndr
, "settings", r
->settings
);
976 ndr
->print(ndr
, "%s: ARRAY(%d)", "settings", (int)r
->count
);
978 for (cntr_settings_1
=0;cntr_settings_1
<r
->count
;cntr_settings_1
++) {
980 if (asprintf(&idx_1
, "[%d]", cntr_settings_1
) != -1) {
981 ndr_print_lsa_PolicyAuditPolicy(ndr
, "settings", r
->settings
[cntr_settings_1
]);
988 ndr_print_uint32(ndr
, "count", r
->count
);
992 static enum ndr_err_code
ndr_push_lsa_DomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainInfo
*r
)
994 if (ndr_flags
& NDR_SCALARS
) {
995 NDR_CHECK(ndr_push_align(ndr
, 4));
996 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
997 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
999 if (ndr_flags
& NDR_BUFFERS
) {
1000 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1002 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1005 return NDR_ERR_SUCCESS
;
1008 static enum ndr_err_code
ndr_pull_lsa_DomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainInfo
*r
)
1011 TALLOC_CTX
*_mem_save_sid_0
;
1012 if (ndr_flags
& NDR_SCALARS
) {
1013 NDR_CHECK(ndr_pull_align(ndr
, 4));
1014 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1015 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
1017 NDR_PULL_ALLOC(ndr
, r
->sid
);
1022 if (ndr_flags
& NDR_BUFFERS
) {
1023 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1025 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1026 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
1027 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
1031 return NDR_ERR_SUCCESS
;
1034 _PUBLIC_
void ndr_print_lsa_DomainInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainInfo
*r
)
1036 ndr_print_struct(ndr
, name
, "lsa_DomainInfo");
1038 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
1039 ndr_print_ptr(ndr
, "sid", r
->sid
);
1042 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
1048 static enum ndr_err_code
ndr_push_lsa_PDAccountInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PDAccountInfo
*r
)
1050 if (ndr_flags
& NDR_SCALARS
) {
1051 NDR_CHECK(ndr_push_align(ndr
, 4));
1052 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1054 if (ndr_flags
& NDR_BUFFERS
) {
1055 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1057 return NDR_ERR_SUCCESS
;
1060 static enum ndr_err_code
ndr_pull_lsa_PDAccountInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PDAccountInfo
*r
)
1062 if (ndr_flags
& NDR_SCALARS
) {
1063 NDR_CHECK(ndr_pull_align(ndr
, 4));
1064 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
1066 if (ndr_flags
& NDR_BUFFERS
) {
1067 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
1069 return NDR_ERR_SUCCESS
;
1072 _PUBLIC_
void ndr_print_lsa_PDAccountInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_PDAccountInfo
*r
)
1074 ndr_print_struct(ndr
, name
, "lsa_PDAccountInfo");
1076 ndr_print_lsa_String(ndr
, "name", &r
->name
);
1080 static enum ndr_err_code
ndr_push_lsa_ServerRole(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ServerRole
*r
)
1082 if (ndr_flags
& NDR_SCALARS
) {
1083 NDR_CHECK(ndr_push_align(ndr
, 2));
1084 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->unknown
));
1085 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->role
));
1087 if (ndr_flags
& NDR_BUFFERS
) {
1089 return NDR_ERR_SUCCESS
;
1092 static enum ndr_err_code
ndr_pull_lsa_ServerRole(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ServerRole
*r
)
1094 if (ndr_flags
& NDR_SCALARS
) {
1095 NDR_CHECK(ndr_pull_align(ndr
, 2));
1096 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown
));
1097 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->role
));
1099 if (ndr_flags
& NDR_BUFFERS
) {
1101 return NDR_ERR_SUCCESS
;
1104 _PUBLIC_
void ndr_print_lsa_ServerRole(struct ndr_print
*ndr
, const char *name
, const struct lsa_ServerRole
*r
)
1106 ndr_print_struct(ndr
, name
, "lsa_ServerRole");
1108 ndr_print_uint16(ndr
, "unknown", r
->unknown
);
1109 ndr_print_uint16(ndr
, "role", r
->role
);
1113 static enum ndr_err_code
ndr_push_lsa_ReplicaSourceInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ReplicaSourceInfo
*r
)
1115 if (ndr_flags
& NDR_SCALARS
) {
1116 NDR_CHECK(ndr_push_align(ndr
, 4));
1117 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->source
));
1118 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->account
));
1120 if (ndr_flags
& NDR_BUFFERS
) {
1121 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->source
));
1122 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->account
));
1124 return NDR_ERR_SUCCESS
;
1127 static enum ndr_err_code
ndr_pull_lsa_ReplicaSourceInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ReplicaSourceInfo
*r
)
1129 if (ndr_flags
& NDR_SCALARS
) {
1130 NDR_CHECK(ndr_pull_align(ndr
, 4));
1131 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->source
));
1132 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->account
));
1134 if (ndr_flags
& NDR_BUFFERS
) {
1135 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->source
));
1136 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->account
));
1138 return NDR_ERR_SUCCESS
;
1141 _PUBLIC_
void ndr_print_lsa_ReplicaSourceInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ReplicaSourceInfo
*r
)
1143 ndr_print_struct(ndr
, name
, "lsa_ReplicaSourceInfo");
1145 ndr_print_lsa_String(ndr
, "source", &r
->source
);
1146 ndr_print_lsa_String(ndr
, "account", &r
->account
);
1150 static enum ndr_err_code
ndr_push_lsa_DefaultQuotaInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DefaultQuotaInfo
*r
)
1152 if (ndr_flags
& NDR_SCALARS
) {
1153 NDR_CHECK(ndr_push_align(ndr
, 8));
1154 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->paged_pool
));
1155 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->non_paged_pool
));
1156 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->min_wss
));
1157 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_wss
));
1158 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pagefile
));
1159 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown
));
1161 if (ndr_flags
& NDR_BUFFERS
) {
1163 return NDR_ERR_SUCCESS
;
1166 static enum ndr_err_code
ndr_pull_lsa_DefaultQuotaInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DefaultQuotaInfo
*r
)
1168 if (ndr_flags
& NDR_SCALARS
) {
1169 NDR_CHECK(ndr_pull_align(ndr
, 8));
1170 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->paged_pool
));
1171 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->non_paged_pool
));
1172 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->min_wss
));
1173 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_wss
));
1174 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pagefile
));
1175 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown
));
1177 if (ndr_flags
& NDR_BUFFERS
) {
1179 return NDR_ERR_SUCCESS
;
1182 _PUBLIC_
void ndr_print_lsa_DefaultQuotaInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_DefaultQuotaInfo
*r
)
1184 ndr_print_struct(ndr
, name
, "lsa_DefaultQuotaInfo");
1186 ndr_print_uint32(ndr
, "paged_pool", r
->paged_pool
);
1187 ndr_print_uint32(ndr
, "non_paged_pool", r
->non_paged_pool
);
1188 ndr_print_uint32(ndr
, "min_wss", r
->min_wss
);
1189 ndr_print_uint32(ndr
, "max_wss", r
->max_wss
);
1190 ndr_print_uint32(ndr
, "pagefile", r
->pagefile
);
1191 ndr_print_hyper(ndr
, "unknown", r
->unknown
);
1195 static enum ndr_err_code
ndr_push_lsa_ModificationInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ModificationInfo
*r
)
1197 if (ndr_flags
& NDR_SCALARS
) {
1198 NDR_CHECK(ndr_push_align(ndr
, 8));
1199 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->modified_id
));
1200 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->db_create_time
));
1202 if (ndr_flags
& NDR_BUFFERS
) {
1204 return NDR_ERR_SUCCESS
;
1207 static enum ndr_err_code
ndr_pull_lsa_ModificationInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ModificationInfo
*r
)
1209 if (ndr_flags
& NDR_SCALARS
) {
1210 NDR_CHECK(ndr_pull_align(ndr
, 8));
1211 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->modified_id
));
1212 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->db_create_time
));
1214 if (ndr_flags
& NDR_BUFFERS
) {
1216 return NDR_ERR_SUCCESS
;
1219 _PUBLIC_
void ndr_print_lsa_ModificationInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ModificationInfo
*r
)
1221 ndr_print_struct(ndr
, name
, "lsa_ModificationInfo");
1223 ndr_print_hyper(ndr
, "modified_id", r
->modified_id
);
1224 ndr_print_NTTIME(ndr
, "db_create_time", r
->db_create_time
);
1228 static enum ndr_err_code
ndr_push_lsa_AuditFullSetInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditFullSetInfo
*r
)
1230 if (ndr_flags
& NDR_SCALARS
) {
1231 NDR_CHECK(ndr_push_align(ndr
, 1));
1232 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->shutdown_on_full
));
1234 if (ndr_flags
& NDR_BUFFERS
) {
1236 return NDR_ERR_SUCCESS
;
1239 static enum ndr_err_code
ndr_pull_lsa_AuditFullSetInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditFullSetInfo
*r
)
1241 if (ndr_flags
& NDR_SCALARS
) {
1242 NDR_CHECK(ndr_pull_align(ndr
, 1));
1243 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->shutdown_on_full
));
1245 if (ndr_flags
& NDR_BUFFERS
) {
1247 return NDR_ERR_SUCCESS
;
1250 _PUBLIC_
void ndr_print_lsa_AuditFullSetInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditFullSetInfo
*r
)
1252 ndr_print_struct(ndr
, name
, "lsa_AuditFullSetInfo");
1254 ndr_print_uint8(ndr
, "shutdown_on_full", r
->shutdown_on_full
);
1258 static enum ndr_err_code
ndr_push_lsa_AuditFullQueryInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_AuditFullQueryInfo
*r
)
1260 if (ndr_flags
& NDR_SCALARS
) {
1261 NDR_CHECK(ndr_push_align(ndr
, 2));
1262 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->unknown
));
1263 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->shutdown_on_full
));
1264 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->log_is_full
));
1266 if (ndr_flags
& NDR_BUFFERS
) {
1268 return NDR_ERR_SUCCESS
;
1271 static enum ndr_err_code
ndr_pull_lsa_AuditFullQueryInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_AuditFullQueryInfo
*r
)
1273 if (ndr_flags
& NDR_SCALARS
) {
1274 NDR_CHECK(ndr_pull_align(ndr
, 2));
1275 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown
));
1276 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->shutdown_on_full
));
1277 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->log_is_full
));
1279 if (ndr_flags
& NDR_BUFFERS
) {
1281 return NDR_ERR_SUCCESS
;
1284 _PUBLIC_
void ndr_print_lsa_AuditFullQueryInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_AuditFullQueryInfo
*r
)
1286 ndr_print_struct(ndr
, name
, "lsa_AuditFullQueryInfo");
1288 ndr_print_uint16(ndr
, "unknown", r
->unknown
);
1289 ndr_print_uint8(ndr
, "shutdown_on_full", r
->shutdown_on_full
);
1290 ndr_print_uint8(ndr
, "log_is_full", r
->log_is_full
);
1294 static enum ndr_err_code
ndr_push_lsa_DnsDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DnsDomainInfo
*r
)
1296 if (ndr_flags
& NDR_SCALARS
) {
1297 NDR_CHECK(ndr_push_align(ndr
, 4));
1298 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1299 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain
));
1300 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_forest
));
1301 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->domain_guid
));
1302 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
1304 if (ndr_flags
& NDR_BUFFERS
) {
1305 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1306 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain
));
1307 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_forest
));
1308 NDR_CHECK(ndr_push_GUID(ndr
, NDR_BUFFERS
, &r
->domain_guid
));
1310 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1313 return NDR_ERR_SUCCESS
;
1316 static enum ndr_err_code
ndr_pull_lsa_DnsDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DnsDomainInfo
*r
)
1319 TALLOC_CTX
*_mem_save_sid_0
;
1320 if (ndr_flags
& NDR_SCALARS
) {
1321 NDR_CHECK(ndr_pull_align(ndr
, 4));
1322 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->name
));
1323 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain
));
1324 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_forest
));
1325 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->domain_guid
));
1326 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
1328 NDR_PULL_ALLOC(ndr
, r
->sid
);
1333 if (ndr_flags
& NDR_BUFFERS
) {
1334 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->name
));
1335 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain
));
1336 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_forest
));
1337 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_BUFFERS
, &r
->domain_guid
));
1339 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1340 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
1341 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1342 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
1345 return NDR_ERR_SUCCESS
;
1348 _PUBLIC_
void ndr_print_lsa_DnsDomainInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_DnsDomainInfo
*r
)
1350 ndr_print_struct(ndr
, name
, "lsa_DnsDomainInfo");
1352 ndr_print_lsa_StringLarge(ndr
, "name", &r
->name
);
1353 ndr_print_lsa_StringLarge(ndr
, "dns_domain", &r
->dns_domain
);
1354 ndr_print_lsa_StringLarge(ndr
, "dns_forest", &r
->dns_forest
);
1355 ndr_print_GUID(ndr
, "domain_guid", &r
->domain_guid
);
1356 ndr_print_ptr(ndr
, "sid", r
->sid
);
1359 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
1365 static enum ndr_err_code
ndr_push_lsa_PolicyInfo(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_PolicyInfo r
)
1367 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
1368 return NDR_ERR_SUCCESS
;
1371 static enum ndr_err_code
ndr_pull_lsa_PolicyInfo(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_PolicyInfo
*r
)
1374 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
1376 return NDR_ERR_SUCCESS
;
1379 _PUBLIC_
void ndr_print_lsa_PolicyInfo(struct ndr_print
*ndr
, const char *name
, enum lsa_PolicyInfo r
)
1381 const char *val
= NULL
;
1384 case LSA_POLICY_INFO_AUDIT_LOG
: val
= "LSA_POLICY_INFO_AUDIT_LOG"; break;
1385 case LSA_POLICY_INFO_AUDIT_EVENTS
: val
= "LSA_POLICY_INFO_AUDIT_EVENTS"; break;
1386 case LSA_POLICY_INFO_DOMAIN
: val
= "LSA_POLICY_INFO_DOMAIN"; break;
1387 case LSA_POLICY_INFO_PD
: val
= "LSA_POLICY_INFO_PD"; break;
1388 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: val
= "LSA_POLICY_INFO_ACCOUNT_DOMAIN"; break;
1389 case LSA_POLICY_INFO_ROLE
: val
= "LSA_POLICY_INFO_ROLE"; break;
1390 case LSA_POLICY_INFO_REPLICA
: val
= "LSA_POLICY_INFO_REPLICA"; break;
1391 case LSA_POLICY_INFO_QUOTA
: val
= "LSA_POLICY_INFO_QUOTA"; break;
1392 case LSA_POLICY_INFO_DB
: val
= "LSA_POLICY_INFO_DB"; break;
1393 case LSA_POLICY_INFO_AUDIT_FULL_SET
: val
= "LSA_POLICY_INFO_AUDIT_FULL_SET"; break;
1394 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: val
= "LSA_POLICY_INFO_AUDIT_FULL_QUERY"; break;
1395 case LSA_POLICY_INFO_DNS
: val
= "LSA_POLICY_INFO_DNS"; break;
1397 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1400 static enum ndr_err_code
ndr_push_lsa_PolicyInformation(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_PolicyInformation
*r
)
1402 if (ndr_flags
& NDR_SCALARS
) {
1403 int level
= ndr_push_get_switch_value(ndr
, r
);
1404 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
1406 case LSA_POLICY_INFO_AUDIT_LOG
: {
1407 NDR_CHECK(ndr_push_lsa_AuditLogInfo(ndr
, NDR_SCALARS
, &r
->audit_log
));
1410 case LSA_POLICY_INFO_AUDIT_EVENTS
: {
1411 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr
, NDR_SCALARS
, &r
->audit_events
));
1414 case LSA_POLICY_INFO_DOMAIN
: {
1415 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domain
));
1418 case LSA_POLICY_INFO_PD
: {
1419 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr
, NDR_SCALARS
, &r
->pd
));
1422 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: {
1423 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->account_domain
));
1426 case LSA_POLICY_INFO_ROLE
: {
1427 NDR_CHECK(ndr_push_lsa_ServerRole(ndr
, NDR_SCALARS
, &r
->role
));
1430 case LSA_POLICY_INFO_REPLICA
: {
1431 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr
, NDR_SCALARS
, &r
->replica
));
1434 case LSA_POLICY_INFO_QUOTA
: {
1435 NDR_CHECK(ndr_push_lsa_DefaultQuotaInfo(ndr
, NDR_SCALARS
, &r
->quota
));
1438 case LSA_POLICY_INFO_DB
: {
1439 NDR_CHECK(ndr_push_lsa_ModificationInfo(ndr
, NDR_SCALARS
, &r
->db
));
1442 case LSA_POLICY_INFO_AUDIT_FULL_SET
: {
1443 NDR_CHECK(ndr_push_lsa_AuditFullSetInfo(ndr
, NDR_SCALARS
, &r
->auditfullset
));
1446 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: {
1447 NDR_CHECK(ndr_push_lsa_AuditFullQueryInfo(ndr
, NDR_SCALARS
, &r
->auditfullquery
));
1450 case LSA_POLICY_INFO_DNS
: {
1451 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1455 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1458 if (ndr_flags
& NDR_BUFFERS
) {
1459 int level
= ndr_push_get_switch_value(ndr
, r
);
1461 case LSA_POLICY_INFO_AUDIT_LOG
:
1464 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1465 NDR_CHECK(ndr_push_lsa_AuditEventsInfo(ndr
, NDR_BUFFERS
, &r
->audit_events
));
1468 case LSA_POLICY_INFO_DOMAIN
:
1469 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domain
));
1472 case LSA_POLICY_INFO_PD
:
1473 NDR_CHECK(ndr_push_lsa_PDAccountInfo(ndr
, NDR_BUFFERS
, &r
->pd
));
1476 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1477 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->account_domain
));
1480 case LSA_POLICY_INFO_ROLE
:
1483 case LSA_POLICY_INFO_REPLICA
:
1484 NDR_CHECK(ndr_push_lsa_ReplicaSourceInfo(ndr
, NDR_BUFFERS
, &r
->replica
));
1487 case LSA_POLICY_INFO_QUOTA
:
1490 case LSA_POLICY_INFO_DB
:
1493 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1496 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1499 case LSA_POLICY_INFO_DNS
:
1500 NDR_CHECK(ndr_push_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1504 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1507 return NDR_ERR_SUCCESS
;
1510 static enum ndr_err_code
ndr_pull_lsa_PolicyInformation(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_PolicyInformation
*r
)
1514 level
= ndr_pull_get_switch_value(ndr
, r
);
1515 if (ndr_flags
& NDR_SCALARS
) {
1516 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
1517 if (_level
!= level
) {
1518 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
1521 case LSA_POLICY_INFO_AUDIT_LOG
: {
1522 NDR_CHECK(ndr_pull_lsa_AuditLogInfo(ndr
, NDR_SCALARS
, &r
->audit_log
));
1525 case LSA_POLICY_INFO_AUDIT_EVENTS
: {
1526 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr
, NDR_SCALARS
, &r
->audit_events
));
1529 case LSA_POLICY_INFO_DOMAIN
: {
1530 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domain
));
1533 case LSA_POLICY_INFO_PD
: {
1534 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr
, NDR_SCALARS
, &r
->pd
));
1537 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
: {
1538 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->account_domain
));
1541 case LSA_POLICY_INFO_ROLE
: {
1542 NDR_CHECK(ndr_pull_lsa_ServerRole(ndr
, NDR_SCALARS
, &r
->role
));
1545 case LSA_POLICY_INFO_REPLICA
: {
1546 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr
, NDR_SCALARS
, &r
->replica
));
1549 case LSA_POLICY_INFO_QUOTA
: {
1550 NDR_CHECK(ndr_pull_lsa_DefaultQuotaInfo(ndr
, NDR_SCALARS
, &r
->quota
));
1553 case LSA_POLICY_INFO_DB
: {
1554 NDR_CHECK(ndr_pull_lsa_ModificationInfo(ndr
, NDR_SCALARS
, &r
->db
));
1557 case LSA_POLICY_INFO_AUDIT_FULL_SET
: {
1558 NDR_CHECK(ndr_pull_lsa_AuditFullSetInfo(ndr
, NDR_SCALARS
, &r
->auditfullset
));
1561 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
: {
1562 NDR_CHECK(ndr_pull_lsa_AuditFullQueryInfo(ndr
, NDR_SCALARS
, &r
->auditfullquery
));
1565 case LSA_POLICY_INFO_DNS
: {
1566 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_SCALARS
, &r
->dns
));
1570 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1573 if (ndr_flags
& NDR_BUFFERS
) {
1575 case LSA_POLICY_INFO_AUDIT_LOG
:
1578 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1579 NDR_CHECK(ndr_pull_lsa_AuditEventsInfo(ndr
, NDR_BUFFERS
, &r
->audit_events
));
1582 case LSA_POLICY_INFO_DOMAIN
:
1583 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domain
));
1586 case LSA_POLICY_INFO_PD
:
1587 NDR_CHECK(ndr_pull_lsa_PDAccountInfo(ndr
, NDR_BUFFERS
, &r
->pd
));
1590 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1591 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->account_domain
));
1594 case LSA_POLICY_INFO_ROLE
:
1597 case LSA_POLICY_INFO_REPLICA
:
1598 NDR_CHECK(ndr_pull_lsa_ReplicaSourceInfo(ndr
, NDR_BUFFERS
, &r
->replica
));
1601 case LSA_POLICY_INFO_QUOTA
:
1604 case LSA_POLICY_INFO_DB
:
1607 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1610 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1613 case LSA_POLICY_INFO_DNS
:
1614 NDR_CHECK(ndr_pull_lsa_DnsDomainInfo(ndr
, NDR_BUFFERS
, &r
->dns
));
1618 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
1621 return NDR_ERR_SUCCESS
;
1624 _PUBLIC_
void ndr_print_lsa_PolicyInformation(struct ndr_print
*ndr
, const char *name
, const union lsa_PolicyInformation
*r
)
1627 level
= ndr_print_get_switch_value(ndr
, r
);
1628 ndr_print_union(ndr
, name
, level
, "lsa_PolicyInformation");
1630 case LSA_POLICY_INFO_AUDIT_LOG
:
1631 ndr_print_lsa_AuditLogInfo(ndr
, "audit_log", &r
->audit_log
);
1634 case LSA_POLICY_INFO_AUDIT_EVENTS
:
1635 ndr_print_lsa_AuditEventsInfo(ndr
, "audit_events", &r
->audit_events
);
1638 case LSA_POLICY_INFO_DOMAIN
:
1639 ndr_print_lsa_DomainInfo(ndr
, "domain", &r
->domain
);
1642 case LSA_POLICY_INFO_PD
:
1643 ndr_print_lsa_PDAccountInfo(ndr
, "pd", &r
->pd
);
1646 case LSA_POLICY_INFO_ACCOUNT_DOMAIN
:
1647 ndr_print_lsa_DomainInfo(ndr
, "account_domain", &r
->account_domain
);
1650 case LSA_POLICY_INFO_ROLE
:
1651 ndr_print_lsa_ServerRole(ndr
, "role", &r
->role
);
1654 case LSA_POLICY_INFO_REPLICA
:
1655 ndr_print_lsa_ReplicaSourceInfo(ndr
, "replica", &r
->replica
);
1658 case LSA_POLICY_INFO_QUOTA
:
1659 ndr_print_lsa_DefaultQuotaInfo(ndr
, "quota", &r
->quota
);
1662 case LSA_POLICY_INFO_DB
:
1663 ndr_print_lsa_ModificationInfo(ndr
, "db", &r
->db
);
1666 case LSA_POLICY_INFO_AUDIT_FULL_SET
:
1667 ndr_print_lsa_AuditFullSetInfo(ndr
, "auditfullset", &r
->auditfullset
);
1670 case LSA_POLICY_INFO_AUDIT_FULL_QUERY
:
1671 ndr_print_lsa_AuditFullQueryInfo(ndr
, "auditfullquery", &r
->auditfullquery
);
1674 case LSA_POLICY_INFO_DNS
:
1675 ndr_print_lsa_DnsDomainInfo(ndr
, "dns", &r
->dns
);
1679 ndr_print_bad_level(ndr
, name
, level
);
1683 static enum ndr_err_code
ndr_push_lsa_SidPtr(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_SidPtr
*r
)
1685 if (ndr_flags
& NDR_SCALARS
) {
1686 NDR_CHECK(ndr_push_align(ndr
, 4));
1687 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
1689 if (ndr_flags
& NDR_BUFFERS
) {
1691 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1694 return NDR_ERR_SUCCESS
;
1697 static enum ndr_err_code
ndr_pull_lsa_SidPtr(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_SidPtr
*r
)
1700 TALLOC_CTX
*_mem_save_sid_0
;
1701 if (ndr_flags
& NDR_SCALARS
) {
1702 NDR_CHECK(ndr_pull_align(ndr
, 4));
1703 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
1705 NDR_PULL_ALLOC(ndr
, r
->sid
);
1710 if (ndr_flags
& NDR_BUFFERS
) {
1712 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1713 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
1714 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
1715 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
1718 return NDR_ERR_SUCCESS
;
1721 _PUBLIC_
void ndr_print_lsa_SidPtr(struct ndr_print
*ndr
, const char *name
, const struct lsa_SidPtr
*r
)
1723 ndr_print_struct(ndr
, name
, "lsa_SidPtr");
1725 ndr_print_ptr(ndr
, "sid", r
->sid
);
1728 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
1734 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SidArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_SidArray
*r
)
1736 uint32_t cntr_sids_1
;
1737 if (ndr_flags
& NDR_SCALARS
) {
1738 NDR_CHECK(ndr_push_align(ndr
, 4));
1739 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
1740 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
1742 if (ndr_flags
& NDR_BUFFERS
) {
1744 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
1745 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1746 NDR_CHECK(ndr_push_lsa_SidPtr(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
1748 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1749 NDR_CHECK(ndr_push_lsa_SidPtr(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
1753 return NDR_ERR_SUCCESS
;
1756 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SidArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_SidArray
*r
)
1759 uint32_t cntr_sids_1
;
1760 TALLOC_CTX
*_mem_save_sids_0
;
1761 TALLOC_CTX
*_mem_save_sids_1
;
1762 if (ndr_flags
& NDR_SCALARS
) {
1763 NDR_CHECK(ndr_pull_align(ndr
, 4));
1764 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
1765 if (r
->num_sids
< 0 || r
->num_sids
> 1000) {
1766 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1768 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
1770 NDR_PULL_ALLOC(ndr
, r
->sids
);
1775 if (ndr_flags
& NDR_BUFFERS
) {
1777 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1778 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
1779 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
1780 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
1781 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1782 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
1783 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1784 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
1786 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
1787 NDR_CHECK(ndr_pull_lsa_SidPtr(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
1789 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
1790 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
1793 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
1796 return NDR_ERR_SUCCESS
;
1799 _PUBLIC_
void ndr_print_lsa_SidArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_SidArray
*r
)
1801 uint32_t cntr_sids_1
;
1802 ndr_print_struct(ndr
, name
, "lsa_SidArray");
1804 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
1805 ndr_print_ptr(ndr
, "sids", r
->sids
);
1808 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
1810 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
1812 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
1813 ndr_print_lsa_SidPtr(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
1823 static enum ndr_err_code
ndr_push_lsa_DomainList(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainList
*r
)
1825 uint32_t cntr_domains_1
;
1826 if (ndr_flags
& NDR_SCALARS
) {
1827 NDR_CHECK(ndr_push_align(ndr
, 4));
1828 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1829 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domains
));
1831 if (ndr_flags
& NDR_BUFFERS
) {
1833 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1834 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
1835 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
1837 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
1838 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
1842 return NDR_ERR_SUCCESS
;
1845 static enum ndr_err_code
ndr_pull_lsa_DomainList(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainList
*r
)
1847 uint32_t _ptr_domains
;
1848 uint32_t cntr_domains_1
;
1849 TALLOC_CTX
*_mem_save_domains_0
;
1850 TALLOC_CTX
*_mem_save_domains_1
;
1851 if (ndr_flags
& NDR_SCALARS
) {
1852 NDR_CHECK(ndr_pull_align(ndr
, 4));
1853 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1854 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
1856 NDR_PULL_ALLOC(ndr
, r
->domains
);
1861 if (ndr_flags
& NDR_BUFFERS
) {
1863 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1864 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
1865 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domains
));
1866 NDR_PULL_ALLOC_N(ndr
, r
->domains
, ndr_get_array_size(ndr
, &r
->domains
));
1867 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1868 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
1869 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
1870 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
1872 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
1873 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
1875 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
1876 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, 0);
1879 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->domains
, r
->count
));
1882 return NDR_ERR_SUCCESS
;
1885 _PUBLIC_
void ndr_print_lsa_DomainList(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainList
*r
)
1887 uint32_t cntr_domains_1
;
1888 ndr_print_struct(ndr
, name
, "lsa_DomainList");
1890 ndr_print_uint32(ndr
, "count", r
->count
);
1891 ndr_print_ptr(ndr
, "domains", r
->domains
);
1894 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
1896 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
1898 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
1899 ndr_print_lsa_DomainInfo(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
1909 static enum ndr_err_code
ndr_push_lsa_SidType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_SidType r
)
1911 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
1912 return NDR_ERR_SUCCESS
;
1915 static enum ndr_err_code
ndr_pull_lsa_SidType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_SidType
*r
)
1918 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
1920 return NDR_ERR_SUCCESS
;
1923 _PUBLIC_
void ndr_print_lsa_SidType(struct ndr_print
*ndr
, const char *name
, enum lsa_SidType r
)
1925 const char *val
= NULL
;
1928 case SID_NAME_USE_NONE
: val
= "SID_NAME_USE_NONE"; break;
1929 case SID_NAME_USER
: val
= "SID_NAME_USER"; break;
1930 case SID_NAME_DOM_GRP
: val
= "SID_NAME_DOM_GRP"; break;
1931 case SID_NAME_DOMAIN
: val
= "SID_NAME_DOMAIN"; break;
1932 case SID_NAME_ALIAS
: val
= "SID_NAME_ALIAS"; break;
1933 case SID_NAME_WKN_GRP
: val
= "SID_NAME_WKN_GRP"; break;
1934 case SID_NAME_DELETED
: val
= "SID_NAME_DELETED"; break;
1935 case SID_NAME_INVALID
: val
= "SID_NAME_INVALID"; break;
1936 case SID_NAME_UNKNOWN
: val
= "SID_NAME_UNKNOWN"; break;
1937 case SID_NAME_COMPUTER
: val
= "SID_NAME_COMPUTER"; break;
1939 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1942 static enum ndr_err_code
ndr_push_lsa_TranslatedSid(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedSid
*r
)
1944 if (ndr_flags
& NDR_SCALARS
) {
1945 NDR_CHECK(ndr_push_align(ndr
, 4));
1946 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
1947 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
1948 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
1950 if (ndr_flags
& NDR_BUFFERS
) {
1952 return NDR_ERR_SUCCESS
;
1955 static enum ndr_err_code
ndr_pull_lsa_TranslatedSid(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedSid
*r
)
1957 if (ndr_flags
& NDR_SCALARS
) {
1958 NDR_CHECK(ndr_pull_align(ndr
, 4));
1959 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
1960 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
1961 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
1963 if (ndr_flags
& NDR_BUFFERS
) {
1965 return NDR_ERR_SUCCESS
;
1968 _PUBLIC_
void ndr_print_lsa_TranslatedSid(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedSid
*r
)
1970 ndr_print_struct(ndr
, name
, "lsa_TranslatedSid");
1972 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
1973 ndr_print_uint32(ndr
, "rid", r
->rid
);
1974 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
1978 static enum ndr_err_code
ndr_push_lsa_TransSidArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransSidArray
*r
)
1980 uint32_t cntr_sids_1
;
1981 if (ndr_flags
& NDR_SCALARS
) {
1982 NDR_CHECK(ndr_push_align(ndr
, 4));
1983 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1984 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
1986 if (ndr_flags
& NDR_BUFFERS
) {
1988 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1989 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
1990 NDR_CHECK(ndr_push_lsa_TranslatedSid(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
1994 return NDR_ERR_SUCCESS
;
1997 static enum ndr_err_code
ndr_pull_lsa_TransSidArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransSidArray
*r
)
2000 uint32_t cntr_sids_1
;
2001 TALLOC_CTX
*_mem_save_sids_0
;
2002 TALLOC_CTX
*_mem_save_sids_1
;
2003 if (ndr_flags
& NDR_SCALARS
) {
2004 NDR_CHECK(ndr_pull_align(ndr
, 4));
2005 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2006 if (r
->count
< 0 || r
->count
> 1000) {
2007 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2009 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
2011 NDR_PULL_ALLOC(ndr
, r
->sids
);
2016 if (ndr_flags
& NDR_BUFFERS
) {
2018 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2019 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
2020 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
2021 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
2022 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2023 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
2024 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
2025 NDR_CHECK(ndr_pull_lsa_TranslatedSid(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
2027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
2028 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
2031 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->count
));
2034 return NDR_ERR_SUCCESS
;
2037 _PUBLIC_
void ndr_print_lsa_TransSidArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransSidArray
*r
)
2039 uint32_t cntr_sids_1
;
2040 ndr_print_struct(ndr
, name
, "lsa_TransSidArray");
2042 ndr_print_uint32(ndr
, "count", r
->count
);
2043 ndr_print_ptr(ndr
, "sids", r
->sids
);
2046 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
2048 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
2050 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
2051 ndr_print_lsa_TranslatedSid(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
2061 static enum ndr_err_code
ndr_push_lsa_RefDomainList(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_RefDomainList
*r
)
2063 uint32_t cntr_domains_1
;
2064 if (ndr_flags
& NDR_SCALARS
) {
2065 NDR_CHECK(ndr_push_align(ndr
, 4));
2066 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2067 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domains
));
2068 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_size
));
2070 if (ndr_flags
& NDR_BUFFERS
) {
2072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2073 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2074 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
2076 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2077 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
2081 return NDR_ERR_SUCCESS
;
2084 static enum ndr_err_code
ndr_pull_lsa_RefDomainList(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_RefDomainList
*r
)
2086 uint32_t _ptr_domains
;
2087 uint32_t cntr_domains_1
;
2088 TALLOC_CTX
*_mem_save_domains_0
;
2089 TALLOC_CTX
*_mem_save_domains_1
;
2090 if (ndr_flags
& NDR_SCALARS
) {
2091 NDR_CHECK(ndr_pull_align(ndr
, 4));
2092 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2093 if (r
->count
< 0 || r
->count
> 1000) {
2094 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2096 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
2098 NDR_PULL_ALLOC(ndr
, r
->domains
);
2102 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_size
));
2104 if (ndr_flags
& NDR_BUFFERS
) {
2106 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2107 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
2108 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domains
));
2109 NDR_PULL_ALLOC_N(ndr
, r
->domains
, ndr_get_array_size(ndr
, &r
->domains
));
2110 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2111 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
2112 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2113 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
2115 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
2116 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
2118 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
2119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, 0);
2122 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->domains
, r
->count
));
2125 return NDR_ERR_SUCCESS
;
2128 _PUBLIC_
void ndr_print_lsa_RefDomainList(struct ndr_print
*ndr
, const char *name
, const struct lsa_RefDomainList
*r
)
2130 uint32_t cntr_domains_1
;
2131 ndr_print_struct(ndr
, name
, "lsa_RefDomainList");
2133 ndr_print_uint32(ndr
, "count", r
->count
);
2134 ndr_print_ptr(ndr
, "domains", r
->domains
);
2137 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
2139 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
2141 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
2142 ndr_print_lsa_DomainInfo(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
2149 ndr_print_uint32(ndr
, "max_size", r
->max_size
);
2153 static enum ndr_err_code
ndr_push_lsa_LookupNamesLevel(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_LookupNamesLevel r
)
2155 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
2156 return NDR_ERR_SUCCESS
;
2159 static enum ndr_err_code
ndr_pull_lsa_LookupNamesLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_LookupNamesLevel
*r
)
2162 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
2164 return NDR_ERR_SUCCESS
;
2167 _PUBLIC_
void ndr_print_lsa_LookupNamesLevel(struct ndr_print
*ndr
, const char *name
, enum lsa_LookupNamesLevel r
)
2169 const char *val
= NULL
;
2172 case LSA_LOOKUP_NAMES_ALL
: val
= "LSA_LOOKUP_NAMES_ALL"; break;
2173 case LSA_LOOKUP_NAMES_DOMAINS_ONLY
: val
= "LSA_LOOKUP_NAMES_DOMAINS_ONLY"; break;
2174 case LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY
: val
= "LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY"; break;
2175 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY
: val
= "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY"; break;
2176 case LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY
: val
= "LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY"; break;
2177 case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2
: val
= "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2"; break;
2179 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2182 static enum ndr_err_code
ndr_push_lsa_TranslatedName(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedName
*r
)
2184 if (ndr_flags
& NDR_SCALARS
) {
2185 NDR_CHECK(ndr_push_align(ndr
, 4));
2186 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
2187 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
2188 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
2190 if (ndr_flags
& NDR_BUFFERS
) {
2191 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
2193 return NDR_ERR_SUCCESS
;
2196 static enum ndr_err_code
ndr_pull_lsa_TranslatedName(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedName
*r
)
2198 if (ndr_flags
& NDR_SCALARS
) {
2199 NDR_CHECK(ndr_pull_align(ndr
, 4));
2200 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
2201 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
2202 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
2204 if (ndr_flags
& NDR_BUFFERS
) {
2205 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
2207 return NDR_ERR_SUCCESS
;
2210 _PUBLIC_
void ndr_print_lsa_TranslatedName(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedName
*r
)
2212 ndr_print_struct(ndr
, name
, "lsa_TranslatedName");
2214 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
2215 ndr_print_lsa_String(ndr
, "name", &r
->name
);
2216 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
2220 static enum ndr_err_code
ndr_push_lsa_TransNameArray(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransNameArray
*r
)
2222 uint32_t cntr_names_1
;
2223 if (ndr_flags
& NDR_SCALARS
) {
2224 NDR_CHECK(ndr_push_align(ndr
, 4));
2225 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2226 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
2228 if (ndr_flags
& NDR_BUFFERS
) {
2230 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2231 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2232 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
2234 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2235 NDR_CHECK(ndr_push_lsa_TranslatedName(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
2239 return NDR_ERR_SUCCESS
;
2242 static enum ndr_err_code
ndr_pull_lsa_TransNameArray(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransNameArray
*r
)
2244 uint32_t _ptr_names
;
2245 uint32_t cntr_names_1
;
2246 TALLOC_CTX
*_mem_save_names_0
;
2247 TALLOC_CTX
*_mem_save_names_1
;
2248 if (ndr_flags
& NDR_SCALARS
) {
2249 NDR_CHECK(ndr_pull_align(ndr
, 4));
2250 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2251 if (r
->count
< 0 || r
->count
> 1000) {
2252 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2254 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
2256 NDR_PULL_ALLOC(ndr
, r
->names
);
2261 if (ndr_flags
& NDR_BUFFERS
) {
2263 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2264 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
2265 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
2266 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
2267 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2268 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
2269 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2270 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
2272 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
2273 NDR_CHECK(ndr_pull_lsa_TranslatedName(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
2275 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
2276 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
2279 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
2282 return NDR_ERR_SUCCESS
;
2285 _PUBLIC_
void ndr_print_lsa_TransNameArray(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransNameArray
*r
)
2287 uint32_t cntr_names_1
;
2288 ndr_print_struct(ndr
, name
, "lsa_TransNameArray");
2290 ndr_print_uint32(ndr
, "count", r
->count
);
2291 ndr_print_ptr(ndr
, "names", r
->names
);
2294 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
2296 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
2298 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
2299 ndr_print_lsa_TranslatedName(ndr
, "names", &r
->names
[cntr_names_1
]);
2309 static enum ndr_err_code
ndr_push_lsa_LUIDAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_LUIDAttribute
*r
)
2311 if (ndr_flags
& NDR_SCALARS
) {
2312 NDR_CHECK(ndr_push_align(ndr
, 4));
2313 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
2314 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->attribute
));
2316 if (ndr_flags
& NDR_BUFFERS
) {
2318 return NDR_ERR_SUCCESS
;
2321 static enum ndr_err_code
ndr_pull_lsa_LUIDAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_LUIDAttribute
*r
)
2323 if (ndr_flags
& NDR_SCALARS
) {
2324 NDR_CHECK(ndr_pull_align(ndr
, 4));
2325 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, &r
->luid
));
2326 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->attribute
));
2328 if (ndr_flags
& NDR_BUFFERS
) {
2330 return NDR_ERR_SUCCESS
;
2333 _PUBLIC_
void ndr_print_lsa_LUIDAttribute(struct ndr_print
*ndr
, const char *name
, const struct lsa_LUIDAttribute
*r
)
2335 ndr_print_struct(ndr
, name
, "lsa_LUIDAttribute");
2337 ndr_print_lsa_LUID(ndr
, "luid", &r
->luid
);
2338 ndr_print_uint32(ndr
, "attribute", r
->attribute
);
2342 static enum ndr_err_code
ndr_push_lsa_PrivilegeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_PrivilegeSet
*r
)
2344 uint32_t cntr_set_0
;
2345 if (ndr_flags
& NDR_SCALARS
) {
2346 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2347 NDR_CHECK(ndr_push_align(ndr
, 4));
2348 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2349 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
2350 for (cntr_set_0
= 0; cntr_set_0
< r
->count
; cntr_set_0
++) {
2351 NDR_CHECK(ndr_push_lsa_LUIDAttribute(ndr
, NDR_SCALARS
, &r
->set
[cntr_set_0
]));
2354 if (ndr_flags
& NDR_BUFFERS
) {
2356 return NDR_ERR_SUCCESS
;
2359 static enum ndr_err_code
ndr_pull_lsa_PrivilegeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_PrivilegeSet
*r
)
2361 uint32_t cntr_set_0
;
2362 TALLOC_CTX
*_mem_save_set_0
;
2363 if (ndr_flags
& NDR_SCALARS
) {
2364 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->set
));
2365 NDR_CHECK(ndr_pull_align(ndr
, 4));
2366 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2367 if (r
->count
< 0 || r
->count
> 1000) {
2368 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2370 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
2371 NDR_PULL_ALLOC_N(ndr
, r
->set
, ndr_get_array_size(ndr
, &r
->set
));
2372 _mem_save_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2373 NDR_PULL_SET_MEM_CTX(ndr
, r
->set
, 0);
2374 for (cntr_set_0
= 0; cntr_set_0
< r
->count
; cntr_set_0
++) {
2375 NDR_CHECK(ndr_pull_lsa_LUIDAttribute(ndr
, NDR_SCALARS
, &r
->set
[cntr_set_0
]));
2377 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_set_0
, 0);
2379 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->set
, r
->count
));
2382 if (ndr_flags
& NDR_BUFFERS
) {
2384 return NDR_ERR_SUCCESS
;
2387 _PUBLIC_
void ndr_print_lsa_PrivilegeSet(struct ndr_print
*ndr
, const char *name
, const struct lsa_PrivilegeSet
*r
)
2389 uint32_t cntr_set_0
;
2390 ndr_print_struct(ndr
, name
, "lsa_PrivilegeSet");
2392 ndr_print_uint32(ndr
, "count", r
->count
);
2393 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
2394 ndr
->print(ndr
, "%s: ARRAY(%d)", "set", (int)r
->count
);
2396 for (cntr_set_0
=0;cntr_set_0
<r
->count
;cntr_set_0
++) {
2398 if (asprintf(&idx_0
, "[%d]", cntr_set_0
) != -1) {
2399 ndr_print_lsa_LUIDAttribute(ndr
, "set", &r
->set
[cntr_set_0
]);
2407 static enum ndr_err_code
ndr_push_lsa_DATA_BUF(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DATA_BUF
*r
)
2410 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2411 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2412 if (ndr_flags
& NDR_SCALARS
) {
2413 NDR_CHECK(ndr_push_align(ndr
, 4));
2414 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
2415 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2416 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
2418 if (ndr_flags
& NDR_BUFFERS
) {
2420 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2421 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
2422 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
2423 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
2426 ndr
->flags
= _flags_save_STRUCT
;
2428 return NDR_ERR_SUCCESS
;
2431 static enum ndr_err_code
ndr_pull_lsa_DATA_BUF(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DATA_BUF
*r
)
2434 TALLOC_CTX
*_mem_save_data_0
;
2436 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2437 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2438 if (ndr_flags
& NDR_SCALARS
) {
2439 NDR_CHECK(ndr_pull_align(ndr
, 4));
2440 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
2441 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2442 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
2444 NDR_PULL_ALLOC(ndr
, r
->data
);
2449 if (ndr_flags
& NDR_BUFFERS
) {
2451 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2452 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
2453 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
2454 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->data
));
2455 if (ndr_get_array_length(ndr
, &r
->data
) > ndr_get_array_size(ndr
, &r
->data
)) {
2456 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
));
2458 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
2459 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_length(ndr
, &r
->data
)));
2460 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
2463 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
2466 NDR_CHECK(ndr_check_array_length(ndr
, (void*)&r
->data
, r
->length
));
2469 ndr
->flags
= _flags_save_STRUCT
;
2471 return NDR_ERR_SUCCESS
;
2474 _PUBLIC_
void ndr_print_lsa_DATA_BUF(struct ndr_print
*ndr
, const char *name
, const struct lsa_DATA_BUF
*r
)
2476 ndr_print_struct(ndr
, name
, "lsa_DATA_BUF");
2478 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2479 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2481 ndr_print_uint32(ndr
, "length", r
->length
);
2482 ndr_print_uint32(ndr
, "size", r
->size
);
2483 ndr_print_ptr(ndr
, "data", r
->data
);
2486 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
2490 ndr
->flags
= _flags_save_STRUCT
;
2494 static enum ndr_err_code
ndr_push_lsa_DATA_BUF2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DATA_BUF2
*r
)
2497 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2498 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2499 if (ndr_flags
& NDR_SCALARS
) {
2500 NDR_CHECK(ndr_push_align(ndr
, 4));
2501 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2502 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
2504 if (ndr_flags
& NDR_BUFFERS
) {
2506 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
2507 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
2510 ndr
->flags
= _flags_save_STRUCT
;
2512 return NDR_ERR_SUCCESS
;
2515 static enum ndr_err_code
ndr_pull_lsa_DATA_BUF2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DATA_BUF2
*r
)
2518 TALLOC_CTX
*_mem_save_data_0
;
2520 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2521 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2522 if (ndr_flags
& NDR_SCALARS
) {
2523 NDR_CHECK(ndr_pull_align(ndr
, 4));
2524 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
2525 if (r
->size
< 0 || r
->size
> 65536) {
2526 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2528 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
2530 NDR_PULL_ALLOC(ndr
, r
->data
);
2535 if (ndr_flags
& NDR_BUFFERS
) {
2537 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2538 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
2539 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
2540 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
2541 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
2542 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
2545 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
2548 ndr
->flags
= _flags_save_STRUCT
;
2550 return NDR_ERR_SUCCESS
;
2553 _PUBLIC_
void ndr_print_lsa_DATA_BUF2(struct ndr_print
*ndr
, const char *name
, const struct lsa_DATA_BUF2
*r
)
2555 ndr_print_struct(ndr
, name
, "lsa_DATA_BUF2");
2557 uint32_t _flags_save_STRUCT
= ndr
->flags
;
2558 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
2560 ndr_print_uint32(ndr
, "size", r
->size
);
2561 ndr_print_ptr(ndr
, "data", r
->data
);
2564 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
2568 ndr
->flags
= _flags_save_STRUCT
;
2572 static enum ndr_err_code
ndr_push_lsa_TrustDomInfoEnum(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_TrustDomInfoEnum r
)
2574 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
));
2575 return NDR_ERR_SUCCESS
;
2578 static enum ndr_err_code
ndr_pull_lsa_TrustDomInfoEnum(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_TrustDomInfoEnum
*r
)
2581 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &v
));
2583 return NDR_ERR_SUCCESS
;
2586 _PUBLIC_
void ndr_print_lsa_TrustDomInfoEnum(struct ndr_print
*ndr
, const char *name
, enum lsa_TrustDomInfoEnum r
)
2588 const char *val
= NULL
;
2591 case LSA_TRUSTED_DOMAIN_INFO_NAME
: val
= "LSA_TRUSTED_DOMAIN_INFO_NAME"; break;
2592 case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO
: val
= "LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO"; break;
2593 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: val
= "LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET"; break;
2594 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: val
= "LSA_TRUSTED_DOMAIN_INFO_PASSWORD"; break;
2595 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: val
= "LSA_TRUSTED_DOMAIN_INFO_BASIC"; break;
2596 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: val
= "LSA_TRUSTED_DOMAIN_INFO_INFO_EX"; break;
2597 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: val
= "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO"; break;
2598 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: val
= "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO"; break;
2599 case LSA_TRUSTED_DOMAIN_INFO_11
: val
= "LSA_TRUSTED_DOMAIN_INFO_11"; break;
2600 case LSA_TRUSTED_DOMAIN_INFO_INFO_ALL
: val
= "LSA_TRUSTED_DOMAIN_INFO_INFO_ALL"; break;
2602 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
2605 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoName(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoName
*r
)
2607 if (ndr_flags
& NDR_SCALARS
) {
2608 NDR_CHECK(ndr_push_align(ndr
, 4));
2609 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2611 if (ndr_flags
& NDR_BUFFERS
) {
2612 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2614 return NDR_ERR_SUCCESS
;
2617 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoName(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoName
*r
)
2619 if (ndr_flags
& NDR_SCALARS
) {
2620 NDR_CHECK(ndr_pull_align(ndr
, 4));
2621 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2623 if (ndr_flags
& NDR_BUFFERS
) {
2624 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2626 return NDR_ERR_SUCCESS
;
2629 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoName(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoName
*r
)
2631 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoName");
2633 ndr_print_lsa_StringLarge(ndr
, "netbios_name", &r
->netbios_name
);
2637 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoPosixOffset(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoPosixOffset
*r
)
2639 if (ndr_flags
& NDR_SCALARS
) {
2640 NDR_CHECK(ndr_push_align(ndr
, 4));
2641 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->posix_offset
));
2643 if (ndr_flags
& NDR_BUFFERS
) {
2645 return NDR_ERR_SUCCESS
;
2648 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoPosixOffset(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoPosixOffset
*r
)
2650 if (ndr_flags
& NDR_SCALARS
) {
2651 NDR_CHECK(ndr_pull_align(ndr
, 4));
2652 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->posix_offset
));
2654 if (ndr_flags
& NDR_BUFFERS
) {
2656 return NDR_ERR_SUCCESS
;
2659 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoPosixOffset(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoPosixOffset
*r
)
2661 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoPosixOffset");
2663 ndr_print_uint32(ndr
, "posix_offset", r
->posix_offset
);
2667 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoPassword(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoPassword
*r
)
2669 if (ndr_flags
& NDR_SCALARS
) {
2670 NDR_CHECK(ndr_push_align(ndr
, 4));
2671 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->password
));
2672 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->old_password
));
2674 if (ndr_flags
& NDR_BUFFERS
) {
2676 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->password
));
2678 if (r
->old_password
) {
2679 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->old_password
));
2682 return NDR_ERR_SUCCESS
;
2685 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoPassword(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoPassword
*r
)
2687 uint32_t _ptr_password
;
2688 TALLOC_CTX
*_mem_save_password_0
;
2689 uint32_t _ptr_old_password
;
2690 TALLOC_CTX
*_mem_save_old_password_0
;
2691 if (ndr_flags
& NDR_SCALARS
) {
2692 NDR_CHECK(ndr_pull_align(ndr
, 4));
2693 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_password
));
2694 if (_ptr_password
) {
2695 NDR_PULL_ALLOC(ndr
, r
->password
);
2699 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_password
));
2700 if (_ptr_old_password
) {
2701 NDR_PULL_ALLOC(ndr
, r
->old_password
);
2703 r
->old_password
= NULL
;
2706 if (ndr_flags
& NDR_BUFFERS
) {
2708 _mem_save_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2709 NDR_PULL_SET_MEM_CTX(ndr
, r
->password
, 0);
2710 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->password
));
2711 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_password_0
, 0);
2713 if (r
->old_password
) {
2714 _mem_save_old_password_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2715 NDR_PULL_SET_MEM_CTX(ndr
, r
->old_password
, 0);
2716 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->old_password
));
2717 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_password_0
, 0);
2720 return NDR_ERR_SUCCESS
;
2723 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoPassword(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoPassword
*r
)
2725 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoPassword");
2727 ndr_print_ptr(ndr
, "password", r
->password
);
2730 ndr_print_lsa_DATA_BUF(ndr
, "password", r
->password
);
2733 ndr_print_ptr(ndr
, "old_password", r
->old_password
);
2735 if (r
->old_password
) {
2736 ndr_print_lsa_DATA_BUF(ndr
, "old_password", r
->old_password
);
2742 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoBasic(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoBasic
*r
)
2744 if (ndr_flags
& NDR_SCALARS
) {
2745 NDR_CHECK(ndr_push_align(ndr
, 4));
2746 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2747 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
2749 if (ndr_flags
& NDR_BUFFERS
) {
2750 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2752 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
2755 return NDR_ERR_SUCCESS
;
2758 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoBasic(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoBasic
*r
)
2761 TALLOC_CTX
*_mem_save_sid_0
;
2762 if (ndr_flags
& NDR_SCALARS
) {
2763 NDR_CHECK(ndr_pull_align(ndr
, 4));
2764 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2765 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
2767 NDR_PULL_ALLOC(ndr
, r
->sid
);
2772 if (ndr_flags
& NDR_BUFFERS
) {
2773 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2775 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2776 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
2777 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
2778 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
2781 return NDR_ERR_SUCCESS
;
2784 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoBasic(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoBasic
*r
)
2786 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoBasic");
2788 ndr_print_lsa_String(ndr
, "netbios_name", &r
->netbios_name
);
2789 ndr_print_ptr(ndr
, "sid", r
->sid
);
2792 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
2798 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoInfoEx(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoInfoEx
*r
)
2800 if (ndr_flags
& NDR_SCALARS
) {
2801 NDR_CHECK(ndr_push_align(ndr
, 4));
2802 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->domain_name
));
2803 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2804 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
2805 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->trust_direction
));
2806 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->trust_type
));
2807 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->trust_attributes
));
2809 if (ndr_flags
& NDR_BUFFERS
) {
2810 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->domain_name
));
2811 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2813 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
2816 return NDR_ERR_SUCCESS
;
2819 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoInfoEx(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoInfoEx
*r
)
2822 TALLOC_CTX
*_mem_save_sid_0
;
2823 if (ndr_flags
& NDR_SCALARS
) {
2824 NDR_CHECK(ndr_pull_align(ndr
, 4));
2825 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->domain_name
));
2826 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_name
));
2827 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
2829 NDR_PULL_ALLOC(ndr
, r
->sid
);
2833 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->trust_direction
));
2834 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->trust_type
));
2835 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->trust_attributes
));
2837 if (ndr_flags
& NDR_BUFFERS
) {
2838 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->domain_name
));
2839 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_name
));
2841 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2842 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
2843 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
2844 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
2847 return NDR_ERR_SUCCESS
;
2850 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoInfoEx(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoInfoEx
*r
)
2852 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoInfoEx");
2854 ndr_print_lsa_StringLarge(ndr
, "domain_name", &r
->domain_name
);
2855 ndr_print_lsa_StringLarge(ndr
, "netbios_name", &r
->netbios_name
);
2856 ndr_print_ptr(ndr
, "sid", r
->sid
);
2859 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
2862 ndr_print_uint32(ndr
, "trust_direction", r
->trust_direction
);
2863 ndr_print_uint32(ndr
, "trust_type", r
->trust_type
);
2864 ndr_print_uint32(ndr
, "trust_attributes", r
->trust_attributes
);
2868 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoBuffer
*r
)
2870 if (ndr_flags
& NDR_SCALARS
) {
2871 NDR_CHECK(ndr_push_align(ndr
, 8));
2872 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->last_update_time
));
2873 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->secret_type
));
2874 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data
));
2876 if (ndr_flags
& NDR_BUFFERS
) {
2877 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data
));
2879 return NDR_ERR_SUCCESS
;
2882 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoBuffer
*r
)
2884 if (ndr_flags
& NDR_SCALARS
) {
2885 NDR_CHECK(ndr_pull_align(ndr
, 8));
2886 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, &r
->last_update_time
));
2887 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->secret_type
));
2888 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data
));
2890 if (ndr_flags
& NDR_BUFFERS
) {
2891 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data
));
2893 return NDR_ERR_SUCCESS
;
2896 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoBuffer(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoBuffer
*r
)
2898 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoBuffer");
2900 ndr_print_NTTIME_hyper(ndr
, "last_update_time", r
->last_update_time
);
2901 ndr_print_uint32(ndr
, "secret_type", r
->secret_type
);
2902 ndr_print_lsa_DATA_BUF2(ndr
, "data", &r
->data
);
2906 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoAuthInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoAuthInfo
*r
)
2908 if (ndr_flags
& NDR_SCALARS
) {
2909 NDR_CHECK(ndr_push_align(ndr
, 4));
2910 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->incoming_count
));
2911 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->incoming_current_auth_info
));
2912 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->incoming_previous_auth_info
));
2913 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->outgoing_count
));
2914 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->outgoing_current_auth_info
));
2915 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->outgoing_previous_auth_info
));
2917 if (ndr_flags
& NDR_BUFFERS
) {
2918 if (r
->incoming_current_auth_info
) {
2919 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_current_auth_info
));
2921 if (r
->incoming_previous_auth_info
) {
2922 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_previous_auth_info
));
2924 if (r
->outgoing_current_auth_info
) {
2925 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_current_auth_info
));
2927 if (r
->outgoing_previous_auth_info
) {
2928 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_previous_auth_info
));
2931 return NDR_ERR_SUCCESS
;
2934 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoAuthInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoAuthInfo
*r
)
2936 uint32_t _ptr_incoming_current_auth_info
;
2937 TALLOC_CTX
*_mem_save_incoming_current_auth_info_0
;
2938 uint32_t _ptr_incoming_previous_auth_info
;
2939 TALLOC_CTX
*_mem_save_incoming_previous_auth_info_0
;
2940 uint32_t _ptr_outgoing_current_auth_info
;
2941 TALLOC_CTX
*_mem_save_outgoing_current_auth_info_0
;
2942 uint32_t _ptr_outgoing_previous_auth_info
;
2943 TALLOC_CTX
*_mem_save_outgoing_previous_auth_info_0
;
2944 if (ndr_flags
& NDR_SCALARS
) {
2945 NDR_CHECK(ndr_pull_align(ndr
, 4));
2946 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->incoming_count
));
2947 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_incoming_current_auth_info
));
2948 if (_ptr_incoming_current_auth_info
) {
2949 NDR_PULL_ALLOC(ndr
, r
->incoming_current_auth_info
);
2951 r
->incoming_current_auth_info
= NULL
;
2953 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_incoming_previous_auth_info
));
2954 if (_ptr_incoming_previous_auth_info
) {
2955 NDR_PULL_ALLOC(ndr
, r
->incoming_previous_auth_info
);
2957 r
->incoming_previous_auth_info
= NULL
;
2959 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->outgoing_count
));
2960 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_outgoing_current_auth_info
));
2961 if (_ptr_outgoing_current_auth_info
) {
2962 NDR_PULL_ALLOC(ndr
, r
->outgoing_current_auth_info
);
2964 r
->outgoing_current_auth_info
= NULL
;
2966 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_outgoing_previous_auth_info
));
2967 if (_ptr_outgoing_previous_auth_info
) {
2968 NDR_PULL_ALLOC(ndr
, r
->outgoing_previous_auth_info
);
2970 r
->outgoing_previous_auth_info
= NULL
;
2973 if (ndr_flags
& NDR_BUFFERS
) {
2974 if (r
->incoming_current_auth_info
) {
2975 _mem_save_incoming_current_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2976 NDR_PULL_SET_MEM_CTX(ndr
, r
->incoming_current_auth_info
, 0);
2977 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_current_auth_info
));
2978 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_incoming_current_auth_info_0
, 0);
2980 if (r
->incoming_previous_auth_info
) {
2981 _mem_save_incoming_previous_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2982 NDR_PULL_SET_MEM_CTX(ndr
, r
->incoming_previous_auth_info
, 0);
2983 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->incoming_previous_auth_info
));
2984 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_incoming_previous_auth_info_0
, 0);
2986 if (r
->outgoing_current_auth_info
) {
2987 _mem_save_outgoing_current_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2988 NDR_PULL_SET_MEM_CTX(ndr
, r
->outgoing_current_auth_info
, 0);
2989 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_current_auth_info
));
2990 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_outgoing_current_auth_info_0
, 0);
2992 if (r
->outgoing_previous_auth_info
) {
2993 _mem_save_outgoing_previous_auth_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2994 NDR_PULL_SET_MEM_CTX(ndr
, r
->outgoing_previous_auth_info
, 0);
2995 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBuffer(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->outgoing_previous_auth_info
));
2996 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_outgoing_previous_auth_info_0
, 0);
2999 return NDR_ERR_SUCCESS
;
3002 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoAuthInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoAuthInfo
*r
)
3004 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoAuthInfo");
3006 ndr_print_uint32(ndr
, "incoming_count", r
->incoming_count
);
3007 ndr_print_ptr(ndr
, "incoming_current_auth_info", r
->incoming_current_auth_info
);
3009 if (r
->incoming_current_auth_info
) {
3010 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "incoming_current_auth_info", r
->incoming_current_auth_info
);
3013 ndr_print_ptr(ndr
, "incoming_previous_auth_info", r
->incoming_previous_auth_info
);
3015 if (r
->incoming_previous_auth_info
) {
3016 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "incoming_previous_auth_info", r
->incoming_previous_auth_info
);
3019 ndr_print_uint32(ndr
, "outgoing_count", r
->outgoing_count
);
3020 ndr_print_ptr(ndr
, "outgoing_current_auth_info", r
->outgoing_current_auth_info
);
3022 if (r
->outgoing_current_auth_info
) {
3023 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "outgoing_current_auth_info", r
->outgoing_current_auth_info
);
3026 ndr_print_ptr(ndr
, "outgoing_previous_auth_info", r
->outgoing_previous_auth_info
);
3028 if (r
->outgoing_previous_auth_info
) {
3029 ndr_print_lsa_TrustDomainInfoBuffer(ndr
, "outgoing_previous_auth_info", r
->outgoing_previous_auth_info
);
3035 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoFullInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoFullInfo
*r
)
3037 if (ndr_flags
& NDR_SCALARS
) {
3038 NDR_CHECK(ndr_push_align(ndr
, 4));
3039 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3040 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3041 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3043 if (ndr_flags
& NDR_BUFFERS
) {
3044 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3045 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3047 return NDR_ERR_SUCCESS
;
3050 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoFullInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoFullInfo
*r
)
3052 if (ndr_flags
& NDR_SCALARS
) {
3053 NDR_CHECK(ndr_pull_align(ndr
, 4));
3054 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3055 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3056 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3058 if (ndr_flags
& NDR_BUFFERS
) {
3059 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3060 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3062 return NDR_ERR_SUCCESS
;
3065 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoFullInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoFullInfo
*r
)
3067 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoFullInfo");
3069 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3070 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3071 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
3075 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfo11(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfo11
*r
)
3077 if (ndr_flags
& NDR_SCALARS
) {
3078 NDR_CHECK(ndr_push_align(ndr
, 4));
3079 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3080 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data1
));
3082 if (ndr_flags
& NDR_BUFFERS
) {
3083 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3084 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data1
));
3086 return NDR_ERR_SUCCESS
;
3089 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfo11(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfo11
*r
)
3091 if (ndr_flags
& NDR_SCALARS
) {
3092 NDR_CHECK(ndr_pull_align(ndr
, 4));
3093 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3094 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data1
));
3096 if (ndr_flags
& NDR_BUFFERS
) {
3097 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3098 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data1
));
3100 return NDR_ERR_SUCCESS
;
3103 _PUBLIC_
void ndr_print_lsa_TrustDomainInfo11(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfo11
*r
)
3105 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfo11");
3107 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3108 ndr_print_lsa_DATA_BUF2(ndr
, "data1", &r
->data1
);
3112 static enum ndr_err_code
ndr_push_lsa_TrustDomainInfoInfoAll(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TrustDomainInfoInfoAll
*r
)
3114 if (ndr_flags
& NDR_SCALARS
) {
3115 NDR_CHECK(ndr_push_align(ndr
, 4));
3116 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3117 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data1
));
3118 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3119 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3121 if (ndr_flags
& NDR_BUFFERS
) {
3122 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3123 NDR_CHECK(ndr_push_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data1
));
3124 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3126 return NDR_ERR_SUCCESS
;
3129 static enum ndr_err_code
ndr_pull_lsa_TrustDomainInfoInfoAll(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TrustDomainInfoInfoAll
*r
)
3131 if (ndr_flags
& NDR_SCALARS
) {
3132 NDR_CHECK(ndr_pull_align(ndr
, 4));
3133 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3134 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_SCALARS
, &r
->data1
));
3135 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3136 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3138 if (ndr_flags
& NDR_BUFFERS
) {
3139 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3140 NDR_CHECK(ndr_pull_lsa_DATA_BUF2(ndr
, NDR_BUFFERS
, &r
->data1
));
3141 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3143 return NDR_ERR_SUCCESS
;
3146 _PUBLIC_
void ndr_print_lsa_TrustDomainInfoInfoAll(struct ndr_print
*ndr
, const char *name
, const struct lsa_TrustDomainInfoInfoAll
*r
)
3148 ndr_print_struct(ndr
, name
, "lsa_TrustDomainInfoInfoAll");
3150 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3151 ndr_print_lsa_DATA_BUF2(ndr
, "data1", &r
->data1
);
3152 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3153 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
3157 static enum ndr_err_code
ndr_push_lsa_TrustedDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_TrustedDomainInfo
*r
)
3159 if (ndr_flags
& NDR_SCALARS
) {
3160 int level
= ndr_push_get_switch_value(ndr
, r
);
3161 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, level
));
3163 case LSA_TRUSTED_DOMAIN_INFO_NAME
: {
3164 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr
, NDR_SCALARS
, &r
->name
));
3167 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: {
3168 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3171 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: {
3172 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr
, NDR_SCALARS
, &r
->password
));
3175 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: {
3176 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr
, NDR_SCALARS
, &r
->info_basic
));
3179 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: {
3180 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3183 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: {
3184 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3187 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: {
3188 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr
, NDR_SCALARS
, &r
->full_info
));
3191 case LSA_TRUSTED_DOMAIN_INFO_11
: {
3192 NDR_CHECK(ndr_push_lsa_TrustDomainInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3195 case LSA_TRUSTED_DOMAIN_INFO_INFO_ALL
: {
3196 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoAll(ndr
, NDR_SCALARS
, &r
->info_all
));
3200 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3203 if (ndr_flags
& NDR_BUFFERS
) {
3204 int level
= ndr_push_get_switch_value(ndr
, r
);
3206 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3207 NDR_CHECK(ndr_push_lsa_TrustDomainInfoName(ndr
, NDR_BUFFERS
, &r
->name
));
3210 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3213 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3214 NDR_CHECK(ndr_push_lsa_TrustDomainInfoPassword(ndr
, NDR_BUFFERS
, &r
->password
));
3217 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3218 NDR_CHECK(ndr_push_lsa_TrustDomainInfoBasic(ndr
, NDR_BUFFERS
, &r
->info_basic
));
3221 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3222 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3225 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3226 NDR_CHECK(ndr_push_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3229 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3230 NDR_CHECK(ndr_push_lsa_TrustDomainInfoFullInfo(ndr
, NDR_BUFFERS
, &r
->full_info
));
3233 case LSA_TRUSTED_DOMAIN_INFO_11
:
3234 NDR_CHECK(ndr_push_lsa_TrustDomainInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3237 case LSA_TRUSTED_DOMAIN_INFO_INFO_ALL
:
3238 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoAll(ndr
, NDR_BUFFERS
, &r
->info_all
));
3242 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3245 return NDR_ERR_SUCCESS
;
3248 static enum ndr_err_code
ndr_pull_lsa_TrustedDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_TrustedDomainInfo
*r
)
3252 level
= ndr_pull_get_switch_value(ndr
, r
);
3253 if (ndr_flags
& NDR_SCALARS
) {
3254 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3255 if (_level
!= level
) {
3256 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
3259 case LSA_TRUSTED_DOMAIN_INFO_NAME
: {
3260 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr
, NDR_SCALARS
, &r
->name
));
3263 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
: {
3264 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPosixOffset(ndr
, NDR_SCALARS
, &r
->posix_offset
));
3267 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
: {
3268 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr
, NDR_SCALARS
, &r
->password
));
3271 case LSA_TRUSTED_DOMAIN_INFO_BASIC
: {
3272 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr
, NDR_SCALARS
, &r
->info_basic
));
3275 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
: {
3276 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->info_ex
));
3279 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
: {
3280 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_SCALARS
, &r
->auth_info
));
3283 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
: {
3284 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr
, NDR_SCALARS
, &r
->full_info
));
3287 case LSA_TRUSTED_DOMAIN_INFO_11
: {
3288 NDR_CHECK(ndr_pull_lsa_TrustDomainInfo11(ndr
, NDR_SCALARS
, &r
->info11
));
3291 case LSA_TRUSTED_DOMAIN_INFO_INFO_ALL
: {
3292 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoAll(ndr
, NDR_SCALARS
, &r
->info_all
));
3296 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3299 if (ndr_flags
& NDR_BUFFERS
) {
3301 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3302 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoName(ndr
, NDR_BUFFERS
, &r
->name
));
3305 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3308 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3309 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoPassword(ndr
, NDR_BUFFERS
, &r
->password
));
3312 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3313 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoBasic(ndr
, NDR_BUFFERS
, &r
->info_basic
));
3316 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3317 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->info_ex
));
3320 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3321 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoAuthInfo(ndr
, NDR_BUFFERS
, &r
->auth_info
));
3324 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3325 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoFullInfo(ndr
, NDR_BUFFERS
, &r
->full_info
));
3328 case LSA_TRUSTED_DOMAIN_INFO_11
:
3329 NDR_CHECK(ndr_pull_lsa_TrustDomainInfo11(ndr
, NDR_BUFFERS
, &r
->info11
));
3332 case LSA_TRUSTED_DOMAIN_INFO_INFO_ALL
:
3333 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoAll(ndr
, NDR_BUFFERS
, &r
->info_all
));
3337 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3340 return NDR_ERR_SUCCESS
;
3343 _PUBLIC_
void ndr_print_lsa_TrustedDomainInfo(struct ndr_print
*ndr
, const char *name
, const union lsa_TrustedDomainInfo
*r
)
3346 level
= ndr_print_get_switch_value(ndr
, r
);
3347 ndr_print_union(ndr
, name
, level
, "lsa_TrustedDomainInfo");
3349 case LSA_TRUSTED_DOMAIN_INFO_NAME
:
3350 ndr_print_lsa_TrustDomainInfoName(ndr
, "name", &r
->name
);
3353 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
:
3354 ndr_print_lsa_TrustDomainInfoPosixOffset(ndr
, "posix_offset", &r
->posix_offset
);
3357 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD
:
3358 ndr_print_lsa_TrustDomainInfoPassword(ndr
, "password", &r
->password
);
3361 case LSA_TRUSTED_DOMAIN_INFO_BASIC
:
3362 ndr_print_lsa_TrustDomainInfoBasic(ndr
, "info_basic", &r
->info_basic
);
3365 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX
:
3366 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "info_ex", &r
->info_ex
);
3369 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
:
3370 ndr_print_lsa_TrustDomainInfoAuthInfo(ndr
, "auth_info", &r
->auth_info
);
3373 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
:
3374 ndr_print_lsa_TrustDomainInfoFullInfo(ndr
, "full_info", &r
->full_info
);
3377 case LSA_TRUSTED_DOMAIN_INFO_11
:
3378 ndr_print_lsa_TrustDomainInfo11(ndr
, "info11", &r
->info11
);
3381 case LSA_TRUSTED_DOMAIN_INFO_INFO_ALL
:
3382 ndr_print_lsa_TrustDomainInfoInfoAll(ndr
, "info_all", &r
->info_all
);
3386 ndr_print_bad_level(ndr
, name
, level
);
3390 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
)
3392 if (ndr_flags
& NDR_SCALARS
) {
3393 NDR_CHECK(ndr_push_align(ndr
, 4));
3394 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->buf
));
3396 if (ndr_flags
& NDR_BUFFERS
) {
3398 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->buf
));
3401 return NDR_ERR_SUCCESS
;
3404 static enum ndr_err_code
ndr_pull_lsa_DATA_BUF_PTR(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DATA_BUF_PTR
*r
)
3407 TALLOC_CTX
*_mem_save_buf_0
;
3408 if (ndr_flags
& NDR_SCALARS
) {
3409 NDR_CHECK(ndr_pull_align(ndr
, 4));
3410 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_buf
));
3412 NDR_PULL_ALLOC(ndr
, r
->buf
);
3417 if (ndr_flags
& NDR_BUFFERS
) {
3419 _mem_save_buf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3420 NDR_PULL_SET_MEM_CTX(ndr
, r
->buf
, 0);
3421 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->buf
));
3422 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buf_0
, 0);
3425 return NDR_ERR_SUCCESS
;
3428 _PUBLIC_
void ndr_print_lsa_DATA_BUF_PTR(struct ndr_print
*ndr
, const char *name
, const struct lsa_DATA_BUF_PTR
*r
)
3430 ndr_print_struct(ndr
, name
, "lsa_DATA_BUF_PTR");
3432 ndr_print_ptr(ndr
, "buf", r
->buf
);
3435 ndr_print_lsa_DATA_BUF(ndr
, "buf", r
->buf
);
3441 static enum ndr_err_code
ndr_push_lsa_RightSet(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_RightSet
*r
)
3443 uint32_t cntr_names_1
;
3444 if (ndr_flags
& NDR_SCALARS
) {
3445 NDR_CHECK(ndr_push_align(ndr
, 4));
3446 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3447 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
3449 if (ndr_flags
& NDR_BUFFERS
) {
3451 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3452 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3453 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
3455 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3456 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
3460 return NDR_ERR_SUCCESS
;
3463 static enum ndr_err_code
ndr_pull_lsa_RightSet(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_RightSet
*r
)
3465 uint32_t _ptr_names
;
3466 uint32_t cntr_names_1
;
3467 TALLOC_CTX
*_mem_save_names_0
;
3468 TALLOC_CTX
*_mem_save_names_1
;
3469 if (ndr_flags
& NDR_SCALARS
) {
3470 NDR_CHECK(ndr_pull_align(ndr
, 4));
3471 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3472 if (r
->count
< 0 || r
->count
> 256) {
3473 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3475 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
3477 NDR_PULL_ALLOC(ndr
, r
->names
);
3482 if (ndr_flags
& NDR_BUFFERS
) {
3484 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3485 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
3486 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
3487 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
3488 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3489 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
3490 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3491 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
3493 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3494 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
3496 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
3497 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
3500 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
3503 return NDR_ERR_SUCCESS
;
3506 _PUBLIC_
void ndr_print_lsa_RightSet(struct ndr_print
*ndr
, const char *name
, const struct lsa_RightSet
*r
)
3508 uint32_t cntr_names_1
;
3509 ndr_print_struct(ndr
, name
, "lsa_RightSet");
3511 ndr_print_uint32(ndr
, "count", r
->count
);
3512 ndr_print_ptr(ndr
, "names", r
->names
);
3515 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
3517 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
3519 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
3520 ndr_print_lsa_StringLarge(ndr
, "names", &r
->names
[cntr_names_1
]);
3530 static enum ndr_err_code
ndr_push_lsa_DomainListEx(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainListEx
*r
)
3532 uint32_t cntr_domains_1
;
3533 if (ndr_flags
& NDR_SCALARS
) {
3534 NDR_CHECK(ndr_push_align(ndr
, 4));
3535 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3536 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domains
));
3538 if (ndr_flags
& NDR_BUFFERS
) {
3540 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3541 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
3542 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
3544 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
3545 NDR_CHECK(ndr_push_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
3549 return NDR_ERR_SUCCESS
;
3552 static enum ndr_err_code
ndr_pull_lsa_DomainListEx(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainListEx
*r
)
3554 uint32_t _ptr_domains
;
3555 uint32_t cntr_domains_1
;
3556 TALLOC_CTX
*_mem_save_domains_0
;
3557 TALLOC_CTX
*_mem_save_domains_1
;
3558 if (ndr_flags
& NDR_SCALARS
) {
3559 NDR_CHECK(ndr_pull_align(ndr
, 4));
3560 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3561 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
3563 NDR_PULL_ALLOC(ndr
, r
->domains
);
3568 if (ndr_flags
& NDR_BUFFERS
) {
3570 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3571 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
3572 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domains
));
3573 NDR_PULL_ALLOC_N(ndr
, r
->domains
, ndr_get_array_size(ndr
, &r
->domains
));
3574 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3575 NDR_PULL_SET_MEM_CTX(ndr
, r
->domains
, 0);
3576 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
3577 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_SCALARS
, &r
->domains
[cntr_domains_1
]));
3579 for (cntr_domains_1
= 0; cntr_domains_1
< r
->count
; cntr_domains_1
++) {
3580 NDR_CHECK(ndr_pull_lsa_TrustDomainInfoInfoEx(ndr
, NDR_BUFFERS
, &r
->domains
[cntr_domains_1
]));
3582 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
3583 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, 0);
3586 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->domains
, r
->count
));
3589 return NDR_ERR_SUCCESS
;
3592 _PUBLIC_
void ndr_print_lsa_DomainListEx(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainListEx
*r
)
3594 uint32_t cntr_domains_1
;
3595 ndr_print_struct(ndr
, name
, "lsa_DomainListEx");
3597 ndr_print_uint32(ndr
, "count", r
->count
);
3598 ndr_print_ptr(ndr
, "domains", r
->domains
);
3601 ndr
->print(ndr
, "%s: ARRAY(%d)", "domains", (int)r
->count
);
3603 for (cntr_domains_1
=0;cntr_domains_1
<r
->count
;cntr_domains_1
++) {
3605 if (asprintf(&idx_1
, "[%d]", cntr_domains_1
) != -1) {
3606 ndr_print_lsa_TrustDomainInfoInfoEx(ndr
, "domains", &r
->domains
[cntr_domains_1
]);
3616 static enum ndr_err_code
ndr_push_lsa_DomainInfoKerberos(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainInfoKerberos
*r
)
3618 if (ndr_flags
& NDR_SCALARS
) {
3619 NDR_CHECK(ndr_push_align(ndr
, 8));
3620 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enforce_restrictions
));
3621 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->service_tkt_lifetime
));
3622 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->user_tkt_lifetime
));
3623 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->user_tkt_renewaltime
));
3624 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->clock_skew
));
3625 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown6
));
3627 if (ndr_flags
& NDR_BUFFERS
) {
3629 return NDR_ERR_SUCCESS
;
3632 static enum ndr_err_code
ndr_pull_lsa_DomainInfoKerberos(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainInfoKerberos
*r
)
3634 if (ndr_flags
& NDR_SCALARS
) {
3635 NDR_CHECK(ndr_pull_align(ndr
, 8));
3636 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enforce_restrictions
));
3637 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->service_tkt_lifetime
));
3638 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->user_tkt_lifetime
));
3639 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->user_tkt_renewaltime
));
3640 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->clock_skew
));
3641 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown6
));
3643 if (ndr_flags
& NDR_BUFFERS
) {
3645 return NDR_ERR_SUCCESS
;
3648 _PUBLIC_
void ndr_print_lsa_DomainInfoKerberos(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainInfoKerberos
*r
)
3650 ndr_print_struct(ndr
, name
, "lsa_DomainInfoKerberos");
3652 ndr_print_uint32(ndr
, "enforce_restrictions", r
->enforce_restrictions
);
3653 ndr_print_hyper(ndr
, "service_tkt_lifetime", r
->service_tkt_lifetime
);
3654 ndr_print_hyper(ndr
, "user_tkt_lifetime", r
->user_tkt_lifetime
);
3655 ndr_print_hyper(ndr
, "user_tkt_renewaltime", r
->user_tkt_renewaltime
);
3656 ndr_print_hyper(ndr
, "clock_skew", r
->clock_skew
);
3657 ndr_print_hyper(ndr
, "unknown6", r
->unknown6
);
3661 static enum ndr_err_code
ndr_push_lsa_DomainInfoEfs(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_DomainInfoEfs
*r
)
3663 if (ndr_flags
& NDR_SCALARS
) {
3664 NDR_CHECK(ndr_push_align(ndr
, 4));
3665 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->blob_size
));
3666 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->efs_blob
));
3668 if (ndr_flags
& NDR_BUFFERS
) {
3670 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->blob_size
));
3671 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->efs_blob
, r
->blob_size
));
3674 return NDR_ERR_SUCCESS
;
3677 static enum ndr_err_code
ndr_pull_lsa_DomainInfoEfs(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_DomainInfoEfs
*r
)
3679 uint32_t _ptr_efs_blob
;
3680 TALLOC_CTX
*_mem_save_efs_blob_0
;
3681 if (ndr_flags
& NDR_SCALARS
) {
3682 NDR_CHECK(ndr_pull_align(ndr
, 4));
3683 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->blob_size
));
3684 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_efs_blob
));
3685 if (_ptr_efs_blob
) {
3686 NDR_PULL_ALLOC(ndr
, r
->efs_blob
);
3691 if (ndr_flags
& NDR_BUFFERS
) {
3693 _mem_save_efs_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3694 NDR_PULL_SET_MEM_CTX(ndr
, r
->efs_blob
, 0);
3695 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->efs_blob
));
3696 NDR_PULL_ALLOC_N(ndr
, r
->efs_blob
, ndr_get_array_size(ndr
, &r
->efs_blob
));
3697 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->efs_blob
, ndr_get_array_size(ndr
, &r
->efs_blob
)));
3698 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_efs_blob_0
, 0);
3701 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->efs_blob
, r
->blob_size
));
3704 return NDR_ERR_SUCCESS
;
3707 _PUBLIC_
void ndr_print_lsa_DomainInfoEfs(struct ndr_print
*ndr
, const char *name
, const struct lsa_DomainInfoEfs
*r
)
3709 ndr_print_struct(ndr
, name
, "lsa_DomainInfoEfs");
3711 ndr_print_uint32(ndr
, "blob_size", r
->blob_size
);
3712 ndr_print_ptr(ndr
, "efs_blob", r
->efs_blob
);
3715 ndr_print_array_uint8(ndr
, "efs_blob", r
->efs_blob
, r
->blob_size
);
3721 static enum ndr_err_code
ndr_push_lsa_DomainInformationPolicy(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_DomainInformationPolicy
*r
)
3723 if (ndr_flags
& NDR_SCALARS
) {
3724 int level
= ndr_push_get_switch_value(ndr
, r
);
3725 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, level
));
3727 case LSA_DOMAIN_INFO_POLICY_EFS
: {
3728 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr
, NDR_SCALARS
, &r
->efs_info
));
3731 case LSA_DOMAIN_INFO_POLICY_KERBEROS
: {
3732 NDR_CHECK(ndr_push_lsa_DomainInfoKerberos(ndr
, NDR_SCALARS
, &r
->kerberos_info
));
3736 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3739 if (ndr_flags
& NDR_BUFFERS
) {
3740 int level
= ndr_push_get_switch_value(ndr
, r
);
3742 case LSA_DOMAIN_INFO_POLICY_EFS
:
3743 NDR_CHECK(ndr_push_lsa_DomainInfoEfs(ndr
, NDR_BUFFERS
, &r
->efs_info
));
3746 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
3750 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3753 return NDR_ERR_SUCCESS
;
3756 static enum ndr_err_code
ndr_pull_lsa_DomainInformationPolicy(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_DomainInformationPolicy
*r
)
3760 level
= ndr_pull_get_switch_value(ndr
, r
);
3761 if (ndr_flags
& NDR_SCALARS
) {
3762 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &_level
));
3763 if (_level
!= level
) {
3764 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
3767 case LSA_DOMAIN_INFO_POLICY_EFS
: {
3768 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr
, NDR_SCALARS
, &r
->efs_info
));
3771 case LSA_DOMAIN_INFO_POLICY_KERBEROS
: {
3772 NDR_CHECK(ndr_pull_lsa_DomainInfoKerberos(ndr
, NDR_SCALARS
, &r
->kerberos_info
));
3776 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3779 if (ndr_flags
& NDR_BUFFERS
) {
3781 case LSA_DOMAIN_INFO_POLICY_EFS
:
3782 NDR_CHECK(ndr_pull_lsa_DomainInfoEfs(ndr
, NDR_BUFFERS
, &r
->efs_info
));
3785 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
3789 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u", level
);
3792 return NDR_ERR_SUCCESS
;
3795 _PUBLIC_
void ndr_print_lsa_DomainInformationPolicy(struct ndr_print
*ndr
, const char *name
, const union lsa_DomainInformationPolicy
*r
)
3798 level
= ndr_print_get_switch_value(ndr
, r
);
3799 ndr_print_union(ndr
, name
, level
, "lsa_DomainInformationPolicy");
3801 case LSA_DOMAIN_INFO_POLICY_EFS
:
3802 ndr_print_lsa_DomainInfoEfs(ndr
, "efs_info", &r
->efs_info
);
3805 case LSA_DOMAIN_INFO_POLICY_KERBEROS
:
3806 ndr_print_lsa_DomainInfoKerberos(ndr
, "kerberos_info", &r
->kerberos_info
);
3810 ndr_print_bad_level(ndr
, name
, level
);
3814 static enum ndr_err_code
ndr_push_lsa_TranslatedName2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedName2
*r
)
3816 if (ndr_flags
& NDR_SCALARS
) {
3817 NDR_CHECK(ndr_push_align(ndr
, 4));
3818 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
3819 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
3820 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
3821 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
3823 if (ndr_flags
& NDR_BUFFERS
) {
3824 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
3826 return NDR_ERR_SUCCESS
;
3829 static enum ndr_err_code
ndr_pull_lsa_TranslatedName2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedName2
*r
)
3831 if (ndr_flags
& NDR_SCALARS
) {
3832 NDR_CHECK(ndr_pull_align(ndr
, 4));
3833 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
3834 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->name
));
3835 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
3836 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
3838 if (ndr_flags
& NDR_BUFFERS
) {
3839 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->name
));
3841 return NDR_ERR_SUCCESS
;
3844 _PUBLIC_
void ndr_print_lsa_TranslatedName2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedName2
*r
)
3846 ndr_print_struct(ndr
, name
, "lsa_TranslatedName2");
3848 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
3849 ndr_print_lsa_String(ndr
, "name", &r
->name
);
3850 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
3851 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
3855 static enum ndr_err_code
ndr_push_lsa_TransNameArray2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransNameArray2
*r
)
3857 uint32_t cntr_names_1
;
3858 if (ndr_flags
& NDR_SCALARS
) {
3859 NDR_CHECK(ndr_push_align(ndr
, 4));
3860 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3861 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
3863 if (ndr_flags
& NDR_BUFFERS
) {
3865 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3866 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3867 NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
3869 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3870 NDR_CHECK(ndr_push_lsa_TranslatedName2(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
3874 return NDR_ERR_SUCCESS
;
3877 static enum ndr_err_code
ndr_pull_lsa_TransNameArray2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransNameArray2
*r
)
3879 uint32_t _ptr_names
;
3880 uint32_t cntr_names_1
;
3881 TALLOC_CTX
*_mem_save_names_0
;
3882 TALLOC_CTX
*_mem_save_names_1
;
3883 if (ndr_flags
& NDR_SCALARS
) {
3884 NDR_CHECK(ndr_pull_align(ndr
, 4));
3885 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
3886 if (r
->count
< 0 || r
->count
> 1000) {
3887 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3889 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
3891 NDR_PULL_ALLOC(ndr
, r
->names
);
3896 if (ndr_flags
& NDR_BUFFERS
) {
3898 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3899 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
3900 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
3901 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
3902 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3903 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
3904 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3905 NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
3907 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
3908 NDR_CHECK(ndr_pull_lsa_TranslatedName2(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
3910 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
3911 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
3914 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
3917 return NDR_ERR_SUCCESS
;
3920 _PUBLIC_
void ndr_print_lsa_TransNameArray2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransNameArray2
*r
)
3922 uint32_t cntr_names_1
;
3923 ndr_print_struct(ndr
, name
, "lsa_TransNameArray2");
3925 ndr_print_uint32(ndr
, "count", r
->count
);
3926 ndr_print_ptr(ndr
, "names", r
->names
);
3929 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
3931 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
3933 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
3934 ndr_print_lsa_TranslatedName2(ndr
, "names", &r
->names
[cntr_names_1
]);
3944 static enum ndr_err_code
ndr_push_lsa_TranslatedSid2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedSid2
*r
)
3946 if (ndr_flags
& NDR_SCALARS
) {
3947 NDR_CHECK(ndr_push_align(ndr
, 4));
3948 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
3949 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rid
));
3950 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
3951 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
3953 if (ndr_flags
& NDR_BUFFERS
) {
3955 return NDR_ERR_SUCCESS
;
3958 static enum ndr_err_code
ndr_pull_lsa_TranslatedSid2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedSid2
*r
)
3960 if (ndr_flags
& NDR_SCALARS
) {
3961 NDR_CHECK(ndr_pull_align(ndr
, 4));
3962 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
3963 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rid
));
3964 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
3965 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
3967 if (ndr_flags
& NDR_BUFFERS
) {
3969 return NDR_ERR_SUCCESS
;
3972 _PUBLIC_
void ndr_print_lsa_TranslatedSid2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedSid2
*r
)
3974 ndr_print_struct(ndr
, name
, "lsa_TranslatedSid2");
3976 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
3977 ndr_print_uint32(ndr
, "rid", r
->rid
);
3978 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
3979 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
3983 static enum ndr_err_code
ndr_push_lsa_TransSidArray2(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransSidArray2
*r
)
3985 uint32_t cntr_sids_1
;
3986 if (ndr_flags
& NDR_SCALARS
) {
3987 NDR_CHECK(ndr_push_align(ndr
, 4));
3988 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3989 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
3991 if (ndr_flags
& NDR_BUFFERS
) {
3993 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
3994 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
3995 NDR_CHECK(ndr_push_lsa_TranslatedSid2(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
3999 return NDR_ERR_SUCCESS
;
4002 static enum ndr_err_code
ndr_pull_lsa_TransSidArray2(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransSidArray2
*r
)
4005 uint32_t cntr_sids_1
;
4006 TALLOC_CTX
*_mem_save_sids_0
;
4007 TALLOC_CTX
*_mem_save_sids_1
;
4008 if (ndr_flags
& NDR_SCALARS
) {
4009 NDR_CHECK(ndr_pull_align(ndr
, 4));
4010 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4011 if (r
->count
< 0 || r
->count
> 1000) {
4012 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4014 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4016 NDR_PULL_ALLOC(ndr
, r
->sids
);
4021 if (ndr_flags
& NDR_BUFFERS
) {
4023 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4024 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4025 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4026 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4027 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4028 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4029 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4030 NDR_CHECK(ndr_pull_lsa_TranslatedSid2(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4032 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4033 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4036 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->count
));
4039 return NDR_ERR_SUCCESS
;
4042 _PUBLIC_
void ndr_print_lsa_TransSidArray2(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransSidArray2
*r
)
4044 uint32_t cntr_sids_1
;
4045 ndr_print_struct(ndr
, name
, "lsa_TransSidArray2");
4047 ndr_print_uint32(ndr
, "count", r
->count
);
4048 ndr_print_ptr(ndr
, "sids", r
->sids
);
4051 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
4053 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
4055 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4056 ndr_print_lsa_TranslatedSid2(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
4066 static enum ndr_err_code
ndr_push_lsa_TranslatedSid3(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TranslatedSid3
*r
)
4068 if (ndr_flags
& NDR_SCALARS
) {
4069 NDR_CHECK(ndr_push_align(ndr
, 4));
4070 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->sid_type
));
4071 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sid
));
4072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->sid_index
));
4073 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
4075 if (ndr_flags
& NDR_BUFFERS
) {
4077 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
4080 return NDR_ERR_SUCCESS
;
4083 static enum ndr_err_code
ndr_pull_lsa_TranslatedSid3(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TranslatedSid3
*r
)
4086 TALLOC_CTX
*_mem_save_sid_0
;
4087 if (ndr_flags
& NDR_SCALARS
) {
4088 NDR_CHECK(ndr_pull_align(ndr
, 4));
4089 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->sid_type
));
4090 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sid
));
4092 NDR_PULL_ALLOC(ndr
, r
->sid
);
4096 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->sid_index
));
4097 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
4099 if (ndr_flags
& NDR_BUFFERS
) {
4101 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4102 NDR_PULL_SET_MEM_CTX(ndr
, r
->sid
, 0);
4103 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sid
));
4104 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, 0);
4107 return NDR_ERR_SUCCESS
;
4110 _PUBLIC_
void ndr_print_lsa_TranslatedSid3(struct ndr_print
*ndr
, const char *name
, const struct lsa_TranslatedSid3
*r
)
4112 ndr_print_struct(ndr
, name
, "lsa_TranslatedSid3");
4114 ndr_print_lsa_SidType(ndr
, "sid_type", r
->sid_type
);
4115 ndr_print_ptr(ndr
, "sid", r
->sid
);
4118 ndr_print_dom_sid2(ndr
, "sid", r
->sid
);
4121 ndr_print_uint32(ndr
, "sid_index", r
->sid_index
);
4122 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
4126 static enum ndr_err_code
ndr_push_lsa_TransSidArray3(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_TransSidArray3
*r
)
4128 uint32_t cntr_sids_1
;
4129 if (ndr_flags
& NDR_SCALARS
) {
4130 NDR_CHECK(ndr_push_align(ndr
, 4));
4131 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4132 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4134 if (ndr_flags
& NDR_BUFFERS
) {
4136 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4137 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4138 NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4140 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4141 NDR_CHECK(ndr_push_lsa_TranslatedSid3(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
4145 return NDR_ERR_SUCCESS
;
4148 static enum ndr_err_code
ndr_pull_lsa_TransSidArray3(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_TransSidArray3
*r
)
4151 uint32_t cntr_sids_1
;
4152 TALLOC_CTX
*_mem_save_sids_0
;
4153 TALLOC_CTX
*_mem_save_sids_1
;
4154 if (ndr_flags
& NDR_SCALARS
) {
4155 NDR_CHECK(ndr_pull_align(ndr
, 4));
4156 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4157 if (r
->count
< 0 || r
->count
> 1000) {
4158 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4160 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4162 NDR_PULL_ALLOC(ndr
, r
->sids
);
4167 if (ndr_flags
& NDR_BUFFERS
) {
4169 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4170 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4171 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4172 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4173 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4174 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4175 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4176 NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_1
]));
4178 for (cntr_sids_1
= 0; cntr_sids_1
< r
->count
; cntr_sids_1
++) {
4179 NDR_CHECK(ndr_pull_lsa_TranslatedSid3(ndr
, NDR_BUFFERS
, &r
->sids
[cntr_sids_1
]));
4181 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4182 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4185 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->count
));
4188 return NDR_ERR_SUCCESS
;
4191 _PUBLIC_
void ndr_print_lsa_TransSidArray3(struct ndr_print
*ndr
, const char *name
, const struct lsa_TransSidArray3
*r
)
4193 uint32_t cntr_sids_1
;
4194 ndr_print_struct(ndr
, name
, "lsa_TransSidArray3");
4196 ndr_print_uint32(ndr
, "count", r
->count
);
4197 ndr_print_ptr(ndr
, "sids", r
->sids
);
4200 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->count
);
4202 for (cntr_sids_1
=0;cntr_sids_1
<r
->count
;cntr_sids_1
++) {
4204 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4205 ndr_print_lsa_TranslatedSid3(ndr
, "sids", &r
->sids
[cntr_sids_1
]);
4215 static enum ndr_err_code
ndr_push_lsa_ForestTrustBinaryData(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustBinaryData
*r
)
4217 if (ndr_flags
& NDR_SCALARS
) {
4218 NDR_CHECK(ndr_push_align(ndr
, 4));
4219 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4220 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
4222 if (ndr_flags
& NDR_BUFFERS
) {
4224 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
4225 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
4228 return NDR_ERR_SUCCESS
;
4231 static enum ndr_err_code
ndr_pull_lsa_ForestTrustBinaryData(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustBinaryData
*r
)
4234 TALLOC_CTX
*_mem_save_data_0
;
4235 if (ndr_flags
& NDR_SCALARS
) {
4236 NDR_CHECK(ndr_pull_align(ndr
, 4));
4237 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
4238 if (r
->length
< 0 || r
->length
> 131072) {
4239 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4241 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
4243 NDR_PULL_ALLOC(ndr
, r
->data
);
4248 if (ndr_flags
& NDR_BUFFERS
) {
4250 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4251 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
4252 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
4253 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
4254 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
4255 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
4258 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
4261 return NDR_ERR_SUCCESS
;
4264 _PUBLIC_
void ndr_print_lsa_ForestTrustBinaryData(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustBinaryData
*r
)
4266 ndr_print_struct(ndr
, name
, "lsa_ForestTrustBinaryData");
4268 ndr_print_uint32(ndr
, "length", r
->length
);
4269 ndr_print_ptr(ndr
, "data", r
->data
);
4272 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
4278 static enum ndr_err_code
ndr_push_lsa_ForestTrustDomainInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustDomainInfo
*r
)
4280 if (ndr_flags
& NDR_SCALARS
) {
4281 NDR_CHECK(ndr_push_align(ndr
, 4));
4282 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_sid
));
4283 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain_name
));
4284 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_domain_name
));
4286 if (ndr_flags
& NDR_BUFFERS
) {
4287 if (r
->domain_sid
) {
4288 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain_sid
));
4290 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain_name
));
4291 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_domain_name
));
4293 return NDR_ERR_SUCCESS
;
4296 static enum ndr_err_code
ndr_pull_lsa_ForestTrustDomainInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustDomainInfo
*r
)
4298 uint32_t _ptr_domain_sid
;
4299 TALLOC_CTX
*_mem_save_domain_sid_0
;
4300 if (ndr_flags
& NDR_SCALARS
) {
4301 NDR_CHECK(ndr_pull_align(ndr
, 4));
4302 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_sid
));
4303 if (_ptr_domain_sid
) {
4304 NDR_PULL_ALLOC(ndr
, r
->domain_sid
);
4306 r
->domain_sid
= NULL
;
4308 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->dns_domain_name
));
4309 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->netbios_domain_name
));
4311 if (ndr_flags
& NDR_BUFFERS
) {
4312 if (r
->domain_sid
) {
4313 _mem_save_domain_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4314 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_sid
, 0);
4315 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain_sid
));
4316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_sid_0
, 0);
4318 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->dns_domain_name
));
4319 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->netbios_domain_name
));
4321 return NDR_ERR_SUCCESS
;
4324 _PUBLIC_
void ndr_print_lsa_ForestTrustDomainInfo(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustDomainInfo
*r
)
4326 ndr_print_struct(ndr
, name
, "lsa_ForestTrustDomainInfo");
4328 ndr_print_ptr(ndr
, "domain_sid", r
->domain_sid
);
4330 if (r
->domain_sid
) {
4331 ndr_print_dom_sid2(ndr
, "domain_sid", r
->domain_sid
);
4334 ndr_print_lsa_StringLarge(ndr
, "dns_domain_name", &r
->dns_domain_name
);
4335 ndr_print_lsa_StringLarge(ndr
, "netbios_domain_name", &r
->netbios_domain_name
);
4339 static enum ndr_err_code
ndr_push_lsa_ForestTrustData(struct ndr_push
*ndr
, int ndr_flags
, const union lsa_ForestTrustData
*r
)
4341 if (ndr_flags
& NDR_SCALARS
) {
4342 int level
= ndr_push_get_switch_value(ndr
, r
);
4343 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4345 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: {
4346 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->top_level_name
));
4349 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
4350 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name_ex
));
4353 case LSA_FOREST_TRUST_DOMAIN_INFO
: {
4354 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr
, NDR_SCALARS
, &r
->domain_info
));
4358 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
4363 if (ndr_flags
& NDR_BUFFERS
) {
4364 int level
= ndr_push_get_switch_value(ndr
, r
);
4366 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
4367 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->top_level_name
));
4370 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
4371 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name_ex
));
4374 case LSA_FOREST_TRUST_DOMAIN_INFO
:
4375 NDR_CHECK(ndr_push_lsa_ForestTrustDomainInfo(ndr
, NDR_BUFFERS
, &r
->domain_info
));
4379 NDR_CHECK(ndr_push_lsa_ForestTrustBinaryData(ndr
, NDR_BUFFERS
, &r
->data
));
4384 return NDR_ERR_SUCCESS
;
4387 static enum ndr_err_code
ndr_pull_lsa_ForestTrustData(struct ndr_pull
*ndr
, int ndr_flags
, union lsa_ForestTrustData
*r
)
4391 level
= ndr_pull_get_switch_value(ndr
, r
);
4392 if (ndr_flags
& NDR_SCALARS
) {
4393 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4394 if (_level
!= level
) {
4395 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r", _level
);
4398 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: {
4399 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->top_level_name
));
4402 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: {
4403 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
, &r
->top_level_name_ex
));
4406 case LSA_FOREST_TRUST_DOMAIN_INFO
: {
4407 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr
, NDR_SCALARS
, &r
->domain_info
));
4411 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr
, NDR_SCALARS
, &r
->data
));
4416 if (ndr_flags
& NDR_BUFFERS
) {
4418 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
4419 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->top_level_name
));
4422 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
4423 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_BUFFERS
, &r
->top_level_name_ex
));
4426 case LSA_FOREST_TRUST_DOMAIN_INFO
:
4427 NDR_CHECK(ndr_pull_lsa_ForestTrustDomainInfo(ndr
, NDR_BUFFERS
, &r
->domain_info
));
4431 NDR_CHECK(ndr_pull_lsa_ForestTrustBinaryData(ndr
, NDR_BUFFERS
, &r
->data
));
4436 return NDR_ERR_SUCCESS
;
4439 _PUBLIC_
void ndr_print_lsa_ForestTrustData(struct ndr_print
*ndr
, const char *name
, const union lsa_ForestTrustData
*r
)
4442 level
= ndr_print_get_switch_value(ndr
, r
);
4443 ndr_print_union(ndr
, name
, level
, "lsa_ForestTrustData");
4445 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
:
4446 ndr_print_lsa_String(ndr
, "top_level_name", &r
->top_level_name
);
4449 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
:
4450 ndr_print_lsa_StringLarge(ndr
, "top_level_name_ex", &r
->top_level_name_ex
);
4453 case LSA_FOREST_TRUST_DOMAIN_INFO
:
4454 ndr_print_lsa_ForestTrustDomainInfo(ndr
, "domain_info", &r
->domain_info
);
4458 ndr_print_lsa_ForestTrustBinaryData(ndr
, "data", &r
->data
);
4464 static enum ndr_err_code
ndr_push_lsa_ForestTrustRecordType(struct ndr_push
*ndr
, int ndr_flags
, enum lsa_ForestTrustRecordType r
)
4466 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
4467 return NDR_ERR_SUCCESS
;
4470 static enum ndr_err_code
ndr_pull_lsa_ForestTrustRecordType(struct ndr_pull
*ndr
, int ndr_flags
, enum lsa_ForestTrustRecordType
*r
)
4473 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
4475 return NDR_ERR_SUCCESS
;
4478 _PUBLIC_
void ndr_print_lsa_ForestTrustRecordType(struct ndr_print
*ndr
, const char *name
, enum lsa_ForestTrustRecordType r
)
4480 const char *val
= NULL
;
4483 case LSA_FOREST_TRUST_TOP_LEVEL_NAME
: val
= "LSA_FOREST_TRUST_TOP_LEVEL_NAME"; break;
4484 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
: val
= "LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX"; break;
4485 case LSA_FOREST_TRUST_DOMAIN_INFO
: val
= "LSA_FOREST_TRUST_DOMAIN_INFO"; break;
4486 case LSA_FOREST_TRUST_RECORD_TYPE_LAST
: val
= "LSA_FOREST_TRUST_RECORD_TYPE_LAST"; break;
4488 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4491 static enum ndr_err_code
ndr_push_lsa_ForestTrustRecord(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustRecord
*r
)
4493 if (ndr_flags
& NDR_SCALARS
) {
4494 NDR_CHECK(ndr_push_align(ndr
, 8));
4495 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
4496 NDR_CHECK(ndr_push_lsa_ForestTrustRecordType(ndr
, NDR_SCALARS
, r
->level
));
4497 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown
));
4498 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->forest_trust_data
, r
->level
));
4499 NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr
, NDR_SCALARS
, &r
->forest_trust_data
));
4501 if (ndr_flags
& NDR_BUFFERS
) {
4502 NDR_CHECK(ndr_push_lsa_ForestTrustData(ndr
, NDR_BUFFERS
, &r
->forest_trust_data
));
4504 return NDR_ERR_SUCCESS
;
4507 static enum ndr_err_code
ndr_pull_lsa_ForestTrustRecord(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustRecord
*r
)
4509 if (ndr_flags
& NDR_SCALARS
) {
4510 NDR_CHECK(ndr_pull_align(ndr
, 8));
4511 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
4512 NDR_CHECK(ndr_pull_lsa_ForestTrustRecordType(ndr
, NDR_SCALARS
, &r
->level
));
4513 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown
));
4514 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->forest_trust_data
, r
->level
));
4515 NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr
, NDR_SCALARS
, &r
->forest_trust_data
));
4517 if (ndr_flags
& NDR_BUFFERS
) {
4518 NDR_CHECK(ndr_pull_lsa_ForestTrustData(ndr
, NDR_BUFFERS
, &r
->forest_trust_data
));
4520 return NDR_ERR_SUCCESS
;
4523 _PUBLIC_
void ndr_print_lsa_ForestTrustRecord(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustRecord
*r
)
4525 ndr_print_struct(ndr
, name
, "lsa_ForestTrustRecord");
4527 ndr_print_uint32(ndr
, "flags", r
->flags
);
4528 ndr_print_lsa_ForestTrustRecordType(ndr
, "level", r
->level
);
4529 ndr_print_hyper(ndr
, "unknown", r
->unknown
);
4530 ndr_print_set_switch_value(ndr
, &r
->forest_trust_data
, r
->level
);
4531 ndr_print_lsa_ForestTrustData(ndr
, "forest_trust_data", &r
->forest_trust_data
);
4535 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_ForestTrustInformation(struct ndr_push
*ndr
, int ndr_flags
, const struct lsa_ForestTrustInformation
*r
)
4537 uint32_t cntr_entries_1
;
4538 if (ndr_flags
& NDR_SCALARS
) {
4539 NDR_CHECK(ndr_push_align(ndr
, 4));
4540 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4541 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
));
4543 if (ndr_flags
& NDR_BUFFERS
) {
4545 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4546 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4547 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->entries
[cntr_entries_1
]));
4549 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4550 if (r
->entries
[cntr_entries_1
]) {
4551 NDR_CHECK(ndr_push_lsa_ForestTrustRecord(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->entries
[cntr_entries_1
]));
4556 return NDR_ERR_SUCCESS
;
4559 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_ForestTrustInformation(struct ndr_pull
*ndr
, int ndr_flags
, struct lsa_ForestTrustInformation
*r
)
4561 uint32_t _ptr_entries
;
4562 uint32_t cntr_entries_1
;
4563 TALLOC_CTX
*_mem_save_entries_0
;
4564 TALLOC_CTX
*_mem_save_entries_1
;
4565 TALLOC_CTX
*_mem_save_entries_2
;
4566 if (ndr_flags
& NDR_SCALARS
) {
4567 NDR_CHECK(ndr_pull_align(ndr
, 4));
4568 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4569 if (r
->count
< 0 || r
->count
> 4000) {
4570 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4572 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4574 NDR_PULL_ALLOC(ndr
, r
->entries
);
4579 if (ndr_flags
& NDR_BUFFERS
) {
4581 _mem_save_entries_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4582 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4583 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->entries
));
4584 NDR_PULL_ALLOC_N(ndr
, r
->entries
, ndr_get_array_size(ndr
, &r
->entries
));
4585 _mem_save_entries_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4586 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
, 0);
4587 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4588 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_entries
));
4590 NDR_PULL_ALLOC(ndr
, r
->entries
[cntr_entries_1
]);
4592 r
->entries
[cntr_entries_1
] = NULL
;
4595 for (cntr_entries_1
= 0; cntr_entries_1
< r
->count
; cntr_entries_1
++) {
4596 if (r
->entries
[cntr_entries_1
]) {
4597 _mem_save_entries_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4598 NDR_PULL_SET_MEM_CTX(ndr
, r
->entries
[cntr_entries_1
], 0);
4599 NDR_CHECK(ndr_pull_lsa_ForestTrustRecord(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->entries
[cntr_entries_1
]));
4600 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_2
, 0);
4603 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_1
, 0);
4604 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_entries_0
, 0);
4607 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->entries
, r
->count
));
4610 return NDR_ERR_SUCCESS
;
4613 _PUBLIC_
void ndr_print_lsa_ForestTrustInformation(struct ndr_print
*ndr
, const char *name
, const struct lsa_ForestTrustInformation
*r
)
4615 uint32_t cntr_entries_1
;
4616 ndr_print_struct(ndr
, name
, "lsa_ForestTrustInformation");
4618 ndr_print_uint32(ndr
, "count", r
->count
);
4619 ndr_print_ptr(ndr
, "entries", r
->entries
);
4622 ndr
->print(ndr
, "%s: ARRAY(%d)", "entries", (int)r
->count
);
4624 for (cntr_entries_1
=0;cntr_entries_1
<r
->count
;cntr_entries_1
++) {
4626 if (asprintf(&idx_1
, "[%d]", cntr_entries_1
) != -1) {
4627 ndr_print_ptr(ndr
, "entries", r
->entries
[cntr_entries_1
]);
4629 if (r
->entries
[cntr_entries_1
]) {
4630 ndr_print_lsa_ForestTrustRecord(ndr
, "entries", r
->entries
[cntr_entries_1
]);
4642 static enum ndr_err_code
ndr_push_lsa_Close(struct ndr_push
*ndr
, int flags
, const struct lsa_Close
*r
)
4644 if (flags
& NDR_IN
) {
4645 if (r
->in
.handle
== NULL
) {
4646 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4648 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
4650 if (flags
& NDR_OUT
) {
4651 if (r
->out
.handle
== NULL
) {
4652 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4654 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
4655 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
4657 return NDR_ERR_SUCCESS
;
4660 static enum ndr_err_code
ndr_pull_lsa_Close(struct ndr_pull
*ndr
, int flags
, struct lsa_Close
*r
)
4662 TALLOC_CTX
*_mem_save_handle_0
;
4663 if (flags
& NDR_IN
) {
4664 ZERO_STRUCT(r
->out
);
4666 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
4667 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
4669 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4670 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
4671 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
4672 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
4673 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
4674 *r
->out
.handle
= *r
->in
.handle
;
4676 if (flags
& NDR_OUT
) {
4677 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
4678 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
4680 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4681 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
4682 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
4683 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
4684 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
4686 return NDR_ERR_SUCCESS
;
4689 _PUBLIC_
void ndr_print_lsa_Close(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_Close
*r
)
4691 ndr_print_struct(ndr
, name
, "lsa_Close");
4693 if (flags
& NDR_SET_VALUES
) {
4694 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4696 if (flags
& NDR_IN
) {
4697 ndr_print_struct(ndr
, "in", "lsa_Close");
4699 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
4701 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
4705 if (flags
& NDR_OUT
) {
4706 ndr_print_struct(ndr
, "out", "lsa_Close");
4708 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
4710 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
4712 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
4718 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_Delete(struct ndr_push
*ndr
, int flags
, const struct lsa_Delete
*r
)
4720 if (flags
& NDR_IN
) {
4721 if (r
->in
.handle
== NULL
) {
4722 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4724 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
4726 if (flags
& NDR_OUT
) {
4727 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
4729 return NDR_ERR_SUCCESS
;
4732 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_Delete(struct ndr_pull
*ndr
, int flags
, struct lsa_Delete
*r
)
4734 TALLOC_CTX
*_mem_save_handle_0
;
4735 if (flags
& NDR_IN
) {
4736 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
4737 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
4739 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4740 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
4741 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
4742 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
4744 if (flags
& NDR_OUT
) {
4745 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
4747 return NDR_ERR_SUCCESS
;
4750 _PUBLIC_
void ndr_print_lsa_Delete(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_Delete
*r
)
4752 ndr_print_struct(ndr
, name
, "lsa_Delete");
4754 if (flags
& NDR_SET_VALUES
) {
4755 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4757 if (flags
& NDR_IN
) {
4758 ndr_print_struct(ndr
, "in", "lsa_Delete");
4760 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
4762 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
4766 if (flags
& NDR_OUT
) {
4767 ndr_print_struct(ndr
, "out", "lsa_Delete");
4769 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
4775 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_EnumPrivs(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumPrivs
*r
)
4777 if (flags
& NDR_IN
) {
4778 if (r
->in
.handle
== NULL
) {
4779 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4781 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
4782 if (r
->in
.resume_handle
== NULL
) {
4783 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4785 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
4786 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_count
));
4788 if (flags
& NDR_OUT
) {
4789 if (r
->out
.resume_handle
== NULL
) {
4790 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4792 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
4793 if (r
->out
.privs
== NULL
) {
4794 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4796 NDR_CHECK(ndr_push_lsa_PrivArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.privs
));
4797 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
4799 return NDR_ERR_SUCCESS
;
4802 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_EnumPrivs(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumPrivs
*r
)
4804 TALLOC_CTX
*_mem_save_handle_0
;
4805 TALLOC_CTX
*_mem_save_resume_handle_0
;
4806 TALLOC_CTX
*_mem_save_privs_0
;
4807 if (flags
& NDR_IN
) {
4808 ZERO_STRUCT(r
->out
);
4810 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
4811 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
4813 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4814 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
4815 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
4816 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
4817 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
4818 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
4820 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4821 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
4822 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
4823 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
4824 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_count
));
4825 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
4826 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
4827 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
4828 ZERO_STRUCTP(r
->out
.privs
);
4830 if (flags
& NDR_OUT
) {
4831 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
4832 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
4834 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4835 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
4836 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
4837 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
4838 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
4839 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
4841 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4842 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.privs
, LIBNDR_FLAG_REF_ALLOC
);
4843 NDR_CHECK(ndr_pull_lsa_PrivArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.privs
));
4844 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, LIBNDR_FLAG_REF_ALLOC
);
4845 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
4847 return NDR_ERR_SUCCESS
;
4850 _PUBLIC_
void ndr_print_lsa_EnumPrivs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumPrivs
*r
)
4852 ndr_print_struct(ndr
, name
, "lsa_EnumPrivs");
4854 if (flags
& NDR_SET_VALUES
) {
4855 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4857 if (flags
& NDR_IN
) {
4858 ndr_print_struct(ndr
, "in", "lsa_EnumPrivs");
4860 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
4862 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
4864 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
4866 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
4868 ndr_print_uint32(ndr
, "max_count", r
->in
.max_count
);
4871 if (flags
& NDR_OUT
) {
4872 ndr_print_struct(ndr
, "out", "lsa_EnumPrivs");
4874 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
4876 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
4878 ndr_print_ptr(ndr
, "privs", r
->out
.privs
);
4880 ndr_print_lsa_PrivArray(ndr
, "privs", r
->out
.privs
);
4882 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
4888 static enum ndr_err_code
ndr_push_lsa_QuerySecurity(struct ndr_push
*ndr
, int flags
, const struct lsa_QuerySecurity
*r
)
4890 if (flags
& NDR_IN
) {
4891 if (r
->in
.handle
== NULL
) {
4892 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4894 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
4895 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
4897 if (flags
& NDR_OUT
) {
4898 if (r
->out
.sdbuf
== NULL
) {
4899 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4901 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.sdbuf
));
4902 if (*r
->out
.sdbuf
) {
4903 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
4905 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
4907 return NDR_ERR_SUCCESS
;
4910 static enum ndr_err_code
ndr_pull_lsa_QuerySecurity(struct ndr_pull
*ndr
, int flags
, struct lsa_QuerySecurity
*r
)
4912 uint32_t _ptr_sdbuf
;
4913 TALLOC_CTX
*_mem_save_handle_0
;
4914 TALLOC_CTX
*_mem_save_sdbuf_0
;
4915 TALLOC_CTX
*_mem_save_sdbuf_1
;
4916 if (flags
& NDR_IN
) {
4917 ZERO_STRUCT(r
->out
);
4919 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
4920 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
4922 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4923 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
4924 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
4925 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
4926 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
4927 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
4928 ZERO_STRUCTP(r
->out
.sdbuf
);
4930 if (flags
& NDR_OUT
) {
4931 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
4932 NDR_PULL_ALLOC(ndr
, r
->out
.sdbuf
);
4934 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4935 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
4936 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sdbuf
));
4938 NDR_PULL_ALLOC(ndr
, *r
->out
.sdbuf
);
4940 *r
->out
.sdbuf
= NULL
;
4942 if (*r
->out
.sdbuf
) {
4943 _mem_save_sdbuf_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4944 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.sdbuf
, 0);
4945 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.sdbuf
));
4946 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_1
, 0);
4948 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
4949 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
4951 return NDR_ERR_SUCCESS
;
4954 _PUBLIC_
void ndr_print_lsa_QuerySecurity(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QuerySecurity
*r
)
4956 ndr_print_struct(ndr
, name
, "lsa_QuerySecurity");
4958 if (flags
& NDR_SET_VALUES
) {
4959 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
4961 if (flags
& NDR_IN
) {
4962 ndr_print_struct(ndr
, "in", "lsa_QuerySecurity");
4964 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
4966 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
4968 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
4971 if (flags
& NDR_OUT
) {
4972 ndr_print_struct(ndr
, "out", "lsa_QuerySecurity");
4974 ndr_print_ptr(ndr
, "sdbuf", r
->out
.sdbuf
);
4976 ndr_print_ptr(ndr
, "sdbuf", *r
->out
.sdbuf
);
4978 if (*r
->out
.sdbuf
) {
4979 ndr_print_sec_desc_buf(ndr
, "sdbuf", *r
->out
.sdbuf
);
4983 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
4989 static enum ndr_err_code
ndr_push_lsa_SetSecObj(struct ndr_push
*ndr
, int flags
, const struct lsa_SetSecObj
*r
)
4991 if (flags
& NDR_IN
) {
4992 if (r
->in
.handle
== NULL
) {
4993 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4995 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
4996 NDR_CHECK(ndr_push_security_secinfo(ndr
, NDR_SCALARS
, r
->in
.sec_info
));
4997 if (r
->in
.sdbuf
== NULL
) {
4998 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5000 NDR_CHECK(ndr_push_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5002 if (flags
& NDR_OUT
) {
5003 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5005 return NDR_ERR_SUCCESS
;
5008 static enum ndr_err_code
ndr_pull_lsa_SetSecObj(struct ndr_pull
*ndr
, int flags
, struct lsa_SetSecObj
*r
)
5010 TALLOC_CTX
*_mem_save_handle_0
;
5011 TALLOC_CTX
*_mem_save_sdbuf_0
;
5012 if (flags
& NDR_IN
) {
5013 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5014 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5016 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5017 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5018 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5019 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5020 NDR_CHECK(ndr_pull_security_secinfo(ndr
, NDR_SCALARS
, &r
->in
.sec_info
));
5021 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5022 NDR_PULL_ALLOC(ndr
, r
->in
.sdbuf
);
5024 _mem_save_sdbuf_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5025 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sdbuf
, LIBNDR_FLAG_REF_ALLOC
);
5026 NDR_CHECK(ndr_pull_sec_desc_buf(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sdbuf
));
5027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sdbuf_0
, LIBNDR_FLAG_REF_ALLOC
);
5029 if (flags
& NDR_OUT
) {
5030 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5032 return NDR_ERR_SUCCESS
;
5035 _PUBLIC_
void ndr_print_lsa_SetSecObj(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetSecObj
*r
)
5037 ndr_print_struct(ndr
, name
, "lsa_SetSecObj");
5039 if (flags
& NDR_SET_VALUES
) {
5040 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5042 if (flags
& NDR_IN
) {
5043 ndr_print_struct(ndr
, "in", "lsa_SetSecObj");
5045 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5047 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5049 ndr_print_security_secinfo(ndr
, "sec_info", r
->in
.sec_info
);
5050 ndr_print_ptr(ndr
, "sdbuf", r
->in
.sdbuf
);
5052 ndr_print_sec_desc_buf(ndr
, "sdbuf", r
->in
.sdbuf
);
5056 if (flags
& NDR_OUT
) {
5057 ndr_print_struct(ndr
, "out", "lsa_SetSecObj");
5059 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5065 static enum ndr_err_code
ndr_push_lsa_ChangePassword(struct ndr_push
*ndr
, int flags
, const struct lsa_ChangePassword
*r
)
5067 if (flags
& NDR_IN
) {
5069 if (flags
& NDR_OUT
) {
5070 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5072 return NDR_ERR_SUCCESS
;
5075 static enum ndr_err_code
ndr_pull_lsa_ChangePassword(struct ndr_pull
*ndr
, int flags
, struct lsa_ChangePassword
*r
)
5077 if (flags
& NDR_IN
) {
5079 if (flags
& NDR_OUT
) {
5080 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5082 return NDR_ERR_SUCCESS
;
5085 _PUBLIC_
void ndr_print_lsa_ChangePassword(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_ChangePassword
*r
)
5087 ndr_print_struct(ndr
, name
, "lsa_ChangePassword");
5089 if (flags
& NDR_SET_VALUES
) {
5090 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5092 if (flags
& NDR_IN
) {
5093 ndr_print_struct(ndr
, "in", "lsa_ChangePassword");
5097 if (flags
& NDR_OUT
) {
5098 ndr_print_struct(ndr
, "out", "lsa_ChangePassword");
5100 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5106 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_OpenPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenPolicy
*r
)
5108 if (flags
& NDR_IN
) {
5109 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
5110 if (r
->in
.system_name
) {
5111 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->in
.system_name
));
5113 if (r
->in
.attr
== NULL
) {
5114 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5116 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
5117 NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5119 if (flags
& NDR_OUT
) {
5120 if (r
->out
.handle
== NULL
) {
5121 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5123 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
5124 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5126 return NDR_ERR_SUCCESS
;
5129 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_OpenPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenPolicy
*r
)
5131 uint32_t _ptr_system_name
;
5132 TALLOC_CTX
*_mem_save_system_name_0
;
5133 TALLOC_CTX
*_mem_save_attr_0
;
5134 TALLOC_CTX
*_mem_save_handle_0
;
5135 if (flags
& NDR_IN
) {
5136 ZERO_STRUCT(r
->out
);
5138 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
5139 if (_ptr_system_name
) {
5140 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
5142 r
->in
.system_name
= NULL
;
5144 if (r
->in
.system_name
) {
5145 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5146 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
5147 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->in
.system_name
));
5148 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
5150 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5151 NDR_PULL_ALLOC(ndr
, r
->in
.attr
);
5153 _mem_save_attr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5154 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.attr
, LIBNDR_FLAG_REF_ALLOC
);
5155 NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
5156 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attr_0
, LIBNDR_FLAG_REF_ALLOC
);
5157 NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5158 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5159 ZERO_STRUCTP(r
->out
.handle
);
5161 if (flags
& NDR_OUT
) {
5162 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5163 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
5165 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5166 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5167 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
5168 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5169 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5171 return NDR_ERR_SUCCESS
;
5174 _PUBLIC_
void ndr_print_lsa_OpenPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenPolicy
*r
)
5176 ndr_print_struct(ndr
, name
, "lsa_OpenPolicy");
5178 if (flags
& NDR_SET_VALUES
) {
5179 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5181 if (flags
& NDR_IN
) {
5182 ndr_print_struct(ndr
, "in", "lsa_OpenPolicy");
5184 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
5186 if (r
->in
.system_name
) {
5187 ndr_print_uint16(ndr
, "system_name", *r
->in
.system_name
);
5190 ndr_print_ptr(ndr
, "attr", r
->in
.attr
);
5192 ndr_print_lsa_ObjectAttribute(ndr
, "attr", r
->in
.attr
);
5194 ndr_print_lsa_PolicyAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
5197 if (flags
& NDR_OUT
) {
5198 ndr_print_struct(ndr
, "out", "lsa_OpenPolicy");
5200 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
5202 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
5204 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5210 static enum ndr_err_code
ndr_push_lsa_QueryInfoPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryInfoPolicy
*r
)
5212 if (flags
& NDR_IN
) {
5213 if (r
->in
.handle
== NULL
) {
5214 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5216 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5217 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
5219 if (flags
& NDR_OUT
) {
5220 if (r
->out
.info
== NULL
) {
5221 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5223 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
5225 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
5226 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
5228 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5230 return NDR_ERR_SUCCESS
;
5233 static enum ndr_err_code
ndr_pull_lsa_QueryInfoPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryInfoPolicy
*r
)
5236 TALLOC_CTX
*_mem_save_handle_0
;
5237 TALLOC_CTX
*_mem_save_info_0
;
5238 TALLOC_CTX
*_mem_save_info_1
;
5239 if (flags
& NDR_IN
) {
5240 ZERO_STRUCT(r
->out
);
5242 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5243 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5245 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5246 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5247 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5248 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5249 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
5250 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
5251 ZERO_STRUCTP(r
->out
.info
);
5253 if (flags
& NDR_OUT
) {
5254 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5255 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
5257 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5258 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
5259 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
5261 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
5263 *r
->out
.info
= NULL
;
5266 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5267 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
5268 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
5269 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
5270 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
5272 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
5273 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5275 return NDR_ERR_SUCCESS
;
5278 _PUBLIC_
void ndr_print_lsa_QueryInfoPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryInfoPolicy
*r
)
5280 ndr_print_struct(ndr
, name
, "lsa_QueryInfoPolicy");
5282 if (flags
& NDR_SET_VALUES
) {
5283 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5285 if (flags
& NDR_IN
) {
5286 ndr_print_struct(ndr
, "in", "lsa_QueryInfoPolicy");
5288 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5290 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5292 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
5295 if (flags
& NDR_OUT
) {
5296 ndr_print_struct(ndr
, "out", "lsa_QueryInfoPolicy");
5298 ndr_print_ptr(ndr
, "info", r
->out
.info
);
5300 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
5303 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
5304 ndr_print_lsa_PolicyInformation(ndr
, "info", *r
->out
.info
);
5308 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5314 static enum ndr_err_code
ndr_push_lsa_SetInfoPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_SetInfoPolicy
*r
)
5316 if (flags
& NDR_IN
) {
5317 if (r
->in
.handle
== NULL
) {
5318 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5320 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5321 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
5322 if (r
->in
.info
== NULL
) {
5323 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5325 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
5326 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
5328 if (flags
& NDR_OUT
) {
5329 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5331 return NDR_ERR_SUCCESS
;
5334 static enum ndr_err_code
ndr_pull_lsa_SetInfoPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_SetInfoPolicy
*r
)
5336 TALLOC_CTX
*_mem_save_handle_0
;
5337 TALLOC_CTX
*_mem_save_info_0
;
5338 if (flags
& NDR_IN
) {
5339 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5340 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5342 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5343 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5344 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5345 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5346 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
5347 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5348 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
5350 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5351 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
5352 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
5353 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
5354 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
5356 if (flags
& NDR_OUT
) {
5357 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5359 return NDR_ERR_SUCCESS
;
5362 _PUBLIC_
void ndr_print_lsa_SetInfoPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetInfoPolicy
*r
)
5364 ndr_print_struct(ndr
, name
, "lsa_SetInfoPolicy");
5366 if (flags
& NDR_SET_VALUES
) {
5367 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5369 if (flags
& NDR_IN
) {
5370 ndr_print_struct(ndr
, "in", "lsa_SetInfoPolicy");
5372 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5374 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5376 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
5377 ndr_print_ptr(ndr
, "info", r
->in
.info
);
5379 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
5380 ndr_print_lsa_PolicyInformation(ndr
, "info", r
->in
.info
);
5384 if (flags
& NDR_OUT
) {
5385 ndr_print_struct(ndr
, "out", "lsa_SetInfoPolicy");
5387 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5393 static enum ndr_err_code
ndr_push_lsa_ClearAuditLog(struct ndr_push
*ndr
, int flags
, const struct lsa_ClearAuditLog
*r
)
5395 if (flags
& NDR_IN
) {
5397 if (flags
& NDR_OUT
) {
5398 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5400 return NDR_ERR_SUCCESS
;
5403 static enum ndr_err_code
ndr_pull_lsa_ClearAuditLog(struct ndr_pull
*ndr
, int flags
, struct lsa_ClearAuditLog
*r
)
5405 if (flags
& NDR_IN
) {
5407 if (flags
& NDR_OUT
) {
5408 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5410 return NDR_ERR_SUCCESS
;
5413 _PUBLIC_
void ndr_print_lsa_ClearAuditLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_ClearAuditLog
*r
)
5415 ndr_print_struct(ndr
, name
, "lsa_ClearAuditLog");
5417 if (flags
& NDR_SET_VALUES
) {
5418 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5420 if (flags
& NDR_IN
) {
5421 ndr_print_struct(ndr
, "in", "lsa_ClearAuditLog");
5425 if (flags
& NDR_OUT
) {
5426 ndr_print_struct(ndr
, "out", "lsa_ClearAuditLog");
5428 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5434 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_CreateAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateAccount
*r
)
5436 if (flags
& NDR_IN
) {
5437 if (r
->in
.handle
== NULL
) {
5438 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5440 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5441 if (r
->in
.sid
== NULL
) {
5442 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5444 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
5445 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5447 if (flags
& NDR_OUT
) {
5448 if (r
->out
.acct_handle
== NULL
) {
5449 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5451 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.acct_handle
));
5452 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5454 return NDR_ERR_SUCCESS
;
5457 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_CreateAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateAccount
*r
)
5459 TALLOC_CTX
*_mem_save_handle_0
;
5460 TALLOC_CTX
*_mem_save_sid_0
;
5461 TALLOC_CTX
*_mem_save_acct_handle_0
;
5462 if (flags
& NDR_IN
) {
5463 ZERO_STRUCT(r
->out
);
5465 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5466 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5468 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5469 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5470 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5471 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5472 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5473 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
5475 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5476 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
5477 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
5478 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
5479 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5480 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
5481 ZERO_STRUCTP(r
->out
.acct_handle
);
5483 if (flags
& NDR_OUT
) {
5484 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5485 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
5487 _mem_save_acct_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5488 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.acct_handle
, LIBNDR_FLAG_REF_ALLOC
);
5489 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.acct_handle
));
5490 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_acct_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5491 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5493 return NDR_ERR_SUCCESS
;
5496 _PUBLIC_
void ndr_print_lsa_CreateAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateAccount
*r
)
5498 ndr_print_struct(ndr
, name
, "lsa_CreateAccount");
5500 if (flags
& NDR_SET_VALUES
) {
5501 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5503 if (flags
& NDR_IN
) {
5504 ndr_print_struct(ndr
, "in", "lsa_CreateAccount");
5506 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5508 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5510 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
5512 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
5514 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
5517 if (flags
& NDR_OUT
) {
5518 ndr_print_struct(ndr
, "out", "lsa_CreateAccount");
5520 ndr_print_ptr(ndr
, "acct_handle", r
->out
.acct_handle
);
5522 ndr_print_policy_handle(ndr
, "acct_handle", r
->out
.acct_handle
);
5524 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5530 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_EnumAccounts(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumAccounts
*r
)
5532 if (flags
& NDR_IN
) {
5533 if (r
->in
.handle
== NULL
) {
5534 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5536 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5537 if (r
->in
.resume_handle
== NULL
) {
5538 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5540 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
5541 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_entries
));
5543 if (flags
& NDR_OUT
) {
5544 if (r
->out
.resume_handle
== NULL
) {
5545 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5547 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
5548 if (r
->out
.sids
== NULL
) {
5549 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5551 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
5552 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5554 return NDR_ERR_SUCCESS
;
5557 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_EnumAccounts(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumAccounts
*r
)
5559 TALLOC_CTX
*_mem_save_handle_0
;
5560 TALLOC_CTX
*_mem_save_resume_handle_0
;
5561 TALLOC_CTX
*_mem_save_sids_0
;
5562 if (flags
& NDR_IN
) {
5563 ZERO_STRUCT(r
->out
);
5565 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5566 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5568 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5569 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5570 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5571 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5572 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5573 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
5575 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5576 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5577 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
5578 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5579 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_entries
));
5580 if (r
->in
.num_entries
< 0 || r
->in
.num_entries
> 8192) {
5581 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5583 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5584 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
5585 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
5586 ZERO_STRUCTP(r
->out
.sids
);
5588 if (flags
& NDR_OUT
) {
5589 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5590 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5592 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5593 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5594 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
5595 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5596 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5597 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
5599 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5600 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
5601 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
5602 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
5603 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5605 return NDR_ERR_SUCCESS
;
5608 _PUBLIC_
void ndr_print_lsa_EnumAccounts(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumAccounts
*r
)
5610 ndr_print_struct(ndr
, name
, "lsa_EnumAccounts");
5612 if (flags
& NDR_SET_VALUES
) {
5613 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5615 if (flags
& NDR_IN
) {
5616 ndr_print_struct(ndr
, "in", "lsa_EnumAccounts");
5618 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5620 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5622 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
5624 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
5626 ndr_print_uint32(ndr
, "num_entries", r
->in
.num_entries
);
5629 if (flags
& NDR_OUT
) {
5630 ndr_print_struct(ndr
, "out", "lsa_EnumAccounts");
5632 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
5634 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
5636 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
5638 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
5640 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5646 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_CreateTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateTrustedDomain
*r
)
5648 if (flags
& NDR_IN
) {
5649 if (r
->in
.handle
== NULL
) {
5650 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5652 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5653 if (r
->in
.info
== NULL
) {
5654 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5656 NDR_CHECK(ndr_push_lsa_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
5657 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
5659 if (flags
& NDR_OUT
) {
5660 if (r
->out
.trustdom_handle
== NULL
) {
5661 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5663 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.trustdom_handle
));
5664 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5666 return NDR_ERR_SUCCESS
;
5669 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_CreateTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateTrustedDomain
*r
)
5671 TALLOC_CTX
*_mem_save_handle_0
;
5672 TALLOC_CTX
*_mem_save_info_0
;
5673 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
5674 if (flags
& NDR_IN
) {
5675 ZERO_STRUCT(r
->out
);
5677 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5678 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5680 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5681 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5682 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5683 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5684 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5685 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
5687 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5688 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
5689 NDR_CHECK(ndr_pull_lsa_DomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
5690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
5691 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
5692 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
5693 ZERO_STRUCTP(r
->out
.trustdom_handle
);
5695 if (flags
& NDR_OUT
) {
5696 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5697 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
5699 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5700 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
5701 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.trustdom_handle
));
5702 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5703 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5705 return NDR_ERR_SUCCESS
;
5708 _PUBLIC_
void ndr_print_lsa_CreateTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateTrustedDomain
*r
)
5710 ndr_print_struct(ndr
, name
, "lsa_CreateTrustedDomain");
5712 if (flags
& NDR_SET_VALUES
) {
5713 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5715 if (flags
& NDR_IN
) {
5716 ndr_print_struct(ndr
, "in", "lsa_CreateTrustedDomain");
5718 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5720 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5722 ndr_print_ptr(ndr
, "info", r
->in
.info
);
5724 ndr_print_lsa_DomainInfo(ndr
, "info", r
->in
.info
);
5726 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
5729 if (flags
& NDR_OUT
) {
5730 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomain");
5732 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
5734 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
5736 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5742 static enum ndr_err_code
ndr_push_lsa_EnumTrustDom(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumTrustDom
*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
|NDR_BUFFERS
, r
->in
.handle
));
5749 if (r
->in
.resume_handle
== NULL
) {
5750 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5752 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
5753 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
5755 if (flags
& NDR_OUT
) {
5756 if (r
->out
.resume_handle
== NULL
) {
5757 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5759 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
5760 if (r
->out
.domains
== NULL
) {
5761 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5763 NDR_CHECK(ndr_push_lsa_DomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
5764 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5766 return NDR_ERR_SUCCESS
;
5769 static enum ndr_err_code
ndr_pull_lsa_EnumTrustDom(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumTrustDom
*r
)
5771 TALLOC_CTX
*_mem_save_handle_0
;
5772 TALLOC_CTX
*_mem_save_resume_handle_0
;
5773 TALLOC_CTX
*_mem_save_domains_0
;
5774 if (flags
& NDR_IN
) {
5775 ZERO_STRUCT(r
->out
);
5777 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5778 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5780 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5781 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5782 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5783 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5784 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5785 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
5787 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5788 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5789 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
5790 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5791 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
5792 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5793 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
5794 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
5795 ZERO_STRUCTP(r
->out
.domains
);
5797 if (flags
& NDR_OUT
) {
5798 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5799 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
5801 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5802 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
5803 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
5804 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5805 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5806 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
5808 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5809 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
5810 NDR_CHECK(ndr_pull_lsa_DomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
5811 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
5812 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5814 return NDR_ERR_SUCCESS
;
5817 _PUBLIC_
void ndr_print_lsa_EnumTrustDom(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumTrustDom
*r
)
5819 ndr_print_struct(ndr
, name
, "lsa_EnumTrustDom");
5821 if (flags
& NDR_SET_VALUES
) {
5822 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
5824 if (flags
& NDR_IN
) {
5825 ndr_print_struct(ndr
, "in", "lsa_EnumTrustDom");
5827 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
5829 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
5831 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
5833 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
5835 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
5838 if (flags
& NDR_OUT
) {
5839 ndr_print_struct(ndr
, "out", "lsa_EnumTrustDom");
5841 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
5843 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
5845 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
5847 ndr_print_lsa_DomainList(ndr
, "domains", r
->out
.domains
);
5849 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
5855 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupNames(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames
*r
)
5857 uint32_t cntr_names_0
;
5858 if (flags
& NDR_IN
) {
5859 if (r
->in
.handle
== NULL
) {
5860 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5862 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5863 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
5864 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
5865 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
5866 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
5868 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
5869 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
5871 if (r
->in
.sids
== NULL
) {
5872 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5874 NDR_CHECK(ndr_push_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
5875 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
5876 if (r
->in
.count
== NULL
) {
5877 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5879 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
5881 if (flags
& NDR_OUT
) {
5882 if (r
->out
.domains
== NULL
) {
5883 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5885 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
5886 if (*r
->out
.domains
) {
5887 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
5889 if (r
->out
.sids
== NULL
) {
5890 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5892 NDR_CHECK(ndr_push_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
5893 if (r
->out
.count
== NULL
) {
5894 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
5896 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
5897 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
5899 return NDR_ERR_SUCCESS
;
5902 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupNames(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames
*r
)
5904 uint32_t cntr_names_0
;
5905 uint32_t _ptr_domains
;
5906 TALLOC_CTX
*_mem_save_handle_0
;
5907 TALLOC_CTX
*_mem_save_names_0
;
5908 TALLOC_CTX
*_mem_save_domains_0
;
5909 TALLOC_CTX
*_mem_save_domains_1
;
5910 TALLOC_CTX
*_mem_save_sids_0
;
5911 TALLOC_CTX
*_mem_save_count_0
;
5912 if (flags
& NDR_IN
) {
5913 ZERO_STRUCT(r
->out
);
5915 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5916 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
5918 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5919 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
5920 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
5921 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
5922 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
5923 if (r
->in
.num_names
< 0 || r
->in
.num_names
> 1000) {
5924 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5926 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
5927 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
5928 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5929 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
5930 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
5931 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
5933 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
5934 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
5936 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
5937 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5938 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
5940 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5941 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
5942 NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
5943 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
5944 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
5945 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5946 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
5948 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5949 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
5950 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
5951 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
5952 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
5953 ZERO_STRUCTP(r
->out
.domains
);
5954 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
5955 *r
->out
.sids
= *r
->in
.sids
;
5956 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
5957 *r
->out
.count
= *r
->in
.count
;
5959 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
5962 if (flags
& NDR_OUT
) {
5963 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5964 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
5966 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5967 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
5968 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
5970 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
5972 *r
->out
.domains
= NULL
;
5974 if (*r
->out
.domains
) {
5975 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5976 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
5977 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
5978 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
5980 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
5981 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5982 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
5984 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5985 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
5986 NDR_CHECK(ndr_pull_lsa_TransSidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
5987 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
5988 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
5989 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
5991 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5992 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
5993 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
5994 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
5995 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
5997 return NDR_ERR_SUCCESS
;
6000 _PUBLIC_
void ndr_print_lsa_LookupNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames
*r
)
6002 uint32_t cntr_names_0
;
6003 ndr_print_struct(ndr
, name
, "lsa_LookupNames");
6005 if (flags
& NDR_SET_VALUES
) {
6006 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6008 if (flags
& NDR_IN
) {
6009 ndr_print_struct(ndr
, "in", "lsa_LookupNames");
6011 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6013 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6015 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
6016 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
6018 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
6020 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
6021 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
6026 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
6028 ndr_print_lsa_TransSidArray(ndr
, "sids", r
->in
.sids
);
6030 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
6031 ndr_print_ptr(ndr
, "count", r
->in
.count
);
6033 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
6037 if (flags
& NDR_OUT
) {
6038 ndr_print_struct(ndr
, "out", "lsa_LookupNames");
6040 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
6042 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
6044 if (*r
->out
.domains
) {
6045 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
6049 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
6051 ndr_print_lsa_TransSidArray(ndr
, "sids", r
->out
.sids
);
6053 ndr_print_ptr(ndr
, "count", r
->out
.count
);
6055 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
6057 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6063 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupSids(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupSids
*r
)
6065 if (flags
& NDR_IN
) {
6066 if (r
->in
.handle
== NULL
) {
6067 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6069 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6070 if (r
->in
.sids
== NULL
) {
6071 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6073 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
6074 if (r
->in
.names
== NULL
) {
6075 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6077 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
6078 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
6079 if (r
->in
.count
== NULL
) {
6080 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6082 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
6084 if (flags
& NDR_OUT
) {
6085 if (r
->out
.domains
== NULL
) {
6086 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6088 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
6089 if (*r
->out
.domains
) {
6090 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
6092 if (r
->out
.names
== NULL
) {
6093 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6095 NDR_CHECK(ndr_push_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
6096 if (r
->out
.count
== NULL
) {
6097 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6099 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
6100 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6102 return NDR_ERR_SUCCESS
;
6105 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupSids(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupSids
*r
)
6107 uint32_t _ptr_domains
;
6108 TALLOC_CTX
*_mem_save_handle_0
;
6109 TALLOC_CTX
*_mem_save_sids_0
;
6110 TALLOC_CTX
*_mem_save_domains_0
;
6111 TALLOC_CTX
*_mem_save_domains_1
;
6112 TALLOC_CTX
*_mem_save_names_0
;
6113 TALLOC_CTX
*_mem_save_count_0
;
6114 if (flags
& NDR_IN
) {
6115 ZERO_STRUCT(r
->out
);
6117 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6118 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6120 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6121 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6122 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6123 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6124 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6125 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
6127 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6128 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
6129 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
6130 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
6131 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6132 NDR_PULL_ALLOC(ndr
, r
->in
.names
);
6134 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6135 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, LIBNDR_FLAG_REF_ALLOC
);
6136 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
6137 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
6138 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
6139 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6140 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
6142 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6143 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
6144 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
6145 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
6146 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6147 ZERO_STRUCTP(r
->out
.domains
);
6148 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
6149 *r
->out
.names
= *r
->in
.names
;
6150 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
6151 *r
->out
.count
= *r
->in
.count
;
6153 if (flags
& NDR_OUT
) {
6154 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6155 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
6157 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6158 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
6159 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
6161 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
6163 *r
->out
.domains
= NULL
;
6165 if (*r
->out
.domains
) {
6166 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6167 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
6168 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
6169 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
6171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
6172 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6173 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
6175 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6176 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
6177 NDR_CHECK(ndr_pull_lsa_TransNameArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
6178 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
6179 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6180 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
6182 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6183 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
6184 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
6185 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
6186 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6188 return NDR_ERR_SUCCESS
;
6191 _PUBLIC_
void ndr_print_lsa_LookupSids(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupSids
*r
)
6193 ndr_print_struct(ndr
, name
, "lsa_LookupSids");
6195 if (flags
& NDR_SET_VALUES
) {
6196 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6198 if (flags
& NDR_IN
) {
6199 ndr_print_struct(ndr
, "in", "lsa_LookupSids");
6201 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6203 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6205 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
6207 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
6209 ndr_print_ptr(ndr
, "names", r
->in
.names
);
6211 ndr_print_lsa_TransNameArray(ndr
, "names", r
->in
.names
);
6213 ndr_print_uint16(ndr
, "level", r
->in
.level
);
6214 ndr_print_ptr(ndr
, "count", r
->in
.count
);
6216 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
6220 if (flags
& NDR_OUT
) {
6221 ndr_print_struct(ndr
, "out", "lsa_LookupSids");
6223 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
6225 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
6227 if (*r
->out
.domains
) {
6228 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
6232 ndr_print_ptr(ndr
, "names", r
->out
.names
);
6234 ndr_print_lsa_TransNameArray(ndr
, "names", r
->out
.names
);
6236 ndr_print_ptr(ndr
, "count", r
->out
.count
);
6238 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
6240 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6246 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_CreateSecret(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateSecret
*r
)
6248 if (flags
& NDR_IN
) {
6249 if (r
->in
.handle
== NULL
) {
6250 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6252 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6253 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
6254 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6256 if (flags
& NDR_OUT
) {
6257 if (r
->out
.sec_handle
== NULL
) {
6258 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6260 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sec_handle
));
6261 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6263 return NDR_ERR_SUCCESS
;
6266 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_CreateSecret(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateSecret
*r
)
6268 TALLOC_CTX
*_mem_save_handle_0
;
6269 TALLOC_CTX
*_mem_save_sec_handle_0
;
6270 if (flags
& NDR_IN
) {
6271 ZERO_STRUCT(r
->out
);
6273 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6274 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6276 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6277 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6278 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6279 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6280 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
6281 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6282 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
6283 ZERO_STRUCTP(r
->out
.sec_handle
);
6285 if (flags
& NDR_OUT
) {
6286 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6287 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
6289 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6290 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
6291 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sec_handle
));
6292 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6293 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6295 return NDR_ERR_SUCCESS
;
6298 _PUBLIC_
void ndr_print_lsa_CreateSecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateSecret
*r
)
6300 ndr_print_struct(ndr
, name
, "lsa_CreateSecret");
6302 if (flags
& NDR_SET_VALUES
) {
6303 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6305 if (flags
& NDR_IN
) {
6306 ndr_print_struct(ndr
, "in", "lsa_CreateSecret");
6308 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6310 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6312 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
6313 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
6316 if (flags
& NDR_OUT
) {
6317 ndr_print_struct(ndr
, "out", "lsa_CreateSecret");
6319 ndr_print_ptr(ndr
, "sec_handle", r
->out
.sec_handle
);
6321 ndr_print_policy_handle(ndr
, "sec_handle", r
->out
.sec_handle
);
6323 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6329 static enum ndr_err_code
ndr_push_lsa_OpenAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenAccount
*r
)
6331 if (flags
& NDR_IN
) {
6332 if (r
->in
.handle
== NULL
) {
6333 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6335 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6336 if (r
->in
.sid
== NULL
) {
6337 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6339 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6340 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6342 if (flags
& NDR_OUT
) {
6343 if (r
->out
.acct_handle
== NULL
) {
6344 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6346 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.acct_handle
));
6347 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6349 return NDR_ERR_SUCCESS
;
6352 static enum ndr_err_code
ndr_pull_lsa_OpenAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenAccount
*r
)
6354 TALLOC_CTX
*_mem_save_handle_0
;
6355 TALLOC_CTX
*_mem_save_sid_0
;
6356 TALLOC_CTX
*_mem_save_acct_handle_0
;
6357 if (flags
& NDR_IN
) {
6358 ZERO_STRUCT(r
->out
);
6360 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6361 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6363 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6364 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6365 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6366 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6367 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6368 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
6370 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6371 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6372 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6373 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6374 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6375 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
6376 ZERO_STRUCTP(r
->out
.acct_handle
);
6378 if (flags
& NDR_OUT
) {
6379 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6380 NDR_PULL_ALLOC(ndr
, r
->out
.acct_handle
);
6382 _mem_save_acct_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6383 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.acct_handle
, LIBNDR_FLAG_REF_ALLOC
);
6384 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.acct_handle
));
6385 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_acct_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6386 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6388 return NDR_ERR_SUCCESS
;
6391 _PUBLIC_
void ndr_print_lsa_OpenAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenAccount
*r
)
6393 ndr_print_struct(ndr
, name
, "lsa_OpenAccount");
6395 if (flags
& NDR_SET_VALUES
) {
6396 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6398 if (flags
& NDR_IN
) {
6399 ndr_print_struct(ndr
, "in", "lsa_OpenAccount");
6401 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6403 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6405 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6407 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6409 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
6412 if (flags
& NDR_OUT
) {
6413 ndr_print_struct(ndr
, "out", "lsa_OpenAccount");
6415 ndr_print_ptr(ndr
, "acct_handle", r
->out
.acct_handle
);
6417 ndr_print_policy_handle(ndr
, "acct_handle", r
->out
.acct_handle
);
6419 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6425 static enum ndr_err_code
ndr_push_lsa_EnumPrivsAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumPrivsAccount
*r
)
6427 if (flags
& NDR_IN
) {
6428 if (r
->in
.handle
== NULL
) {
6429 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6431 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6433 if (flags
& NDR_OUT
) {
6434 if (r
->out
.privs
== NULL
) {
6435 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6437 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.privs
));
6438 if (*r
->out
.privs
) {
6439 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, *r
->out
.privs
));
6441 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6443 return NDR_ERR_SUCCESS
;
6446 static enum ndr_err_code
ndr_pull_lsa_EnumPrivsAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumPrivsAccount
*r
)
6448 uint32_t _ptr_privs
;
6449 TALLOC_CTX
*_mem_save_handle_0
;
6450 TALLOC_CTX
*_mem_save_privs_0
;
6451 TALLOC_CTX
*_mem_save_privs_1
;
6452 if (flags
& NDR_IN
) {
6453 ZERO_STRUCT(r
->out
);
6455 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6456 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6458 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6459 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6460 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6461 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6462 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
6463 ZERO_STRUCTP(r
->out
.privs
);
6465 if (flags
& NDR_OUT
) {
6466 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6467 NDR_PULL_ALLOC(ndr
, r
->out
.privs
);
6469 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6470 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.privs
, LIBNDR_FLAG_REF_ALLOC
);
6471 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_privs
));
6473 NDR_PULL_ALLOC(ndr
, *r
->out
.privs
);
6475 *r
->out
.privs
= NULL
;
6477 if (*r
->out
.privs
) {
6478 _mem_save_privs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6479 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.privs
, 0);
6480 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, *r
->out
.privs
));
6481 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_1
, 0);
6483 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, LIBNDR_FLAG_REF_ALLOC
);
6484 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6486 return NDR_ERR_SUCCESS
;
6489 _PUBLIC_
void ndr_print_lsa_EnumPrivsAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumPrivsAccount
*r
)
6491 ndr_print_struct(ndr
, name
, "lsa_EnumPrivsAccount");
6493 if (flags
& NDR_SET_VALUES
) {
6494 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6496 if (flags
& NDR_IN
) {
6497 ndr_print_struct(ndr
, "in", "lsa_EnumPrivsAccount");
6499 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6501 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6505 if (flags
& NDR_OUT
) {
6506 ndr_print_struct(ndr
, "out", "lsa_EnumPrivsAccount");
6508 ndr_print_ptr(ndr
, "privs", r
->out
.privs
);
6510 ndr_print_ptr(ndr
, "privs", *r
->out
.privs
);
6512 if (*r
->out
.privs
) {
6513 ndr_print_lsa_PrivilegeSet(ndr
, "privs", *r
->out
.privs
);
6517 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6523 static enum ndr_err_code
ndr_push_lsa_AddPrivilegesToAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_AddPrivilegesToAccount
*r
)
6525 if (flags
& NDR_IN
) {
6526 if (r
->in
.handle
== NULL
) {
6527 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6529 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6530 if (r
->in
.privs
== NULL
) {
6531 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6533 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
6535 if (flags
& NDR_OUT
) {
6536 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6538 return NDR_ERR_SUCCESS
;
6541 static enum ndr_err_code
ndr_pull_lsa_AddPrivilegesToAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_AddPrivilegesToAccount
*r
)
6543 TALLOC_CTX
*_mem_save_handle_0
;
6544 TALLOC_CTX
*_mem_save_privs_0
;
6545 if (flags
& NDR_IN
) {
6546 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6547 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6549 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6550 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6551 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6552 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6553 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6554 NDR_PULL_ALLOC(ndr
, r
->in
.privs
);
6556 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6557 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.privs
, LIBNDR_FLAG_REF_ALLOC
);
6558 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
6559 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, LIBNDR_FLAG_REF_ALLOC
);
6561 if (flags
& NDR_OUT
) {
6562 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6564 return NDR_ERR_SUCCESS
;
6567 _PUBLIC_
void ndr_print_lsa_AddPrivilegesToAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_AddPrivilegesToAccount
*r
)
6569 ndr_print_struct(ndr
, name
, "lsa_AddPrivilegesToAccount");
6571 if (flags
& NDR_SET_VALUES
) {
6572 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6574 if (flags
& NDR_IN
) {
6575 ndr_print_struct(ndr
, "in", "lsa_AddPrivilegesToAccount");
6577 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6579 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6581 ndr_print_ptr(ndr
, "privs", r
->in
.privs
);
6583 ndr_print_lsa_PrivilegeSet(ndr
, "privs", r
->in
.privs
);
6587 if (flags
& NDR_OUT
) {
6588 ndr_print_struct(ndr
, "out", "lsa_AddPrivilegesToAccount");
6590 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6596 static enum ndr_err_code
ndr_push_lsa_RemovePrivilegesFromAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_RemovePrivilegesFromAccount
*r
)
6598 if (flags
& NDR_IN
) {
6599 if (r
->in
.handle
== NULL
) {
6600 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6602 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6603 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.remove_all
));
6604 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.privs
));
6606 NDR_CHECK(ndr_push_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
6609 if (flags
& NDR_OUT
) {
6610 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6612 return NDR_ERR_SUCCESS
;
6615 static enum ndr_err_code
ndr_pull_lsa_RemovePrivilegesFromAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_RemovePrivilegesFromAccount
*r
)
6617 uint32_t _ptr_privs
;
6618 TALLOC_CTX
*_mem_save_handle_0
;
6619 TALLOC_CTX
*_mem_save_privs_0
;
6620 if (flags
& NDR_IN
) {
6621 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6622 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6624 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6625 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6626 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6627 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6628 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.remove_all
));
6629 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_privs
));
6631 NDR_PULL_ALLOC(ndr
, r
->in
.privs
);
6636 _mem_save_privs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6637 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.privs
, 0);
6638 NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr
, NDR_SCALARS
, r
->in
.privs
));
6639 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_privs_0
, 0);
6642 if (flags
& NDR_OUT
) {
6643 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6645 return NDR_ERR_SUCCESS
;
6648 _PUBLIC_
void ndr_print_lsa_RemovePrivilegesFromAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_RemovePrivilegesFromAccount
*r
)
6650 ndr_print_struct(ndr
, name
, "lsa_RemovePrivilegesFromAccount");
6652 if (flags
& NDR_SET_VALUES
) {
6653 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6655 if (flags
& NDR_IN
) {
6656 ndr_print_struct(ndr
, "in", "lsa_RemovePrivilegesFromAccount");
6658 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6660 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6662 ndr_print_uint8(ndr
, "remove_all", r
->in
.remove_all
);
6663 ndr_print_ptr(ndr
, "privs", r
->in
.privs
);
6666 ndr_print_lsa_PrivilegeSet(ndr
, "privs", r
->in
.privs
);
6671 if (flags
& NDR_OUT
) {
6672 ndr_print_struct(ndr
, "out", "lsa_RemovePrivilegesFromAccount");
6674 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6680 static enum ndr_err_code
ndr_push_lsa_GetQuotasForAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_GetQuotasForAccount
*r
)
6682 if (flags
& NDR_IN
) {
6684 if (flags
& NDR_OUT
) {
6685 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6687 return NDR_ERR_SUCCESS
;
6690 static enum ndr_err_code
ndr_pull_lsa_GetQuotasForAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_GetQuotasForAccount
*r
)
6692 if (flags
& NDR_IN
) {
6694 if (flags
& NDR_OUT
) {
6695 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6697 return NDR_ERR_SUCCESS
;
6700 _PUBLIC_
void ndr_print_lsa_GetQuotasForAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_GetQuotasForAccount
*r
)
6702 ndr_print_struct(ndr
, name
, "lsa_GetQuotasForAccount");
6704 if (flags
& NDR_SET_VALUES
) {
6705 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6707 if (flags
& NDR_IN
) {
6708 ndr_print_struct(ndr
, "in", "lsa_GetQuotasForAccount");
6712 if (flags
& NDR_OUT
) {
6713 ndr_print_struct(ndr
, "out", "lsa_GetQuotasForAccount");
6715 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6721 static enum ndr_err_code
ndr_push_lsa_SetQuotasForAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_SetQuotasForAccount
*r
)
6723 if (flags
& NDR_IN
) {
6725 if (flags
& NDR_OUT
) {
6726 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6728 return NDR_ERR_SUCCESS
;
6731 static enum ndr_err_code
ndr_pull_lsa_SetQuotasForAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_SetQuotasForAccount
*r
)
6733 if (flags
& NDR_IN
) {
6735 if (flags
& NDR_OUT
) {
6736 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6738 return NDR_ERR_SUCCESS
;
6741 _PUBLIC_
void ndr_print_lsa_SetQuotasForAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetQuotasForAccount
*r
)
6743 ndr_print_struct(ndr
, name
, "lsa_SetQuotasForAccount");
6745 if (flags
& NDR_SET_VALUES
) {
6746 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6748 if (flags
& NDR_IN
) {
6749 ndr_print_struct(ndr
, "in", "lsa_SetQuotasForAccount");
6753 if (flags
& NDR_OUT
) {
6754 ndr_print_struct(ndr
, "out", "lsa_SetQuotasForAccount");
6756 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6762 static enum ndr_err_code
ndr_push_lsa_GetSystemAccessAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_GetSystemAccessAccount
*r
)
6764 if (flags
& NDR_IN
) {
6765 if (r
->in
.handle
== NULL
) {
6766 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6768 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6770 if (flags
& NDR_OUT
) {
6771 if (r
->out
.access_mask
== NULL
) {
6772 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6774 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.access_mask
));
6775 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6777 return NDR_ERR_SUCCESS
;
6780 static enum ndr_err_code
ndr_pull_lsa_GetSystemAccessAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_GetSystemAccessAccount
*r
)
6782 TALLOC_CTX
*_mem_save_handle_0
;
6783 TALLOC_CTX
*_mem_save_access_mask_0
;
6784 if (flags
& NDR_IN
) {
6785 ZERO_STRUCT(r
->out
);
6787 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6788 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6790 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6791 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6792 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6793 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6794 NDR_PULL_ALLOC(ndr
, r
->out
.access_mask
);
6795 ZERO_STRUCTP(r
->out
.access_mask
);
6797 if (flags
& NDR_OUT
) {
6798 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6799 NDR_PULL_ALLOC(ndr
, r
->out
.access_mask
);
6801 _mem_save_access_mask_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6802 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.access_mask
, LIBNDR_FLAG_REF_ALLOC
);
6803 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.access_mask
));
6804 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_access_mask_0
, LIBNDR_FLAG_REF_ALLOC
);
6805 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6807 return NDR_ERR_SUCCESS
;
6810 _PUBLIC_
void ndr_print_lsa_GetSystemAccessAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_GetSystemAccessAccount
*r
)
6812 ndr_print_struct(ndr
, name
, "lsa_GetSystemAccessAccount");
6814 if (flags
& NDR_SET_VALUES
) {
6815 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6817 if (flags
& NDR_IN
) {
6818 ndr_print_struct(ndr
, "in", "lsa_GetSystemAccessAccount");
6820 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6822 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6826 if (flags
& NDR_OUT
) {
6827 ndr_print_struct(ndr
, "out", "lsa_GetSystemAccessAccount");
6829 ndr_print_ptr(ndr
, "access_mask", r
->out
.access_mask
);
6831 ndr_print_uint32(ndr
, "access_mask", *r
->out
.access_mask
);
6833 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6839 static enum ndr_err_code
ndr_push_lsa_SetSystemAccessAccount(struct ndr_push
*ndr
, int flags
, const struct lsa_SetSystemAccessAccount
*r
)
6841 if (flags
& NDR_IN
) {
6842 if (r
->in
.handle
== NULL
) {
6843 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6845 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6846 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6848 if (flags
& NDR_OUT
) {
6849 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6851 return NDR_ERR_SUCCESS
;
6854 static enum ndr_err_code
ndr_pull_lsa_SetSystemAccessAccount(struct ndr_pull
*ndr
, int flags
, struct lsa_SetSystemAccessAccount
*r
)
6856 TALLOC_CTX
*_mem_save_handle_0
;
6857 if (flags
& NDR_IN
) {
6858 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6859 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6861 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6862 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6863 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6864 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6865 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6867 if (flags
& NDR_OUT
) {
6868 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6870 return NDR_ERR_SUCCESS
;
6873 _PUBLIC_
void ndr_print_lsa_SetSystemAccessAccount(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetSystemAccessAccount
*r
)
6875 ndr_print_struct(ndr
, name
, "lsa_SetSystemAccessAccount");
6877 if (flags
& NDR_SET_VALUES
) {
6878 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6880 if (flags
& NDR_IN
) {
6881 ndr_print_struct(ndr
, "in", "lsa_SetSystemAccessAccount");
6883 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6885 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6887 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
6890 if (flags
& NDR_OUT
) {
6891 ndr_print_struct(ndr
, "out", "lsa_SetSystemAccessAccount");
6893 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6899 static enum ndr_err_code
ndr_push_lsa_OpenTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenTrustedDomain
*r
)
6901 if (flags
& NDR_IN
) {
6902 if (r
->in
.handle
== NULL
) {
6903 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6905 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6906 if (r
->in
.sid
== NULL
) {
6907 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6909 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6910 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
6912 if (flags
& NDR_OUT
) {
6913 if (r
->out
.trustdom_handle
== NULL
) {
6914 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
6916 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.trustdom_handle
));
6917 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
6919 return NDR_ERR_SUCCESS
;
6922 static enum ndr_err_code
ndr_pull_lsa_OpenTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenTrustedDomain
*r
)
6924 TALLOC_CTX
*_mem_save_handle_0
;
6925 TALLOC_CTX
*_mem_save_sid_0
;
6926 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
6927 if (flags
& NDR_IN
) {
6928 ZERO_STRUCT(r
->out
);
6930 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6931 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
6933 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6934 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
6935 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
6936 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6937 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6938 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
6940 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6941 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
6942 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
6943 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
6944 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
6945 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
6946 ZERO_STRUCTP(r
->out
.trustdom_handle
);
6948 if (flags
& NDR_OUT
) {
6949 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
6950 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
6952 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6953 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
6954 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.trustdom_handle
));
6955 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
6956 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
6958 return NDR_ERR_SUCCESS
;
6961 _PUBLIC_
void ndr_print_lsa_OpenTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenTrustedDomain
*r
)
6963 ndr_print_struct(ndr
, name
, "lsa_OpenTrustedDomain");
6965 if (flags
& NDR_SET_VALUES
) {
6966 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
6968 if (flags
& NDR_IN
) {
6969 ndr_print_struct(ndr
, "in", "lsa_OpenTrustedDomain");
6971 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
6973 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
6975 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
6977 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
6979 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
6982 if (flags
& NDR_OUT
) {
6983 ndr_print_struct(ndr
, "out", "lsa_OpenTrustedDomain");
6985 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
6987 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
6989 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
6995 static enum ndr_err_code
ndr_push_lsa_QueryTrustedDomainInfo(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryTrustedDomainInfo
*r
)
6997 if (flags
& NDR_IN
) {
6998 if (r
->in
.trustdom_handle
== NULL
) {
6999 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7001 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trustdom_handle
));
7002 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
7004 if (flags
& NDR_OUT
) {
7005 if (r
->out
.info
== NULL
) {
7006 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7008 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
7010 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7011 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7013 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7015 return NDR_ERR_SUCCESS
;
7018 static enum ndr_err_code
ndr_pull_lsa_QueryTrustedDomainInfo(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryTrustedDomainInfo
*r
)
7021 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
7022 TALLOC_CTX
*_mem_save_info_0
;
7023 TALLOC_CTX
*_mem_save_info_1
;
7024 if (flags
& NDR_IN
) {
7025 ZERO_STRUCT(r
->out
);
7027 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7028 NDR_PULL_ALLOC(ndr
, r
->in
.trustdom_handle
);
7030 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7031 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
7032 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trustdom_handle
));
7033 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7034 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
7035 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7036 ZERO_STRUCTP(r
->out
.info
);
7038 if (flags
& NDR_OUT
) {
7039 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7040 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
7042 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7043 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
7044 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
7046 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
7048 *r
->out
.info
= NULL
;
7051 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7052 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
7053 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
7054 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
7055 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
7057 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
7058 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7060 return NDR_ERR_SUCCESS
;
7063 _PUBLIC_
void ndr_print_lsa_QueryTrustedDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryTrustedDomainInfo
*r
)
7065 ndr_print_struct(ndr
, name
, "lsa_QueryTrustedDomainInfo");
7067 if (flags
& NDR_SET_VALUES
) {
7068 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7070 if (flags
& NDR_IN
) {
7071 ndr_print_struct(ndr
, "in", "lsa_QueryTrustedDomainInfo");
7073 ndr_print_ptr(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7075 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->in
.trustdom_handle
);
7077 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
7080 if (flags
& NDR_OUT
) {
7081 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfo");
7083 ndr_print_ptr(ndr
, "info", r
->out
.info
);
7085 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
7088 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
7089 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", *r
->out
.info
);
7093 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7099 static enum ndr_err_code
ndr_push_lsa_SetInformationTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_SetInformationTrustedDomain
*r
)
7101 if (flags
& NDR_IN
) {
7103 if (flags
& NDR_OUT
) {
7104 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7106 return NDR_ERR_SUCCESS
;
7109 static enum ndr_err_code
ndr_pull_lsa_SetInformationTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_SetInformationTrustedDomain
*r
)
7111 if (flags
& NDR_IN
) {
7113 if (flags
& NDR_OUT
) {
7114 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7116 return NDR_ERR_SUCCESS
;
7119 _PUBLIC_
void ndr_print_lsa_SetInformationTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetInformationTrustedDomain
*r
)
7121 ndr_print_struct(ndr
, name
, "lsa_SetInformationTrustedDomain");
7123 if (flags
& NDR_SET_VALUES
) {
7124 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7126 if (flags
& NDR_IN
) {
7127 ndr_print_struct(ndr
, "in", "lsa_SetInformationTrustedDomain");
7131 if (flags
& NDR_OUT
) {
7132 ndr_print_struct(ndr
, "out", "lsa_SetInformationTrustedDomain");
7134 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7140 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_OpenSecret(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenSecret
*r
)
7142 if (flags
& NDR_IN
) {
7143 if (r
->in
.handle
== NULL
) {
7144 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7146 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7147 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
7148 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
7150 if (flags
& NDR_OUT
) {
7151 if (r
->out
.sec_handle
== NULL
) {
7152 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7154 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sec_handle
));
7155 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7157 return NDR_ERR_SUCCESS
;
7160 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_OpenSecret(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenSecret
*r
)
7162 TALLOC_CTX
*_mem_save_handle_0
;
7163 TALLOC_CTX
*_mem_save_sec_handle_0
;
7164 if (flags
& NDR_IN
) {
7165 ZERO_STRUCT(r
->out
);
7167 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7168 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7170 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7171 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7172 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7173 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7174 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
7175 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
7176 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
7177 ZERO_STRUCTP(r
->out
.sec_handle
);
7179 if (flags
& NDR_OUT
) {
7180 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7181 NDR_PULL_ALLOC(ndr
, r
->out
.sec_handle
);
7183 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7184 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
7185 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sec_handle
));
7186 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7187 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7189 return NDR_ERR_SUCCESS
;
7192 _PUBLIC_
void ndr_print_lsa_OpenSecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenSecret
*r
)
7194 ndr_print_struct(ndr
, name
, "lsa_OpenSecret");
7196 if (flags
& NDR_SET_VALUES
) {
7197 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7199 if (flags
& NDR_IN
) {
7200 ndr_print_struct(ndr
, "in", "lsa_OpenSecret");
7202 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7204 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7206 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
7207 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
7210 if (flags
& NDR_OUT
) {
7211 ndr_print_struct(ndr
, "out", "lsa_OpenSecret");
7213 ndr_print_ptr(ndr
, "sec_handle", r
->out
.sec_handle
);
7215 ndr_print_policy_handle(ndr
, "sec_handle", r
->out
.sec_handle
);
7217 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7223 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_SetSecret(struct ndr_push
*ndr
, int flags
, const struct lsa_SetSecret
*r
)
7225 if (flags
& NDR_IN
) {
7226 if (r
->in
.sec_handle
== NULL
) {
7227 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7229 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sec_handle
));
7230 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_val
));
7231 if (r
->in
.new_val
) {
7232 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
7234 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_val
));
7235 if (r
->in
.old_val
) {
7236 NDR_CHECK(ndr_push_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
7239 if (flags
& NDR_OUT
) {
7240 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7242 return NDR_ERR_SUCCESS
;
7245 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_SetSecret(struct ndr_pull
*ndr
, int flags
, struct lsa_SetSecret
*r
)
7247 uint32_t _ptr_new_val
;
7248 uint32_t _ptr_old_val
;
7249 TALLOC_CTX
*_mem_save_sec_handle_0
;
7250 TALLOC_CTX
*_mem_save_new_val_0
;
7251 TALLOC_CTX
*_mem_save_old_val_0
;
7252 if (flags
& NDR_IN
) {
7253 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7254 NDR_PULL_ALLOC(ndr
, r
->in
.sec_handle
);
7256 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7257 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
7258 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sec_handle
));
7259 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7260 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_val
));
7262 NDR_PULL_ALLOC(ndr
, r
->in
.new_val
);
7264 r
->in
.new_val
= NULL
;
7266 if (r
->in
.new_val
) {
7267 _mem_save_new_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7268 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_val
, 0);
7269 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
7270 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_val_0
, 0);
7272 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_val
));
7274 NDR_PULL_ALLOC(ndr
, r
->in
.old_val
);
7276 r
->in
.old_val
= NULL
;
7278 if (r
->in
.old_val
) {
7279 _mem_save_old_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7280 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_val
, 0);
7281 NDR_CHECK(ndr_pull_lsa_DATA_BUF(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
7282 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_val_0
, 0);
7285 if (flags
& NDR_OUT
) {
7286 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7288 return NDR_ERR_SUCCESS
;
7291 _PUBLIC_
void ndr_print_lsa_SetSecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetSecret
*r
)
7293 ndr_print_struct(ndr
, name
, "lsa_SetSecret");
7295 if (flags
& NDR_SET_VALUES
) {
7296 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7298 if (flags
& NDR_IN
) {
7299 ndr_print_struct(ndr
, "in", "lsa_SetSecret");
7301 ndr_print_ptr(ndr
, "sec_handle", r
->in
.sec_handle
);
7303 ndr_print_policy_handle(ndr
, "sec_handle", r
->in
.sec_handle
);
7305 ndr_print_ptr(ndr
, "new_val", r
->in
.new_val
);
7307 if (r
->in
.new_val
) {
7308 ndr_print_lsa_DATA_BUF(ndr
, "new_val", r
->in
.new_val
);
7311 ndr_print_ptr(ndr
, "old_val", r
->in
.old_val
);
7313 if (r
->in
.old_val
) {
7314 ndr_print_lsa_DATA_BUF(ndr
, "old_val", r
->in
.old_val
);
7319 if (flags
& NDR_OUT
) {
7320 ndr_print_struct(ndr
, "out", "lsa_SetSecret");
7322 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7328 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_QuerySecret(struct ndr_push
*ndr
, int flags
, const struct lsa_QuerySecret
*r
)
7330 if (flags
& NDR_IN
) {
7331 if (r
->in
.sec_handle
== NULL
) {
7332 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7334 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sec_handle
));
7335 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_val
));
7336 if (r
->in
.new_val
) {
7337 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
7339 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.new_mtime
));
7340 if (r
->in
.new_mtime
) {
7341 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->in
.new_mtime
));
7343 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_val
));
7344 if (r
->in
.old_val
) {
7345 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
7347 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.old_mtime
));
7348 if (r
->in
.old_mtime
) {
7349 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->in
.old_mtime
));
7352 if (flags
& NDR_OUT
) {
7353 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.new_val
));
7354 if (r
->out
.new_val
) {
7355 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.new_val
));
7357 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.new_mtime
));
7358 if (r
->out
.new_mtime
) {
7359 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->out
.new_mtime
));
7361 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.old_val
));
7362 if (r
->out
.old_val
) {
7363 NDR_CHECK(ndr_push_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.old_val
));
7365 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.old_mtime
));
7366 if (r
->out
.old_mtime
) {
7367 NDR_CHECK(ndr_push_NTTIME_hyper(ndr
, NDR_SCALARS
, *r
->out
.old_mtime
));
7369 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7371 return NDR_ERR_SUCCESS
;
7374 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_QuerySecret(struct ndr_pull
*ndr
, int flags
, struct lsa_QuerySecret
*r
)
7376 uint32_t _ptr_new_val
;
7377 uint32_t _ptr_new_mtime
;
7378 uint32_t _ptr_old_val
;
7379 uint32_t _ptr_old_mtime
;
7380 TALLOC_CTX
*_mem_save_sec_handle_0
;
7381 TALLOC_CTX
*_mem_save_new_val_0
;
7382 TALLOC_CTX
*_mem_save_new_mtime_0
;
7383 TALLOC_CTX
*_mem_save_old_val_0
;
7384 TALLOC_CTX
*_mem_save_old_mtime_0
;
7385 if (flags
& NDR_IN
) {
7386 ZERO_STRUCT(r
->out
);
7388 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7389 NDR_PULL_ALLOC(ndr
, r
->in
.sec_handle
);
7391 _mem_save_sec_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7392 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sec_handle
, LIBNDR_FLAG_REF_ALLOC
);
7393 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sec_handle
));
7394 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sec_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7395 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_val
));
7397 NDR_PULL_ALLOC(ndr
, r
->in
.new_val
);
7399 r
->in
.new_val
= NULL
;
7401 if (r
->in
.new_val
) {
7402 _mem_save_new_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7403 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_val
, 0);
7404 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.new_val
));
7405 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_val_0
, 0);
7407 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_mtime
));
7408 if (_ptr_new_mtime
) {
7409 NDR_PULL_ALLOC(ndr
, r
->in
.new_mtime
);
7411 r
->in
.new_mtime
= NULL
;
7413 if (r
->in
.new_mtime
) {
7414 _mem_save_new_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7415 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.new_mtime
, 0);
7416 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->in
.new_mtime
));
7417 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_mtime_0
, 0);
7419 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_val
));
7421 NDR_PULL_ALLOC(ndr
, r
->in
.old_val
);
7423 r
->in
.old_val
= NULL
;
7425 if (r
->in
.old_val
) {
7426 _mem_save_old_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7427 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_val
, 0);
7428 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.old_val
));
7429 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_val_0
, 0);
7431 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_mtime
));
7432 if (_ptr_old_mtime
) {
7433 NDR_PULL_ALLOC(ndr
, r
->in
.old_mtime
);
7435 r
->in
.old_mtime
= NULL
;
7437 if (r
->in
.old_mtime
) {
7438 _mem_save_old_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7439 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.old_mtime
, 0);
7440 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->in
.old_mtime
));
7441 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_mtime_0
, 0);
7444 if (flags
& NDR_OUT
) {
7445 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_val
));
7447 NDR_PULL_ALLOC(ndr
, r
->out
.new_val
);
7449 r
->out
.new_val
= NULL
;
7451 if (r
->out
.new_val
) {
7452 _mem_save_new_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7453 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.new_val
, 0);
7454 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.new_val
));
7455 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_val_0
, 0);
7457 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_new_mtime
));
7458 if (_ptr_new_mtime
) {
7459 NDR_PULL_ALLOC(ndr
, r
->out
.new_mtime
);
7461 r
->out
.new_mtime
= NULL
;
7463 if (r
->out
.new_mtime
) {
7464 _mem_save_new_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7465 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.new_mtime
, 0);
7466 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->out
.new_mtime
));
7467 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_new_mtime_0
, 0);
7469 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_val
));
7471 NDR_PULL_ALLOC(ndr
, r
->out
.old_val
);
7473 r
->out
.old_val
= NULL
;
7475 if (r
->out
.old_val
) {
7476 _mem_save_old_val_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7477 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.old_val
, 0);
7478 NDR_CHECK(ndr_pull_lsa_DATA_BUF_PTR(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.old_val
));
7479 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_val_0
, 0);
7481 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_old_mtime
));
7482 if (_ptr_old_mtime
) {
7483 NDR_PULL_ALLOC(ndr
, r
->out
.old_mtime
);
7485 r
->out
.old_mtime
= NULL
;
7487 if (r
->out
.old_mtime
) {
7488 _mem_save_old_mtime_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7489 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.old_mtime
, 0);
7490 NDR_CHECK(ndr_pull_NTTIME_hyper(ndr
, NDR_SCALARS
, r
->out
.old_mtime
));
7491 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_old_mtime_0
, 0);
7493 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7495 return NDR_ERR_SUCCESS
;
7498 _PUBLIC_
void ndr_print_lsa_QuerySecret(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QuerySecret
*r
)
7500 ndr_print_struct(ndr
, name
, "lsa_QuerySecret");
7502 if (flags
& NDR_SET_VALUES
) {
7503 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7505 if (flags
& NDR_IN
) {
7506 ndr_print_struct(ndr
, "in", "lsa_QuerySecret");
7508 ndr_print_ptr(ndr
, "sec_handle", r
->in
.sec_handle
);
7510 ndr_print_policy_handle(ndr
, "sec_handle", r
->in
.sec_handle
);
7512 ndr_print_ptr(ndr
, "new_val", r
->in
.new_val
);
7514 if (r
->in
.new_val
) {
7515 ndr_print_lsa_DATA_BUF_PTR(ndr
, "new_val", r
->in
.new_val
);
7518 ndr_print_ptr(ndr
, "new_mtime", r
->in
.new_mtime
);
7520 if (r
->in
.new_mtime
) {
7521 ndr_print_NTTIME_hyper(ndr
, "new_mtime", *r
->in
.new_mtime
);
7524 ndr_print_ptr(ndr
, "old_val", r
->in
.old_val
);
7526 if (r
->in
.old_val
) {
7527 ndr_print_lsa_DATA_BUF_PTR(ndr
, "old_val", r
->in
.old_val
);
7530 ndr_print_ptr(ndr
, "old_mtime", r
->in
.old_mtime
);
7532 if (r
->in
.old_mtime
) {
7533 ndr_print_NTTIME_hyper(ndr
, "old_mtime", *r
->in
.old_mtime
);
7538 if (flags
& NDR_OUT
) {
7539 ndr_print_struct(ndr
, "out", "lsa_QuerySecret");
7541 ndr_print_ptr(ndr
, "new_val", r
->out
.new_val
);
7543 if (r
->out
.new_val
) {
7544 ndr_print_lsa_DATA_BUF_PTR(ndr
, "new_val", r
->out
.new_val
);
7547 ndr_print_ptr(ndr
, "new_mtime", r
->out
.new_mtime
);
7549 if (r
->out
.new_mtime
) {
7550 ndr_print_NTTIME_hyper(ndr
, "new_mtime", *r
->out
.new_mtime
);
7553 ndr_print_ptr(ndr
, "old_val", r
->out
.old_val
);
7555 if (r
->out
.old_val
) {
7556 ndr_print_lsa_DATA_BUF_PTR(ndr
, "old_val", r
->out
.old_val
);
7559 ndr_print_ptr(ndr
, "old_mtime", r
->out
.old_mtime
);
7561 if (r
->out
.old_mtime
) {
7562 ndr_print_NTTIME_hyper(ndr
, "old_mtime", *r
->out
.old_mtime
);
7565 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7571 static enum ndr_err_code
ndr_push_lsa_LookupPrivValue(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupPrivValue
*r
)
7573 if (flags
& NDR_IN
) {
7574 if (r
->in
.handle
== NULL
) {
7575 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7577 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7578 if (r
->in
.name
== NULL
) {
7579 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7581 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
7583 if (flags
& NDR_OUT
) {
7584 if (r
->out
.luid
== NULL
) {
7585 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7587 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, r
->out
.luid
));
7588 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7590 return NDR_ERR_SUCCESS
;
7593 static enum ndr_err_code
ndr_pull_lsa_LookupPrivValue(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupPrivValue
*r
)
7595 TALLOC_CTX
*_mem_save_handle_0
;
7596 TALLOC_CTX
*_mem_save_name_0
;
7597 TALLOC_CTX
*_mem_save_luid_0
;
7598 if (flags
& NDR_IN
) {
7599 ZERO_STRUCT(r
->out
);
7601 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7602 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7604 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7605 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7606 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7607 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7608 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7609 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
7611 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7612 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
7613 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
7614 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
7615 NDR_PULL_ALLOC(ndr
, r
->out
.luid
);
7616 ZERO_STRUCTP(r
->out
.luid
);
7618 if (flags
& NDR_OUT
) {
7619 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7620 NDR_PULL_ALLOC(ndr
, r
->out
.luid
);
7622 _mem_save_luid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7623 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.luid
, LIBNDR_FLAG_REF_ALLOC
);
7624 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, r
->out
.luid
));
7625 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_luid_0
, LIBNDR_FLAG_REF_ALLOC
);
7626 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7628 return NDR_ERR_SUCCESS
;
7631 _PUBLIC_
void ndr_print_lsa_LookupPrivValue(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupPrivValue
*r
)
7633 ndr_print_struct(ndr
, name
, "lsa_LookupPrivValue");
7635 if (flags
& NDR_SET_VALUES
) {
7636 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7638 if (flags
& NDR_IN
) {
7639 ndr_print_struct(ndr
, "in", "lsa_LookupPrivValue");
7641 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7643 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7645 ndr_print_ptr(ndr
, "name", r
->in
.name
);
7647 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
7651 if (flags
& NDR_OUT
) {
7652 ndr_print_struct(ndr
, "out", "lsa_LookupPrivValue");
7654 ndr_print_ptr(ndr
, "luid", r
->out
.luid
);
7656 ndr_print_lsa_LUID(ndr
, "luid", r
->out
.luid
);
7658 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7664 static enum ndr_err_code
ndr_push_lsa_LookupPrivName(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupPrivName
*r
)
7666 if (flags
& NDR_IN
) {
7667 if (r
->in
.handle
== NULL
) {
7668 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7670 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7671 if (r
->in
.luid
== NULL
) {
7672 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7674 NDR_CHECK(ndr_push_lsa_LUID(ndr
, NDR_SCALARS
, r
->in
.luid
));
7676 if (flags
& NDR_OUT
) {
7677 if (r
->out
.name
== NULL
) {
7678 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7680 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.name
));
7682 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.name
));
7684 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7686 return NDR_ERR_SUCCESS
;
7689 static enum ndr_err_code
ndr_pull_lsa_LookupPrivName(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupPrivName
*r
)
7692 TALLOC_CTX
*_mem_save_handle_0
;
7693 TALLOC_CTX
*_mem_save_luid_0
;
7694 TALLOC_CTX
*_mem_save_name_0
;
7695 TALLOC_CTX
*_mem_save_name_1
;
7696 if (flags
& NDR_IN
) {
7697 ZERO_STRUCT(r
->out
);
7699 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7700 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7702 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7703 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7704 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7705 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7706 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7707 NDR_PULL_ALLOC(ndr
, r
->in
.luid
);
7709 _mem_save_luid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7710 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.luid
, LIBNDR_FLAG_REF_ALLOC
);
7711 NDR_CHECK(ndr_pull_lsa_LUID(ndr
, NDR_SCALARS
, r
->in
.luid
));
7712 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_luid_0
, LIBNDR_FLAG_REF_ALLOC
);
7713 NDR_PULL_ALLOC(ndr
, r
->out
.name
);
7714 ZERO_STRUCTP(r
->out
.name
);
7716 if (flags
& NDR_OUT
) {
7717 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7718 NDR_PULL_ALLOC(ndr
, r
->out
.name
);
7720 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7721 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.name
, LIBNDR_FLAG_REF_ALLOC
);
7722 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
7724 NDR_PULL_ALLOC(ndr
, *r
->out
.name
);
7726 *r
->out
.name
= NULL
;
7729 _mem_save_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7730 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.name
, 0);
7731 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.name
));
7732 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_1
, 0);
7734 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
7735 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7737 return NDR_ERR_SUCCESS
;
7740 _PUBLIC_
void ndr_print_lsa_LookupPrivName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupPrivName
*r
)
7742 ndr_print_struct(ndr
, name
, "lsa_LookupPrivName");
7744 if (flags
& NDR_SET_VALUES
) {
7745 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7747 if (flags
& NDR_IN
) {
7748 ndr_print_struct(ndr
, "in", "lsa_LookupPrivName");
7750 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7752 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7754 ndr_print_ptr(ndr
, "luid", r
->in
.luid
);
7756 ndr_print_lsa_LUID(ndr
, "luid", r
->in
.luid
);
7760 if (flags
& NDR_OUT
) {
7761 ndr_print_struct(ndr
, "out", "lsa_LookupPrivName");
7763 ndr_print_ptr(ndr
, "name", r
->out
.name
);
7765 ndr_print_ptr(ndr
, "name", *r
->out
.name
);
7768 ndr_print_lsa_StringLarge(ndr
, "name", *r
->out
.name
);
7772 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7778 static enum ndr_err_code
ndr_push_lsa_LookupPrivDisplayName(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupPrivDisplayName
*r
)
7780 if (flags
& NDR_IN
) {
7781 if (r
->in
.handle
== NULL
) {
7782 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7784 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7785 if (r
->in
.name
== NULL
) {
7786 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7788 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
7789 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.language_id
));
7790 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.language_id_sys
));
7792 if (flags
& NDR_OUT
) {
7793 if (r
->out
.disp_name
== NULL
) {
7794 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7796 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.disp_name
));
7797 if (*r
->out
.disp_name
) {
7798 NDR_CHECK(ndr_push_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.disp_name
));
7800 if (r
->out
.returned_language_id
== NULL
) {
7801 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7803 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, *r
->out
.returned_language_id
));
7804 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7806 return NDR_ERR_SUCCESS
;
7809 static enum ndr_err_code
ndr_pull_lsa_LookupPrivDisplayName(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupPrivDisplayName
*r
)
7811 uint32_t _ptr_disp_name
;
7812 TALLOC_CTX
*_mem_save_handle_0
;
7813 TALLOC_CTX
*_mem_save_name_0
;
7814 TALLOC_CTX
*_mem_save_disp_name_0
;
7815 TALLOC_CTX
*_mem_save_disp_name_1
;
7816 TALLOC_CTX
*_mem_save_returned_language_id_0
;
7817 if (flags
& NDR_IN
) {
7818 ZERO_STRUCT(r
->out
);
7820 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7821 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7823 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7824 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7825 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7826 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7827 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7828 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
7830 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7831 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, LIBNDR_FLAG_REF_ALLOC
);
7832 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
7833 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
7834 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.language_id
));
7835 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.language_id_sys
));
7836 NDR_PULL_ALLOC(ndr
, r
->out
.disp_name
);
7837 ZERO_STRUCTP(r
->out
.disp_name
);
7838 NDR_PULL_ALLOC(ndr
, r
->out
.returned_language_id
);
7839 ZERO_STRUCTP(r
->out
.returned_language_id
);
7841 if (flags
& NDR_OUT
) {
7842 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7843 NDR_PULL_ALLOC(ndr
, r
->out
.disp_name
);
7845 _mem_save_disp_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7846 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.disp_name
, LIBNDR_FLAG_REF_ALLOC
);
7847 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_disp_name
));
7848 if (_ptr_disp_name
) {
7849 NDR_PULL_ALLOC(ndr
, *r
->out
.disp_name
);
7851 *r
->out
.disp_name
= NULL
;
7853 if (*r
->out
.disp_name
) {
7854 _mem_save_disp_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7855 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.disp_name
, 0);
7856 NDR_CHECK(ndr_pull_lsa_StringLarge(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.disp_name
));
7857 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_disp_name_1
, 0);
7859 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_disp_name_0
, LIBNDR_FLAG_REF_ALLOC
);
7860 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7861 NDR_PULL_ALLOC(ndr
, r
->out
.returned_language_id
);
7863 _mem_save_returned_language_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7864 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.returned_language_id
, LIBNDR_FLAG_REF_ALLOC
);
7865 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, r
->out
.returned_language_id
));
7866 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_returned_language_id_0
, LIBNDR_FLAG_REF_ALLOC
);
7867 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7869 return NDR_ERR_SUCCESS
;
7872 _PUBLIC_
void ndr_print_lsa_LookupPrivDisplayName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupPrivDisplayName
*r
)
7874 ndr_print_struct(ndr
, name
, "lsa_LookupPrivDisplayName");
7876 if (flags
& NDR_SET_VALUES
) {
7877 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7879 if (flags
& NDR_IN
) {
7880 ndr_print_struct(ndr
, "in", "lsa_LookupPrivDisplayName");
7882 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7884 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7886 ndr_print_ptr(ndr
, "name", r
->in
.name
);
7888 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
7890 ndr_print_uint16(ndr
, "language_id", r
->in
.language_id
);
7891 ndr_print_uint16(ndr
, "language_id_sys", r
->in
.language_id_sys
);
7894 if (flags
& NDR_OUT
) {
7895 ndr_print_struct(ndr
, "out", "lsa_LookupPrivDisplayName");
7897 ndr_print_ptr(ndr
, "disp_name", r
->out
.disp_name
);
7899 ndr_print_ptr(ndr
, "disp_name", *r
->out
.disp_name
);
7901 if (*r
->out
.disp_name
) {
7902 ndr_print_lsa_StringLarge(ndr
, "disp_name", *r
->out
.disp_name
);
7906 ndr_print_ptr(ndr
, "returned_language_id", r
->out
.returned_language_id
);
7908 ndr_print_uint16(ndr
, "returned_language_id", *r
->out
.returned_language_id
);
7910 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7916 static enum ndr_err_code
ndr_push_lsa_DeleteObject(struct ndr_push
*ndr
, int flags
, const struct lsa_DeleteObject
*r
)
7918 if (flags
& NDR_IN
) {
7919 if (r
->in
.handle
== NULL
) {
7920 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7922 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7924 if (flags
& NDR_OUT
) {
7925 if (r
->out
.handle
== NULL
) {
7926 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7928 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
7929 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
7931 return NDR_ERR_SUCCESS
;
7934 static enum ndr_err_code
ndr_pull_lsa_DeleteObject(struct ndr_pull
*ndr
, int flags
, struct lsa_DeleteObject
*r
)
7936 TALLOC_CTX
*_mem_save_handle_0
;
7937 if (flags
& NDR_IN
) {
7938 ZERO_STRUCT(r
->out
);
7940 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7941 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
7943 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7944 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7945 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7946 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7947 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
7948 *r
->out
.handle
= *r
->in
.handle
;
7950 if (flags
& NDR_OUT
) {
7951 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
7952 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
7954 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7955 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
7956 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
7957 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
7958 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
7960 return NDR_ERR_SUCCESS
;
7963 _PUBLIC_
void ndr_print_lsa_DeleteObject(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_DeleteObject
*r
)
7965 ndr_print_struct(ndr
, name
, "lsa_DeleteObject");
7967 if (flags
& NDR_SET_VALUES
) {
7968 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
7970 if (flags
& NDR_IN
) {
7971 ndr_print_struct(ndr
, "in", "lsa_DeleteObject");
7973 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
7975 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
7979 if (flags
& NDR_OUT
) {
7980 ndr_print_struct(ndr
, "out", "lsa_DeleteObject");
7982 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
7984 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
7986 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
7992 static enum ndr_err_code
ndr_push_lsa_EnumAccountsWithUserRight(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumAccountsWithUserRight
*r
)
7994 if (flags
& NDR_IN
) {
7995 if (r
->in
.handle
== NULL
) {
7996 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
7998 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
7999 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.name
));
8001 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8004 if (flags
& NDR_OUT
) {
8005 if (r
->out
.sids
== NULL
) {
8006 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8008 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8009 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8011 return NDR_ERR_SUCCESS
;
8014 static enum ndr_err_code
ndr_pull_lsa_EnumAccountsWithUserRight(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumAccountsWithUserRight
*r
)
8017 TALLOC_CTX
*_mem_save_handle_0
;
8018 TALLOC_CTX
*_mem_save_name_0
;
8019 TALLOC_CTX
*_mem_save_sids_0
;
8020 if (flags
& NDR_IN
) {
8021 ZERO_STRUCT(r
->out
);
8023 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8024 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8026 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8027 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8028 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8029 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8030 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
8032 NDR_PULL_ALLOC(ndr
, r
->in
.name
);
8037 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8038 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.name
, 0);
8039 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.name
));
8040 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, 0);
8042 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8043 ZERO_STRUCTP(r
->out
.sids
);
8045 if (flags
& NDR_OUT
) {
8046 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8047 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
8049 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8050 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
8051 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
8052 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
8053 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8055 return NDR_ERR_SUCCESS
;
8058 _PUBLIC_
void ndr_print_lsa_EnumAccountsWithUserRight(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumAccountsWithUserRight
*r
)
8060 ndr_print_struct(ndr
, name
, "lsa_EnumAccountsWithUserRight");
8062 if (flags
& NDR_SET_VALUES
) {
8063 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8065 if (flags
& NDR_IN
) {
8066 ndr_print_struct(ndr
, "in", "lsa_EnumAccountsWithUserRight");
8068 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8070 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8072 ndr_print_ptr(ndr
, "name", r
->in
.name
);
8075 ndr_print_lsa_String(ndr
, "name", r
->in
.name
);
8080 if (flags
& NDR_OUT
) {
8081 ndr_print_struct(ndr
, "out", "lsa_EnumAccountsWithUserRight");
8083 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
8085 ndr_print_lsa_SidArray(ndr
, "sids", r
->out
.sids
);
8087 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8093 static enum ndr_err_code
ndr_push_lsa_EnumAccountRights(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumAccountRights
*r
)
8095 if (flags
& NDR_IN
) {
8096 if (r
->in
.handle
== NULL
) {
8097 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8099 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8100 if (r
->in
.sid
== NULL
) {
8101 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8103 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8105 if (flags
& NDR_OUT
) {
8106 if (r
->out
.rights
== NULL
) {
8107 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8109 NDR_CHECK(ndr_push_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rights
));
8110 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8112 return NDR_ERR_SUCCESS
;
8115 static enum ndr_err_code
ndr_pull_lsa_EnumAccountRights(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumAccountRights
*r
)
8117 TALLOC_CTX
*_mem_save_handle_0
;
8118 TALLOC_CTX
*_mem_save_sid_0
;
8119 TALLOC_CTX
*_mem_save_rights_0
;
8120 if (flags
& NDR_IN
) {
8121 ZERO_STRUCT(r
->out
);
8123 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8124 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8126 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8127 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8128 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8129 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8130 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8131 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8133 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8134 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8135 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8136 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8137 NDR_PULL_ALLOC(ndr
, r
->out
.rights
);
8138 ZERO_STRUCTP(r
->out
.rights
);
8140 if (flags
& NDR_OUT
) {
8141 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8142 NDR_PULL_ALLOC(ndr
, r
->out
.rights
);
8144 _mem_save_rights_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8145 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rights
, LIBNDR_FLAG_REF_ALLOC
);
8146 NDR_CHECK(ndr_pull_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.rights
));
8147 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rights_0
, LIBNDR_FLAG_REF_ALLOC
);
8148 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8150 return NDR_ERR_SUCCESS
;
8153 _PUBLIC_
void ndr_print_lsa_EnumAccountRights(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumAccountRights
*r
)
8155 ndr_print_struct(ndr
, name
, "lsa_EnumAccountRights");
8157 if (flags
& NDR_SET_VALUES
) {
8158 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8160 if (flags
& NDR_IN
) {
8161 ndr_print_struct(ndr
, "in", "lsa_EnumAccountRights");
8163 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8165 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8167 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8169 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8173 if (flags
& NDR_OUT
) {
8174 ndr_print_struct(ndr
, "out", "lsa_EnumAccountRights");
8176 ndr_print_ptr(ndr
, "rights", r
->out
.rights
);
8178 ndr_print_lsa_RightSet(ndr
, "rights", r
->out
.rights
);
8180 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8186 static enum ndr_err_code
ndr_push_lsa_AddAccountRights(struct ndr_push
*ndr
, int flags
, const struct lsa_AddAccountRights
*r
)
8188 if (flags
& NDR_IN
) {
8189 if (r
->in
.handle
== NULL
) {
8190 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8192 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8193 if (r
->in
.sid
== NULL
) {
8194 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8196 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8197 if (r
->in
.rights
== NULL
) {
8198 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8200 NDR_CHECK(ndr_push_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
8202 if (flags
& NDR_OUT
) {
8203 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8205 return NDR_ERR_SUCCESS
;
8208 static enum ndr_err_code
ndr_pull_lsa_AddAccountRights(struct ndr_pull
*ndr
, int flags
, struct lsa_AddAccountRights
*r
)
8210 TALLOC_CTX
*_mem_save_handle_0
;
8211 TALLOC_CTX
*_mem_save_sid_0
;
8212 TALLOC_CTX
*_mem_save_rights_0
;
8213 if (flags
& NDR_IN
) {
8214 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8215 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8217 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8218 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8219 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8220 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8221 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8222 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8224 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8225 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8226 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8227 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8228 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8229 NDR_PULL_ALLOC(ndr
, r
->in
.rights
);
8231 _mem_save_rights_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8232 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rights
, LIBNDR_FLAG_REF_ALLOC
);
8233 NDR_CHECK(ndr_pull_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
8234 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rights_0
, LIBNDR_FLAG_REF_ALLOC
);
8236 if (flags
& NDR_OUT
) {
8237 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8239 return NDR_ERR_SUCCESS
;
8242 _PUBLIC_
void ndr_print_lsa_AddAccountRights(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_AddAccountRights
*r
)
8244 ndr_print_struct(ndr
, name
, "lsa_AddAccountRights");
8246 if (flags
& NDR_SET_VALUES
) {
8247 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8249 if (flags
& NDR_IN
) {
8250 ndr_print_struct(ndr
, "in", "lsa_AddAccountRights");
8252 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8254 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8256 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8258 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8260 ndr_print_ptr(ndr
, "rights", r
->in
.rights
);
8262 ndr_print_lsa_RightSet(ndr
, "rights", r
->in
.rights
);
8266 if (flags
& NDR_OUT
) {
8267 ndr_print_struct(ndr
, "out", "lsa_AddAccountRights");
8269 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8275 static enum ndr_err_code
ndr_push_lsa_RemoveAccountRights(struct ndr_push
*ndr
, int flags
, const struct lsa_RemoveAccountRights
*r
)
8277 if (flags
& NDR_IN
) {
8278 if (r
->in
.handle
== NULL
) {
8279 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8281 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8282 if (r
->in
.sid
== NULL
) {
8283 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8285 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8286 NDR_CHECK(ndr_push_uint8(ndr
, NDR_SCALARS
, r
->in
.remove_all
));
8287 if (r
->in
.rights
== NULL
) {
8288 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8290 NDR_CHECK(ndr_push_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
8292 if (flags
& NDR_OUT
) {
8293 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8295 return NDR_ERR_SUCCESS
;
8298 static enum ndr_err_code
ndr_pull_lsa_RemoveAccountRights(struct ndr_pull
*ndr
, int flags
, struct lsa_RemoveAccountRights
*r
)
8300 TALLOC_CTX
*_mem_save_handle_0
;
8301 TALLOC_CTX
*_mem_save_sid_0
;
8302 TALLOC_CTX
*_mem_save_rights_0
;
8303 if (flags
& NDR_IN
) {
8304 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8305 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8307 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8308 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8309 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8310 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8311 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8312 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
8314 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8315 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
8316 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sid
));
8317 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8318 NDR_CHECK(ndr_pull_uint8(ndr
, NDR_SCALARS
, &r
->in
.remove_all
));
8319 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8320 NDR_PULL_ALLOC(ndr
, r
->in
.rights
);
8322 _mem_save_rights_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8323 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rights
, LIBNDR_FLAG_REF_ALLOC
);
8324 NDR_CHECK(ndr_pull_lsa_RightSet(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.rights
));
8325 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rights_0
, LIBNDR_FLAG_REF_ALLOC
);
8327 if (flags
& NDR_OUT
) {
8328 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8330 return NDR_ERR_SUCCESS
;
8333 _PUBLIC_
void ndr_print_lsa_RemoveAccountRights(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_RemoveAccountRights
*r
)
8335 ndr_print_struct(ndr
, name
, "lsa_RemoveAccountRights");
8337 if (flags
& NDR_SET_VALUES
) {
8338 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8340 if (flags
& NDR_IN
) {
8341 ndr_print_struct(ndr
, "in", "lsa_RemoveAccountRights");
8343 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8345 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8347 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
8349 ndr_print_dom_sid2(ndr
, "sid", r
->in
.sid
);
8351 ndr_print_uint8(ndr
, "remove_all", r
->in
.remove_all
);
8352 ndr_print_ptr(ndr
, "rights", r
->in
.rights
);
8354 ndr_print_lsa_RightSet(ndr
, "rights", r
->in
.rights
);
8358 if (flags
& NDR_OUT
) {
8359 ndr_print_struct(ndr
, "out", "lsa_RemoveAccountRights");
8361 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8367 static enum ndr_err_code
ndr_push_lsa_QueryTrustedDomainInfoBySid(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryTrustedDomainInfoBySid
*r
)
8369 if (flags
& NDR_IN
) {
8370 if (r
->in
.handle
== NULL
) {
8371 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8373 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8374 if (r
->in
.dom_sid
== NULL
) {
8375 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8377 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
8378 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
8380 if (flags
& NDR_OUT
) {
8381 if (r
->out
.info
== NULL
) {
8382 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8384 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
8386 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8387 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8389 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8391 return NDR_ERR_SUCCESS
;
8394 static enum ndr_err_code
ndr_pull_lsa_QueryTrustedDomainInfoBySid(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryTrustedDomainInfoBySid
*r
)
8397 TALLOC_CTX
*_mem_save_handle_0
;
8398 TALLOC_CTX
*_mem_save_dom_sid_0
;
8399 TALLOC_CTX
*_mem_save_info_0
;
8400 TALLOC_CTX
*_mem_save_info_1
;
8401 if (flags
& NDR_IN
) {
8402 ZERO_STRUCT(r
->out
);
8404 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8405 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8407 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8408 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8409 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8410 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8411 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8412 NDR_PULL_ALLOC(ndr
, r
->in
.dom_sid
);
8414 _mem_save_dom_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8415 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_sid
, LIBNDR_FLAG_REF_ALLOC
);
8416 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
8417 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8418 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
8419 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8420 ZERO_STRUCTP(r
->out
.info
);
8422 if (flags
& NDR_OUT
) {
8423 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8424 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
8426 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8427 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
8428 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8430 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
8432 *r
->out
.info
= NULL
;
8435 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8436 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
8437 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
8438 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
8439 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
8441 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
8442 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8444 return NDR_ERR_SUCCESS
;
8447 _PUBLIC_
void ndr_print_lsa_QueryTrustedDomainInfoBySid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryTrustedDomainInfoBySid
*r
)
8449 ndr_print_struct(ndr
, name
, "lsa_QueryTrustedDomainInfoBySid");
8451 if (flags
& NDR_SET_VALUES
) {
8452 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8454 if (flags
& NDR_IN
) {
8455 ndr_print_struct(ndr
, "in", "lsa_QueryTrustedDomainInfoBySid");
8457 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8459 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8461 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
8463 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
8465 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
8468 if (flags
& NDR_OUT
) {
8469 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfoBySid");
8471 ndr_print_ptr(ndr
, "info", r
->out
.info
);
8473 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
8476 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
8477 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", *r
->out
.info
);
8481 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8487 static enum ndr_err_code
ndr_push_lsa_SetTrustedDomainInfo(struct ndr_push
*ndr
, int flags
, const struct lsa_SetTrustedDomainInfo
*r
)
8489 if (flags
& NDR_IN
) {
8491 if (flags
& NDR_OUT
) {
8492 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8494 return NDR_ERR_SUCCESS
;
8497 static enum ndr_err_code
ndr_pull_lsa_SetTrustedDomainInfo(struct ndr_pull
*ndr
, int flags
, struct lsa_SetTrustedDomainInfo
*r
)
8499 if (flags
& NDR_IN
) {
8501 if (flags
& NDR_OUT
) {
8502 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8504 return NDR_ERR_SUCCESS
;
8507 _PUBLIC_
void ndr_print_lsa_SetTrustedDomainInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetTrustedDomainInfo
*r
)
8509 ndr_print_struct(ndr
, name
, "lsa_SetTrustedDomainInfo");
8511 if (flags
& NDR_SET_VALUES
) {
8512 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8514 if (flags
& NDR_IN
) {
8515 ndr_print_struct(ndr
, "in", "lsa_SetTrustedDomainInfo");
8519 if (flags
& NDR_OUT
) {
8520 ndr_print_struct(ndr
, "out", "lsa_SetTrustedDomainInfo");
8522 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8528 static enum ndr_err_code
ndr_push_lsa_DeleteTrustedDomain(struct ndr_push
*ndr
, int flags
, const struct lsa_DeleteTrustedDomain
*r
)
8530 if (flags
& NDR_IN
) {
8531 if (r
->in
.handle
== NULL
) {
8532 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8534 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8535 if (r
->in
.dom_sid
== NULL
) {
8536 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8538 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
8540 if (flags
& NDR_OUT
) {
8541 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8543 return NDR_ERR_SUCCESS
;
8546 static enum ndr_err_code
ndr_pull_lsa_DeleteTrustedDomain(struct ndr_pull
*ndr
, int flags
, struct lsa_DeleteTrustedDomain
*r
)
8548 TALLOC_CTX
*_mem_save_handle_0
;
8549 TALLOC_CTX
*_mem_save_dom_sid_0
;
8550 if (flags
& NDR_IN
) {
8551 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8552 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
8554 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8555 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8556 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
8557 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8558 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8559 NDR_PULL_ALLOC(ndr
, r
->in
.dom_sid
);
8561 _mem_save_dom_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8562 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_sid
, LIBNDR_FLAG_REF_ALLOC
);
8563 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.dom_sid
));
8564 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
8566 if (flags
& NDR_OUT
) {
8567 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8569 return NDR_ERR_SUCCESS
;
8572 _PUBLIC_
void ndr_print_lsa_DeleteTrustedDomain(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_DeleteTrustedDomain
*r
)
8574 ndr_print_struct(ndr
, name
, "lsa_DeleteTrustedDomain");
8576 if (flags
& NDR_SET_VALUES
) {
8577 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8579 if (flags
& NDR_IN
) {
8580 ndr_print_struct(ndr
, "in", "lsa_DeleteTrustedDomain");
8582 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
8584 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
8586 ndr_print_ptr(ndr
, "dom_sid", r
->in
.dom_sid
);
8588 ndr_print_dom_sid2(ndr
, "dom_sid", r
->in
.dom_sid
);
8592 if (flags
& NDR_OUT
) {
8593 ndr_print_struct(ndr
, "out", "lsa_DeleteTrustedDomain");
8595 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8601 static enum ndr_err_code
ndr_push_lsa_StorePrivateData(struct ndr_push
*ndr
, int flags
, const struct lsa_StorePrivateData
*r
)
8603 if (flags
& NDR_IN
) {
8605 if (flags
& NDR_OUT
) {
8606 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8608 return NDR_ERR_SUCCESS
;
8611 static enum ndr_err_code
ndr_pull_lsa_StorePrivateData(struct ndr_pull
*ndr
, int flags
, struct lsa_StorePrivateData
*r
)
8613 if (flags
& NDR_IN
) {
8615 if (flags
& NDR_OUT
) {
8616 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8618 return NDR_ERR_SUCCESS
;
8621 _PUBLIC_
void ndr_print_lsa_StorePrivateData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_StorePrivateData
*r
)
8623 ndr_print_struct(ndr
, name
, "lsa_StorePrivateData");
8625 if (flags
& NDR_SET_VALUES
) {
8626 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8628 if (flags
& NDR_IN
) {
8629 ndr_print_struct(ndr
, "in", "lsa_StorePrivateData");
8633 if (flags
& NDR_OUT
) {
8634 ndr_print_struct(ndr
, "out", "lsa_StorePrivateData");
8636 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8642 static enum ndr_err_code
ndr_push_lsa_RetrievePrivateData(struct ndr_push
*ndr
, int flags
, const struct lsa_RetrievePrivateData
*r
)
8644 if (flags
& NDR_IN
) {
8646 if (flags
& NDR_OUT
) {
8647 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8649 return NDR_ERR_SUCCESS
;
8652 static enum ndr_err_code
ndr_pull_lsa_RetrievePrivateData(struct ndr_pull
*ndr
, int flags
, struct lsa_RetrievePrivateData
*r
)
8654 if (flags
& NDR_IN
) {
8656 if (flags
& NDR_OUT
) {
8657 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8659 return NDR_ERR_SUCCESS
;
8662 _PUBLIC_
void ndr_print_lsa_RetrievePrivateData(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_RetrievePrivateData
*r
)
8664 ndr_print_struct(ndr
, name
, "lsa_RetrievePrivateData");
8666 if (flags
& NDR_SET_VALUES
) {
8667 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8669 if (flags
& NDR_IN
) {
8670 ndr_print_struct(ndr
, "in", "lsa_RetrievePrivateData");
8674 if (flags
& NDR_OUT
) {
8675 ndr_print_struct(ndr
, "out", "lsa_RetrievePrivateData");
8677 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8683 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_OpenPolicy2(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenPolicy2
*r
)
8685 if (flags
& NDR_IN
) {
8686 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
8687 if (r
->in
.system_name
) {
8688 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
8689 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8690 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
8691 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
));
8693 if (r
->in
.attr
== NULL
) {
8694 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8696 NDR_CHECK(ndr_push_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
8697 NDR_CHECK(ndr_push_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
8699 if (flags
& NDR_OUT
) {
8700 if (r
->out
.handle
== NULL
) {
8701 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8703 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
8704 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8706 return NDR_ERR_SUCCESS
;
8709 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_OpenPolicy2(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenPolicy2
*r
)
8711 uint32_t _ptr_system_name
;
8712 TALLOC_CTX
*_mem_save_system_name_0
;
8713 TALLOC_CTX
*_mem_save_attr_0
;
8714 TALLOC_CTX
*_mem_save_handle_0
;
8715 if (flags
& NDR_IN
) {
8716 ZERO_STRUCT(r
->out
);
8718 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
8719 if (_ptr_system_name
) {
8720 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
8722 r
->in
.system_name
= NULL
;
8724 if (r
->in
.system_name
) {
8725 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8726 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
8727 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
8728 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
8729 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
8730 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
));
8732 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
8733 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
));
8734 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
8736 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8737 NDR_PULL_ALLOC(ndr
, r
->in
.attr
);
8739 _mem_save_attr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8740 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.attr
, LIBNDR_FLAG_REF_ALLOC
);
8741 NDR_CHECK(ndr_pull_lsa_ObjectAttribute(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.attr
));
8742 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attr_0
, LIBNDR_FLAG_REF_ALLOC
);
8743 NDR_CHECK(ndr_pull_lsa_PolicyAccessMask(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
8744 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
8745 ZERO_STRUCTP(r
->out
.handle
);
8747 if (flags
& NDR_OUT
) {
8748 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8749 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
8751 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8752 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
8753 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
8754 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
8755 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8757 return NDR_ERR_SUCCESS
;
8760 _PUBLIC_
void ndr_print_lsa_OpenPolicy2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenPolicy2
*r
)
8762 ndr_print_struct(ndr
, name
, "lsa_OpenPolicy2");
8764 if (flags
& NDR_SET_VALUES
) {
8765 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8767 if (flags
& NDR_IN
) {
8768 ndr_print_struct(ndr
, "in", "lsa_OpenPolicy2");
8770 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
8772 if (r
->in
.system_name
) {
8773 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
8776 ndr_print_ptr(ndr
, "attr", r
->in
.attr
);
8778 ndr_print_lsa_ObjectAttribute(ndr
, "attr", r
->in
.attr
);
8780 ndr_print_lsa_PolicyAccessMask(ndr
, "access_mask", r
->in
.access_mask
);
8783 if (flags
& NDR_OUT
) {
8784 ndr_print_struct(ndr
, "out", "lsa_OpenPolicy2");
8786 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
8788 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
8790 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
8796 static enum ndr_err_code
ndr_push_lsa_GetUserName(struct ndr_push
*ndr
, int flags
, const struct lsa_GetUserName
*r
)
8798 if (flags
& NDR_IN
) {
8799 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.system_name
));
8800 if (r
->in
.system_name
) {
8801 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
8802 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
8803 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.system_name
, CH_UTF16
)));
8804 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
));
8806 if (r
->in
.account_name
== NULL
) {
8807 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8809 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->in
.account_name
));
8810 if (*r
->in
.account_name
) {
8811 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.account_name
));
8813 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.authority_name
));
8814 if (r
->in
.authority_name
) {
8815 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->in
.authority_name
));
8816 if (*r
->in
.authority_name
) {
8817 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.authority_name
));
8821 if (flags
& NDR_OUT
) {
8822 if (r
->out
.account_name
== NULL
) {
8823 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
8825 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.account_name
));
8826 if (*r
->out
.account_name
) {
8827 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.account_name
));
8829 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.authority_name
));
8830 if (r
->out
.authority_name
) {
8831 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.authority_name
));
8832 if (*r
->out
.authority_name
) {
8833 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.authority_name
));
8836 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
8838 return NDR_ERR_SUCCESS
;
8841 static enum ndr_err_code
ndr_pull_lsa_GetUserName(struct ndr_pull
*ndr
, int flags
, struct lsa_GetUserName
*r
)
8843 uint32_t _ptr_system_name
;
8844 uint32_t _ptr_account_name
;
8845 uint32_t _ptr_authority_name
;
8846 TALLOC_CTX
*_mem_save_system_name_0
;
8847 TALLOC_CTX
*_mem_save_account_name_0
;
8848 TALLOC_CTX
*_mem_save_account_name_1
;
8849 TALLOC_CTX
*_mem_save_authority_name_0
;
8850 TALLOC_CTX
*_mem_save_authority_name_1
;
8851 if (flags
& NDR_IN
) {
8852 ZERO_STRUCT(r
->out
);
8854 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_system_name
));
8855 if (_ptr_system_name
) {
8856 NDR_PULL_ALLOC(ndr
, r
->in
.system_name
);
8858 r
->in
.system_name
= NULL
;
8860 if (r
->in
.system_name
) {
8861 _mem_save_system_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8862 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.system_name
, 0);
8863 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.system_name
));
8864 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.system_name
));
8865 if (ndr_get_array_length(ndr
, &r
->in
.system_name
) > ndr_get_array_size(ndr
, &r
->in
.system_name
)) {
8866 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
));
8868 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.system_name
), sizeof(uint16_t)));
8869 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
));
8870 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_system_name_0
, 0);
8872 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8873 NDR_PULL_ALLOC(ndr
, r
->in
.account_name
);
8875 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8876 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
8877 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_account_name
));
8878 if (_ptr_account_name
) {
8879 NDR_PULL_ALLOC(ndr
, *r
->in
.account_name
);
8881 *r
->in
.account_name
= NULL
;
8883 if (*r
->in
.account_name
) {
8884 _mem_save_account_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8885 NDR_PULL_SET_MEM_CTX(ndr
, *r
->in
.account_name
, 0);
8886 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.account_name
));
8887 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_1
, 0);
8889 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8890 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
8891 if (_ptr_authority_name
) {
8892 NDR_PULL_ALLOC(ndr
, r
->in
.authority_name
);
8894 r
->in
.authority_name
= NULL
;
8896 if (r
->in
.authority_name
) {
8897 _mem_save_authority_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8898 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.authority_name
, 0);
8899 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
8900 if (_ptr_authority_name
) {
8901 NDR_PULL_ALLOC(ndr
, *r
->in
.authority_name
);
8903 *r
->in
.authority_name
= NULL
;
8905 if (*r
->in
.authority_name
) {
8906 _mem_save_authority_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8907 NDR_PULL_SET_MEM_CTX(ndr
, *r
->in
.authority_name
, 0);
8908 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->in
.authority_name
));
8909 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_1
, 0);
8911 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_0
, 0);
8913 NDR_PULL_ALLOC(ndr
, r
->out
.account_name
);
8914 *r
->out
.account_name
= *r
->in
.account_name
;
8916 if (flags
& NDR_OUT
) {
8917 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
8918 NDR_PULL_ALLOC(ndr
, r
->out
.account_name
);
8920 _mem_save_account_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8921 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.account_name
, LIBNDR_FLAG_REF_ALLOC
);
8922 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_account_name
));
8923 if (_ptr_account_name
) {
8924 NDR_PULL_ALLOC(ndr
, *r
->out
.account_name
);
8926 *r
->out
.account_name
= NULL
;
8928 if (*r
->out
.account_name
) {
8929 _mem_save_account_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8930 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.account_name
, 0);
8931 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.account_name
));
8932 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_1
, 0);
8934 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_account_name_0
, LIBNDR_FLAG_REF_ALLOC
);
8935 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
8936 if (_ptr_authority_name
) {
8937 NDR_PULL_ALLOC(ndr
, r
->out
.authority_name
);
8939 r
->out
.authority_name
= NULL
;
8941 if (r
->out
.authority_name
) {
8942 _mem_save_authority_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8943 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.authority_name
, 0);
8944 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_authority_name
));
8945 if (_ptr_authority_name
) {
8946 NDR_PULL_ALLOC(ndr
, *r
->out
.authority_name
);
8948 *r
->out
.authority_name
= NULL
;
8950 if (*r
->out
.authority_name
) {
8951 _mem_save_authority_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8952 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.authority_name
, 0);
8953 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.authority_name
));
8954 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_1
, 0);
8956 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_authority_name_0
, 0);
8958 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
8960 return NDR_ERR_SUCCESS
;
8963 _PUBLIC_
void ndr_print_lsa_GetUserName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_GetUserName
*r
)
8965 ndr_print_struct(ndr
, name
, "lsa_GetUserName");
8967 if (flags
& NDR_SET_VALUES
) {
8968 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
8970 if (flags
& NDR_IN
) {
8971 ndr_print_struct(ndr
, "in", "lsa_GetUserName");
8973 ndr_print_ptr(ndr
, "system_name", r
->in
.system_name
);
8975 if (r
->in
.system_name
) {
8976 ndr_print_string(ndr
, "system_name", r
->in
.system_name
);
8979 ndr_print_ptr(ndr
, "account_name", r
->in
.account_name
);
8981 ndr_print_ptr(ndr
, "account_name", *r
->in
.account_name
);
8983 if (*r
->in
.account_name
) {
8984 ndr_print_lsa_String(ndr
, "account_name", *r
->in
.account_name
);
8988 ndr_print_ptr(ndr
, "authority_name", r
->in
.authority_name
);
8990 if (r
->in
.authority_name
) {
8991 ndr_print_ptr(ndr
, "authority_name", *r
->in
.authority_name
);
8993 if (*r
->in
.authority_name
) {
8994 ndr_print_lsa_String(ndr
, "authority_name", *r
->in
.authority_name
);
9001 if (flags
& NDR_OUT
) {
9002 ndr_print_struct(ndr
, "out", "lsa_GetUserName");
9004 ndr_print_ptr(ndr
, "account_name", r
->out
.account_name
);
9006 ndr_print_ptr(ndr
, "account_name", *r
->out
.account_name
);
9008 if (*r
->out
.account_name
) {
9009 ndr_print_lsa_String(ndr
, "account_name", *r
->out
.account_name
);
9013 ndr_print_ptr(ndr
, "authority_name", r
->out
.authority_name
);
9015 if (r
->out
.authority_name
) {
9016 ndr_print_ptr(ndr
, "authority_name", *r
->out
.authority_name
);
9018 if (*r
->out
.authority_name
) {
9019 ndr_print_lsa_String(ndr
, "authority_name", *r
->out
.authority_name
);
9024 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9030 static enum ndr_err_code
ndr_push_lsa_QueryInfoPolicy2(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryInfoPolicy2
*r
)
9032 if (flags
& NDR_IN
) {
9033 if (r
->in
.handle
== NULL
) {
9034 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9036 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9037 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
9039 if (flags
& NDR_OUT
) {
9040 if (r
->out
.info
== NULL
) {
9041 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9043 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9045 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9046 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9048 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9050 return NDR_ERR_SUCCESS
;
9053 static enum ndr_err_code
ndr_pull_lsa_QueryInfoPolicy2(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryInfoPolicy2
*r
)
9056 TALLOC_CTX
*_mem_save_handle_0
;
9057 TALLOC_CTX
*_mem_save_info_0
;
9058 TALLOC_CTX
*_mem_save_info_1
;
9059 if (flags
& NDR_IN
) {
9060 ZERO_STRUCT(r
->out
);
9062 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9063 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9065 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9066 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9067 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9068 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9069 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
9070 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9071 ZERO_STRUCTP(r
->out
.info
);
9073 if (flags
& NDR_OUT
) {
9074 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9075 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9077 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9078 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9079 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9081 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9083 *r
->out
.info
= NULL
;
9086 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9087 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9088 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9089 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9090 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9092 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9093 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9095 return NDR_ERR_SUCCESS
;
9098 _PUBLIC_
void ndr_print_lsa_QueryInfoPolicy2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryInfoPolicy2
*r
)
9100 ndr_print_struct(ndr
, name
, "lsa_QueryInfoPolicy2");
9102 if (flags
& NDR_SET_VALUES
) {
9103 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9105 if (flags
& NDR_IN
) {
9106 ndr_print_struct(ndr
, "in", "lsa_QueryInfoPolicy2");
9108 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9110 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9112 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
9115 if (flags
& NDR_OUT
) {
9116 ndr_print_struct(ndr
, "out", "lsa_QueryInfoPolicy2");
9118 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9120 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9123 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9124 ndr_print_lsa_PolicyInformation(ndr
, "info", *r
->out
.info
);
9128 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9134 static enum ndr_err_code
ndr_push_lsa_SetInfoPolicy2(struct ndr_push
*ndr
, int flags
, const struct lsa_SetInfoPolicy2
*r
)
9136 if (flags
& NDR_IN
) {
9137 if (r
->in
.handle
== NULL
) {
9138 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9140 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9141 NDR_CHECK(ndr_push_lsa_PolicyInfo(ndr
, NDR_SCALARS
, r
->in
.level
));
9142 if (r
->in
.info
== NULL
) {
9143 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9145 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9146 NDR_CHECK(ndr_push_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9148 if (flags
& NDR_OUT
) {
9149 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9151 return NDR_ERR_SUCCESS
;
9154 static enum ndr_err_code
ndr_pull_lsa_SetInfoPolicy2(struct ndr_pull
*ndr
, int flags
, struct lsa_SetInfoPolicy2
*r
)
9156 TALLOC_CTX
*_mem_save_handle_0
;
9157 TALLOC_CTX
*_mem_save_info_0
;
9158 if (flags
& NDR_IN
) {
9159 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9160 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9162 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9163 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9164 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9165 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9166 NDR_CHECK(ndr_pull_lsa_PolicyInfo(ndr
, NDR_SCALARS
, &r
->in
.level
));
9167 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9168 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
9170 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9171 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, LIBNDR_FLAG_REF_ALLOC
);
9172 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9173 NDR_CHECK(ndr_pull_lsa_PolicyInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9174 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9176 if (flags
& NDR_OUT
) {
9177 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9179 return NDR_ERR_SUCCESS
;
9182 _PUBLIC_
void ndr_print_lsa_SetInfoPolicy2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetInfoPolicy2
*r
)
9184 ndr_print_struct(ndr
, name
, "lsa_SetInfoPolicy2");
9186 if (flags
& NDR_SET_VALUES
) {
9187 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9189 if (flags
& NDR_IN
) {
9190 ndr_print_struct(ndr
, "in", "lsa_SetInfoPolicy2");
9192 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9194 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9196 ndr_print_lsa_PolicyInfo(ndr
, "level", r
->in
.level
);
9197 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9199 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9200 ndr_print_lsa_PolicyInformation(ndr
, "info", r
->in
.info
);
9204 if (flags
& NDR_OUT
) {
9205 ndr_print_struct(ndr
, "out", "lsa_SetInfoPolicy2");
9207 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9213 static enum ndr_err_code
ndr_push_lsa_QueryTrustedDomainInfoByName(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryTrustedDomainInfoByName
*r
)
9215 if (flags
& NDR_IN
) {
9216 if (r
->in
.handle
== NULL
) {
9217 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9219 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9220 if (r
->in
.trusted_domain
== NULL
) {
9221 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9223 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain
));
9224 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
9226 if (flags
& NDR_OUT
) {
9227 if (r
->out
.info
== NULL
) {
9228 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9230 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9232 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9233 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9235 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9237 return NDR_ERR_SUCCESS
;
9240 static enum ndr_err_code
ndr_pull_lsa_QueryTrustedDomainInfoByName(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryTrustedDomainInfoByName
*r
)
9243 TALLOC_CTX
*_mem_save_handle_0
;
9244 TALLOC_CTX
*_mem_save_trusted_domain_0
;
9245 TALLOC_CTX
*_mem_save_info_0
;
9246 TALLOC_CTX
*_mem_save_info_1
;
9247 if (flags
& NDR_IN
) {
9248 ZERO_STRUCT(r
->out
);
9250 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9251 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9253 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9254 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9255 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9256 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9257 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9258 NDR_PULL_ALLOC(ndr
, r
->in
.trusted_domain
);
9260 _mem_save_trusted_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9261 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trusted_domain
, LIBNDR_FLAG_REF_ALLOC
);
9262 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain
));
9263 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trusted_domain_0
, LIBNDR_FLAG_REF_ALLOC
);
9264 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
9265 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9266 ZERO_STRUCTP(r
->out
.info
);
9268 if (flags
& NDR_OUT
) {
9269 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9270 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9272 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9273 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9274 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9276 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9278 *r
->out
.info
= NULL
;
9281 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9282 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9283 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9284 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9285 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9287 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9288 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9290 return NDR_ERR_SUCCESS
;
9293 _PUBLIC_
void ndr_print_lsa_QueryTrustedDomainInfoByName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryTrustedDomainInfoByName
*r
)
9295 ndr_print_struct(ndr
, name
, "lsa_QueryTrustedDomainInfoByName");
9297 if (flags
& NDR_SET_VALUES
) {
9298 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9300 if (flags
& NDR_IN
) {
9301 ndr_print_struct(ndr
, "in", "lsa_QueryTrustedDomainInfoByName");
9303 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9305 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9307 ndr_print_ptr(ndr
, "trusted_domain", r
->in
.trusted_domain
);
9309 ndr_print_lsa_String(ndr
, "trusted_domain", r
->in
.trusted_domain
);
9311 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
9314 if (flags
& NDR_OUT
) {
9315 ndr_print_struct(ndr
, "out", "lsa_QueryTrustedDomainInfoByName");
9317 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9319 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9322 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9323 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", *r
->out
.info
);
9327 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9333 static enum ndr_err_code
ndr_push_lsa_SetTrustedDomainInfoByName(struct ndr_push
*ndr
, int flags
, const struct lsa_SetTrustedDomainInfoByName
*r
)
9335 if (flags
& NDR_IN
) {
9336 if (r
->in
.handle
== NULL
) {
9337 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9339 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9340 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.trusted_domain
));
9341 NDR_CHECK(ndr_push_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, r
->in
.level
));
9342 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.info
));
9344 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9345 NDR_CHECK(ndr_push_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9348 if (flags
& NDR_OUT
) {
9349 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9351 return NDR_ERR_SUCCESS
;
9354 static enum ndr_err_code
ndr_pull_lsa_SetTrustedDomainInfoByName(struct ndr_pull
*ndr
, int flags
, struct lsa_SetTrustedDomainInfoByName
*r
)
9357 TALLOC_CTX
*_mem_save_handle_0
;
9358 TALLOC_CTX
*_mem_save_info_0
;
9359 if (flags
& NDR_IN
) {
9360 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9361 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9363 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9364 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9365 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9366 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9367 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.trusted_domain
));
9368 NDR_CHECK(ndr_pull_lsa_TrustDomInfoEnum(ndr
, NDR_SCALARS
, &r
->in
.level
));
9369 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9371 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
9376 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9377 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, 0);
9378 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9379 NDR_CHECK(ndr_pull_lsa_TrustedDomainInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9380 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
9383 if (flags
& NDR_OUT
) {
9384 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9386 return NDR_ERR_SUCCESS
;
9389 _PUBLIC_
void ndr_print_lsa_SetTrustedDomainInfoByName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetTrustedDomainInfoByName
*r
)
9391 ndr_print_struct(ndr
, name
, "lsa_SetTrustedDomainInfoByName");
9393 if (flags
& NDR_SET_VALUES
) {
9394 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9396 if (flags
& NDR_IN
) {
9397 ndr_print_struct(ndr
, "in", "lsa_SetTrustedDomainInfoByName");
9399 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9401 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9403 ndr_print_lsa_String(ndr
, "trusted_domain", &r
->in
.trusted_domain
);
9404 ndr_print_lsa_TrustDomInfoEnum(ndr
, "level", r
->in
.level
);
9405 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9408 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9409 ndr_print_lsa_TrustedDomainInfo(ndr
, "info", r
->in
.info
);
9414 if (flags
& NDR_OUT
) {
9415 ndr_print_struct(ndr
, "out", "lsa_SetTrustedDomainInfoByName");
9417 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9423 static enum ndr_err_code
ndr_push_lsa_EnumTrustedDomainsEx(struct ndr_push
*ndr
, int flags
, const struct lsa_EnumTrustedDomainsEx
*r
)
9425 if (flags
& NDR_IN
) {
9426 if (r
->in
.handle
== NULL
) {
9427 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9429 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9430 if (r
->in
.resume_handle
== NULL
) {
9431 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9433 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.resume_handle
));
9434 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.max_size
));
9436 if (flags
& NDR_OUT
) {
9437 if (r
->out
.resume_handle
== NULL
) {
9438 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9440 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.resume_handle
));
9441 if (r
->out
.domains
== NULL
) {
9442 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9444 NDR_CHECK(ndr_push_lsa_DomainListEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
9445 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9447 return NDR_ERR_SUCCESS
;
9450 static enum ndr_err_code
ndr_pull_lsa_EnumTrustedDomainsEx(struct ndr_pull
*ndr
, int flags
, struct lsa_EnumTrustedDomainsEx
*r
)
9452 TALLOC_CTX
*_mem_save_handle_0
;
9453 TALLOC_CTX
*_mem_save_resume_handle_0
;
9454 TALLOC_CTX
*_mem_save_domains_0
;
9455 if (flags
& NDR_IN
) {
9456 ZERO_STRUCT(r
->out
);
9458 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9459 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9461 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9462 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9463 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9464 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9465 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9466 NDR_PULL_ALLOC(ndr
, r
->in
.resume_handle
);
9468 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9469 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
9470 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.resume_handle
));
9471 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9472 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.max_size
));
9473 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
9474 *r
->out
.resume_handle
= *r
->in
.resume_handle
;
9475 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
9476 ZERO_STRUCTP(r
->out
.domains
);
9478 if (flags
& NDR_OUT
) {
9479 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9480 NDR_PULL_ALLOC(ndr
, r
->out
.resume_handle
);
9482 _mem_save_resume_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9483 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.resume_handle
, LIBNDR_FLAG_REF_ALLOC
);
9484 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.resume_handle
));
9485 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_resume_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9486 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9487 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
9489 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9490 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
9491 NDR_CHECK(ndr_pull_lsa_DomainListEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.domains
));
9492 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
9493 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9495 return NDR_ERR_SUCCESS
;
9498 _PUBLIC_
void ndr_print_lsa_EnumTrustedDomainsEx(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_EnumTrustedDomainsEx
*r
)
9500 ndr_print_struct(ndr
, name
, "lsa_EnumTrustedDomainsEx");
9502 if (flags
& NDR_SET_VALUES
) {
9503 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9505 if (flags
& NDR_IN
) {
9506 ndr_print_struct(ndr
, "in", "lsa_EnumTrustedDomainsEx");
9508 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9510 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9512 ndr_print_ptr(ndr
, "resume_handle", r
->in
.resume_handle
);
9514 ndr_print_uint32(ndr
, "resume_handle", *r
->in
.resume_handle
);
9516 ndr_print_uint32(ndr
, "max_size", r
->in
.max_size
);
9519 if (flags
& NDR_OUT
) {
9520 ndr_print_struct(ndr
, "out", "lsa_EnumTrustedDomainsEx");
9522 ndr_print_ptr(ndr
, "resume_handle", r
->out
.resume_handle
);
9524 ndr_print_uint32(ndr
, "resume_handle", *r
->out
.resume_handle
);
9526 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
9528 ndr_print_lsa_DomainListEx(ndr
, "domains", r
->out
.domains
);
9530 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9536 static enum ndr_err_code
ndr_push_lsa_CreateTrustedDomainEx(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateTrustedDomainEx
*r
)
9538 if (flags
& NDR_IN
) {
9540 if (flags
& NDR_OUT
) {
9541 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9543 return NDR_ERR_SUCCESS
;
9546 static enum ndr_err_code
ndr_pull_lsa_CreateTrustedDomainEx(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateTrustedDomainEx
*r
)
9548 if (flags
& NDR_IN
) {
9550 if (flags
& NDR_OUT
) {
9551 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9553 return NDR_ERR_SUCCESS
;
9556 _PUBLIC_
void ndr_print_lsa_CreateTrustedDomainEx(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateTrustedDomainEx
*r
)
9558 ndr_print_struct(ndr
, name
, "lsa_CreateTrustedDomainEx");
9560 if (flags
& NDR_SET_VALUES
) {
9561 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9563 if (flags
& NDR_IN
) {
9564 ndr_print_struct(ndr
, "in", "lsa_CreateTrustedDomainEx");
9568 if (flags
& NDR_OUT
) {
9569 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomainEx");
9571 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9577 static enum ndr_err_code
ndr_push_lsa_CloseTrustedDomainEx(struct ndr_push
*ndr
, int flags
, const struct lsa_CloseTrustedDomainEx
*r
)
9579 if (flags
& NDR_IN
) {
9580 if (r
->in
.handle
== NULL
) {
9581 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9583 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9585 if (flags
& NDR_OUT
) {
9586 if (r
->out
.handle
== NULL
) {
9587 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9589 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
9590 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9592 return NDR_ERR_SUCCESS
;
9595 static enum ndr_err_code
ndr_pull_lsa_CloseTrustedDomainEx(struct ndr_pull
*ndr
, int flags
, struct lsa_CloseTrustedDomainEx
*r
)
9597 TALLOC_CTX
*_mem_save_handle_0
;
9598 if (flags
& NDR_IN
) {
9599 ZERO_STRUCT(r
->out
);
9601 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9602 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9604 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9605 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9606 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9607 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9608 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
9609 *r
->out
.handle
= *r
->in
.handle
;
9611 if (flags
& NDR_OUT
) {
9612 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9613 NDR_PULL_ALLOC(ndr
, r
->out
.handle
);
9615 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9616 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9617 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.handle
));
9618 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9619 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9621 return NDR_ERR_SUCCESS
;
9624 _PUBLIC_
void ndr_print_lsa_CloseTrustedDomainEx(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CloseTrustedDomainEx
*r
)
9626 ndr_print_struct(ndr
, name
, "lsa_CloseTrustedDomainEx");
9628 if (flags
& NDR_SET_VALUES
) {
9629 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9631 if (flags
& NDR_IN
) {
9632 ndr_print_struct(ndr
, "in", "lsa_CloseTrustedDomainEx");
9634 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9636 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9640 if (flags
& NDR_OUT
) {
9641 ndr_print_struct(ndr
, "out", "lsa_CloseTrustedDomainEx");
9643 ndr_print_ptr(ndr
, "handle", r
->out
.handle
);
9645 ndr_print_policy_handle(ndr
, "handle", r
->out
.handle
);
9647 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9653 static enum ndr_err_code
ndr_push_lsa_QueryDomainInformationPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_QueryDomainInformationPolicy
*r
)
9655 if (flags
& NDR_IN
) {
9656 if (r
->in
.handle
== NULL
) {
9657 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9659 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9660 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9662 if (flags
& NDR_OUT
) {
9663 if (r
->out
.info
== NULL
) {
9664 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9666 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.info
));
9668 NDR_CHECK(ndr_push_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9669 NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9671 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9673 return NDR_ERR_SUCCESS
;
9676 static enum ndr_err_code
ndr_pull_lsa_QueryDomainInformationPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_QueryDomainInformationPolicy
*r
)
9679 TALLOC_CTX
*_mem_save_handle_0
;
9680 TALLOC_CTX
*_mem_save_info_0
;
9681 TALLOC_CTX
*_mem_save_info_1
;
9682 if (flags
& NDR_IN
) {
9683 ZERO_STRUCT(r
->out
);
9685 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9686 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9688 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9689 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9690 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9691 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9692 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9693 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9694 ZERO_STRUCTP(r
->out
.info
);
9696 if (flags
& NDR_OUT
) {
9697 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9698 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
9700 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9701 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
9702 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9704 NDR_PULL_ALLOC(ndr
, *r
->out
.info
);
9706 *r
->out
.info
= NULL
;
9709 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9710 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.info
, 0);
9711 NDR_CHECK(ndr_pull_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
));
9712 NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.info
));
9713 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
9715 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
9716 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9718 return NDR_ERR_SUCCESS
;
9721 _PUBLIC_
void ndr_print_lsa_QueryDomainInformationPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_QueryDomainInformationPolicy
*r
)
9723 ndr_print_struct(ndr
, name
, "lsa_QueryDomainInformationPolicy");
9725 if (flags
& NDR_SET_VALUES
) {
9726 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9728 if (flags
& NDR_IN
) {
9729 ndr_print_struct(ndr
, "in", "lsa_QueryDomainInformationPolicy");
9731 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9733 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9735 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9738 if (flags
& NDR_OUT
) {
9739 ndr_print_struct(ndr
, "out", "lsa_QueryDomainInformationPolicy");
9741 ndr_print_ptr(ndr
, "info", r
->out
.info
);
9743 ndr_print_ptr(ndr
, "info", *r
->out
.info
);
9746 ndr_print_set_switch_value(ndr
, *r
->out
.info
, r
->in
.level
);
9747 ndr_print_lsa_DomainInformationPolicy(ndr
, "info", *r
->out
.info
);
9751 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9757 static enum ndr_err_code
ndr_push_lsa_SetDomainInformationPolicy(struct ndr_push
*ndr
, int flags
, const struct lsa_SetDomainInformationPolicy
*r
)
9759 if (flags
& NDR_IN
) {
9760 if (r
->in
.handle
== NULL
) {
9761 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9763 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9764 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9765 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.info
));
9767 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9768 NDR_CHECK(ndr_push_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9771 if (flags
& NDR_OUT
) {
9772 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9774 return NDR_ERR_SUCCESS
;
9777 static enum ndr_err_code
ndr_pull_lsa_SetDomainInformationPolicy(struct ndr_pull
*ndr
, int flags
, struct lsa_SetDomainInformationPolicy
*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
|NDR_BUFFERS
, r
->in
.handle
));
9789 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9790 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
9791 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
9793 NDR_PULL_ALLOC(ndr
, r
->in
.info
);
9798 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9799 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.info
, 0);
9800 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
));
9801 NDR_CHECK(ndr_pull_lsa_DomainInformationPolicy(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.info
));
9802 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
9805 if (flags
& NDR_OUT
) {
9806 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9808 return NDR_ERR_SUCCESS
;
9811 _PUBLIC_
void ndr_print_lsa_SetDomainInformationPolicy(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_SetDomainInformationPolicy
*r
)
9813 ndr_print_struct(ndr
, name
, "lsa_SetDomainInformationPolicy");
9815 if (flags
& NDR_SET_VALUES
) {
9816 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9818 if (flags
& NDR_IN
) {
9819 ndr_print_struct(ndr
, "in", "lsa_SetDomainInformationPolicy");
9821 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9823 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9825 ndr_print_uint16(ndr
, "level", r
->in
.level
);
9826 ndr_print_ptr(ndr
, "info", r
->in
.info
);
9829 ndr_print_set_switch_value(ndr
, r
->in
.info
, r
->in
.level
);
9830 ndr_print_lsa_DomainInformationPolicy(ndr
, "info", r
->in
.info
);
9835 if (flags
& NDR_OUT
) {
9836 ndr_print_struct(ndr
, "out", "lsa_SetDomainInformationPolicy");
9838 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9844 static enum ndr_err_code
ndr_push_lsa_OpenTrustedDomainByName(struct ndr_push
*ndr
, int flags
, const struct lsa_OpenTrustedDomainByName
*r
)
9846 if (flags
& NDR_IN
) {
9847 if (r
->in
.handle
== NULL
) {
9848 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9850 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9851 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
9852 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.access_mask
));
9854 if (flags
& NDR_OUT
) {
9855 if (r
->out
.trustdom_handle
== NULL
) {
9856 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9858 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.trustdom_handle
));
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_OpenTrustedDomainByName(struct ndr_pull
*ndr
, int flags
, struct lsa_OpenTrustedDomainByName
*r
)
9866 TALLOC_CTX
*_mem_save_handle_0
;
9867 TALLOC_CTX
*_mem_save_trustdom_handle_0
;
9868 if (flags
& NDR_IN
) {
9869 ZERO_STRUCT(r
->out
);
9871 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9872 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
9874 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9875 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
9876 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9877 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9878 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.name
));
9879 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.access_mask
));
9880 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
9881 ZERO_STRUCTP(r
->out
.trustdom_handle
);
9883 if (flags
& NDR_OUT
) {
9884 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
9885 NDR_PULL_ALLOC(ndr
, r
->out
.trustdom_handle
);
9887 _mem_save_trustdom_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9888 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.trustdom_handle
, LIBNDR_FLAG_REF_ALLOC
);
9889 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.trustdom_handle
));
9890 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trustdom_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
9891 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9893 return NDR_ERR_SUCCESS
;
9896 _PUBLIC_
void ndr_print_lsa_OpenTrustedDomainByName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_OpenTrustedDomainByName
*r
)
9898 ndr_print_struct(ndr
, name
, "lsa_OpenTrustedDomainByName");
9900 if (flags
& NDR_SET_VALUES
) {
9901 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9903 if (flags
& NDR_IN
) {
9904 ndr_print_struct(ndr
, "in", "lsa_OpenTrustedDomainByName");
9906 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
9908 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
9910 ndr_print_lsa_String(ndr
, "name", &r
->in
.name
);
9911 ndr_print_uint32(ndr
, "access_mask", r
->in
.access_mask
);
9914 if (flags
& NDR_OUT
) {
9915 ndr_print_struct(ndr
, "out", "lsa_OpenTrustedDomainByName");
9917 ndr_print_ptr(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
9919 ndr_print_policy_handle(ndr
, "trustdom_handle", r
->out
.trustdom_handle
);
9921 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9927 static enum ndr_err_code
ndr_push_lsa_TestCall(struct ndr_push
*ndr
, int flags
, const struct lsa_TestCall
*r
)
9929 if (flags
& NDR_IN
) {
9931 if (flags
& NDR_OUT
) {
9932 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
9934 return NDR_ERR_SUCCESS
;
9937 static enum ndr_err_code
ndr_pull_lsa_TestCall(struct ndr_pull
*ndr
, int flags
, struct lsa_TestCall
*r
)
9939 if (flags
& NDR_IN
) {
9941 if (flags
& NDR_OUT
) {
9942 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
9944 return NDR_ERR_SUCCESS
;
9947 _PUBLIC_
void ndr_print_lsa_TestCall(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_TestCall
*r
)
9949 ndr_print_struct(ndr
, name
, "lsa_TestCall");
9951 if (flags
& NDR_SET_VALUES
) {
9952 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
9954 if (flags
& NDR_IN
) {
9955 ndr_print_struct(ndr
, "in", "lsa_TestCall");
9959 if (flags
& NDR_OUT
) {
9960 ndr_print_struct(ndr
, "out", "lsa_TestCall");
9962 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
9968 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupSids2(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupSids2
*r
)
9970 if (flags
& NDR_IN
) {
9971 if (r
->in
.handle
== NULL
) {
9972 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9974 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
9975 if (r
->in
.sids
== NULL
) {
9976 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9978 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
9979 if (r
->in
.names
== NULL
) {
9980 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9982 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
9983 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
9984 if (r
->in
.count
== NULL
) {
9985 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9987 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
9988 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
9989 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
9991 if (flags
& NDR_OUT
) {
9992 if (r
->out
.domains
== NULL
) {
9993 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
9995 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
9996 if (*r
->out
.domains
) {
9997 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
9999 if (r
->out
.names
== NULL
) {
10000 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10002 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
10003 if (r
->out
.count
== NULL
) {
10004 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10006 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
10007 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10009 return NDR_ERR_SUCCESS
;
10012 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupSids2(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupSids2
*r
)
10014 uint32_t _ptr_domains
;
10015 TALLOC_CTX
*_mem_save_handle_0
;
10016 TALLOC_CTX
*_mem_save_sids_0
;
10017 TALLOC_CTX
*_mem_save_domains_0
;
10018 TALLOC_CTX
*_mem_save_domains_1
;
10019 TALLOC_CTX
*_mem_save_names_0
;
10020 TALLOC_CTX
*_mem_save_count_0
;
10021 if (flags
& NDR_IN
) {
10022 ZERO_STRUCT(r
->out
);
10024 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10025 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10027 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10028 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10029 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
10030 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10031 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10032 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10034 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10035 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10036 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10037 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10038 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10039 NDR_PULL_ALLOC(ndr
, r
->in
.names
);
10041 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10042 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, LIBNDR_FLAG_REF_ALLOC
);
10043 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
10044 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
10045 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
10046 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10047 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
10049 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10050 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
10051 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
10052 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10053 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
10054 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
10055 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10056 ZERO_STRUCTP(r
->out
.domains
);
10057 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
10058 *r
->out
.names
= *r
->in
.names
;
10059 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10060 *r
->out
.count
= *r
->in
.count
;
10062 if (flags
& NDR_OUT
) {
10063 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10064 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10066 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10067 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
10068 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
10069 if (_ptr_domains
) {
10070 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
10072 *r
->out
.domains
= NULL
;
10074 if (*r
->out
.domains
) {
10075 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10076 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
10077 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
10078 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
10080 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
10081 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10082 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
10084 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10085 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
10086 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
10087 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
10088 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10089 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10091 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10092 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
10093 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
10094 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10095 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10097 return NDR_ERR_SUCCESS
;
10100 _PUBLIC_
void ndr_print_lsa_LookupSids2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupSids2
*r
)
10102 ndr_print_struct(ndr
, name
, "lsa_LookupSids2");
10104 if (flags
& NDR_SET_VALUES
) {
10105 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10107 if (flags
& NDR_IN
) {
10108 ndr_print_struct(ndr
, "in", "lsa_LookupSids2");
10110 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10112 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10114 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10116 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
10118 ndr_print_ptr(ndr
, "names", r
->in
.names
);
10120 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->in
.names
);
10122 ndr_print_uint16(ndr
, "level", r
->in
.level
);
10123 ndr_print_ptr(ndr
, "count", r
->in
.count
);
10125 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
10127 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
10128 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
10131 if (flags
& NDR_OUT
) {
10132 ndr_print_struct(ndr
, "out", "lsa_LookupSids2");
10134 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
10136 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
10138 if (*r
->out
.domains
) {
10139 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
10143 ndr_print_ptr(ndr
, "names", r
->out
.names
);
10145 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->out
.names
);
10147 ndr_print_ptr(ndr
, "count", r
->out
.count
);
10149 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
10151 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10157 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupNames2(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames2
*r
)
10159 uint32_t cntr_names_0
;
10160 if (flags
& NDR_IN
) {
10161 if (r
->in
.handle
== NULL
) {
10162 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10164 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
10165 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
10166 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
10167 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10168 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
10170 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10171 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
10173 if (r
->in
.sids
== NULL
) {
10174 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10176 NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10177 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
10178 if (r
->in
.count
== NULL
) {
10179 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10181 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
10182 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
10183 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
10185 if (flags
& NDR_OUT
) {
10186 if (r
->out
.domains
== NULL
) {
10187 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10189 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
10190 if (*r
->out
.domains
) {
10191 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
10193 if (r
->out
.sids
== NULL
) {
10194 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10196 NDR_CHECK(ndr_push_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
10197 if (r
->out
.count
== NULL
) {
10198 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10200 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
10201 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10203 return NDR_ERR_SUCCESS
;
10206 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupNames2(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames2
*r
)
10208 uint32_t cntr_names_0
;
10209 uint32_t _ptr_domains
;
10210 TALLOC_CTX
*_mem_save_handle_0
;
10211 TALLOC_CTX
*_mem_save_names_0
;
10212 TALLOC_CTX
*_mem_save_domains_0
;
10213 TALLOC_CTX
*_mem_save_domains_1
;
10214 TALLOC_CTX
*_mem_save_sids_0
;
10215 TALLOC_CTX
*_mem_save_count_0
;
10216 if (flags
& NDR_IN
) {
10217 ZERO_STRUCT(r
->out
);
10219 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10220 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10222 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10223 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10224 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
10225 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10226 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
10227 if (r
->in
.num_names
< 0 || r
->in
.num_names
> 1000) {
10228 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
10230 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
10231 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
10232 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10233 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
10234 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10235 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
10237 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10238 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
10240 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
10241 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10242 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10244 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10245 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10246 NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10247 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10248 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
10249 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10250 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
10252 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10253 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
10254 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
10255 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10256 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
10257 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
10258 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10259 ZERO_STRUCTP(r
->out
.domains
);
10260 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
10261 *r
->out
.sids
= *r
->in
.sids
;
10262 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10263 *r
->out
.count
= *r
->in
.count
;
10265 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
10268 if (flags
& NDR_OUT
) {
10269 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10270 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10272 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10273 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
10274 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
10275 if (_ptr_domains
) {
10276 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
10278 *r
->out
.domains
= NULL
;
10280 if (*r
->out
.domains
) {
10281 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10282 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
10283 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
10284 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
10286 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
10287 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10288 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
10290 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10291 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10292 NDR_CHECK(ndr_pull_lsa_TransSidArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
10293 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10294 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10295 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10297 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10298 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
10299 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
10300 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10301 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10303 return NDR_ERR_SUCCESS
;
10306 _PUBLIC_
void ndr_print_lsa_LookupNames2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames2
*r
)
10308 uint32_t cntr_names_0
;
10309 ndr_print_struct(ndr
, name
, "lsa_LookupNames2");
10311 if (flags
& NDR_SET_VALUES
) {
10312 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10314 if (flags
& NDR_IN
) {
10315 ndr_print_struct(ndr
, "in", "lsa_LookupNames2");
10317 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10319 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10321 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
10322 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
10324 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
10326 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
10327 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
10332 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10334 ndr_print_lsa_TransSidArray2(ndr
, "sids", r
->in
.sids
);
10336 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
10337 ndr_print_ptr(ndr
, "count", r
->in
.count
);
10339 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
10341 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
10342 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
10345 if (flags
& NDR_OUT
) {
10346 ndr_print_struct(ndr
, "out", "lsa_LookupNames2");
10348 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
10350 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
10352 if (*r
->out
.domains
) {
10353 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
10357 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
10359 ndr_print_lsa_TransSidArray2(ndr
, "sids", r
->out
.sids
);
10361 ndr_print_ptr(ndr
, "count", r
->out
.count
);
10363 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
10365 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10371 static enum ndr_err_code
ndr_push_lsa_CreateTrustedDomainEx2(struct ndr_push
*ndr
, int flags
, const struct lsa_CreateTrustedDomainEx2
*r
)
10373 if (flags
& NDR_IN
) {
10375 if (flags
& NDR_OUT
) {
10376 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10378 return NDR_ERR_SUCCESS
;
10381 static enum ndr_err_code
ndr_pull_lsa_CreateTrustedDomainEx2(struct ndr_pull
*ndr
, int flags
, struct lsa_CreateTrustedDomainEx2
*r
)
10383 if (flags
& NDR_IN
) {
10385 if (flags
& NDR_OUT
) {
10386 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10388 return NDR_ERR_SUCCESS
;
10391 _PUBLIC_
void ndr_print_lsa_CreateTrustedDomainEx2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CreateTrustedDomainEx2
*r
)
10393 ndr_print_struct(ndr
, name
, "lsa_CreateTrustedDomainEx2");
10395 if (flags
& NDR_SET_VALUES
) {
10396 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10398 if (flags
& NDR_IN
) {
10399 ndr_print_struct(ndr
, "in", "lsa_CreateTrustedDomainEx2");
10403 if (flags
& NDR_OUT
) {
10404 ndr_print_struct(ndr
, "out", "lsa_CreateTrustedDomainEx2");
10406 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10412 static enum ndr_err_code
ndr_push_lsa_CREDRWRITE(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRWRITE
*r
)
10414 if (flags
& NDR_IN
) {
10416 if (flags
& NDR_OUT
) {
10417 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10419 return NDR_ERR_SUCCESS
;
10422 static enum ndr_err_code
ndr_pull_lsa_CREDRWRITE(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRWRITE
*r
)
10424 if (flags
& NDR_IN
) {
10426 if (flags
& NDR_OUT
) {
10427 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10429 return NDR_ERR_SUCCESS
;
10432 _PUBLIC_
void ndr_print_lsa_CREDRWRITE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRWRITE
*r
)
10434 ndr_print_struct(ndr
, name
, "lsa_CREDRWRITE");
10436 if (flags
& NDR_SET_VALUES
) {
10437 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10439 if (flags
& NDR_IN
) {
10440 ndr_print_struct(ndr
, "in", "lsa_CREDRWRITE");
10444 if (flags
& NDR_OUT
) {
10445 ndr_print_struct(ndr
, "out", "lsa_CREDRWRITE");
10447 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10453 static enum ndr_err_code
ndr_push_lsa_CREDRREAD(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRREAD
*r
)
10455 if (flags
& NDR_IN
) {
10457 if (flags
& NDR_OUT
) {
10458 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10460 return NDR_ERR_SUCCESS
;
10463 static enum ndr_err_code
ndr_pull_lsa_CREDRREAD(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRREAD
*r
)
10465 if (flags
& NDR_IN
) {
10467 if (flags
& NDR_OUT
) {
10468 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10470 return NDR_ERR_SUCCESS
;
10473 _PUBLIC_
void ndr_print_lsa_CREDRREAD(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRREAD
*r
)
10475 ndr_print_struct(ndr
, name
, "lsa_CREDRREAD");
10477 if (flags
& NDR_SET_VALUES
) {
10478 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10480 if (flags
& NDR_IN
) {
10481 ndr_print_struct(ndr
, "in", "lsa_CREDRREAD");
10485 if (flags
& NDR_OUT
) {
10486 ndr_print_struct(ndr
, "out", "lsa_CREDRREAD");
10488 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10494 static enum ndr_err_code
ndr_push_lsa_CREDRENUMERATE(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRENUMERATE
*r
)
10496 if (flags
& NDR_IN
) {
10498 if (flags
& NDR_OUT
) {
10499 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10501 return NDR_ERR_SUCCESS
;
10504 static enum ndr_err_code
ndr_pull_lsa_CREDRENUMERATE(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRENUMERATE
*r
)
10506 if (flags
& NDR_IN
) {
10508 if (flags
& NDR_OUT
) {
10509 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10511 return NDR_ERR_SUCCESS
;
10514 _PUBLIC_
void ndr_print_lsa_CREDRENUMERATE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRENUMERATE
*r
)
10516 ndr_print_struct(ndr
, name
, "lsa_CREDRENUMERATE");
10518 if (flags
& NDR_SET_VALUES
) {
10519 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10521 if (flags
& NDR_IN
) {
10522 ndr_print_struct(ndr
, "in", "lsa_CREDRENUMERATE");
10526 if (flags
& NDR_OUT
) {
10527 ndr_print_struct(ndr
, "out", "lsa_CREDRENUMERATE");
10529 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10535 static enum ndr_err_code
ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRWRITEDOMAINCREDENTIALS
*r
)
10537 if (flags
& NDR_IN
) {
10539 if (flags
& NDR_OUT
) {
10540 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10542 return NDR_ERR_SUCCESS
;
10545 static enum ndr_err_code
ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRWRITEDOMAINCREDENTIALS
*r
)
10547 if (flags
& NDR_IN
) {
10549 if (flags
& NDR_OUT
) {
10550 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10552 return NDR_ERR_SUCCESS
;
10555 _PUBLIC_
void ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRWRITEDOMAINCREDENTIALS
*r
)
10557 ndr_print_struct(ndr
, name
, "lsa_CREDRWRITEDOMAINCREDENTIALS");
10559 if (flags
& NDR_SET_VALUES
) {
10560 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10562 if (flags
& NDR_IN
) {
10563 ndr_print_struct(ndr
, "in", "lsa_CREDRWRITEDOMAINCREDENTIALS");
10567 if (flags
& NDR_OUT
) {
10568 ndr_print_struct(ndr
, "out", "lsa_CREDRWRITEDOMAINCREDENTIALS");
10570 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10576 static enum ndr_err_code
ndr_push_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRREADDOMAINCREDENTIALS
*r
)
10578 if (flags
& NDR_IN
) {
10580 if (flags
& NDR_OUT
) {
10581 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10583 return NDR_ERR_SUCCESS
;
10586 static enum ndr_err_code
ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRREADDOMAINCREDENTIALS
*r
)
10588 if (flags
& NDR_IN
) {
10590 if (flags
& NDR_OUT
) {
10591 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10593 return NDR_ERR_SUCCESS
;
10596 _PUBLIC_
void ndr_print_lsa_CREDRREADDOMAINCREDENTIALS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRREADDOMAINCREDENTIALS
*r
)
10598 ndr_print_struct(ndr
, name
, "lsa_CREDRREADDOMAINCREDENTIALS");
10600 if (flags
& NDR_SET_VALUES
) {
10601 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10603 if (flags
& NDR_IN
) {
10604 ndr_print_struct(ndr
, "in", "lsa_CREDRREADDOMAINCREDENTIALS");
10608 if (flags
& NDR_OUT
) {
10609 ndr_print_struct(ndr
, "out", "lsa_CREDRREADDOMAINCREDENTIALS");
10611 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10617 static enum ndr_err_code
ndr_push_lsa_CREDRDELETE(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRDELETE
*r
)
10619 if (flags
& NDR_IN
) {
10621 if (flags
& NDR_OUT
) {
10622 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10624 return NDR_ERR_SUCCESS
;
10627 static enum ndr_err_code
ndr_pull_lsa_CREDRDELETE(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRDELETE
*r
)
10629 if (flags
& NDR_IN
) {
10631 if (flags
& NDR_OUT
) {
10632 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10634 return NDR_ERR_SUCCESS
;
10637 _PUBLIC_
void ndr_print_lsa_CREDRDELETE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRDELETE
*r
)
10639 ndr_print_struct(ndr
, name
, "lsa_CREDRDELETE");
10641 if (flags
& NDR_SET_VALUES
) {
10642 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10644 if (flags
& NDR_IN
) {
10645 ndr_print_struct(ndr
, "in", "lsa_CREDRDELETE");
10649 if (flags
& NDR_OUT
) {
10650 ndr_print_struct(ndr
, "out", "lsa_CREDRDELETE");
10652 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10658 static enum ndr_err_code
ndr_push_lsa_CREDRGETTARGETINFO(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRGETTARGETINFO
*r
)
10660 if (flags
& NDR_IN
) {
10662 if (flags
& NDR_OUT
) {
10663 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10665 return NDR_ERR_SUCCESS
;
10668 static enum ndr_err_code
ndr_pull_lsa_CREDRGETTARGETINFO(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRGETTARGETINFO
*r
)
10670 if (flags
& NDR_IN
) {
10672 if (flags
& NDR_OUT
) {
10673 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10675 return NDR_ERR_SUCCESS
;
10678 _PUBLIC_
void ndr_print_lsa_CREDRGETTARGETINFO(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRGETTARGETINFO
*r
)
10680 ndr_print_struct(ndr
, name
, "lsa_CREDRGETTARGETINFO");
10682 if (flags
& NDR_SET_VALUES
) {
10683 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10685 if (flags
& NDR_IN
) {
10686 ndr_print_struct(ndr
, "in", "lsa_CREDRGETTARGETINFO");
10690 if (flags
& NDR_OUT
) {
10691 ndr_print_struct(ndr
, "out", "lsa_CREDRGETTARGETINFO");
10693 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10699 static enum ndr_err_code
ndr_push_lsa_CREDRPROFILELOADED(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRPROFILELOADED
*r
)
10701 if (flags
& NDR_IN
) {
10703 if (flags
& NDR_OUT
) {
10704 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10706 return NDR_ERR_SUCCESS
;
10709 static enum ndr_err_code
ndr_pull_lsa_CREDRPROFILELOADED(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRPROFILELOADED
*r
)
10711 if (flags
& NDR_IN
) {
10713 if (flags
& NDR_OUT
) {
10714 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10716 return NDR_ERR_SUCCESS
;
10719 _PUBLIC_
void ndr_print_lsa_CREDRPROFILELOADED(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRPROFILELOADED
*r
)
10721 ndr_print_struct(ndr
, name
, "lsa_CREDRPROFILELOADED");
10723 if (flags
& NDR_SET_VALUES
) {
10724 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10726 if (flags
& NDR_IN
) {
10727 ndr_print_struct(ndr
, "in", "lsa_CREDRPROFILELOADED");
10731 if (flags
& NDR_OUT
) {
10732 ndr_print_struct(ndr
, "out", "lsa_CREDRPROFILELOADED");
10734 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10740 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupNames3(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames3
*r
)
10742 uint32_t cntr_names_0
;
10743 if (flags
& NDR_IN
) {
10744 if (r
->in
.handle
== NULL
) {
10745 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10747 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
10748 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
10749 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
10750 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10751 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
10753 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10754 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
10756 if (r
->in
.sids
== NULL
) {
10757 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10759 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10760 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
10761 if (r
->in
.count
== NULL
) {
10762 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10764 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
10765 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
10766 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
10768 if (flags
& NDR_OUT
) {
10769 if (r
->out
.domains
== NULL
) {
10770 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10772 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
10773 if (*r
->out
.domains
) {
10774 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
10776 if (r
->out
.sids
== NULL
) {
10777 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10779 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
10780 if (r
->out
.count
== NULL
) {
10781 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
10783 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
10784 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10786 return NDR_ERR_SUCCESS
;
10789 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupNames3(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames3
*r
)
10791 uint32_t cntr_names_0
;
10792 uint32_t _ptr_domains
;
10793 TALLOC_CTX
*_mem_save_handle_0
;
10794 TALLOC_CTX
*_mem_save_names_0
;
10795 TALLOC_CTX
*_mem_save_domains_0
;
10796 TALLOC_CTX
*_mem_save_domains_1
;
10797 TALLOC_CTX
*_mem_save_sids_0
;
10798 TALLOC_CTX
*_mem_save_count_0
;
10799 if (flags
& NDR_IN
) {
10800 ZERO_STRUCT(r
->out
);
10802 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10803 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
10805 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10806 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
10807 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
10808 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
10809 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
10810 if (r
->in
.num_names
< 0 || r
->in
.num_names
> 1000) {
10811 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
10813 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
10814 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
10815 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10816 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
10817 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10818 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
10820 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
10821 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
10823 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
10824 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10825 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
10827 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10828 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10829 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
10830 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10831 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
10832 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10833 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
10835 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10836 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
10837 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
10838 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10839 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
10840 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
10841 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10842 ZERO_STRUCTP(r
->out
.domains
);
10843 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
10844 *r
->out
.sids
= *r
->in
.sids
;
10845 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10846 *r
->out
.count
= *r
->in
.count
;
10848 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
10851 if (flags
& NDR_OUT
) {
10852 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10853 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
10855 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10856 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
10857 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
10858 if (_ptr_domains
) {
10859 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
10861 *r
->out
.domains
= NULL
;
10863 if (*r
->out
.domains
) {
10864 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
10865 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
10866 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
10867 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
10869 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
10870 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10871 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
10873 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10874 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
10875 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
10876 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
10877 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
10878 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
10880 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10881 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
10882 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
10883 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
10884 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10886 return NDR_ERR_SUCCESS
;
10889 _PUBLIC_
void ndr_print_lsa_LookupNames3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames3
*r
)
10891 uint32_t cntr_names_0
;
10892 ndr_print_struct(ndr
, name
, "lsa_LookupNames3");
10894 if (flags
& NDR_SET_VALUES
) {
10895 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10897 if (flags
& NDR_IN
) {
10898 ndr_print_struct(ndr
, "in", "lsa_LookupNames3");
10900 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
10902 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
10904 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
10905 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
10907 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
10909 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
10910 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
10915 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
10917 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->in
.sids
);
10919 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
10920 ndr_print_ptr(ndr
, "count", r
->in
.count
);
10922 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
10924 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
10925 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
10928 if (flags
& NDR_OUT
) {
10929 ndr_print_struct(ndr
, "out", "lsa_LookupNames3");
10931 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
10933 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
10935 if (*r
->out
.domains
) {
10936 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
10940 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
10942 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->out
.sids
);
10944 ndr_print_ptr(ndr
, "count", r
->out
.count
);
10946 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
10948 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10954 static enum ndr_err_code
ndr_push_lsa_CREDRGETSESSIONTYPES(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRGETSESSIONTYPES
*r
)
10956 if (flags
& NDR_IN
) {
10958 if (flags
& NDR_OUT
) {
10959 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
10961 return NDR_ERR_SUCCESS
;
10964 static enum ndr_err_code
ndr_pull_lsa_CREDRGETSESSIONTYPES(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRGETSESSIONTYPES
*r
)
10966 if (flags
& NDR_IN
) {
10968 if (flags
& NDR_OUT
) {
10969 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
10971 return NDR_ERR_SUCCESS
;
10974 _PUBLIC_
void ndr_print_lsa_CREDRGETSESSIONTYPES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRGETSESSIONTYPES
*r
)
10976 ndr_print_struct(ndr
, name
, "lsa_CREDRGETSESSIONTYPES");
10978 if (flags
& NDR_SET_VALUES
) {
10979 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
10981 if (flags
& NDR_IN
) {
10982 ndr_print_struct(ndr
, "in", "lsa_CREDRGETSESSIONTYPES");
10986 if (flags
& NDR_OUT
) {
10987 ndr_print_struct(ndr
, "out", "lsa_CREDRGETSESSIONTYPES");
10989 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
10995 static enum ndr_err_code
ndr_push_lsa_LSARREGISTERAUDITEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARREGISTERAUDITEVENT
*r
)
10997 if (flags
& NDR_IN
) {
10999 if (flags
& NDR_OUT
) {
11000 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11002 return NDR_ERR_SUCCESS
;
11005 static enum ndr_err_code
ndr_pull_lsa_LSARREGISTERAUDITEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARREGISTERAUDITEVENT
*r
)
11007 if (flags
& NDR_IN
) {
11009 if (flags
& NDR_OUT
) {
11010 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11012 return NDR_ERR_SUCCESS
;
11015 _PUBLIC_
void ndr_print_lsa_LSARREGISTERAUDITEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARREGISTERAUDITEVENT
*r
)
11017 ndr_print_struct(ndr
, name
, "lsa_LSARREGISTERAUDITEVENT");
11019 if (flags
& NDR_SET_VALUES
) {
11020 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11022 if (flags
& NDR_IN
) {
11023 ndr_print_struct(ndr
, "in", "lsa_LSARREGISTERAUDITEVENT");
11027 if (flags
& NDR_OUT
) {
11028 ndr_print_struct(ndr
, "out", "lsa_LSARREGISTERAUDITEVENT");
11030 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11036 static enum ndr_err_code
ndr_push_lsa_LSARGENAUDITEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARGENAUDITEVENT
*r
)
11038 if (flags
& NDR_IN
) {
11040 if (flags
& NDR_OUT
) {
11041 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11043 return NDR_ERR_SUCCESS
;
11046 static enum ndr_err_code
ndr_pull_lsa_LSARGENAUDITEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARGENAUDITEVENT
*r
)
11048 if (flags
& NDR_IN
) {
11050 if (flags
& NDR_OUT
) {
11051 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11053 return NDR_ERR_SUCCESS
;
11056 _PUBLIC_
void ndr_print_lsa_LSARGENAUDITEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARGENAUDITEVENT
*r
)
11058 ndr_print_struct(ndr
, name
, "lsa_LSARGENAUDITEVENT");
11060 if (flags
& NDR_SET_VALUES
) {
11061 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11063 if (flags
& NDR_IN
) {
11064 ndr_print_struct(ndr
, "in", "lsa_LSARGENAUDITEVENT");
11068 if (flags
& NDR_OUT
) {
11069 ndr_print_struct(ndr
, "out", "lsa_LSARGENAUDITEVENT");
11071 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11077 static enum ndr_err_code
ndr_push_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARUNREGISTERAUDITEVENT
*r
)
11079 if (flags
& NDR_IN
) {
11081 if (flags
& NDR_OUT
) {
11082 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11084 return NDR_ERR_SUCCESS
;
11087 static enum ndr_err_code
ndr_pull_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARUNREGISTERAUDITEVENT
*r
)
11089 if (flags
& NDR_IN
) {
11091 if (flags
& NDR_OUT
) {
11092 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11094 return NDR_ERR_SUCCESS
;
11097 _PUBLIC_
void ndr_print_lsa_LSARUNREGISTERAUDITEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARUNREGISTERAUDITEVENT
*r
)
11099 ndr_print_struct(ndr
, name
, "lsa_LSARUNREGISTERAUDITEVENT");
11101 if (flags
& NDR_SET_VALUES
) {
11102 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11104 if (flags
& NDR_IN
) {
11105 ndr_print_struct(ndr
, "in", "lsa_LSARUNREGISTERAUDITEVENT");
11109 if (flags
& NDR_OUT
) {
11110 ndr_print_struct(ndr
, "out", "lsa_LSARUNREGISTERAUDITEVENT");
11112 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11118 static enum ndr_err_code
ndr_push_lsa_lsaRQueryForestTrustInformation(struct ndr_push
*ndr
, int flags
, const struct lsa_lsaRQueryForestTrustInformation
*r
)
11120 if (flags
& NDR_IN
) {
11121 if (r
->in
.handle
== NULL
) {
11122 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11124 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
11125 if (r
->in
.trusted_domain_name
== NULL
) {
11126 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11128 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain_name
));
11129 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.unknown
));
11131 if (flags
& NDR_OUT
) {
11132 if (r
->out
.forest_trust_info
== NULL
) {
11133 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11135 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.forest_trust_info
));
11136 if (*r
->out
.forest_trust_info
) {
11137 NDR_CHECK(ndr_push_lsa_ForestTrustInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.forest_trust_info
));
11139 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11141 return NDR_ERR_SUCCESS
;
11144 static enum ndr_err_code
ndr_pull_lsa_lsaRQueryForestTrustInformation(struct ndr_pull
*ndr
, int flags
, struct lsa_lsaRQueryForestTrustInformation
*r
)
11146 uint32_t _ptr_forest_trust_info
;
11147 TALLOC_CTX
*_mem_save_handle_0
;
11148 TALLOC_CTX
*_mem_save_trusted_domain_name_0
;
11149 TALLOC_CTX
*_mem_save_forest_trust_info_0
;
11150 TALLOC_CTX
*_mem_save_forest_trust_info_1
;
11151 if (flags
& NDR_IN
) {
11152 ZERO_STRUCT(r
->out
);
11154 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11155 NDR_PULL_ALLOC(ndr
, r
->in
.handle
);
11157 _mem_save_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11158 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.handle
, LIBNDR_FLAG_REF_ALLOC
);
11159 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.handle
));
11160 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
11161 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11162 NDR_PULL_ALLOC(ndr
, r
->in
.trusted_domain_name
);
11164 _mem_save_trusted_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11165 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.trusted_domain_name
, LIBNDR_FLAG_REF_ALLOC
);
11166 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.trusted_domain_name
));
11167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_trusted_domain_name_0
, LIBNDR_FLAG_REF_ALLOC
);
11168 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.unknown
));
11169 NDR_PULL_ALLOC(ndr
, r
->out
.forest_trust_info
);
11170 ZERO_STRUCTP(r
->out
.forest_trust_info
);
11172 if (flags
& NDR_OUT
) {
11173 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11174 NDR_PULL_ALLOC(ndr
, r
->out
.forest_trust_info
);
11176 _mem_save_forest_trust_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11177 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.forest_trust_info
, LIBNDR_FLAG_REF_ALLOC
);
11178 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_forest_trust_info
));
11179 if (_ptr_forest_trust_info
) {
11180 NDR_PULL_ALLOC(ndr
, *r
->out
.forest_trust_info
);
11182 *r
->out
.forest_trust_info
= NULL
;
11184 if (*r
->out
.forest_trust_info
) {
11185 _mem_save_forest_trust_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11186 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.forest_trust_info
, 0);
11187 NDR_CHECK(ndr_pull_lsa_ForestTrustInformation(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.forest_trust_info
));
11188 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_forest_trust_info_1
, 0);
11190 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_forest_trust_info_0
, LIBNDR_FLAG_REF_ALLOC
);
11191 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11193 return NDR_ERR_SUCCESS
;
11196 _PUBLIC_
void ndr_print_lsa_lsaRQueryForestTrustInformation(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_lsaRQueryForestTrustInformation
*r
)
11198 ndr_print_struct(ndr
, name
, "lsa_lsaRQueryForestTrustInformation");
11200 if (flags
& NDR_SET_VALUES
) {
11201 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11203 if (flags
& NDR_IN
) {
11204 ndr_print_struct(ndr
, "in", "lsa_lsaRQueryForestTrustInformation");
11206 ndr_print_ptr(ndr
, "handle", r
->in
.handle
);
11208 ndr_print_policy_handle(ndr
, "handle", r
->in
.handle
);
11210 ndr_print_ptr(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
11212 ndr_print_lsa_String(ndr
, "trusted_domain_name", r
->in
.trusted_domain_name
);
11214 ndr_print_uint16(ndr
, "unknown", r
->in
.unknown
);
11217 if (flags
& NDR_OUT
) {
11218 ndr_print_struct(ndr
, "out", "lsa_lsaRQueryForestTrustInformation");
11220 ndr_print_ptr(ndr
, "forest_trust_info", r
->out
.forest_trust_info
);
11222 ndr_print_ptr(ndr
, "forest_trust_info", *r
->out
.forest_trust_info
);
11224 if (*r
->out
.forest_trust_info
) {
11225 ndr_print_lsa_ForestTrustInformation(ndr
, "forest_trust_info", *r
->out
.forest_trust_info
);
11229 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11235 static enum ndr_err_code
ndr_push_lsa_LSARSETFORESTTRUSTINFORMATION(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARSETFORESTTRUSTINFORMATION
*r
)
11237 if (flags
& NDR_IN
) {
11239 if (flags
& NDR_OUT
) {
11240 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11242 return NDR_ERR_SUCCESS
;
11245 static enum ndr_err_code
ndr_pull_lsa_LSARSETFORESTTRUSTINFORMATION(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARSETFORESTTRUSTINFORMATION
*r
)
11247 if (flags
& NDR_IN
) {
11249 if (flags
& NDR_OUT
) {
11250 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11252 return NDR_ERR_SUCCESS
;
11255 _PUBLIC_
void ndr_print_lsa_LSARSETFORESTTRUSTINFORMATION(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARSETFORESTTRUSTINFORMATION
*r
)
11257 ndr_print_struct(ndr
, name
, "lsa_LSARSETFORESTTRUSTINFORMATION");
11259 if (flags
& NDR_SET_VALUES
) {
11260 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11262 if (flags
& NDR_IN
) {
11263 ndr_print_struct(ndr
, "in", "lsa_LSARSETFORESTTRUSTINFORMATION");
11267 if (flags
& NDR_OUT
) {
11268 ndr_print_struct(ndr
, "out", "lsa_LSARSETFORESTTRUSTINFORMATION");
11270 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11276 static enum ndr_err_code
ndr_push_lsa_CREDRRENAME(struct ndr_push
*ndr
, int flags
, const struct lsa_CREDRRENAME
*r
)
11278 if (flags
& NDR_IN
) {
11280 if (flags
& NDR_OUT
) {
11281 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11283 return NDR_ERR_SUCCESS
;
11286 static enum ndr_err_code
ndr_pull_lsa_CREDRRENAME(struct ndr_pull
*ndr
, int flags
, struct lsa_CREDRRENAME
*r
)
11288 if (flags
& NDR_IN
) {
11290 if (flags
& NDR_OUT
) {
11291 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11293 return NDR_ERR_SUCCESS
;
11296 _PUBLIC_
void ndr_print_lsa_CREDRRENAME(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_CREDRRENAME
*r
)
11298 ndr_print_struct(ndr
, name
, "lsa_CREDRRENAME");
11300 if (flags
& NDR_SET_VALUES
) {
11301 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11303 if (flags
& NDR_IN
) {
11304 ndr_print_struct(ndr
, "in", "lsa_CREDRRENAME");
11308 if (flags
& NDR_OUT
) {
11309 ndr_print_struct(ndr
, "out", "lsa_CREDRRENAME");
11311 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11317 _PUBLIC_
enum ndr_err_code
ndr_push_lsa_LookupSids3(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupSids3
*r
)
11319 if (flags
& NDR_IN
) {
11320 if (r
->in
.sids
== NULL
) {
11321 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11323 NDR_CHECK(ndr_push_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11324 if (r
->in
.names
== NULL
) {
11325 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11327 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
11328 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->in
.level
));
11329 if (r
->in
.count
== NULL
) {
11330 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11332 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
11333 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
11334 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
11336 if (flags
& NDR_OUT
) {
11337 if (r
->out
.domains
== NULL
) {
11338 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11340 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
11341 if (*r
->out
.domains
) {
11342 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11344 if (r
->out
.names
== NULL
) {
11345 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11347 NDR_CHECK(ndr_push_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
11348 if (r
->out
.count
== NULL
) {
11349 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11351 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
11352 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11354 return NDR_ERR_SUCCESS
;
11357 _PUBLIC_
enum ndr_err_code
ndr_pull_lsa_LookupSids3(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupSids3
*r
)
11359 uint32_t _ptr_domains
;
11360 TALLOC_CTX
*_mem_save_sids_0
;
11361 TALLOC_CTX
*_mem_save_domains_0
;
11362 TALLOC_CTX
*_mem_save_domains_1
;
11363 TALLOC_CTX
*_mem_save_names_0
;
11364 TALLOC_CTX
*_mem_save_count_0
;
11365 if (flags
& NDR_IN
) {
11366 ZERO_STRUCT(r
->out
);
11368 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11369 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
11371 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11372 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
11373 NDR_CHECK(ndr_pull_lsa_SidArray(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11374 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
11375 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11376 NDR_PULL_ALLOC(ndr
, r
->in
.names
);
11378 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11379 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, LIBNDR_FLAG_REF_ALLOC
);
11380 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.names
));
11381 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
11382 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->in
.level
));
11383 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11384 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
11386 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11387 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
11388 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
11389 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11390 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
11391 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
11392 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11393 ZERO_STRUCTP(r
->out
.domains
);
11394 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
11395 *r
->out
.names
= *r
->in
.names
;
11396 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11397 *r
->out
.count
= *r
->in
.count
;
11399 if (flags
& NDR_OUT
) {
11400 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11401 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11403 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11404 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
11405 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
11406 if (_ptr_domains
) {
11407 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
11409 *r
->out
.domains
= NULL
;
11411 if (*r
->out
.domains
) {
11412 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11413 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
11414 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11415 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
11417 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
11418 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11419 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
11421 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11422 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
11423 NDR_CHECK(ndr_pull_lsa_TransNameArray2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
11424 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
11425 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11426 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11428 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11429 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
11430 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
11431 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11432 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11434 return NDR_ERR_SUCCESS
;
11437 _PUBLIC_
void ndr_print_lsa_LookupSids3(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupSids3
*r
)
11439 ndr_print_struct(ndr
, name
, "lsa_LookupSids3");
11441 if (flags
& NDR_SET_VALUES
) {
11442 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11444 if (flags
& NDR_IN
) {
11445 ndr_print_struct(ndr
, "in", "lsa_LookupSids3");
11447 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
11449 ndr_print_lsa_SidArray(ndr
, "sids", r
->in
.sids
);
11451 ndr_print_ptr(ndr
, "names", r
->in
.names
);
11453 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->in
.names
);
11455 ndr_print_uint16(ndr
, "level", r
->in
.level
);
11456 ndr_print_ptr(ndr
, "count", r
->in
.count
);
11458 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
11460 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
11461 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
11464 if (flags
& NDR_OUT
) {
11465 ndr_print_struct(ndr
, "out", "lsa_LookupSids3");
11467 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
11469 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
11471 if (*r
->out
.domains
) {
11472 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
11476 ndr_print_ptr(ndr
, "names", r
->out
.names
);
11478 ndr_print_lsa_TransNameArray2(ndr
, "names", r
->out
.names
);
11480 ndr_print_ptr(ndr
, "count", r
->out
.count
);
11482 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
11484 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11490 static enum ndr_err_code
ndr_push_lsa_LookupNames4(struct ndr_push
*ndr
, int flags
, const struct lsa_LookupNames4
*r
)
11492 uint32_t cntr_names_0
;
11493 if (flags
& NDR_IN
) {
11494 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
11495 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.num_names
));
11496 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11497 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
11499 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11500 NDR_CHECK(ndr_push_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
11502 if (r
->in
.sids
== NULL
) {
11503 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11505 NDR_CHECK(ndr_push_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11506 NDR_CHECK(ndr_push_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
11507 if (r
->in
.count
== NULL
) {
11508 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11510 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->in
.count
));
11511 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown1
));
11512 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.unknown2
));
11514 if (flags
& NDR_OUT
) {
11515 if (r
->out
.domains
== NULL
) {
11516 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11518 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domains
));
11519 if (*r
->out
.domains
) {
11520 NDR_CHECK(ndr_push_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11522 if (r
->out
.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
->out
.sids
));
11526 if (r
->out
.count
== NULL
) {
11527 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
11529 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.count
));
11530 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11532 return NDR_ERR_SUCCESS
;
11535 static enum ndr_err_code
ndr_pull_lsa_LookupNames4(struct ndr_pull
*ndr
, int flags
, struct lsa_LookupNames4
*r
)
11537 uint32_t cntr_names_0
;
11538 uint32_t _ptr_domains
;
11539 TALLOC_CTX
*_mem_save_names_0
;
11540 TALLOC_CTX
*_mem_save_domains_0
;
11541 TALLOC_CTX
*_mem_save_domains_1
;
11542 TALLOC_CTX
*_mem_save_sids_0
;
11543 TALLOC_CTX
*_mem_save_count_0
;
11544 if (flags
& NDR_IN
) {
11545 ZERO_STRUCT(r
->out
);
11547 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.num_names
));
11548 if (r
->in
.num_names
< 0 || r
->in
.num_names
> 1000) {
11549 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11551 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.names
));
11552 NDR_PULL_ALLOC_N(ndr
, r
->in
.names
, ndr_get_array_size(ndr
, &r
->in
.names
));
11553 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11554 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.names
, 0);
11555 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11556 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_SCALARS
, &r
->in
.names
[cntr_names_0
]));
11558 for (cntr_names_0
= 0; cntr_names_0
< r
->in
.num_names
; cntr_names_0
++) {
11559 NDR_CHECK(ndr_pull_lsa_String(ndr
, NDR_BUFFERS
, &r
->in
.names
[cntr_names_0
]));
11561 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
11562 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11563 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
11565 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11566 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
11567 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.sids
));
11568 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
11569 NDR_CHECK(ndr_pull_lsa_LookupNamesLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
11570 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11571 NDR_PULL_ALLOC(ndr
, r
->in
.count
);
11573 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11574 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.count
, LIBNDR_FLAG_REF_ALLOC
);
11575 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->in
.count
));
11576 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11577 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown1
));
11578 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.unknown2
));
11579 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11580 ZERO_STRUCTP(r
->out
.domains
);
11581 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
11582 *r
->out
.sids
= *r
->in
.sids
;
11583 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11584 *r
->out
.count
= *r
->in
.count
;
11586 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->in
.names
, r
->in
.num_names
));
11589 if (flags
& NDR_OUT
) {
11590 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11591 NDR_PULL_ALLOC(ndr
, r
->out
.domains
);
11593 _mem_save_domains_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11594 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domains
, LIBNDR_FLAG_REF_ALLOC
);
11595 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domains
));
11596 if (_ptr_domains
) {
11597 NDR_PULL_ALLOC(ndr
, *r
->out
.domains
);
11599 *r
->out
.domains
= NULL
;
11601 if (*r
->out
.domains
) {
11602 _mem_save_domains_1
= NDR_PULL_GET_MEM_CTX(ndr
);
11603 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domains
, 0);
11604 NDR_CHECK(ndr_pull_lsa_RefDomainList(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.domains
));
11605 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_1
, 0);
11607 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domains_0
, LIBNDR_FLAG_REF_ALLOC
);
11608 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11609 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
11611 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11612 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
11613 NDR_CHECK(ndr_pull_lsa_TransSidArray3(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.sids
));
11614 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
11615 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
11616 NDR_PULL_ALLOC(ndr
, r
->out
.count
);
11618 _mem_save_count_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11619 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.count
, LIBNDR_FLAG_REF_ALLOC
);
11620 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.count
));
11621 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_count_0
, LIBNDR_FLAG_REF_ALLOC
);
11622 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11624 return NDR_ERR_SUCCESS
;
11627 _PUBLIC_
void ndr_print_lsa_LookupNames4(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LookupNames4
*r
)
11629 uint32_t cntr_names_0
;
11630 ndr_print_struct(ndr
, name
, "lsa_LookupNames4");
11632 if (flags
& NDR_SET_VALUES
) {
11633 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11635 if (flags
& NDR_IN
) {
11636 ndr_print_struct(ndr
, "in", "lsa_LookupNames4");
11638 ndr_print_uint32(ndr
, "num_names", r
->in
.num_names
);
11639 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->in
.num_names
);
11641 for (cntr_names_0
=0;cntr_names_0
<r
->in
.num_names
;cntr_names_0
++) {
11643 if (asprintf(&idx_0
, "[%d]", cntr_names_0
) != -1) {
11644 ndr_print_lsa_String(ndr
, "names", &r
->in
.names
[cntr_names_0
]);
11649 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
11651 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->in
.sids
);
11653 ndr_print_lsa_LookupNamesLevel(ndr
, "level", r
->in
.level
);
11654 ndr_print_ptr(ndr
, "count", r
->in
.count
);
11656 ndr_print_uint32(ndr
, "count", *r
->in
.count
);
11658 ndr_print_uint32(ndr
, "unknown1", r
->in
.unknown1
);
11659 ndr_print_uint32(ndr
, "unknown2", r
->in
.unknown2
);
11662 if (flags
& NDR_OUT
) {
11663 ndr_print_struct(ndr
, "out", "lsa_LookupNames4");
11665 ndr_print_ptr(ndr
, "domains", r
->out
.domains
);
11667 ndr_print_ptr(ndr
, "domains", *r
->out
.domains
);
11669 if (*r
->out
.domains
) {
11670 ndr_print_lsa_RefDomainList(ndr
, "domains", *r
->out
.domains
);
11674 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
11676 ndr_print_lsa_TransSidArray3(ndr
, "sids", r
->out
.sids
);
11678 ndr_print_ptr(ndr
, "count", r
->out
.count
);
11680 ndr_print_uint32(ndr
, "count", *r
->out
.count
);
11682 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11688 static enum ndr_err_code
ndr_push_lsa_LSAROPENPOLICYSCE(struct ndr_push
*ndr
, int flags
, const struct lsa_LSAROPENPOLICYSCE
*r
)
11690 if (flags
& NDR_IN
) {
11692 if (flags
& NDR_OUT
) {
11693 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11695 return NDR_ERR_SUCCESS
;
11698 static enum ndr_err_code
ndr_pull_lsa_LSAROPENPOLICYSCE(struct ndr_pull
*ndr
, int flags
, struct lsa_LSAROPENPOLICYSCE
*r
)
11700 if (flags
& NDR_IN
) {
11702 if (flags
& NDR_OUT
) {
11703 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11705 return NDR_ERR_SUCCESS
;
11708 _PUBLIC_
void ndr_print_lsa_LSAROPENPOLICYSCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSAROPENPOLICYSCE
*r
)
11710 ndr_print_struct(ndr
, name
, "lsa_LSAROPENPOLICYSCE");
11712 if (flags
& NDR_SET_VALUES
) {
11713 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11715 if (flags
& NDR_IN
) {
11716 ndr_print_struct(ndr
, "in", "lsa_LSAROPENPOLICYSCE");
11720 if (flags
& NDR_OUT
) {
11721 ndr_print_struct(ndr
, "out", "lsa_LSAROPENPOLICYSCE");
11723 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11729 static enum ndr_err_code
ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
*r
)
11731 if (flags
& NDR_IN
) {
11733 if (flags
& NDR_OUT
) {
11734 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11736 return NDR_ERR_SUCCESS
;
11739 static enum ndr_err_code
ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
*r
)
11741 if (flags
& NDR_IN
) {
11743 if (flags
& NDR_OUT
) {
11744 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11746 return NDR_ERR_SUCCESS
;
11749 _PUBLIC_
void ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
*r
)
11751 ndr_print_struct(ndr
, name
, "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
11753 if (flags
& NDR_SET_VALUES
) {
11754 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11756 if (flags
& NDR_IN
) {
11757 ndr_print_struct(ndr
, "in", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
11761 if (flags
& NDR_OUT
) {
11762 ndr_print_struct(ndr
, "out", "lsa_LSARADTREGISTERSECURITYEVENTSOURCE");
11764 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11770 static enum ndr_err_code
ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
*r
)
11772 if (flags
& NDR_IN
) {
11774 if (flags
& NDR_OUT
) {
11775 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11777 return NDR_ERR_SUCCESS
;
11780 static enum ndr_err_code
ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
*r
)
11782 if (flags
& NDR_IN
) {
11784 if (flags
& NDR_OUT
) {
11785 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11787 return NDR_ERR_SUCCESS
;
11790 _PUBLIC_
void ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
*r
)
11792 ndr_print_struct(ndr
, name
, "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
11794 if (flags
& NDR_SET_VALUES
) {
11795 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11797 if (flags
& NDR_IN
) {
11798 ndr_print_struct(ndr
, "in", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
11802 if (flags
& NDR_OUT
) {
11803 ndr_print_struct(ndr
, "out", "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE");
11805 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11811 static enum ndr_err_code
ndr_push_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_push
*ndr
, int flags
, const struct lsa_LSARADTREPORTSECURITYEVENT
*r
)
11813 if (flags
& NDR_IN
) {
11815 if (flags
& NDR_OUT
) {
11816 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
11818 return NDR_ERR_SUCCESS
;
11821 static enum ndr_err_code
ndr_pull_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_pull
*ndr
, int flags
, struct lsa_LSARADTREPORTSECURITYEVENT
*r
)
11823 if (flags
& NDR_IN
) {
11825 if (flags
& NDR_OUT
) {
11826 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
11828 return NDR_ERR_SUCCESS
;
11831 _PUBLIC_
void ndr_print_lsa_LSARADTREPORTSECURITYEVENT(struct ndr_print
*ndr
, const char *name
, int flags
, const struct lsa_LSARADTREPORTSECURITYEVENT
*r
)
11833 ndr_print_struct(ndr
, name
, "lsa_LSARADTREPORTSECURITYEVENT");
11835 if (flags
& NDR_SET_VALUES
) {
11836 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
11838 if (flags
& NDR_IN
) {
11839 ndr_print_struct(ndr
, "in", "lsa_LSARADTREPORTSECURITYEVENT");
11843 if (flags
& NDR_OUT
) {
11844 ndr_print_struct(ndr
, "out", "lsa_LSARADTREPORTSECURITYEVENT");
11846 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
11852 static const struct ndr_interface_call lsarpc_calls
[] = {
11855 sizeof(struct lsa_Close
),
11856 (ndr_push_flags_fn_t
) ndr_push_lsa_Close
,
11857 (ndr_pull_flags_fn_t
) ndr_pull_lsa_Close
,
11858 (ndr_print_function_t
) ndr_print_lsa_Close
,
11863 sizeof(struct lsa_Delete
),
11864 (ndr_push_flags_fn_t
) ndr_push_lsa_Delete
,
11865 (ndr_pull_flags_fn_t
) ndr_pull_lsa_Delete
,
11866 (ndr_print_function_t
) ndr_print_lsa_Delete
,
11871 sizeof(struct lsa_EnumPrivs
),
11872 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumPrivs
,
11873 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumPrivs
,
11874 (ndr_print_function_t
) ndr_print_lsa_EnumPrivs
,
11878 "lsa_QuerySecurity",
11879 sizeof(struct lsa_QuerySecurity
),
11880 (ndr_push_flags_fn_t
) ndr_push_lsa_QuerySecurity
,
11881 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QuerySecurity
,
11882 (ndr_print_function_t
) ndr_print_lsa_QuerySecurity
,
11887 sizeof(struct lsa_SetSecObj
),
11888 (ndr_push_flags_fn_t
) ndr_push_lsa_SetSecObj
,
11889 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetSecObj
,
11890 (ndr_print_function_t
) ndr_print_lsa_SetSecObj
,
11894 "lsa_ChangePassword",
11895 sizeof(struct lsa_ChangePassword
),
11896 (ndr_push_flags_fn_t
) ndr_push_lsa_ChangePassword
,
11897 (ndr_pull_flags_fn_t
) ndr_pull_lsa_ChangePassword
,
11898 (ndr_print_function_t
) ndr_print_lsa_ChangePassword
,
11903 sizeof(struct lsa_OpenPolicy
),
11904 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenPolicy
,
11905 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenPolicy
,
11906 (ndr_print_function_t
) ndr_print_lsa_OpenPolicy
,
11910 "lsa_QueryInfoPolicy",
11911 sizeof(struct lsa_QueryInfoPolicy
),
11912 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryInfoPolicy
,
11913 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryInfoPolicy
,
11914 (ndr_print_function_t
) ndr_print_lsa_QueryInfoPolicy
,
11918 "lsa_SetInfoPolicy",
11919 sizeof(struct lsa_SetInfoPolicy
),
11920 (ndr_push_flags_fn_t
) ndr_push_lsa_SetInfoPolicy
,
11921 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetInfoPolicy
,
11922 (ndr_print_function_t
) ndr_print_lsa_SetInfoPolicy
,
11926 "lsa_ClearAuditLog",
11927 sizeof(struct lsa_ClearAuditLog
),
11928 (ndr_push_flags_fn_t
) ndr_push_lsa_ClearAuditLog
,
11929 (ndr_pull_flags_fn_t
) ndr_pull_lsa_ClearAuditLog
,
11930 (ndr_print_function_t
) ndr_print_lsa_ClearAuditLog
,
11934 "lsa_CreateAccount",
11935 sizeof(struct lsa_CreateAccount
),
11936 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateAccount
,
11937 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateAccount
,
11938 (ndr_print_function_t
) ndr_print_lsa_CreateAccount
,
11942 "lsa_EnumAccounts",
11943 sizeof(struct lsa_EnumAccounts
),
11944 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumAccounts
,
11945 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumAccounts
,
11946 (ndr_print_function_t
) ndr_print_lsa_EnumAccounts
,
11950 "lsa_CreateTrustedDomain",
11951 sizeof(struct lsa_CreateTrustedDomain
),
11952 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateTrustedDomain
,
11953 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateTrustedDomain
,
11954 (ndr_print_function_t
) ndr_print_lsa_CreateTrustedDomain
,
11958 "lsa_EnumTrustDom",
11959 sizeof(struct lsa_EnumTrustDom
),
11960 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumTrustDom
,
11961 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumTrustDom
,
11962 (ndr_print_function_t
) ndr_print_lsa_EnumTrustDom
,
11967 sizeof(struct lsa_LookupNames
),
11968 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames
,
11969 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames
,
11970 (ndr_print_function_t
) ndr_print_lsa_LookupNames
,
11975 sizeof(struct lsa_LookupSids
),
11976 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupSids
,
11977 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupSids
,
11978 (ndr_print_function_t
) ndr_print_lsa_LookupSids
,
11982 "lsa_CreateSecret",
11983 sizeof(struct lsa_CreateSecret
),
11984 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateSecret
,
11985 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateSecret
,
11986 (ndr_print_function_t
) ndr_print_lsa_CreateSecret
,
11991 sizeof(struct lsa_OpenAccount
),
11992 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenAccount
,
11993 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenAccount
,
11994 (ndr_print_function_t
) ndr_print_lsa_OpenAccount
,
11998 "lsa_EnumPrivsAccount",
11999 sizeof(struct lsa_EnumPrivsAccount
),
12000 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumPrivsAccount
,
12001 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumPrivsAccount
,
12002 (ndr_print_function_t
) ndr_print_lsa_EnumPrivsAccount
,
12006 "lsa_AddPrivilegesToAccount",
12007 sizeof(struct lsa_AddPrivilegesToAccount
),
12008 (ndr_push_flags_fn_t
) ndr_push_lsa_AddPrivilegesToAccount
,
12009 (ndr_pull_flags_fn_t
) ndr_pull_lsa_AddPrivilegesToAccount
,
12010 (ndr_print_function_t
) ndr_print_lsa_AddPrivilegesToAccount
,
12014 "lsa_RemovePrivilegesFromAccount",
12015 sizeof(struct lsa_RemovePrivilegesFromAccount
),
12016 (ndr_push_flags_fn_t
) ndr_push_lsa_RemovePrivilegesFromAccount
,
12017 (ndr_pull_flags_fn_t
) ndr_pull_lsa_RemovePrivilegesFromAccount
,
12018 (ndr_print_function_t
) ndr_print_lsa_RemovePrivilegesFromAccount
,
12022 "lsa_GetQuotasForAccount",
12023 sizeof(struct lsa_GetQuotasForAccount
),
12024 (ndr_push_flags_fn_t
) ndr_push_lsa_GetQuotasForAccount
,
12025 (ndr_pull_flags_fn_t
) ndr_pull_lsa_GetQuotasForAccount
,
12026 (ndr_print_function_t
) ndr_print_lsa_GetQuotasForAccount
,
12030 "lsa_SetQuotasForAccount",
12031 sizeof(struct lsa_SetQuotasForAccount
),
12032 (ndr_push_flags_fn_t
) ndr_push_lsa_SetQuotasForAccount
,
12033 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetQuotasForAccount
,
12034 (ndr_print_function_t
) ndr_print_lsa_SetQuotasForAccount
,
12038 "lsa_GetSystemAccessAccount",
12039 sizeof(struct lsa_GetSystemAccessAccount
),
12040 (ndr_push_flags_fn_t
) ndr_push_lsa_GetSystemAccessAccount
,
12041 (ndr_pull_flags_fn_t
) ndr_pull_lsa_GetSystemAccessAccount
,
12042 (ndr_print_function_t
) ndr_print_lsa_GetSystemAccessAccount
,
12046 "lsa_SetSystemAccessAccount",
12047 sizeof(struct lsa_SetSystemAccessAccount
),
12048 (ndr_push_flags_fn_t
) ndr_push_lsa_SetSystemAccessAccount
,
12049 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetSystemAccessAccount
,
12050 (ndr_print_function_t
) ndr_print_lsa_SetSystemAccessAccount
,
12054 "lsa_OpenTrustedDomain",
12055 sizeof(struct lsa_OpenTrustedDomain
),
12056 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenTrustedDomain
,
12057 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenTrustedDomain
,
12058 (ndr_print_function_t
) ndr_print_lsa_OpenTrustedDomain
,
12062 "lsa_QueryTrustedDomainInfo",
12063 sizeof(struct lsa_QueryTrustedDomainInfo
),
12064 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryTrustedDomainInfo
,
12065 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryTrustedDomainInfo
,
12066 (ndr_print_function_t
) ndr_print_lsa_QueryTrustedDomainInfo
,
12070 "lsa_SetInformationTrustedDomain",
12071 sizeof(struct lsa_SetInformationTrustedDomain
),
12072 (ndr_push_flags_fn_t
) ndr_push_lsa_SetInformationTrustedDomain
,
12073 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetInformationTrustedDomain
,
12074 (ndr_print_function_t
) ndr_print_lsa_SetInformationTrustedDomain
,
12079 sizeof(struct lsa_OpenSecret
),
12080 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenSecret
,
12081 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenSecret
,
12082 (ndr_print_function_t
) ndr_print_lsa_OpenSecret
,
12087 sizeof(struct lsa_SetSecret
),
12088 (ndr_push_flags_fn_t
) ndr_push_lsa_SetSecret
,
12089 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetSecret
,
12090 (ndr_print_function_t
) ndr_print_lsa_SetSecret
,
12095 sizeof(struct lsa_QuerySecret
),
12096 (ndr_push_flags_fn_t
) ndr_push_lsa_QuerySecret
,
12097 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QuerySecret
,
12098 (ndr_print_function_t
) ndr_print_lsa_QuerySecret
,
12102 "lsa_LookupPrivValue",
12103 sizeof(struct lsa_LookupPrivValue
),
12104 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupPrivValue
,
12105 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupPrivValue
,
12106 (ndr_print_function_t
) ndr_print_lsa_LookupPrivValue
,
12110 "lsa_LookupPrivName",
12111 sizeof(struct lsa_LookupPrivName
),
12112 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupPrivName
,
12113 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupPrivName
,
12114 (ndr_print_function_t
) ndr_print_lsa_LookupPrivName
,
12118 "lsa_LookupPrivDisplayName",
12119 sizeof(struct lsa_LookupPrivDisplayName
),
12120 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupPrivDisplayName
,
12121 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupPrivDisplayName
,
12122 (ndr_print_function_t
) ndr_print_lsa_LookupPrivDisplayName
,
12126 "lsa_DeleteObject",
12127 sizeof(struct lsa_DeleteObject
),
12128 (ndr_push_flags_fn_t
) ndr_push_lsa_DeleteObject
,
12129 (ndr_pull_flags_fn_t
) ndr_pull_lsa_DeleteObject
,
12130 (ndr_print_function_t
) ndr_print_lsa_DeleteObject
,
12134 "lsa_EnumAccountsWithUserRight",
12135 sizeof(struct lsa_EnumAccountsWithUserRight
),
12136 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumAccountsWithUserRight
,
12137 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumAccountsWithUserRight
,
12138 (ndr_print_function_t
) ndr_print_lsa_EnumAccountsWithUserRight
,
12142 "lsa_EnumAccountRights",
12143 sizeof(struct lsa_EnumAccountRights
),
12144 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumAccountRights
,
12145 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumAccountRights
,
12146 (ndr_print_function_t
) ndr_print_lsa_EnumAccountRights
,
12150 "lsa_AddAccountRights",
12151 sizeof(struct lsa_AddAccountRights
),
12152 (ndr_push_flags_fn_t
) ndr_push_lsa_AddAccountRights
,
12153 (ndr_pull_flags_fn_t
) ndr_pull_lsa_AddAccountRights
,
12154 (ndr_print_function_t
) ndr_print_lsa_AddAccountRights
,
12158 "lsa_RemoveAccountRights",
12159 sizeof(struct lsa_RemoveAccountRights
),
12160 (ndr_push_flags_fn_t
) ndr_push_lsa_RemoveAccountRights
,
12161 (ndr_pull_flags_fn_t
) ndr_pull_lsa_RemoveAccountRights
,
12162 (ndr_print_function_t
) ndr_print_lsa_RemoveAccountRights
,
12166 "lsa_QueryTrustedDomainInfoBySid",
12167 sizeof(struct lsa_QueryTrustedDomainInfoBySid
),
12168 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryTrustedDomainInfoBySid
,
12169 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryTrustedDomainInfoBySid
,
12170 (ndr_print_function_t
) ndr_print_lsa_QueryTrustedDomainInfoBySid
,
12174 "lsa_SetTrustedDomainInfo",
12175 sizeof(struct lsa_SetTrustedDomainInfo
),
12176 (ndr_push_flags_fn_t
) ndr_push_lsa_SetTrustedDomainInfo
,
12177 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetTrustedDomainInfo
,
12178 (ndr_print_function_t
) ndr_print_lsa_SetTrustedDomainInfo
,
12182 "lsa_DeleteTrustedDomain",
12183 sizeof(struct lsa_DeleteTrustedDomain
),
12184 (ndr_push_flags_fn_t
) ndr_push_lsa_DeleteTrustedDomain
,
12185 (ndr_pull_flags_fn_t
) ndr_pull_lsa_DeleteTrustedDomain
,
12186 (ndr_print_function_t
) ndr_print_lsa_DeleteTrustedDomain
,
12190 "lsa_StorePrivateData",
12191 sizeof(struct lsa_StorePrivateData
),
12192 (ndr_push_flags_fn_t
) ndr_push_lsa_StorePrivateData
,
12193 (ndr_pull_flags_fn_t
) ndr_pull_lsa_StorePrivateData
,
12194 (ndr_print_function_t
) ndr_print_lsa_StorePrivateData
,
12198 "lsa_RetrievePrivateData",
12199 sizeof(struct lsa_RetrievePrivateData
),
12200 (ndr_push_flags_fn_t
) ndr_push_lsa_RetrievePrivateData
,
12201 (ndr_pull_flags_fn_t
) ndr_pull_lsa_RetrievePrivateData
,
12202 (ndr_print_function_t
) ndr_print_lsa_RetrievePrivateData
,
12207 sizeof(struct lsa_OpenPolicy2
),
12208 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenPolicy2
,
12209 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenPolicy2
,
12210 (ndr_print_function_t
) ndr_print_lsa_OpenPolicy2
,
12215 sizeof(struct lsa_GetUserName
),
12216 (ndr_push_flags_fn_t
) ndr_push_lsa_GetUserName
,
12217 (ndr_pull_flags_fn_t
) ndr_pull_lsa_GetUserName
,
12218 (ndr_print_function_t
) ndr_print_lsa_GetUserName
,
12222 "lsa_QueryInfoPolicy2",
12223 sizeof(struct lsa_QueryInfoPolicy2
),
12224 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryInfoPolicy2
,
12225 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryInfoPolicy2
,
12226 (ndr_print_function_t
) ndr_print_lsa_QueryInfoPolicy2
,
12230 "lsa_SetInfoPolicy2",
12231 sizeof(struct lsa_SetInfoPolicy2
),
12232 (ndr_push_flags_fn_t
) ndr_push_lsa_SetInfoPolicy2
,
12233 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetInfoPolicy2
,
12234 (ndr_print_function_t
) ndr_print_lsa_SetInfoPolicy2
,
12238 "lsa_QueryTrustedDomainInfoByName",
12239 sizeof(struct lsa_QueryTrustedDomainInfoByName
),
12240 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryTrustedDomainInfoByName
,
12241 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryTrustedDomainInfoByName
,
12242 (ndr_print_function_t
) ndr_print_lsa_QueryTrustedDomainInfoByName
,
12246 "lsa_SetTrustedDomainInfoByName",
12247 sizeof(struct lsa_SetTrustedDomainInfoByName
),
12248 (ndr_push_flags_fn_t
) ndr_push_lsa_SetTrustedDomainInfoByName
,
12249 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetTrustedDomainInfoByName
,
12250 (ndr_print_function_t
) ndr_print_lsa_SetTrustedDomainInfoByName
,
12254 "lsa_EnumTrustedDomainsEx",
12255 sizeof(struct lsa_EnumTrustedDomainsEx
),
12256 (ndr_push_flags_fn_t
) ndr_push_lsa_EnumTrustedDomainsEx
,
12257 (ndr_pull_flags_fn_t
) ndr_pull_lsa_EnumTrustedDomainsEx
,
12258 (ndr_print_function_t
) ndr_print_lsa_EnumTrustedDomainsEx
,
12262 "lsa_CreateTrustedDomainEx",
12263 sizeof(struct lsa_CreateTrustedDomainEx
),
12264 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateTrustedDomainEx
,
12265 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateTrustedDomainEx
,
12266 (ndr_print_function_t
) ndr_print_lsa_CreateTrustedDomainEx
,
12270 "lsa_CloseTrustedDomainEx",
12271 sizeof(struct lsa_CloseTrustedDomainEx
),
12272 (ndr_push_flags_fn_t
) ndr_push_lsa_CloseTrustedDomainEx
,
12273 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CloseTrustedDomainEx
,
12274 (ndr_print_function_t
) ndr_print_lsa_CloseTrustedDomainEx
,
12278 "lsa_QueryDomainInformationPolicy",
12279 sizeof(struct lsa_QueryDomainInformationPolicy
),
12280 (ndr_push_flags_fn_t
) ndr_push_lsa_QueryDomainInformationPolicy
,
12281 (ndr_pull_flags_fn_t
) ndr_pull_lsa_QueryDomainInformationPolicy
,
12282 (ndr_print_function_t
) ndr_print_lsa_QueryDomainInformationPolicy
,
12286 "lsa_SetDomainInformationPolicy",
12287 sizeof(struct lsa_SetDomainInformationPolicy
),
12288 (ndr_push_flags_fn_t
) ndr_push_lsa_SetDomainInformationPolicy
,
12289 (ndr_pull_flags_fn_t
) ndr_pull_lsa_SetDomainInformationPolicy
,
12290 (ndr_print_function_t
) ndr_print_lsa_SetDomainInformationPolicy
,
12294 "lsa_OpenTrustedDomainByName",
12295 sizeof(struct lsa_OpenTrustedDomainByName
),
12296 (ndr_push_flags_fn_t
) ndr_push_lsa_OpenTrustedDomainByName
,
12297 (ndr_pull_flags_fn_t
) ndr_pull_lsa_OpenTrustedDomainByName
,
12298 (ndr_print_function_t
) ndr_print_lsa_OpenTrustedDomainByName
,
12303 sizeof(struct lsa_TestCall
),
12304 (ndr_push_flags_fn_t
) ndr_push_lsa_TestCall
,
12305 (ndr_pull_flags_fn_t
) ndr_pull_lsa_TestCall
,
12306 (ndr_print_function_t
) ndr_print_lsa_TestCall
,
12311 sizeof(struct lsa_LookupSids2
),
12312 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupSids2
,
12313 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupSids2
,
12314 (ndr_print_function_t
) ndr_print_lsa_LookupSids2
,
12318 "lsa_LookupNames2",
12319 sizeof(struct lsa_LookupNames2
),
12320 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames2
,
12321 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames2
,
12322 (ndr_print_function_t
) ndr_print_lsa_LookupNames2
,
12326 "lsa_CreateTrustedDomainEx2",
12327 sizeof(struct lsa_CreateTrustedDomainEx2
),
12328 (ndr_push_flags_fn_t
) ndr_push_lsa_CreateTrustedDomainEx2
,
12329 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CreateTrustedDomainEx2
,
12330 (ndr_print_function_t
) ndr_print_lsa_CreateTrustedDomainEx2
,
12335 sizeof(struct lsa_CREDRWRITE
),
12336 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRWRITE
,
12337 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRWRITE
,
12338 (ndr_print_function_t
) ndr_print_lsa_CREDRWRITE
,
12343 sizeof(struct lsa_CREDRREAD
),
12344 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRREAD
,
12345 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRREAD
,
12346 (ndr_print_function_t
) ndr_print_lsa_CREDRREAD
,
12350 "lsa_CREDRENUMERATE",
12351 sizeof(struct lsa_CREDRENUMERATE
),
12352 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRENUMERATE
,
12353 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRENUMERATE
,
12354 (ndr_print_function_t
) ndr_print_lsa_CREDRENUMERATE
,
12358 "lsa_CREDRWRITEDOMAINCREDENTIALS",
12359 sizeof(struct lsa_CREDRWRITEDOMAINCREDENTIALS
),
12360 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRWRITEDOMAINCREDENTIALS
,
12361 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRWRITEDOMAINCREDENTIALS
,
12362 (ndr_print_function_t
) ndr_print_lsa_CREDRWRITEDOMAINCREDENTIALS
,
12366 "lsa_CREDRREADDOMAINCREDENTIALS",
12367 sizeof(struct lsa_CREDRREADDOMAINCREDENTIALS
),
12368 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRREADDOMAINCREDENTIALS
,
12369 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRREADDOMAINCREDENTIALS
,
12370 (ndr_print_function_t
) ndr_print_lsa_CREDRREADDOMAINCREDENTIALS
,
12375 sizeof(struct lsa_CREDRDELETE
),
12376 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRDELETE
,
12377 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRDELETE
,
12378 (ndr_print_function_t
) ndr_print_lsa_CREDRDELETE
,
12382 "lsa_CREDRGETTARGETINFO",
12383 sizeof(struct lsa_CREDRGETTARGETINFO
),
12384 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRGETTARGETINFO
,
12385 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRGETTARGETINFO
,
12386 (ndr_print_function_t
) ndr_print_lsa_CREDRGETTARGETINFO
,
12390 "lsa_CREDRPROFILELOADED",
12391 sizeof(struct lsa_CREDRPROFILELOADED
),
12392 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRPROFILELOADED
,
12393 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRPROFILELOADED
,
12394 (ndr_print_function_t
) ndr_print_lsa_CREDRPROFILELOADED
,
12398 "lsa_LookupNames3",
12399 sizeof(struct lsa_LookupNames3
),
12400 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames3
,
12401 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames3
,
12402 (ndr_print_function_t
) ndr_print_lsa_LookupNames3
,
12406 "lsa_CREDRGETSESSIONTYPES",
12407 sizeof(struct lsa_CREDRGETSESSIONTYPES
),
12408 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRGETSESSIONTYPES
,
12409 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRGETSESSIONTYPES
,
12410 (ndr_print_function_t
) ndr_print_lsa_CREDRGETSESSIONTYPES
,
12414 "lsa_LSARREGISTERAUDITEVENT",
12415 sizeof(struct lsa_LSARREGISTERAUDITEVENT
),
12416 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARREGISTERAUDITEVENT
,
12417 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARREGISTERAUDITEVENT
,
12418 (ndr_print_function_t
) ndr_print_lsa_LSARREGISTERAUDITEVENT
,
12422 "lsa_LSARGENAUDITEVENT",
12423 sizeof(struct lsa_LSARGENAUDITEVENT
),
12424 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARGENAUDITEVENT
,
12425 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARGENAUDITEVENT
,
12426 (ndr_print_function_t
) ndr_print_lsa_LSARGENAUDITEVENT
,
12430 "lsa_LSARUNREGISTERAUDITEVENT",
12431 sizeof(struct lsa_LSARUNREGISTERAUDITEVENT
),
12432 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARUNREGISTERAUDITEVENT
,
12433 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARUNREGISTERAUDITEVENT
,
12434 (ndr_print_function_t
) ndr_print_lsa_LSARUNREGISTERAUDITEVENT
,
12438 "lsa_lsaRQueryForestTrustInformation",
12439 sizeof(struct lsa_lsaRQueryForestTrustInformation
),
12440 (ndr_push_flags_fn_t
) ndr_push_lsa_lsaRQueryForestTrustInformation
,
12441 (ndr_pull_flags_fn_t
) ndr_pull_lsa_lsaRQueryForestTrustInformation
,
12442 (ndr_print_function_t
) ndr_print_lsa_lsaRQueryForestTrustInformation
,
12446 "lsa_LSARSETFORESTTRUSTINFORMATION",
12447 sizeof(struct lsa_LSARSETFORESTTRUSTINFORMATION
),
12448 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARSETFORESTTRUSTINFORMATION
,
12449 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARSETFORESTTRUSTINFORMATION
,
12450 (ndr_print_function_t
) ndr_print_lsa_LSARSETFORESTTRUSTINFORMATION
,
12455 sizeof(struct lsa_CREDRRENAME
),
12456 (ndr_push_flags_fn_t
) ndr_push_lsa_CREDRRENAME
,
12457 (ndr_pull_flags_fn_t
) ndr_pull_lsa_CREDRRENAME
,
12458 (ndr_print_function_t
) ndr_print_lsa_CREDRRENAME
,
12463 sizeof(struct lsa_LookupSids3
),
12464 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupSids3
,
12465 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupSids3
,
12466 (ndr_print_function_t
) ndr_print_lsa_LookupSids3
,
12470 "lsa_LookupNames4",
12471 sizeof(struct lsa_LookupNames4
),
12472 (ndr_push_flags_fn_t
) ndr_push_lsa_LookupNames4
,
12473 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LookupNames4
,
12474 (ndr_print_function_t
) ndr_print_lsa_LookupNames4
,
12478 "lsa_LSAROPENPOLICYSCE",
12479 sizeof(struct lsa_LSAROPENPOLICYSCE
),
12480 (ndr_push_flags_fn_t
) ndr_push_lsa_LSAROPENPOLICYSCE
,
12481 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSAROPENPOLICYSCE
,
12482 (ndr_print_function_t
) ndr_print_lsa_LSAROPENPOLICYSCE
,
12486 "lsa_LSARADTREGISTERSECURITYEVENTSOURCE",
12487 sizeof(struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
),
12488 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARADTREGISTERSECURITYEVENTSOURCE
,
12489 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARADTREGISTERSECURITYEVENTSOURCE
,
12490 (ndr_print_function_t
) ndr_print_lsa_LSARADTREGISTERSECURITYEVENTSOURCE
,
12494 "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE",
12495 sizeof(struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
),
12496 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
,
12497 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
,
12498 (ndr_print_function_t
) ndr_print_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
,
12502 "lsa_LSARADTREPORTSECURITYEVENT",
12503 sizeof(struct lsa_LSARADTREPORTSECURITYEVENT
),
12504 (ndr_push_flags_fn_t
) ndr_push_lsa_LSARADTREPORTSECURITYEVENT
,
12505 (ndr_pull_flags_fn_t
) ndr_pull_lsa_LSARADTREPORTSECURITYEVENT
,
12506 (ndr_print_function_t
) ndr_print_lsa_LSARADTREPORTSECURITYEVENT
,
12509 { NULL
, 0, NULL
, NULL
, NULL
, false }
12512 static const char * const lsarpc_endpoint_strings
[] = {
12513 "ncacn_np:[\\pipe\\lsarpc]",
12514 "ncacn_np:[\\pipe\\netlogon]",
12515 "ncacn_np:[\\pipe\\lsass]",
12520 static const struct ndr_interface_string_array lsarpc_endpoints
= {
12522 .names
= lsarpc_endpoint_strings
12525 static const char * const lsarpc_authservice_strings
[] = {
12529 static const struct ndr_interface_string_array lsarpc_authservices
= {
12531 .names
= lsarpc_authservice_strings
12535 const struct ndr_interface_table ndr_table_lsarpc
= {
12538 {0x12345778,0x1234,0xabcd,{0xef,0x00},{0x01,0x23,0x45,0x67,0x89,0xab}},
12541 .helpstring
= NDR_LSARPC_HELPSTRING
,
12543 .calls
= lsarpc_calls
,
12544 .endpoints
= &lsarpc_endpoints
,
12545 .authservices
= &lsarpc_authservices