1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_wbint.h"
6 #include "librpc/gen_ndr/ndr_lsa.h"
7 _PUBLIC_
enum ndr_err_code
ndr_push_wbint_userinfo(struct ndr_push
*ndr
, int ndr_flags
, const struct wbint_userinfo
*r
)
9 if (ndr_flags
& NDR_SCALARS
) {
10 NDR_CHECK(ndr_push_align(ndr
, 8));
11 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->acct_name
));
12 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->full_name
));
13 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->homedir
));
14 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->shell
));
15 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->primary_gid
));
16 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, &r
->user_sid
));
17 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, &r
->group_sid
));
19 if (ndr_flags
& NDR_BUFFERS
) {
21 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->acct_name
, CH_UTF8
)));
22 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
23 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->acct_name
, CH_UTF8
)));
24 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->acct_name
, ndr_charset_length(r
->acct_name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
27 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->full_name
, CH_UTF8
)));
28 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
29 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->full_name
, CH_UTF8
)));
30 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->full_name
, ndr_charset_length(r
->full_name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
33 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->homedir
, CH_UTF8
)));
34 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
35 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->homedir
, CH_UTF8
)));
36 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->homedir
, ndr_charset_length(r
->homedir
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
39 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->shell
, CH_UTF8
)));
40 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
41 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->shell
, CH_UTF8
)));
42 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->shell
, ndr_charset_length(r
->shell
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
45 return NDR_ERR_SUCCESS
;
48 _PUBLIC_
enum ndr_err_code
ndr_pull_wbint_userinfo(struct ndr_pull
*ndr
, int ndr_flags
, struct wbint_userinfo
*r
)
50 uint32_t _ptr_acct_name
;
51 TALLOC_CTX
*_mem_save_acct_name_0
;
52 uint32_t _ptr_full_name
;
53 TALLOC_CTX
*_mem_save_full_name_0
;
54 uint32_t _ptr_homedir
;
55 TALLOC_CTX
*_mem_save_homedir_0
;
57 TALLOC_CTX
*_mem_save_shell_0
;
58 if (ndr_flags
& NDR_SCALARS
) {
59 NDR_CHECK(ndr_pull_align(ndr
, 8));
60 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_acct_name
));
62 NDR_PULL_ALLOC(ndr
, r
->acct_name
);
66 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_full_name
));
68 NDR_PULL_ALLOC(ndr
, r
->full_name
);
72 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_homedir
));
74 NDR_PULL_ALLOC(ndr
, r
->homedir
);
78 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_shell
));
80 NDR_PULL_ALLOC(ndr
, r
->shell
);
84 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->primary_gid
));
85 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, &r
->user_sid
));
86 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, &r
->group_sid
));
88 if (ndr_flags
& NDR_BUFFERS
) {
90 _mem_save_acct_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
91 NDR_PULL_SET_MEM_CTX(ndr
, r
->acct_name
, 0);
92 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->acct_name
));
93 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->acct_name
));
94 if (ndr_get_array_length(ndr
, &r
->acct_name
) > ndr_get_array_size(ndr
, &r
->acct_name
)) {
95 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->acct_name
), ndr_get_array_length(ndr
, &r
->acct_name
));
97 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->acct_name
), sizeof(uint8_t)));
98 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->acct_name
, ndr_get_array_length(ndr
, &r
->acct_name
), sizeof(uint8_t), CH_UTF8
));
99 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_acct_name_0
, 0);
102 _mem_save_full_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
103 NDR_PULL_SET_MEM_CTX(ndr
, r
->full_name
, 0);
104 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->full_name
));
105 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->full_name
));
106 if (ndr_get_array_length(ndr
, &r
->full_name
) > ndr_get_array_size(ndr
, &r
->full_name
)) {
107 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->full_name
), ndr_get_array_length(ndr
, &r
->full_name
));
109 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->full_name
), sizeof(uint8_t)));
110 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->full_name
, ndr_get_array_length(ndr
, &r
->full_name
), sizeof(uint8_t), CH_UTF8
));
111 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_full_name_0
, 0);
114 _mem_save_homedir_0
= NDR_PULL_GET_MEM_CTX(ndr
);
115 NDR_PULL_SET_MEM_CTX(ndr
, r
->homedir
, 0);
116 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->homedir
));
117 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->homedir
));
118 if (ndr_get_array_length(ndr
, &r
->homedir
) > ndr_get_array_size(ndr
, &r
->homedir
)) {
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
->homedir
), ndr_get_array_length(ndr
, &r
->homedir
));
121 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->homedir
), sizeof(uint8_t)));
122 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->homedir
, ndr_get_array_length(ndr
, &r
->homedir
), sizeof(uint8_t), CH_UTF8
));
123 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_homedir_0
, 0);
126 _mem_save_shell_0
= NDR_PULL_GET_MEM_CTX(ndr
);
127 NDR_PULL_SET_MEM_CTX(ndr
, r
->shell
, 0);
128 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->shell
));
129 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->shell
));
130 if (ndr_get_array_length(ndr
, &r
->shell
) > ndr_get_array_size(ndr
, &r
->shell
)) {
131 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->shell
), ndr_get_array_length(ndr
, &r
->shell
));
133 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->shell
), sizeof(uint8_t)));
134 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->shell
, ndr_get_array_length(ndr
, &r
->shell
), sizeof(uint8_t), CH_UTF8
));
135 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_shell_0
, 0);
138 return NDR_ERR_SUCCESS
;
141 _PUBLIC_
void ndr_print_wbint_userinfo(struct ndr_print
*ndr
, const char *name
, const struct wbint_userinfo
*r
)
143 ndr_print_struct(ndr
, name
, "wbint_userinfo");
145 ndr_print_ptr(ndr
, "acct_name", r
->acct_name
);
148 ndr_print_string(ndr
, "acct_name", r
->acct_name
);
151 ndr_print_ptr(ndr
, "full_name", r
->full_name
);
154 ndr_print_string(ndr
, "full_name", r
->full_name
);
157 ndr_print_ptr(ndr
, "homedir", r
->homedir
);
160 ndr_print_string(ndr
, "homedir", r
->homedir
);
163 ndr_print_ptr(ndr
, "shell", r
->shell
);
166 ndr_print_string(ndr
, "shell", r
->shell
);
169 ndr_print_hyper(ndr
, "primary_gid", r
->primary_gid
);
170 ndr_print_dom_sid(ndr
, "user_sid", &r
->user_sid
);
171 ndr_print_dom_sid(ndr
, "group_sid", &r
->group_sid
);
175 _PUBLIC_
enum ndr_err_code
ndr_push_wbint_SidArray(struct ndr_push
*ndr
, int ndr_flags
, const struct wbint_SidArray
*r
)
177 uint32_t cntr_sids_0
;
178 if (ndr_flags
& NDR_SCALARS
) {
179 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
180 NDR_CHECK(ndr_push_align(ndr
, 4));
181 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
182 for (cntr_sids_0
= 0; cntr_sids_0
< r
->num_sids
; cntr_sids_0
++) {
183 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_0
]));
186 if (ndr_flags
& NDR_BUFFERS
) {
188 return NDR_ERR_SUCCESS
;
191 _PUBLIC_
enum ndr_err_code
ndr_pull_wbint_SidArray(struct ndr_pull
*ndr
, int ndr_flags
, struct wbint_SidArray
*r
)
193 uint32_t cntr_sids_0
;
194 TALLOC_CTX
*_mem_save_sids_0
;
195 if (ndr_flags
& NDR_SCALARS
) {
196 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
197 NDR_CHECK(ndr_pull_align(ndr
, 4));
198 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
199 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
200 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
201 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
202 for (cntr_sids_0
= 0; cntr_sids_0
< r
->num_sids
; cntr_sids_0
++) {
203 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, &r
->sids
[cntr_sids_0
]));
205 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
207 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
210 if (ndr_flags
& NDR_BUFFERS
) {
212 return NDR_ERR_SUCCESS
;
215 _PUBLIC_
void ndr_print_wbint_SidArray(struct ndr_print
*ndr
, const char *name
, const struct wbint_SidArray
*r
)
217 uint32_t cntr_sids_0
;
218 ndr_print_struct(ndr
, name
, "wbint_SidArray");
220 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
221 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
223 for (cntr_sids_0
=0;cntr_sids_0
<r
->num_sids
;cntr_sids_0
++) {
225 if (asprintf(&idx_0
, "[%d]", cntr_sids_0
) != -1) {
226 ndr_print_dom_sid(ndr
, "sids", &r
->sids
[cntr_sids_0
]);
234 _PUBLIC_
enum ndr_err_code
ndr_push_wbint_RidArray(struct ndr_push
*ndr
, int ndr_flags
, const struct wbint_RidArray
*r
)
236 uint32_t cntr_rids_0
;
237 if (ndr_flags
& NDR_SCALARS
) {
238 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_rids
));
239 NDR_CHECK(ndr_push_align(ndr
, 4));
240 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_rids
));
241 for (cntr_rids_0
= 0; cntr_rids_0
< r
->num_rids
; cntr_rids_0
++) {
242 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->rids
[cntr_rids_0
]));
245 if (ndr_flags
& NDR_BUFFERS
) {
247 return NDR_ERR_SUCCESS
;
250 _PUBLIC_
enum ndr_err_code
ndr_pull_wbint_RidArray(struct ndr_pull
*ndr
, int ndr_flags
, struct wbint_RidArray
*r
)
252 uint32_t cntr_rids_0
;
253 TALLOC_CTX
*_mem_save_rids_0
;
254 if (ndr_flags
& NDR_SCALARS
) {
255 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->rids
));
256 NDR_CHECK(ndr_pull_align(ndr
, 4));
257 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_rids
));
258 NDR_PULL_ALLOC_N(ndr
, r
->rids
, ndr_get_array_size(ndr
, &r
->rids
));
259 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
260 NDR_PULL_SET_MEM_CTX(ndr
, r
->rids
, 0);
261 for (cntr_rids_0
= 0; cntr_rids_0
< r
->num_rids
; cntr_rids_0
++) {
262 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->rids
[cntr_rids_0
]));
264 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, 0);
266 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->rids
, r
->num_rids
));
269 if (ndr_flags
& NDR_BUFFERS
) {
271 return NDR_ERR_SUCCESS
;
274 _PUBLIC_
void ndr_print_wbint_RidArray(struct ndr_print
*ndr
, const char *name
, const struct wbint_RidArray
*r
)
276 uint32_t cntr_rids_0
;
277 ndr_print_struct(ndr
, name
, "wbint_RidArray");
279 ndr_print_uint32(ndr
, "num_rids", r
->num_rids
);
280 ndr
->print(ndr
, "%s: ARRAY(%d)", "rids", (int)r
->num_rids
);
282 for (cntr_rids_0
=0;cntr_rids_0
<r
->num_rids
;cntr_rids_0
++) {
284 if (asprintf(&idx_0
, "[%d]", cntr_rids_0
) != -1) {
285 ndr_print_uint32(ndr
, "rids", r
->rids
[cntr_rids_0
]);
293 _PUBLIC_
enum ndr_err_code
ndr_push_wbint_Principal(struct ndr_push
*ndr
, int ndr_flags
, const struct wbint_Principal
*r
)
295 if (ndr_flags
& NDR_SCALARS
) {
296 NDR_CHECK(ndr_push_align(ndr
, 4));
297 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, &r
->sid
));
298 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->type
));
299 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->name
));
301 if (ndr_flags
& NDR_BUFFERS
) {
303 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->name
, CH_UTF8
)));
304 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
305 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->name
, CH_UTF8
)));
306 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->name
, ndr_charset_length(r
->name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
309 return NDR_ERR_SUCCESS
;
312 _PUBLIC_
enum ndr_err_code
ndr_pull_wbint_Principal(struct ndr_pull
*ndr
, int ndr_flags
, struct wbint_Principal
*r
)
315 TALLOC_CTX
*_mem_save_name_0
;
316 if (ndr_flags
& NDR_SCALARS
) {
317 NDR_CHECK(ndr_pull_align(ndr
, 4));
318 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, &r
->sid
));
319 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->type
));
320 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
322 NDR_PULL_ALLOC(ndr
, r
->name
);
327 if (ndr_flags
& NDR_BUFFERS
) {
329 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
330 NDR_PULL_SET_MEM_CTX(ndr
, r
->name
, 0);
331 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->name
));
332 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->name
));
333 if (ndr_get_array_length(ndr
, &r
->name
) > ndr_get_array_size(ndr
, &r
->name
)) {
334 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, &r
->name
), ndr_get_array_length(ndr
, &r
->name
));
336 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->name
), sizeof(uint8_t)));
337 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->name
, ndr_get_array_length(ndr
, &r
->name
), sizeof(uint8_t), CH_UTF8
));
338 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, 0);
341 return NDR_ERR_SUCCESS
;
344 _PUBLIC_
void ndr_print_wbint_Principal(struct ndr_print
*ndr
, const char *name
, const struct wbint_Principal
*r
)
346 ndr_print_struct(ndr
, name
, "wbint_Principal");
348 ndr_print_dom_sid(ndr
, "sid", &r
->sid
);
349 ndr_print_lsa_SidType(ndr
, "type", r
->type
);
350 ndr_print_ptr(ndr
, "name", r
->name
);
353 ndr_print_string(ndr
, "name", r
->name
);
359 _PUBLIC_
enum ndr_err_code
ndr_push_wbint_Principals(struct ndr_push
*ndr
, int ndr_flags
, const struct wbint_Principals
*r
)
361 uint32_t cntr_principals_0
;
362 if (ndr_flags
& NDR_SCALARS
) {
363 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_principals
));
364 NDR_CHECK(ndr_push_align(ndr
, 4));
365 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->num_principals
));
366 for (cntr_principals_0
= 0; cntr_principals_0
< r
->num_principals
; cntr_principals_0
++) {
367 NDR_CHECK(ndr_push_wbint_Principal(ndr
, NDR_SCALARS
, &r
->principals
[cntr_principals_0
]));
370 if (ndr_flags
& NDR_BUFFERS
) {
371 for (cntr_principals_0
= 0; cntr_principals_0
< r
->num_principals
; cntr_principals_0
++) {
372 NDR_CHECK(ndr_push_wbint_Principal(ndr
, NDR_BUFFERS
, &r
->principals
[cntr_principals_0
]));
375 return NDR_ERR_SUCCESS
;
378 _PUBLIC_
enum ndr_err_code
ndr_pull_wbint_Principals(struct ndr_pull
*ndr
, int ndr_flags
, struct wbint_Principals
*r
)
380 uint32_t cntr_principals_0
;
381 TALLOC_CTX
*_mem_save_principals_0
;
382 if (ndr_flags
& NDR_SCALARS
) {
383 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->principals
));
384 NDR_CHECK(ndr_pull_align(ndr
, 4));
385 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->num_principals
));
386 NDR_PULL_ALLOC_N(ndr
, r
->principals
, ndr_get_array_size(ndr
, &r
->principals
));
387 _mem_save_principals_0
= NDR_PULL_GET_MEM_CTX(ndr
);
388 NDR_PULL_SET_MEM_CTX(ndr
, r
->principals
, 0);
389 for (cntr_principals_0
= 0; cntr_principals_0
< r
->num_principals
; cntr_principals_0
++) {
390 NDR_CHECK(ndr_pull_wbint_Principal(ndr
, NDR_SCALARS
, &r
->principals
[cntr_principals_0
]));
392 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_principals_0
, 0);
394 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->principals
, r
->num_principals
));
397 if (ndr_flags
& NDR_BUFFERS
) {
398 _mem_save_principals_0
= NDR_PULL_GET_MEM_CTX(ndr
);
399 NDR_PULL_SET_MEM_CTX(ndr
, r
->principals
, 0);
400 for (cntr_principals_0
= 0; cntr_principals_0
< r
->num_principals
; cntr_principals_0
++) {
401 NDR_CHECK(ndr_pull_wbint_Principal(ndr
, NDR_BUFFERS
, &r
->principals
[cntr_principals_0
]));
403 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_principals_0
, 0);
405 return NDR_ERR_SUCCESS
;
408 _PUBLIC_
void ndr_print_wbint_Principals(struct ndr_print
*ndr
, const char *name
, const struct wbint_Principals
*r
)
410 uint32_t cntr_principals_0
;
411 ndr_print_struct(ndr
, name
, "wbint_Principals");
413 ndr_print_int32(ndr
, "num_principals", r
->num_principals
);
414 ndr
->print(ndr
, "%s: ARRAY(%d)", "principals", (int)r
->num_principals
);
416 for (cntr_principals_0
=0;cntr_principals_0
<r
->num_principals
;cntr_principals_0
++) {
418 if (asprintf(&idx_0
, "[%d]", cntr_principals_0
) != -1) {
419 ndr_print_wbint_Principal(ndr
, "principals", &r
->principals
[cntr_principals_0
]);
427 _PUBLIC_
enum ndr_err_code
ndr_push_wbint_userinfos(struct ndr_push
*ndr
, int ndr_flags
, const struct wbint_userinfos
*r
)
429 uint32_t cntr_userinfos_0
;
430 if (ndr_flags
& NDR_SCALARS
) {
431 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_userinfos
));
432 NDR_CHECK(ndr_push_align(ndr
, 8));
433 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_userinfos
));
434 for (cntr_userinfos_0
= 0; cntr_userinfos_0
< r
->num_userinfos
; cntr_userinfos_0
++) {
435 NDR_CHECK(ndr_push_wbint_userinfo(ndr
, NDR_SCALARS
, &r
->userinfos
[cntr_userinfos_0
]));
438 if (ndr_flags
& NDR_BUFFERS
) {
439 for (cntr_userinfos_0
= 0; cntr_userinfos_0
< r
->num_userinfos
; cntr_userinfos_0
++) {
440 NDR_CHECK(ndr_push_wbint_userinfo(ndr
, NDR_BUFFERS
, &r
->userinfos
[cntr_userinfos_0
]));
443 return NDR_ERR_SUCCESS
;
446 _PUBLIC_
enum ndr_err_code
ndr_pull_wbint_userinfos(struct ndr_pull
*ndr
, int ndr_flags
, struct wbint_userinfos
*r
)
448 uint32_t cntr_userinfos_0
;
449 TALLOC_CTX
*_mem_save_userinfos_0
;
450 if (ndr_flags
& NDR_SCALARS
) {
451 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->userinfos
));
452 NDR_CHECK(ndr_pull_align(ndr
, 8));
453 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_userinfos
));
454 NDR_PULL_ALLOC_N(ndr
, r
->userinfos
, ndr_get_array_size(ndr
, &r
->userinfos
));
455 _mem_save_userinfos_0
= NDR_PULL_GET_MEM_CTX(ndr
);
456 NDR_PULL_SET_MEM_CTX(ndr
, r
->userinfos
, 0);
457 for (cntr_userinfos_0
= 0; cntr_userinfos_0
< r
->num_userinfos
; cntr_userinfos_0
++) {
458 NDR_CHECK(ndr_pull_wbint_userinfo(ndr
, NDR_SCALARS
, &r
->userinfos
[cntr_userinfos_0
]));
460 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_userinfos_0
, 0);
462 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->userinfos
, r
->num_userinfos
));
465 if (ndr_flags
& NDR_BUFFERS
) {
466 _mem_save_userinfos_0
= NDR_PULL_GET_MEM_CTX(ndr
);
467 NDR_PULL_SET_MEM_CTX(ndr
, r
->userinfos
, 0);
468 for (cntr_userinfos_0
= 0; cntr_userinfos_0
< r
->num_userinfos
; cntr_userinfos_0
++) {
469 NDR_CHECK(ndr_pull_wbint_userinfo(ndr
, NDR_BUFFERS
, &r
->userinfos
[cntr_userinfos_0
]));
471 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_userinfos_0
, 0);
473 return NDR_ERR_SUCCESS
;
476 _PUBLIC_
void ndr_print_wbint_userinfos(struct ndr_print
*ndr
, const char *name
, const struct wbint_userinfos
*r
)
478 uint32_t cntr_userinfos_0
;
479 ndr_print_struct(ndr
, name
, "wbint_userinfos");
481 ndr_print_uint32(ndr
, "num_userinfos", r
->num_userinfos
);
482 ndr
->print(ndr
, "%s: ARRAY(%d)", "userinfos", (int)r
->num_userinfos
);
484 for (cntr_userinfos_0
=0;cntr_userinfos_0
<r
->num_userinfos
;cntr_userinfos_0
++) {
486 if (asprintf(&idx_0
, "[%d]", cntr_userinfos_0
) != -1) {
487 ndr_print_wbint_userinfo(ndr
, "userinfos", &r
->userinfos
[cntr_userinfos_0
]);
495 static enum ndr_err_code
ndr_push_wbint_Ping(struct ndr_push
*ndr
, int flags
, const struct wbint_Ping
*r
)
497 if (flags
& NDR_IN
) {
498 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.in_data
));
500 if (flags
& NDR_OUT
) {
501 if (r
->out
.out_data
== NULL
) {
502 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
504 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.out_data
));
506 return NDR_ERR_SUCCESS
;
509 static enum ndr_err_code
ndr_pull_wbint_Ping(struct ndr_pull
*ndr
, int flags
, struct wbint_Ping
*r
)
511 TALLOC_CTX
*_mem_save_out_data_0
;
512 if (flags
& NDR_IN
) {
515 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.in_data
));
516 NDR_PULL_ALLOC(ndr
, r
->out
.out_data
);
517 ZERO_STRUCTP(r
->out
.out_data
);
519 if (flags
& NDR_OUT
) {
520 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
521 NDR_PULL_ALLOC(ndr
, r
->out
.out_data
);
523 _mem_save_out_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
524 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.out_data
, LIBNDR_FLAG_REF_ALLOC
);
525 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.out_data
));
526 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_out_data_0
, LIBNDR_FLAG_REF_ALLOC
);
528 return NDR_ERR_SUCCESS
;
531 _PUBLIC_
void ndr_print_wbint_Ping(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_Ping
*r
)
533 ndr_print_struct(ndr
, name
, "wbint_Ping");
535 if (flags
& NDR_SET_VALUES
) {
536 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
538 if (flags
& NDR_IN
) {
539 ndr_print_struct(ndr
, "in", "wbint_Ping");
541 ndr_print_uint32(ndr
, "in_data", r
->in
.in_data
);
544 if (flags
& NDR_OUT
) {
545 ndr_print_struct(ndr
, "out", "wbint_Ping");
547 ndr_print_ptr(ndr
, "out_data", r
->out
.out_data
);
549 ndr_print_uint32(ndr
, "out_data", *r
->out
.out_data
);
556 static enum ndr_err_code
ndr_push_wbint_LookupSid(struct ndr_push
*ndr
, int flags
, const struct wbint_LookupSid
*r
)
558 if (flags
& NDR_IN
) {
559 if (r
->in
.sid
== NULL
) {
560 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
562 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
564 if (flags
& NDR_OUT
) {
565 if (r
->out
.type
== NULL
) {
566 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
568 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, *r
->out
.type
));
569 if (r
->out
.domain
== NULL
) {
570 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
572 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.domain
));
573 if (*r
->out
.domain
) {
574 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(*r
->out
.domain
, CH_UTF8
)));
575 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
576 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(*r
->out
.domain
, CH_UTF8
)));
577 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, *r
->out
.domain
, ndr_charset_length(*r
->out
.domain
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
579 if (r
->out
.name
== NULL
) {
580 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
582 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.name
));
584 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(*r
->out
.name
, CH_UTF8
)));
585 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
586 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(*r
->out
.name
, CH_UTF8
)));
587 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, *r
->out
.name
, ndr_charset_length(*r
->out
.name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
589 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
591 return NDR_ERR_SUCCESS
;
594 static enum ndr_err_code
ndr_pull_wbint_LookupSid(struct ndr_pull
*ndr
, int flags
, struct wbint_LookupSid
*r
)
596 uint32_t _ptr_domain
;
598 TALLOC_CTX
*_mem_save_sid_0
;
599 TALLOC_CTX
*_mem_save_type_0
;
600 TALLOC_CTX
*_mem_save_domain_0
;
601 TALLOC_CTX
*_mem_save_domain_1
;
602 TALLOC_CTX
*_mem_save_name_0
;
603 TALLOC_CTX
*_mem_save_name_1
;
604 if (flags
& NDR_IN
) {
607 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
608 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
610 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
611 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
612 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
613 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
614 NDR_PULL_ALLOC(ndr
, r
->out
.type
);
615 ZERO_STRUCTP(r
->out
.type
);
616 NDR_PULL_ALLOC(ndr
, r
->out
.domain
);
617 ZERO_STRUCTP(r
->out
.domain
);
618 NDR_PULL_ALLOC(ndr
, r
->out
.name
);
619 ZERO_STRUCTP(r
->out
.name
);
621 if (flags
& NDR_OUT
) {
622 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
623 NDR_PULL_ALLOC(ndr
, r
->out
.type
);
625 _mem_save_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
626 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.type
, LIBNDR_FLAG_REF_ALLOC
);
627 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, r
->out
.type
));
628 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_type_0
, LIBNDR_FLAG_REF_ALLOC
);
629 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
630 NDR_PULL_ALLOC(ndr
, r
->out
.domain
);
632 _mem_save_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
633 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.domain
, LIBNDR_FLAG_REF_ALLOC
);
634 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain
));
636 NDR_PULL_ALLOC(ndr
, *r
->out
.domain
);
638 *r
->out
.domain
= NULL
;
640 if (*r
->out
.domain
) {
641 _mem_save_domain_1
= NDR_PULL_GET_MEM_CTX(ndr
);
642 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.domain
, 0);
643 NDR_CHECK(ndr_pull_array_size(ndr
, r
->out
.domain
));
644 NDR_CHECK(ndr_pull_array_length(ndr
, r
->out
.domain
));
645 if (ndr_get_array_length(ndr
, r
->out
.domain
) > ndr_get_array_size(ndr
, r
->out
.domain
)) {
646 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, r
->out
.domain
), ndr_get_array_length(ndr
, r
->out
.domain
));
648 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, r
->out
.domain
), sizeof(uint8_t)));
649 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, r
->out
.domain
, ndr_get_array_length(ndr
, r
->out
.domain
), sizeof(uint8_t), CH_UTF8
));
650 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_1
, 0);
652 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_0
, LIBNDR_FLAG_REF_ALLOC
);
653 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
654 NDR_PULL_ALLOC(ndr
, r
->out
.name
);
656 _mem_save_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
657 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.name
, LIBNDR_FLAG_REF_ALLOC
);
658 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_name
));
660 NDR_PULL_ALLOC(ndr
, *r
->out
.name
);
665 _mem_save_name_1
= NDR_PULL_GET_MEM_CTX(ndr
);
666 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.name
, 0);
667 NDR_CHECK(ndr_pull_array_size(ndr
, r
->out
.name
));
668 NDR_CHECK(ndr_pull_array_length(ndr
, r
->out
.name
));
669 if (ndr_get_array_length(ndr
, r
->out
.name
) > ndr_get_array_size(ndr
, r
->out
.name
)) {
670 return ndr_pull_error(ndr
, NDR_ERR_ARRAY_SIZE
, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr
, r
->out
.name
), ndr_get_array_length(ndr
, r
->out
.name
));
672 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, r
->out
.name
), sizeof(uint8_t)));
673 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, r
->out
.name
, ndr_get_array_length(ndr
, r
->out
.name
), sizeof(uint8_t), CH_UTF8
));
674 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_1
, 0);
676 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_name_0
, LIBNDR_FLAG_REF_ALLOC
);
677 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
679 return NDR_ERR_SUCCESS
;
682 _PUBLIC_
void ndr_print_wbint_LookupSid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_LookupSid
*r
)
684 ndr_print_struct(ndr
, name
, "wbint_LookupSid");
686 if (flags
& NDR_SET_VALUES
) {
687 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
689 if (flags
& NDR_IN
) {
690 ndr_print_struct(ndr
, "in", "wbint_LookupSid");
692 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
694 ndr_print_dom_sid(ndr
, "sid", r
->in
.sid
);
698 if (flags
& NDR_OUT
) {
699 ndr_print_struct(ndr
, "out", "wbint_LookupSid");
701 ndr_print_ptr(ndr
, "type", r
->out
.type
);
703 ndr_print_lsa_SidType(ndr
, "type", *r
->out
.type
);
705 ndr_print_ptr(ndr
, "domain", r
->out
.domain
);
707 ndr_print_ptr(ndr
, "domain", *r
->out
.domain
);
709 if (*r
->out
.domain
) {
710 ndr_print_string(ndr
, "domain", *r
->out
.domain
);
714 ndr_print_ptr(ndr
, "name", r
->out
.name
);
716 ndr_print_ptr(ndr
, "name", *r
->out
.name
);
719 ndr_print_string(ndr
, "name", *r
->out
.name
);
723 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
729 static enum ndr_err_code
ndr_push_wbint_LookupName(struct ndr_push
*ndr
, int flags
, const struct wbint_LookupName
*r
)
731 if (flags
& NDR_IN
) {
732 if (r
->in
.domain
== NULL
) {
733 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
735 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.domain
, CH_UTF8
)));
736 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
737 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.domain
, CH_UTF8
)));
738 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->in
.domain
, ndr_charset_length(r
->in
.domain
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
739 if (r
->in
.name
== NULL
) {
740 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
742 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.name
, CH_UTF8
)));
743 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
744 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.name
, CH_UTF8
)));
745 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->in
.name
, ndr_charset_length(r
->in
.name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
746 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.flags
));
748 if (flags
& NDR_OUT
) {
749 if (r
->out
.type
== NULL
) {
750 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
752 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, *r
->out
.type
));
753 if (r
->out
.sid
== NULL
) {
754 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
756 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, r
->out
.sid
));
757 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
759 return NDR_ERR_SUCCESS
;
762 static enum ndr_err_code
ndr_pull_wbint_LookupName(struct ndr_pull
*ndr
, int flags
, struct wbint_LookupName
*r
)
764 TALLOC_CTX
*_mem_save_type_0
;
765 TALLOC_CTX
*_mem_save_sid_0
;
766 if (flags
& NDR_IN
) {
769 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.domain
));
770 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.domain
));
771 if (ndr_get_array_length(ndr
, &r
->in
.domain
) > ndr_get_array_size(ndr
, &r
->in
.domain
)) {
772 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
.domain
), ndr_get_array_length(ndr
, &r
->in
.domain
));
774 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.domain
), sizeof(uint8_t)));
775 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.domain
, ndr_get_array_length(ndr
, &r
->in
.domain
), sizeof(uint8_t), CH_UTF8
));
776 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.name
));
777 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.name
));
778 if (ndr_get_array_length(ndr
, &r
->in
.name
) > ndr_get_array_size(ndr
, &r
->in
.name
)) {
779 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
.name
), ndr_get_array_length(ndr
, &r
->in
.name
));
781 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.name
), sizeof(uint8_t)));
782 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.name
, ndr_get_array_length(ndr
, &r
->in
.name
), sizeof(uint8_t), CH_UTF8
));
783 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.flags
));
784 NDR_PULL_ALLOC(ndr
, r
->out
.type
);
785 ZERO_STRUCTP(r
->out
.type
);
786 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
787 ZERO_STRUCTP(r
->out
.sid
);
789 if (flags
& NDR_OUT
) {
790 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
791 NDR_PULL_ALLOC(ndr
, r
->out
.type
);
793 _mem_save_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
794 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.type
, LIBNDR_FLAG_REF_ALLOC
);
795 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, r
->out
.type
));
796 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_type_0
, LIBNDR_FLAG_REF_ALLOC
);
797 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
798 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
800 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
801 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
802 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, r
->out
.sid
));
803 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
804 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
806 return NDR_ERR_SUCCESS
;
809 _PUBLIC_
void ndr_print_wbint_LookupName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_LookupName
*r
)
811 ndr_print_struct(ndr
, name
, "wbint_LookupName");
813 if (flags
& NDR_SET_VALUES
) {
814 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
816 if (flags
& NDR_IN
) {
817 ndr_print_struct(ndr
, "in", "wbint_LookupName");
819 ndr_print_ptr(ndr
, "domain", r
->in
.domain
);
821 ndr_print_string(ndr
, "domain", r
->in
.domain
);
823 ndr_print_ptr(ndr
, "name", r
->in
.name
);
825 ndr_print_string(ndr
, "name", r
->in
.name
);
827 ndr_print_uint32(ndr
, "flags", r
->in
.flags
);
830 if (flags
& NDR_OUT
) {
831 ndr_print_struct(ndr
, "out", "wbint_LookupName");
833 ndr_print_ptr(ndr
, "type", r
->out
.type
);
835 ndr_print_lsa_SidType(ndr
, "type", *r
->out
.type
);
837 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
839 ndr_print_dom_sid(ndr
, "sid", r
->out
.sid
);
841 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
847 static enum ndr_err_code
ndr_push_wbint_Sid2Uid(struct ndr_push
*ndr
, int flags
, const struct wbint_Sid2Uid
*r
)
849 if (flags
& NDR_IN
) {
850 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.dom_name
));
851 if (r
->in
.dom_name
) {
852 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
)));
853 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
854 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
)));
855 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->in
.dom_name
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
857 if (r
->in
.sid
== NULL
) {
858 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
860 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
862 if (flags
& NDR_OUT
) {
863 if (r
->out
.uid
== NULL
) {
864 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
866 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, *r
->out
.uid
));
867 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
869 return NDR_ERR_SUCCESS
;
872 static enum ndr_err_code
ndr_pull_wbint_Sid2Uid(struct ndr_pull
*ndr
, int flags
, struct wbint_Sid2Uid
*r
)
874 uint32_t _ptr_dom_name
;
875 TALLOC_CTX
*_mem_save_dom_name_0
;
876 TALLOC_CTX
*_mem_save_sid_0
;
877 TALLOC_CTX
*_mem_save_uid_0
;
878 if (flags
& NDR_IN
) {
881 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dom_name
));
883 NDR_PULL_ALLOC(ndr
, r
->in
.dom_name
);
885 r
->in
.dom_name
= NULL
;
887 if (r
->in
.dom_name
) {
888 _mem_save_dom_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
889 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_name
, 0);
890 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.dom_name
));
891 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.dom_name
));
892 if (ndr_get_array_length(ndr
, &r
->in
.dom_name
) > ndr_get_array_size(ndr
, &r
->in
.dom_name
)) {
893 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
.dom_name
), ndr_get_array_length(ndr
, &r
->in
.dom_name
));
895 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.dom_name
), sizeof(uint8_t)));
896 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.dom_name
, ndr_get_array_length(ndr
, &r
->in
.dom_name
), sizeof(uint8_t), CH_UTF8
));
897 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_name_0
, 0);
899 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
900 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
902 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
903 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
904 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
905 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
906 NDR_PULL_ALLOC(ndr
, r
->out
.uid
);
907 ZERO_STRUCTP(r
->out
.uid
);
909 if (flags
& NDR_OUT
) {
910 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
911 NDR_PULL_ALLOC(ndr
, r
->out
.uid
);
913 _mem_save_uid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
914 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.uid
, LIBNDR_FLAG_REF_ALLOC
);
915 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, r
->out
.uid
));
916 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uid_0
, LIBNDR_FLAG_REF_ALLOC
);
917 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
919 return NDR_ERR_SUCCESS
;
922 _PUBLIC_
void ndr_print_wbint_Sid2Uid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_Sid2Uid
*r
)
924 ndr_print_struct(ndr
, name
, "wbint_Sid2Uid");
926 if (flags
& NDR_SET_VALUES
) {
927 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
929 if (flags
& NDR_IN
) {
930 ndr_print_struct(ndr
, "in", "wbint_Sid2Uid");
932 ndr_print_ptr(ndr
, "dom_name", r
->in
.dom_name
);
934 if (r
->in
.dom_name
) {
935 ndr_print_string(ndr
, "dom_name", r
->in
.dom_name
);
938 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
940 ndr_print_dom_sid(ndr
, "sid", r
->in
.sid
);
944 if (flags
& NDR_OUT
) {
945 ndr_print_struct(ndr
, "out", "wbint_Sid2Uid");
947 ndr_print_ptr(ndr
, "uid", r
->out
.uid
);
949 ndr_print_hyper(ndr
, "uid", *r
->out
.uid
);
951 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
957 static enum ndr_err_code
ndr_push_wbint_Sid2Gid(struct ndr_push
*ndr
, int flags
, const struct wbint_Sid2Gid
*r
)
959 if (flags
& NDR_IN
) {
960 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.dom_name
));
961 if (r
->in
.dom_name
) {
962 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
)));
963 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
964 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
)));
965 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->in
.dom_name
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
967 if (r
->in
.sid
== NULL
) {
968 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
970 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
972 if (flags
& NDR_OUT
) {
973 if (r
->out
.gid
== NULL
) {
974 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
976 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, *r
->out
.gid
));
977 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
979 return NDR_ERR_SUCCESS
;
982 static enum ndr_err_code
ndr_pull_wbint_Sid2Gid(struct ndr_pull
*ndr
, int flags
, struct wbint_Sid2Gid
*r
)
984 uint32_t _ptr_dom_name
;
985 TALLOC_CTX
*_mem_save_dom_name_0
;
986 TALLOC_CTX
*_mem_save_sid_0
;
987 TALLOC_CTX
*_mem_save_gid_0
;
988 if (flags
& NDR_IN
) {
991 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dom_name
));
993 NDR_PULL_ALLOC(ndr
, r
->in
.dom_name
);
995 r
->in
.dom_name
= NULL
;
997 if (r
->in
.dom_name
) {
998 _mem_save_dom_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
999 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_name
, 0);
1000 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.dom_name
));
1001 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.dom_name
));
1002 if (ndr_get_array_length(ndr
, &r
->in
.dom_name
) > ndr_get_array_size(ndr
, &r
->in
.dom_name
)) {
1003 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
.dom_name
), ndr_get_array_length(ndr
, &r
->in
.dom_name
));
1005 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.dom_name
), sizeof(uint8_t)));
1006 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.dom_name
, ndr_get_array_length(ndr
, &r
->in
.dom_name
), sizeof(uint8_t), CH_UTF8
));
1007 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_name_0
, 0);
1009 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1010 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
1012 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1013 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
1014 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
1015 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
1016 NDR_PULL_ALLOC(ndr
, r
->out
.gid
);
1017 ZERO_STRUCTP(r
->out
.gid
);
1019 if (flags
& NDR_OUT
) {
1020 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1021 NDR_PULL_ALLOC(ndr
, r
->out
.gid
);
1023 _mem_save_gid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1024 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.gid
, LIBNDR_FLAG_REF_ALLOC
);
1025 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, r
->out
.gid
));
1026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_gid_0
, LIBNDR_FLAG_REF_ALLOC
);
1027 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1029 return NDR_ERR_SUCCESS
;
1032 _PUBLIC_
void ndr_print_wbint_Sid2Gid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_Sid2Gid
*r
)
1034 ndr_print_struct(ndr
, name
, "wbint_Sid2Gid");
1036 if (flags
& NDR_SET_VALUES
) {
1037 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1039 if (flags
& NDR_IN
) {
1040 ndr_print_struct(ndr
, "in", "wbint_Sid2Gid");
1042 ndr_print_ptr(ndr
, "dom_name", r
->in
.dom_name
);
1044 if (r
->in
.dom_name
) {
1045 ndr_print_string(ndr
, "dom_name", r
->in
.dom_name
);
1048 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
1050 ndr_print_dom_sid(ndr
, "sid", r
->in
.sid
);
1054 if (flags
& NDR_OUT
) {
1055 ndr_print_struct(ndr
, "out", "wbint_Sid2Gid");
1057 ndr_print_ptr(ndr
, "gid", r
->out
.gid
);
1059 ndr_print_hyper(ndr
, "gid", *r
->out
.gid
);
1061 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1067 static enum ndr_err_code
ndr_push_wbint_Uid2Sid(struct ndr_push
*ndr
, int flags
, const struct wbint_Uid2Sid
*r
)
1069 if (flags
& NDR_IN
) {
1070 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.dom_name
));
1071 if (r
->in
.dom_name
) {
1072 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
)));
1073 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1074 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
)));
1075 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->in
.dom_name
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
1077 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->in
.uid
));
1079 if (flags
& NDR_OUT
) {
1080 if (r
->out
.sid
== NULL
) {
1081 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1083 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, r
->out
.sid
));
1084 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1086 return NDR_ERR_SUCCESS
;
1089 static enum ndr_err_code
ndr_pull_wbint_Uid2Sid(struct ndr_pull
*ndr
, int flags
, struct wbint_Uid2Sid
*r
)
1091 uint32_t _ptr_dom_name
;
1092 TALLOC_CTX
*_mem_save_dom_name_0
;
1093 TALLOC_CTX
*_mem_save_sid_0
;
1094 if (flags
& NDR_IN
) {
1095 ZERO_STRUCT(r
->out
);
1097 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dom_name
));
1098 if (_ptr_dom_name
) {
1099 NDR_PULL_ALLOC(ndr
, r
->in
.dom_name
);
1101 r
->in
.dom_name
= NULL
;
1103 if (r
->in
.dom_name
) {
1104 _mem_save_dom_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1105 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_name
, 0);
1106 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.dom_name
));
1107 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.dom_name
));
1108 if (ndr_get_array_length(ndr
, &r
->in
.dom_name
) > ndr_get_array_size(ndr
, &r
->in
.dom_name
)) {
1109 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
.dom_name
), ndr_get_array_length(ndr
, &r
->in
.dom_name
));
1111 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.dom_name
), sizeof(uint8_t)));
1112 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.dom_name
, ndr_get_array_length(ndr
, &r
->in
.dom_name
), sizeof(uint8_t), CH_UTF8
));
1113 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_name_0
, 0);
1115 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->in
.uid
));
1116 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
1117 ZERO_STRUCTP(r
->out
.sid
);
1119 if (flags
& NDR_OUT
) {
1120 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1121 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
1123 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1124 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
1125 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, r
->out
.sid
));
1126 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
1127 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1129 return NDR_ERR_SUCCESS
;
1132 _PUBLIC_
void ndr_print_wbint_Uid2Sid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_Uid2Sid
*r
)
1134 ndr_print_struct(ndr
, name
, "wbint_Uid2Sid");
1136 if (flags
& NDR_SET_VALUES
) {
1137 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1139 if (flags
& NDR_IN
) {
1140 ndr_print_struct(ndr
, "in", "wbint_Uid2Sid");
1142 ndr_print_ptr(ndr
, "dom_name", r
->in
.dom_name
);
1144 if (r
->in
.dom_name
) {
1145 ndr_print_string(ndr
, "dom_name", r
->in
.dom_name
);
1148 ndr_print_hyper(ndr
, "uid", r
->in
.uid
);
1151 if (flags
& NDR_OUT
) {
1152 ndr_print_struct(ndr
, "out", "wbint_Uid2Sid");
1154 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
1156 ndr_print_dom_sid(ndr
, "sid", r
->out
.sid
);
1158 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1164 static enum ndr_err_code
ndr_push_wbint_Gid2Sid(struct ndr_push
*ndr
, int flags
, const struct wbint_Gid2Sid
*r
)
1166 if (flags
& NDR_IN
) {
1167 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.dom_name
));
1168 if (r
->in
.dom_name
) {
1169 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
)));
1170 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1171 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
)));
1172 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->in
.dom_name
, ndr_charset_length(r
->in
.dom_name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
1174 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->in
.gid
));
1176 if (flags
& NDR_OUT
) {
1177 if (r
->out
.sid
== NULL
) {
1178 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1180 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, r
->out
.sid
));
1181 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1183 return NDR_ERR_SUCCESS
;
1186 static enum ndr_err_code
ndr_pull_wbint_Gid2Sid(struct ndr_pull
*ndr
, int flags
, struct wbint_Gid2Sid
*r
)
1188 uint32_t _ptr_dom_name
;
1189 TALLOC_CTX
*_mem_save_dom_name_0
;
1190 TALLOC_CTX
*_mem_save_sid_0
;
1191 if (flags
& NDR_IN
) {
1192 ZERO_STRUCT(r
->out
);
1194 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dom_name
));
1195 if (_ptr_dom_name
) {
1196 NDR_PULL_ALLOC(ndr
, r
->in
.dom_name
);
1198 r
->in
.dom_name
= NULL
;
1200 if (r
->in
.dom_name
) {
1201 _mem_save_dom_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1202 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.dom_name
, 0);
1203 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.dom_name
));
1204 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.dom_name
));
1205 if (ndr_get_array_length(ndr
, &r
->in
.dom_name
) > ndr_get_array_size(ndr
, &r
->in
.dom_name
)) {
1206 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
.dom_name
), ndr_get_array_length(ndr
, &r
->in
.dom_name
));
1208 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.dom_name
), sizeof(uint8_t)));
1209 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.dom_name
, ndr_get_array_length(ndr
, &r
->in
.dom_name
), sizeof(uint8_t), CH_UTF8
));
1210 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dom_name_0
, 0);
1212 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->in
.gid
));
1213 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
1214 ZERO_STRUCTP(r
->out
.sid
);
1216 if (flags
& NDR_OUT
) {
1217 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1218 NDR_PULL_ALLOC(ndr
, r
->out
.sid
);
1220 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1221 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sid
, LIBNDR_FLAG_REF_ALLOC
);
1222 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, r
->out
.sid
));
1223 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
1224 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1226 return NDR_ERR_SUCCESS
;
1229 _PUBLIC_
void ndr_print_wbint_Gid2Sid(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_Gid2Sid
*r
)
1231 ndr_print_struct(ndr
, name
, "wbint_Gid2Sid");
1233 if (flags
& NDR_SET_VALUES
) {
1234 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1236 if (flags
& NDR_IN
) {
1237 ndr_print_struct(ndr
, "in", "wbint_Gid2Sid");
1239 ndr_print_ptr(ndr
, "dom_name", r
->in
.dom_name
);
1241 if (r
->in
.dom_name
) {
1242 ndr_print_string(ndr
, "dom_name", r
->in
.dom_name
);
1245 ndr_print_hyper(ndr
, "gid", r
->in
.gid
);
1248 if (flags
& NDR_OUT
) {
1249 ndr_print_struct(ndr
, "out", "wbint_Gid2Sid");
1251 ndr_print_ptr(ndr
, "sid", r
->out
.sid
);
1253 ndr_print_dom_sid(ndr
, "sid", r
->out
.sid
);
1255 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1261 static enum ndr_err_code
ndr_push_wbint_QueryUser(struct ndr_push
*ndr
, int flags
, const struct wbint_QueryUser
*r
)
1263 if (flags
& NDR_IN
) {
1264 if (r
->in
.sid
== NULL
) {
1265 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1267 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
1269 if (flags
& NDR_OUT
) {
1270 if (r
->out
.info
== NULL
) {
1271 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1273 NDR_CHECK(ndr_push_wbint_userinfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
1274 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1276 return NDR_ERR_SUCCESS
;
1279 static enum ndr_err_code
ndr_pull_wbint_QueryUser(struct ndr_pull
*ndr
, int flags
, struct wbint_QueryUser
*r
)
1281 TALLOC_CTX
*_mem_save_sid_0
;
1282 TALLOC_CTX
*_mem_save_info_0
;
1283 if (flags
& NDR_IN
) {
1284 ZERO_STRUCT(r
->out
);
1286 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1287 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
1289 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1290 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
1291 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
1292 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
1293 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
1294 ZERO_STRUCTP(r
->out
.info
);
1296 if (flags
& NDR_OUT
) {
1297 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1298 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
1300 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1301 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
1302 NDR_CHECK(ndr_pull_wbint_userinfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
1303 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
1304 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1306 return NDR_ERR_SUCCESS
;
1309 _PUBLIC_
void ndr_print_wbint_QueryUser(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_QueryUser
*r
)
1311 ndr_print_struct(ndr
, name
, "wbint_QueryUser");
1313 if (flags
& NDR_SET_VALUES
) {
1314 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1316 if (flags
& NDR_IN
) {
1317 ndr_print_struct(ndr
, "in", "wbint_QueryUser");
1319 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
1321 ndr_print_dom_sid(ndr
, "sid", r
->in
.sid
);
1325 if (flags
& NDR_OUT
) {
1326 ndr_print_struct(ndr
, "out", "wbint_QueryUser");
1328 ndr_print_ptr(ndr
, "info", r
->out
.info
);
1330 ndr_print_wbint_userinfo(ndr
, "info", r
->out
.info
);
1332 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1338 static enum ndr_err_code
ndr_push_wbint_LookupUserAliases(struct ndr_push
*ndr
, int flags
, const struct wbint_LookupUserAliases
*r
)
1340 if (flags
& NDR_IN
) {
1341 if (r
->in
.sids
== NULL
) {
1342 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1344 NDR_CHECK(ndr_push_wbint_SidArray(ndr
, NDR_SCALARS
, r
->in
.sids
));
1346 if (flags
& NDR_OUT
) {
1347 if (r
->out
.rids
== NULL
) {
1348 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1350 NDR_CHECK(ndr_push_wbint_RidArray(ndr
, NDR_SCALARS
, r
->out
.rids
));
1351 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1353 return NDR_ERR_SUCCESS
;
1356 static enum ndr_err_code
ndr_pull_wbint_LookupUserAliases(struct ndr_pull
*ndr
, int flags
, struct wbint_LookupUserAliases
*r
)
1358 TALLOC_CTX
*_mem_save_sids_0
;
1359 TALLOC_CTX
*_mem_save_rids_0
;
1360 if (flags
& NDR_IN
) {
1361 ZERO_STRUCT(r
->out
);
1363 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1364 NDR_PULL_ALLOC(ndr
, r
->in
.sids
);
1366 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1367 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sids
, LIBNDR_FLAG_REF_ALLOC
);
1368 NDR_CHECK(ndr_pull_wbint_SidArray(ndr
, NDR_SCALARS
, r
->in
.sids
));
1369 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
1370 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
1371 ZERO_STRUCTP(r
->out
.rids
);
1373 if (flags
& NDR_OUT
) {
1374 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1375 NDR_PULL_ALLOC(ndr
, r
->out
.rids
);
1377 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1378 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.rids
, LIBNDR_FLAG_REF_ALLOC
);
1379 NDR_CHECK(ndr_pull_wbint_RidArray(ndr
, NDR_SCALARS
, r
->out
.rids
));
1380 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
1381 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1383 return NDR_ERR_SUCCESS
;
1386 _PUBLIC_
void ndr_print_wbint_LookupUserAliases(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_LookupUserAliases
*r
)
1388 ndr_print_struct(ndr
, name
, "wbint_LookupUserAliases");
1390 if (flags
& NDR_SET_VALUES
) {
1391 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1393 if (flags
& NDR_IN
) {
1394 ndr_print_struct(ndr
, "in", "wbint_LookupUserAliases");
1396 ndr_print_ptr(ndr
, "sids", r
->in
.sids
);
1398 ndr_print_wbint_SidArray(ndr
, "sids", r
->in
.sids
);
1402 if (flags
& NDR_OUT
) {
1403 ndr_print_struct(ndr
, "out", "wbint_LookupUserAliases");
1405 ndr_print_ptr(ndr
, "rids", r
->out
.rids
);
1407 ndr_print_wbint_RidArray(ndr
, "rids", r
->out
.rids
);
1409 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1415 static enum ndr_err_code
ndr_push_wbint_LookupUserGroups(struct ndr_push
*ndr
, int flags
, const struct wbint_LookupUserGroups
*r
)
1417 if (flags
& NDR_IN
) {
1418 if (r
->in
.sid
== NULL
) {
1419 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1421 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
1423 if (flags
& NDR_OUT
) {
1424 if (r
->out
.sids
== NULL
) {
1425 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1427 NDR_CHECK(ndr_push_wbint_SidArray(ndr
, NDR_SCALARS
, r
->out
.sids
));
1428 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1430 return NDR_ERR_SUCCESS
;
1433 static enum ndr_err_code
ndr_pull_wbint_LookupUserGroups(struct ndr_pull
*ndr
, int flags
, struct wbint_LookupUserGroups
*r
)
1435 TALLOC_CTX
*_mem_save_sid_0
;
1436 TALLOC_CTX
*_mem_save_sids_0
;
1437 if (flags
& NDR_IN
) {
1438 ZERO_STRUCT(r
->out
);
1440 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1441 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
1443 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1444 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
1445 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
1446 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
1447 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
1448 ZERO_STRUCTP(r
->out
.sids
);
1450 if (flags
& NDR_OUT
) {
1451 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1452 NDR_PULL_ALLOC(ndr
, r
->out
.sids
);
1454 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1455 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sids
, LIBNDR_FLAG_REF_ALLOC
);
1456 NDR_CHECK(ndr_pull_wbint_SidArray(ndr
, NDR_SCALARS
, r
->out
.sids
));
1457 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, LIBNDR_FLAG_REF_ALLOC
);
1458 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1460 return NDR_ERR_SUCCESS
;
1463 _PUBLIC_
void ndr_print_wbint_LookupUserGroups(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_LookupUserGroups
*r
)
1465 ndr_print_struct(ndr
, name
, "wbint_LookupUserGroups");
1467 if (flags
& NDR_SET_VALUES
) {
1468 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1470 if (flags
& NDR_IN
) {
1471 ndr_print_struct(ndr
, "in", "wbint_LookupUserGroups");
1473 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
1475 ndr_print_dom_sid(ndr
, "sid", r
->in
.sid
);
1479 if (flags
& NDR_OUT
) {
1480 ndr_print_struct(ndr
, "out", "wbint_LookupUserGroups");
1482 ndr_print_ptr(ndr
, "sids", r
->out
.sids
);
1484 ndr_print_wbint_SidArray(ndr
, "sids", r
->out
.sids
);
1486 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1492 static enum ndr_err_code
ndr_push_wbint_QuerySequenceNumber(struct ndr_push
*ndr
, int flags
, const struct wbint_QuerySequenceNumber
*r
)
1494 if (flags
& NDR_IN
) {
1496 if (flags
& NDR_OUT
) {
1497 if (r
->out
.sequence
== NULL
) {
1498 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1500 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.sequence
));
1501 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1503 return NDR_ERR_SUCCESS
;
1506 static enum ndr_err_code
ndr_pull_wbint_QuerySequenceNumber(struct ndr_pull
*ndr
, int flags
, struct wbint_QuerySequenceNumber
*r
)
1508 TALLOC_CTX
*_mem_save_sequence_0
;
1509 if (flags
& NDR_IN
) {
1510 ZERO_STRUCT(r
->out
);
1512 NDR_PULL_ALLOC(ndr
, r
->out
.sequence
);
1513 ZERO_STRUCTP(r
->out
.sequence
);
1515 if (flags
& NDR_OUT
) {
1516 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1517 NDR_PULL_ALLOC(ndr
, r
->out
.sequence
);
1519 _mem_save_sequence_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1520 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.sequence
, LIBNDR_FLAG_REF_ALLOC
);
1521 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.sequence
));
1522 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sequence_0
, LIBNDR_FLAG_REF_ALLOC
);
1523 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1525 return NDR_ERR_SUCCESS
;
1528 _PUBLIC_
void ndr_print_wbint_QuerySequenceNumber(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_QuerySequenceNumber
*r
)
1530 ndr_print_struct(ndr
, name
, "wbint_QuerySequenceNumber");
1532 if (flags
& NDR_SET_VALUES
) {
1533 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1535 if (flags
& NDR_IN
) {
1536 ndr_print_struct(ndr
, "in", "wbint_QuerySequenceNumber");
1540 if (flags
& NDR_OUT
) {
1541 ndr_print_struct(ndr
, "out", "wbint_QuerySequenceNumber");
1543 ndr_print_ptr(ndr
, "sequence", r
->out
.sequence
);
1545 ndr_print_uint32(ndr
, "sequence", *r
->out
.sequence
);
1547 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1553 static enum ndr_err_code
ndr_push_wbint_LookupGroupMembers(struct ndr_push
*ndr
, int flags
, const struct wbint_LookupGroupMembers
*r
)
1555 if (flags
& NDR_IN
) {
1556 if (r
->in
.sid
== NULL
) {
1557 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1559 NDR_CHECK(ndr_push_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
1560 NDR_CHECK(ndr_push_lsa_SidType(ndr
, NDR_SCALARS
, r
->in
.type
));
1562 if (flags
& NDR_OUT
) {
1563 if (r
->out
.members
== NULL
) {
1564 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1566 NDR_CHECK(ndr_push_wbint_Principals(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.members
));
1567 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1569 return NDR_ERR_SUCCESS
;
1572 static enum ndr_err_code
ndr_pull_wbint_LookupGroupMembers(struct ndr_pull
*ndr
, int flags
, struct wbint_LookupGroupMembers
*r
)
1574 TALLOC_CTX
*_mem_save_sid_0
;
1575 TALLOC_CTX
*_mem_save_members_0
;
1576 if (flags
& NDR_IN
) {
1577 ZERO_STRUCT(r
->out
);
1579 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1580 NDR_PULL_ALLOC(ndr
, r
->in
.sid
);
1582 _mem_save_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1583 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.sid
, LIBNDR_FLAG_REF_ALLOC
);
1584 NDR_CHECK(ndr_pull_dom_sid(ndr
, NDR_SCALARS
, r
->in
.sid
));
1585 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sid_0
, LIBNDR_FLAG_REF_ALLOC
);
1586 NDR_CHECK(ndr_pull_lsa_SidType(ndr
, NDR_SCALARS
, &r
->in
.type
));
1587 NDR_PULL_ALLOC(ndr
, r
->out
.members
);
1588 ZERO_STRUCTP(r
->out
.members
);
1590 if (flags
& NDR_OUT
) {
1591 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1592 NDR_PULL_ALLOC(ndr
, r
->out
.members
);
1594 _mem_save_members_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1595 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.members
, LIBNDR_FLAG_REF_ALLOC
);
1596 NDR_CHECK(ndr_pull_wbint_Principals(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.members
));
1597 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_members_0
, LIBNDR_FLAG_REF_ALLOC
);
1598 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1600 return NDR_ERR_SUCCESS
;
1603 _PUBLIC_
void ndr_print_wbint_LookupGroupMembers(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_LookupGroupMembers
*r
)
1605 ndr_print_struct(ndr
, name
, "wbint_LookupGroupMembers");
1607 if (flags
& NDR_SET_VALUES
) {
1608 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1610 if (flags
& NDR_IN
) {
1611 ndr_print_struct(ndr
, "in", "wbint_LookupGroupMembers");
1613 ndr_print_ptr(ndr
, "sid", r
->in
.sid
);
1615 ndr_print_dom_sid(ndr
, "sid", r
->in
.sid
);
1617 ndr_print_lsa_SidType(ndr
, "type", r
->in
.type
);
1620 if (flags
& NDR_OUT
) {
1621 ndr_print_struct(ndr
, "out", "wbint_LookupGroupMembers");
1623 ndr_print_ptr(ndr
, "members", r
->out
.members
);
1625 ndr_print_wbint_Principals(ndr
, "members", r
->out
.members
);
1627 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1633 static enum ndr_err_code
ndr_push_wbint_QueryUserList(struct ndr_push
*ndr
, int flags
, const struct wbint_QueryUserList
*r
)
1635 if (flags
& NDR_IN
) {
1637 if (flags
& NDR_OUT
) {
1638 if (r
->out
.users
== NULL
) {
1639 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1641 NDR_CHECK(ndr_push_wbint_userinfos(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.users
));
1642 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1644 return NDR_ERR_SUCCESS
;
1647 static enum ndr_err_code
ndr_pull_wbint_QueryUserList(struct ndr_pull
*ndr
, int flags
, struct wbint_QueryUserList
*r
)
1649 TALLOC_CTX
*_mem_save_users_0
;
1650 if (flags
& NDR_IN
) {
1651 ZERO_STRUCT(r
->out
);
1653 NDR_PULL_ALLOC(ndr
, r
->out
.users
);
1654 ZERO_STRUCTP(r
->out
.users
);
1656 if (flags
& NDR_OUT
) {
1657 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1658 NDR_PULL_ALLOC(ndr
, r
->out
.users
);
1660 _mem_save_users_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1661 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.users
, LIBNDR_FLAG_REF_ALLOC
);
1662 NDR_CHECK(ndr_pull_wbint_userinfos(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.users
));
1663 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_users_0
, LIBNDR_FLAG_REF_ALLOC
);
1664 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1666 return NDR_ERR_SUCCESS
;
1669 _PUBLIC_
void ndr_print_wbint_QueryUserList(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_QueryUserList
*r
)
1671 ndr_print_struct(ndr
, name
, "wbint_QueryUserList");
1673 if (flags
& NDR_SET_VALUES
) {
1674 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1676 if (flags
& NDR_IN
) {
1677 ndr_print_struct(ndr
, "in", "wbint_QueryUserList");
1681 if (flags
& NDR_OUT
) {
1682 ndr_print_struct(ndr
, "out", "wbint_QueryUserList");
1684 ndr_print_ptr(ndr
, "users", r
->out
.users
);
1686 ndr_print_wbint_userinfos(ndr
, "users", r
->out
.users
);
1688 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1694 static enum ndr_err_code
ndr_push_wbint_QueryGroupList(struct ndr_push
*ndr
, int flags
, const struct wbint_QueryGroupList
*r
)
1696 if (flags
& NDR_IN
) {
1698 if (flags
& NDR_OUT
) {
1699 if (r
->out
.groups
== NULL
) {
1700 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1702 NDR_CHECK(ndr_push_wbint_Principals(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.groups
));
1703 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1705 return NDR_ERR_SUCCESS
;
1708 static enum ndr_err_code
ndr_pull_wbint_QueryGroupList(struct ndr_pull
*ndr
, int flags
, struct wbint_QueryGroupList
*r
)
1710 TALLOC_CTX
*_mem_save_groups_0
;
1711 if (flags
& NDR_IN
) {
1712 ZERO_STRUCT(r
->out
);
1714 NDR_PULL_ALLOC(ndr
, r
->out
.groups
);
1715 ZERO_STRUCTP(r
->out
.groups
);
1717 if (flags
& NDR_OUT
) {
1718 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1719 NDR_PULL_ALLOC(ndr
, r
->out
.groups
);
1721 _mem_save_groups_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1722 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.groups
, LIBNDR_FLAG_REF_ALLOC
);
1723 NDR_CHECK(ndr_pull_wbint_Principals(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.groups
));
1724 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_groups_0
, LIBNDR_FLAG_REF_ALLOC
);
1725 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1727 return NDR_ERR_SUCCESS
;
1730 _PUBLIC_
void ndr_print_wbint_QueryGroupList(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_QueryGroupList
*r
)
1732 ndr_print_struct(ndr
, name
, "wbint_QueryGroupList");
1734 if (flags
& NDR_SET_VALUES
) {
1735 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1737 if (flags
& NDR_IN
) {
1738 ndr_print_struct(ndr
, "in", "wbint_QueryGroupList");
1742 if (flags
& NDR_OUT
) {
1743 ndr_print_struct(ndr
, "out", "wbint_QueryGroupList");
1745 ndr_print_ptr(ndr
, "groups", r
->out
.groups
);
1747 ndr_print_wbint_Principals(ndr
, "groups", r
->out
.groups
);
1749 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1755 static enum ndr_err_code
ndr_push_wbint_DsGetDcName(struct ndr_push
*ndr
, int flags
, const struct wbint_DsGetDcName
*r
)
1757 if (flags
& NDR_IN
) {
1758 if (r
->in
.domain_name
== NULL
) {
1759 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1761 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.domain_name
, CH_UTF8
)));
1762 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1763 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.domain_name
, CH_UTF8
)));
1764 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->in
.domain_name
, ndr_charset_length(r
->in
.domain_name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
1765 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.domain_guid
));
1766 if (r
->in
.domain_guid
) {
1767 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->in
.domain_guid
));
1769 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.site_name
));
1770 if (r
->in
.site_name
) {
1771 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.site_name
, CH_UTF8
)));
1772 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1773 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_charset_length(r
->in
.site_name
, CH_UTF8
)));
1774 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->in
.site_name
, ndr_charset_length(r
->in
.site_name
, CH_UTF8
), sizeof(uint8_t), CH_UTF8
));
1776 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.flags
));
1778 if (flags
& NDR_OUT
) {
1779 if (r
->out
.dc_info
== NULL
) {
1780 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1782 NDR_CHECK(ndr_push_unique_ptr(ndr
, *r
->out
.dc_info
));
1783 if (*r
->out
.dc_info
) {
1784 NDR_CHECK(ndr_push_netr_DsRGetDCNameInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.dc_info
));
1786 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1788 return NDR_ERR_SUCCESS
;
1791 static enum ndr_err_code
ndr_pull_wbint_DsGetDcName(struct ndr_pull
*ndr
, int flags
, struct wbint_DsGetDcName
*r
)
1793 uint32_t _ptr_domain_guid
;
1794 uint32_t _ptr_site_name
;
1795 uint32_t _ptr_dc_info
;
1796 TALLOC_CTX
*_mem_save_domain_guid_0
;
1797 TALLOC_CTX
*_mem_save_site_name_0
;
1798 TALLOC_CTX
*_mem_save_dc_info_0
;
1799 TALLOC_CTX
*_mem_save_dc_info_1
;
1800 if (flags
& NDR_IN
) {
1801 ZERO_STRUCT(r
->out
);
1803 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.domain_name
));
1804 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.domain_name
));
1805 if (ndr_get_array_length(ndr
, &r
->in
.domain_name
) > ndr_get_array_size(ndr
, &r
->in
.domain_name
)) {
1806 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
.domain_name
), ndr_get_array_length(ndr
, &r
->in
.domain_name
));
1808 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.domain_name
), sizeof(uint8_t)));
1809 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.domain_name
, ndr_get_array_length(ndr
, &r
->in
.domain_name
), sizeof(uint8_t), CH_UTF8
));
1810 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_guid
));
1811 if (_ptr_domain_guid
) {
1812 NDR_PULL_ALLOC(ndr
, r
->in
.domain_guid
);
1814 r
->in
.domain_guid
= NULL
;
1816 if (r
->in
.domain_guid
) {
1817 _mem_save_domain_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1818 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.domain_guid
, 0);
1819 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->in
.domain_guid
));
1820 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_guid_0
, 0);
1822 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
1823 if (_ptr_site_name
) {
1824 NDR_PULL_ALLOC(ndr
, r
->in
.site_name
);
1826 r
->in
.site_name
= NULL
;
1828 if (r
->in
.site_name
) {
1829 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1830 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.site_name
, 0);
1831 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->in
.site_name
));
1832 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->in
.site_name
));
1833 if (ndr_get_array_length(ndr
, &r
->in
.site_name
) > ndr_get_array_size(ndr
, &r
->in
.site_name
)) {
1834 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
.site_name
), ndr_get_array_length(ndr
, &r
->in
.site_name
));
1836 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->in
.site_name
), sizeof(uint8_t)));
1837 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->in
.site_name
, ndr_get_array_length(ndr
, &r
->in
.site_name
), sizeof(uint8_t), CH_UTF8
));
1838 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
1840 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.flags
));
1841 NDR_PULL_ALLOC(ndr
, r
->out
.dc_info
);
1842 ZERO_STRUCTP(r
->out
.dc_info
);
1844 if (flags
& NDR_OUT
) {
1845 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1846 NDR_PULL_ALLOC(ndr
, r
->out
.dc_info
);
1848 _mem_save_dc_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1849 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.dc_info
, LIBNDR_FLAG_REF_ALLOC
);
1850 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dc_info
));
1852 NDR_PULL_ALLOC(ndr
, *r
->out
.dc_info
);
1854 *r
->out
.dc_info
= NULL
;
1856 if (*r
->out
.dc_info
) {
1857 _mem_save_dc_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1858 NDR_PULL_SET_MEM_CTX(ndr
, *r
->out
.dc_info
, 0);
1859 NDR_CHECK(ndr_pull_netr_DsRGetDCNameInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, *r
->out
.dc_info
));
1860 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dc_info_1
, 0);
1862 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dc_info_0
, LIBNDR_FLAG_REF_ALLOC
);
1863 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1865 return NDR_ERR_SUCCESS
;
1868 _PUBLIC_
void ndr_print_wbint_DsGetDcName(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_DsGetDcName
*r
)
1870 ndr_print_struct(ndr
, name
, "wbint_DsGetDcName");
1872 if (flags
& NDR_SET_VALUES
) {
1873 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1875 if (flags
& NDR_IN
) {
1876 ndr_print_struct(ndr
, "in", "wbint_DsGetDcName");
1878 ndr_print_ptr(ndr
, "domain_name", r
->in
.domain_name
);
1880 ndr_print_string(ndr
, "domain_name", r
->in
.domain_name
);
1882 ndr_print_ptr(ndr
, "domain_guid", r
->in
.domain_guid
);
1884 if (r
->in
.domain_guid
) {
1885 ndr_print_GUID(ndr
, "domain_guid", r
->in
.domain_guid
);
1888 ndr_print_ptr(ndr
, "site_name", r
->in
.site_name
);
1890 if (r
->in
.site_name
) {
1891 ndr_print_string(ndr
, "site_name", r
->in
.site_name
);
1894 ndr_print_uint32(ndr
, "flags", r
->in
.flags
);
1897 if (flags
& NDR_OUT
) {
1898 ndr_print_struct(ndr
, "out", "wbint_DsGetDcName");
1900 ndr_print_ptr(ndr
, "dc_info", r
->out
.dc_info
);
1902 ndr_print_ptr(ndr
, "dc_info", *r
->out
.dc_info
);
1904 if (*r
->out
.dc_info
) {
1905 ndr_print_netr_DsRGetDCNameInfo(ndr
, "dc_info", *r
->out
.dc_info
);
1909 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1915 static enum ndr_err_code
ndr_push_wbint_LookupRids(struct ndr_push
*ndr
, int flags
, const struct wbint_LookupRids
*r
)
1917 if (flags
& NDR_IN
) {
1918 if (r
->in
.rids
== NULL
) {
1919 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1921 NDR_CHECK(ndr_push_wbint_RidArray(ndr
, NDR_SCALARS
, r
->in
.rids
));
1923 if (flags
& NDR_OUT
) {
1924 if (r
->out
.names
== NULL
) {
1925 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1927 NDR_CHECK(ndr_push_wbint_Principals(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
1928 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->out
.result
));
1930 return NDR_ERR_SUCCESS
;
1933 static enum ndr_err_code
ndr_pull_wbint_LookupRids(struct ndr_pull
*ndr
, int flags
, struct wbint_LookupRids
*r
)
1935 TALLOC_CTX
*_mem_save_rids_0
;
1936 TALLOC_CTX
*_mem_save_names_0
;
1937 if (flags
& NDR_IN
) {
1938 ZERO_STRUCT(r
->out
);
1940 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1941 NDR_PULL_ALLOC(ndr
, r
->in
.rids
);
1943 _mem_save_rids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1944 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.rids
, LIBNDR_FLAG_REF_ALLOC
);
1945 NDR_CHECK(ndr_pull_wbint_RidArray(ndr
, NDR_SCALARS
, r
->in
.rids
));
1946 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_rids_0
, LIBNDR_FLAG_REF_ALLOC
);
1947 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
1948 ZERO_STRUCTP(r
->out
.names
);
1950 if (flags
& NDR_OUT
) {
1951 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
1952 NDR_PULL_ALLOC(ndr
, r
->out
.names
);
1954 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1955 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.names
, LIBNDR_FLAG_REF_ALLOC
);
1956 NDR_CHECK(ndr_pull_wbint_Principals(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.names
));
1957 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, LIBNDR_FLAG_REF_ALLOC
);
1958 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->out
.result
));
1960 return NDR_ERR_SUCCESS
;
1963 _PUBLIC_
void ndr_print_wbint_LookupRids(struct ndr_print
*ndr
, const char *name
, int flags
, const struct wbint_LookupRids
*r
)
1965 ndr_print_struct(ndr
, name
, "wbint_LookupRids");
1967 if (flags
& NDR_SET_VALUES
) {
1968 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
1970 if (flags
& NDR_IN
) {
1971 ndr_print_struct(ndr
, "in", "wbint_LookupRids");
1973 ndr_print_ptr(ndr
, "rids", r
->in
.rids
);
1975 ndr_print_wbint_RidArray(ndr
, "rids", r
->in
.rids
);
1979 if (flags
& NDR_OUT
) {
1980 ndr_print_struct(ndr
, "out", "wbint_LookupRids");
1982 ndr_print_ptr(ndr
, "names", r
->out
.names
);
1984 ndr_print_wbint_Principals(ndr
, "names", r
->out
.names
);
1986 ndr_print_NTSTATUS(ndr
, "result", r
->out
.result
);
1992 static const struct ndr_interface_call wbint_calls
[] = {
1995 sizeof(struct wbint_Ping
),
1996 (ndr_push_flags_fn_t
) ndr_push_wbint_Ping
,
1997 (ndr_pull_flags_fn_t
) ndr_pull_wbint_Ping
,
1998 (ndr_print_function_t
) ndr_print_wbint_Ping
,
2003 sizeof(struct wbint_LookupSid
),
2004 (ndr_push_flags_fn_t
) ndr_push_wbint_LookupSid
,
2005 (ndr_pull_flags_fn_t
) ndr_pull_wbint_LookupSid
,
2006 (ndr_print_function_t
) ndr_print_wbint_LookupSid
,
2011 sizeof(struct wbint_LookupName
),
2012 (ndr_push_flags_fn_t
) ndr_push_wbint_LookupName
,
2013 (ndr_pull_flags_fn_t
) ndr_pull_wbint_LookupName
,
2014 (ndr_print_function_t
) ndr_print_wbint_LookupName
,
2019 sizeof(struct wbint_Sid2Uid
),
2020 (ndr_push_flags_fn_t
) ndr_push_wbint_Sid2Uid
,
2021 (ndr_pull_flags_fn_t
) ndr_pull_wbint_Sid2Uid
,
2022 (ndr_print_function_t
) ndr_print_wbint_Sid2Uid
,
2027 sizeof(struct wbint_Sid2Gid
),
2028 (ndr_push_flags_fn_t
) ndr_push_wbint_Sid2Gid
,
2029 (ndr_pull_flags_fn_t
) ndr_pull_wbint_Sid2Gid
,
2030 (ndr_print_function_t
) ndr_print_wbint_Sid2Gid
,
2035 sizeof(struct wbint_Uid2Sid
),
2036 (ndr_push_flags_fn_t
) ndr_push_wbint_Uid2Sid
,
2037 (ndr_pull_flags_fn_t
) ndr_pull_wbint_Uid2Sid
,
2038 (ndr_print_function_t
) ndr_print_wbint_Uid2Sid
,
2043 sizeof(struct wbint_Gid2Sid
),
2044 (ndr_push_flags_fn_t
) ndr_push_wbint_Gid2Sid
,
2045 (ndr_pull_flags_fn_t
) ndr_pull_wbint_Gid2Sid
,
2046 (ndr_print_function_t
) ndr_print_wbint_Gid2Sid
,
2051 sizeof(struct wbint_QueryUser
),
2052 (ndr_push_flags_fn_t
) ndr_push_wbint_QueryUser
,
2053 (ndr_pull_flags_fn_t
) ndr_pull_wbint_QueryUser
,
2054 (ndr_print_function_t
) ndr_print_wbint_QueryUser
,
2058 "wbint_LookupUserAliases",
2059 sizeof(struct wbint_LookupUserAliases
),
2060 (ndr_push_flags_fn_t
) ndr_push_wbint_LookupUserAliases
,
2061 (ndr_pull_flags_fn_t
) ndr_pull_wbint_LookupUserAliases
,
2062 (ndr_print_function_t
) ndr_print_wbint_LookupUserAliases
,
2066 "wbint_LookupUserGroups",
2067 sizeof(struct wbint_LookupUserGroups
),
2068 (ndr_push_flags_fn_t
) ndr_push_wbint_LookupUserGroups
,
2069 (ndr_pull_flags_fn_t
) ndr_pull_wbint_LookupUserGroups
,
2070 (ndr_print_function_t
) ndr_print_wbint_LookupUserGroups
,
2074 "wbint_QuerySequenceNumber",
2075 sizeof(struct wbint_QuerySequenceNumber
),
2076 (ndr_push_flags_fn_t
) ndr_push_wbint_QuerySequenceNumber
,
2077 (ndr_pull_flags_fn_t
) ndr_pull_wbint_QuerySequenceNumber
,
2078 (ndr_print_function_t
) ndr_print_wbint_QuerySequenceNumber
,
2082 "wbint_LookupGroupMembers",
2083 sizeof(struct wbint_LookupGroupMembers
),
2084 (ndr_push_flags_fn_t
) ndr_push_wbint_LookupGroupMembers
,
2085 (ndr_pull_flags_fn_t
) ndr_pull_wbint_LookupGroupMembers
,
2086 (ndr_print_function_t
) ndr_print_wbint_LookupGroupMembers
,
2090 "wbint_QueryUserList",
2091 sizeof(struct wbint_QueryUserList
),
2092 (ndr_push_flags_fn_t
) ndr_push_wbint_QueryUserList
,
2093 (ndr_pull_flags_fn_t
) ndr_pull_wbint_QueryUserList
,
2094 (ndr_print_function_t
) ndr_print_wbint_QueryUserList
,
2098 "wbint_QueryGroupList",
2099 sizeof(struct wbint_QueryGroupList
),
2100 (ndr_push_flags_fn_t
) ndr_push_wbint_QueryGroupList
,
2101 (ndr_pull_flags_fn_t
) ndr_pull_wbint_QueryGroupList
,
2102 (ndr_print_function_t
) ndr_print_wbint_QueryGroupList
,
2106 "wbint_DsGetDcName",
2107 sizeof(struct wbint_DsGetDcName
),
2108 (ndr_push_flags_fn_t
) ndr_push_wbint_DsGetDcName
,
2109 (ndr_pull_flags_fn_t
) ndr_pull_wbint_DsGetDcName
,
2110 (ndr_print_function_t
) ndr_print_wbint_DsGetDcName
,
2115 sizeof(struct wbint_LookupRids
),
2116 (ndr_push_flags_fn_t
) ndr_push_wbint_LookupRids
,
2117 (ndr_pull_flags_fn_t
) ndr_pull_wbint_LookupRids
,
2118 (ndr_print_function_t
) ndr_print_wbint_LookupRids
,
2121 { NULL
, 0, NULL
, NULL
, NULL
, false }
2124 static const char * const wbint_endpoint_strings
[] = {
2128 static const struct ndr_interface_string_array wbint_endpoints
= {
2130 .names
= wbint_endpoint_strings
2133 static const char * const wbint_authservice_strings
[] = {
2137 static const struct ndr_interface_string_array wbint_authservices
= {
2139 .names
= wbint_authservice_strings
2143 const struct ndr_interface_table ndr_table_wbint
= {
2146 {0xbf09192c,0xed60,0x4928,{0x9d,0xff},{0xd0,0xd7,0xbc,0xb0,0x3e,0xd8}},
2149 .helpstring
= NDR_WBINT_HELPSTRING
,
2151 .calls
= wbint_calls
,
2152 .endpoints
= &wbint_endpoints
,
2153 .authservices
= &wbint_authservices