1 /* parser auto-generated by pidl */
4 #include "librpc/gen_ndr/ndr_winbind_protocol.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 #include "librpc/gen_ndr/ndr_lsa.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/gen_ndr/ndr_netlogon.h"
10 _PUBLIC_ enum ndr_err_code ndr_push_winbind_status(struct ndr_push *ndr, int ndr_flags, enum winbind_status r)
12 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
13 return NDR_ERR_SUCCESS;
16 _PUBLIC_ enum ndr_err_code ndr_pull_winbind_status(struct ndr_pull *ndr, int ndr_flags, enum winbind_status *r)
19 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
21 return NDR_ERR_SUCCESS;
24 _PUBLIC_ void ndr_print_winbind_status(struct ndr_print *ndr, const char *name, enum winbind_status r)
26 const char *val = NULL;
29 case WINBIND_STATUS_OK: val = "WINBIND_STATUS_OK"; break;
30 case WINBIND_STATUS_UNKNOWN_ERROR: val = "WINBIND_STATUS_UNKNOWN_ERROR"; break;
31 case WINBIND_STATUS_NOT_IMPLEMENTED: val = "WINBIND_STATUS_NOT_IMPLEMENTED"; break;
32 case WINBIND_STATUS_NOT_SUPPORTED: val = "WINBIND_STATUS_NOT_SUPPORTED"; break;
33 case WINBIND_STATUS_NO_MEMORY: val = "WINBIND_STATUS_NO_MEMORY"; break;
34 case WINBIND_STATUS_INVALID_PARAMETER: val = "WINBIND_STATUS_INVALID_PARAMETER"; break;
35 case WINBIND_STATUS_INVALID_LEVEL: val = "WINBIND_STATUS_INVALID_LEVEL"; break;
36 case WINBIND_STATUS_UNKNOWN_LEVEL: val = "WINBIND_STATUS_UNKNOWN_LEVEL"; break;
37 case WINBIND_STATUS_DOMAIN_OFFLINE: val = "WINBIND_STATUS_DOMAIN_OFFLINE"; break;
39 ndr_print_enum(ndr, name, "ENUM", val, r);
42 static enum ndr_err_code ndr_push_winbind_header_version(struct ndr_push *ndr, int ndr_flags, uint16_t r)
44 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
45 return NDR_ERR_SUCCESS;
48 static enum ndr_err_code ndr_pull_winbind_header_version(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
51 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
53 return NDR_ERR_SUCCESS;
56 _PUBLIC_ void ndr_print_winbind_header_version(struct ndr_print *ndr, const char *name, uint16_t r)
58 ndr_print_uint16(ndr, name, r);
60 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "WINBIND_HEADER_VERSION", WINBIND_HEADER_VERSION, r);
64 static enum ndr_err_code ndr_push_winbind_header_flags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
66 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
67 return NDR_ERR_SUCCESS;
70 static enum ndr_err_code ndr_pull_winbind_header_flags(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
73 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
75 return NDR_ERR_SUCCESS;
78 _PUBLIC_ void ndr_print_winbind_header_flags(struct ndr_print *ndr, const char *name, uint32_t r)
80 ndr_print_uint32(ndr, name, r);
82 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WINBIND_HEADER_FLAGS_RESPONSE", WINBIND_HEADER_FLAGS_RESPONSE, r);
83 ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "WINBIND_HEADER_FLAGS_ERROR", WINBIND_HEADER_FLAGS_ERROR, r);
87 _PUBLIC_ enum ndr_err_code ndr_push_STRUCT_winbind_header(struct ndr_push *ndr, int ndr_flags, const struct winbind_header *r)
89 if (ndr_flags & NDR_SCALARS) {
90 NDR_CHECK(ndr_push_align(ndr, 4));
91 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
92 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "WBPT", 4, sizeof(uint8_t), CH_DOS));
93 NDR_CHECK(ndr_push_winbind_header_version(ndr, NDR_SCALARS, WINBIND_HEADER_VERSION));
94 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->opnum));
95 NDR_CHECK(ndr_push_winbind_header_flags(ndr, NDR_SCALARS, r->flags));
97 if (ndr_flags & NDR_BUFFERS) {
99 return NDR_ERR_SUCCESS;
102 _PUBLIC_ enum ndr_err_code ndr_pull_STRUCT_winbind_header(struct ndr_pull *ndr, int ndr_flags, struct winbind_header *r)
104 if (ndr_flags & NDR_SCALARS) {
105 NDR_CHECK(ndr_pull_align(ndr, 4));
106 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
107 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->magic, 4, sizeof(uint8_t), CH_DOS));
108 NDR_CHECK(ndr_pull_winbind_header_version(ndr, NDR_SCALARS, &r->version));
109 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->opnum));
110 NDR_CHECK(ndr_pull_winbind_header_flags(ndr, NDR_SCALARS, &r->flags));
112 if (ndr_flags & NDR_BUFFERS) {
114 return NDR_ERR_SUCCESS;
117 _PUBLIC_ void ndr_print_STRUCT_winbind_header(struct ndr_print *ndr, const char *name, const struct winbind_header *r)
119 ndr_print_struct(ndr, name, "winbind_header");
121 ndr_print_uint32(ndr, "length", r->length);
122 ndr_print_string(ndr, "magic", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"WBPT":r->magic);
123 ndr_print_winbind_header_version(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?WINBIND_HEADER_VERSION:r->version);
124 ndr_print_uint16(ndr, "opnum", r->opnum);
125 ndr_print_winbind_header_flags(ndr, "flags", r->flags);
129 static enum ndr_err_code ndr_push_winbind_auth_level(struct ndr_push *ndr, int ndr_flags, enum winbind_auth_level r)
131 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
132 return NDR_ERR_SUCCESS;
135 static enum ndr_err_code ndr_pull_winbind_auth_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_auth_level *r)
138 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
140 return NDR_ERR_SUCCESS;
143 _PUBLIC_ void ndr_print_winbind_auth_level(struct ndr_print *ndr, const char *name, enum winbind_auth_level r)
145 const char *val = NULL;
148 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN: val = "WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN"; break;
150 ndr_print_enum(ndr, name, "ENUM", val, r);
153 static enum ndr_err_code ndr_push_STRUCT_winbind_auth_compat_auth_plain_req(struct ndr_push *ndr, int ndr_flags, const struct winbind_auth_compat_auth_plain_req *r)
155 uint32_t cntr_require_membership_of_sids_1;
156 if (ndr_flags & NDR_SCALARS) {
157 NDR_CHECK(ndr_push_align(ndr, 4));
158 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
160 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
162 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
163 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF8)));
165 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
166 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF8)));
167 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF8), sizeof(uint8_t), CH_UTF8));
168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_require_membership_of_sids));
169 NDR_CHECK(ndr_push_unique_ptr(ndr, r->require_membership_of_sids));
170 NDR_CHECK(ndr_push_unique_ptr(ndr, r->krb5_cc_type));
171 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uid));
173 if (ndr_flags & NDR_BUFFERS) {
174 if (r->domain_name) {
175 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
176 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
178 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
180 if (r->require_membership_of_sids) {
181 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_require_membership_of_sids));
182 for (cntr_require_membership_of_sids_1 = 0; cntr_require_membership_of_sids_1 < r->num_require_membership_of_sids; cntr_require_membership_of_sids_1++) {
183 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
185 for (cntr_require_membership_of_sids_1 = 0; cntr_require_membership_of_sids_1 < r->num_require_membership_of_sids; cntr_require_membership_of_sids_1++) {
186 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_BUFFERS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
189 if (r->krb5_cc_type) {
190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_type, CH_UTF8)));
191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
192 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_type, CH_UTF8)));
193 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->krb5_cc_type, ndr_charset_length(r->krb5_cc_type, CH_UTF8), sizeof(uint8_t), CH_UTF8));
196 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->uid));
199 return NDR_ERR_SUCCESS;
202 static enum ndr_err_code ndr_pull_STRUCT_winbind_auth_compat_auth_plain_req(struct ndr_pull *ndr, int ndr_flags, struct winbind_auth_compat_auth_plain_req *r)
204 uint32_t _ptr_domain_name;
205 TALLOC_CTX *_mem_save_domain_name_0;
206 uint32_t _ptr_require_membership_of_sids;
207 uint32_t cntr_require_membership_of_sids_1;
208 TALLOC_CTX *_mem_save_require_membership_of_sids_0;
209 TALLOC_CTX *_mem_save_require_membership_of_sids_1;
210 uint32_t _ptr_krb5_cc_type;
211 TALLOC_CTX *_mem_save_krb5_cc_type_0;
213 TALLOC_CTX *_mem_save_uid_0;
214 if (ndr_flags & NDR_SCALARS) {
215 NDR_CHECK(ndr_pull_align(ndr, 4));
216 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
217 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
218 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
219 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
220 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
222 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t)));
223 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t), CH_UTF8));
224 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
225 if (_ptr_domain_name) {
226 NDR_PULL_ALLOC(ndr, r->domain_name);
228 r->domain_name = NULL;
230 NDR_CHECK(ndr_pull_array_size(ndr, &r->password));
231 NDR_CHECK(ndr_pull_array_length(ndr, &r->password));
232 if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) {
233 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->password), ndr_get_array_length(ndr, &r->password));
235 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint8_t)));
236 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint8_t), CH_UTF8));
237 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_require_membership_of_sids));
238 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_require_membership_of_sids));
239 if (_ptr_require_membership_of_sids) {
240 NDR_PULL_ALLOC(ndr, r->require_membership_of_sids);
242 r->require_membership_of_sids = NULL;
244 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_krb5_cc_type));
245 if (_ptr_krb5_cc_type) {
246 NDR_PULL_ALLOC(ndr, r->krb5_cc_type);
248 r->krb5_cc_type = NULL;
250 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uid));
252 NDR_PULL_ALLOC(ndr, r->uid);
257 if (ndr_flags & NDR_BUFFERS) {
258 if (r->domain_name) {
259 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
260 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
261 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
262 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
263 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
264 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
266 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t)));
267 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t), CH_UTF8));
268 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
270 if (r->require_membership_of_sids) {
271 _mem_save_require_membership_of_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
272 NDR_PULL_SET_MEM_CTX(ndr, r->require_membership_of_sids, 0);
273 NDR_CHECK(ndr_pull_array_size(ndr, &r->require_membership_of_sids));
274 NDR_PULL_ALLOC_N(ndr, r->require_membership_of_sids, ndr_get_array_size(ndr, &r->require_membership_of_sids));
275 _mem_save_require_membership_of_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
276 NDR_PULL_SET_MEM_CTX(ndr, r->require_membership_of_sids, 0);
277 for (cntr_require_membership_of_sids_1 = 0; cntr_require_membership_of_sids_1 < r->num_require_membership_of_sids; cntr_require_membership_of_sids_1++) {
278 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
280 for (cntr_require_membership_of_sids_1 = 0; cntr_require_membership_of_sids_1 < r->num_require_membership_of_sids; cntr_require_membership_of_sids_1++) {
281 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_BUFFERS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
283 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sids_1, 0);
284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sids_0, 0);
286 if (r->krb5_cc_type) {
287 _mem_save_krb5_cc_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
288 NDR_PULL_SET_MEM_CTX(ndr, r->krb5_cc_type, 0);
289 NDR_CHECK(ndr_pull_array_size(ndr, &r->krb5_cc_type));
290 NDR_CHECK(ndr_pull_array_length(ndr, &r->krb5_cc_type));
291 if (ndr_get_array_length(ndr, &r->krb5_cc_type) > ndr_get_array_size(ndr, &r->krb5_cc_type)) {
292 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->krb5_cc_type), ndr_get_array_length(ndr, &r->krb5_cc_type));
294 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->krb5_cc_type), sizeof(uint8_t)));
295 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->krb5_cc_type, ndr_get_array_length(ndr, &r->krb5_cc_type), sizeof(uint8_t), CH_UTF8));
296 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_krb5_cc_type_0, 0);
299 _mem_save_uid_0 = NDR_PULL_GET_MEM_CTX(ndr);
300 NDR_PULL_SET_MEM_CTX(ndr, r->uid, 0);
301 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->uid));
302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uid_0, 0);
304 if (r->require_membership_of_sids) {
305 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->require_membership_of_sids, r->num_require_membership_of_sids));
308 return NDR_ERR_SUCCESS;
311 _PUBLIC_ void ndr_print_STRUCT_winbind_auth_compat_auth_plain_req(struct ndr_print *ndr, const char *name, const struct winbind_auth_compat_auth_plain_req *r)
313 uint32_t cntr_require_membership_of_sids_1;
314 ndr_print_struct(ndr, name, "winbind_auth_compat_auth_plain_req");
316 ndr_print_uint32(ndr, "flags", r->flags);
317 ndr_print_string(ndr, "account_name", r->account_name);
318 ndr_print_ptr(ndr, "domain_name", r->domain_name);
320 if (r->domain_name) {
321 ndr_print_string(ndr, "domain_name", r->domain_name);
324 ndr_print_string(ndr, "password", r->password);
325 ndr_print_uint32(ndr, "num_require_membership_of_sids", r->num_require_membership_of_sids);
326 ndr_print_ptr(ndr, "require_membership_of_sids", r->require_membership_of_sids);
328 if (r->require_membership_of_sids) {
329 ndr->print(ndr, "%s: ARRAY(%d)", "require_membership_of_sids", r->num_require_membership_of_sids);
331 for (cntr_require_membership_of_sids_1=0;cntr_require_membership_of_sids_1<r->num_require_membership_of_sids;cntr_require_membership_of_sids_1++) {
333 if (asprintf(&idx_1, "[%d]", cntr_require_membership_of_sids_1) != -1) {
334 ndr_print_dom_sid(ndr, "require_membership_of_sids", &r->require_membership_of_sids[cntr_require_membership_of_sids_1]);
341 ndr_print_ptr(ndr, "krb5_cc_type", r->krb5_cc_type);
343 if (r->krb5_cc_type) {
344 ndr_print_string(ndr, "krb5_cc_type", r->krb5_cc_type);
347 ndr_print_ptr(ndr, "uid", r->uid);
350 ndr_print_hyper(ndr, "uid", *r->uid);
356 static enum ndr_err_code ndr_push_STRUCT_winbind_auth_compat_auth_rep(struct ndr_push *ndr, int ndr_flags, const struct winbind_auth_compat_auth_rep *r)
358 if (ndr_flags & NDR_SCALARS) {
359 NDR_CHECK(ndr_push_align(ndr, 4));
360 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unix_username));
361 NDR_CHECK(ndr_push_unique_ptr(ndr, r->krb5_cc_name));
362 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
363 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password_policy));
364 NDR_CHECK(ndr_push_unique_ptr(ndr, r->afs_token));
366 if (ndr_flags & NDR_BUFFERS) {
367 if (r->unix_username) {
368 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unix_username, CH_UTF8)));
369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
370 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unix_username, CH_UTF8)));
371 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unix_username, ndr_charset_length(r->unix_username, CH_UTF8), sizeof(uint8_t), CH_UTF8));
373 if (r->krb5_cc_name) {
374 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_name, CH_UTF8)));
375 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
376 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_name, CH_UTF8)));
377 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->krb5_cc_name, ndr_charset_length(r->krb5_cc_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
380 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
382 if (r->password_policy) {
383 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->password_policy));
386 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->afs_token));
389 return NDR_ERR_SUCCESS;
392 static enum ndr_err_code ndr_pull_STRUCT_winbind_auth_compat_auth_rep(struct ndr_pull *ndr, int ndr_flags, struct winbind_auth_compat_auth_rep *r)
394 uint32_t _ptr_unix_username;
395 TALLOC_CTX *_mem_save_unix_username_0;
396 uint32_t _ptr_krb5_cc_name;
397 TALLOC_CTX *_mem_save_krb5_cc_name_0;
399 TALLOC_CTX *_mem_save_info3_0;
400 uint32_t _ptr_password_policy;
401 TALLOC_CTX *_mem_save_password_policy_0;
402 uint32_t _ptr_afs_token;
403 TALLOC_CTX *_mem_save_afs_token_0;
404 if (ndr_flags & NDR_SCALARS) {
405 NDR_CHECK(ndr_pull_align(ndr, 4));
406 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unix_username));
407 if (_ptr_unix_username) {
408 NDR_PULL_ALLOC(ndr, r->unix_username);
410 r->unix_username = NULL;
412 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_krb5_cc_name));
413 if (_ptr_krb5_cc_name) {
414 NDR_PULL_ALLOC(ndr, r->krb5_cc_name);
416 r->krb5_cc_name = NULL;
418 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
420 NDR_PULL_ALLOC(ndr, r->info3);
424 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password_policy));
425 if (_ptr_password_policy) {
426 NDR_PULL_ALLOC(ndr, r->password_policy);
428 r->password_policy = NULL;
430 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_afs_token));
431 if (_ptr_afs_token) {
432 NDR_PULL_ALLOC(ndr, r->afs_token);
437 if (ndr_flags & NDR_BUFFERS) {
438 if (r->unix_username) {
439 _mem_save_unix_username_0 = NDR_PULL_GET_MEM_CTX(ndr);
440 NDR_PULL_SET_MEM_CTX(ndr, r->unix_username, 0);
441 NDR_CHECK(ndr_pull_array_size(ndr, &r->unix_username));
442 NDR_CHECK(ndr_pull_array_length(ndr, &r->unix_username));
443 if (ndr_get_array_length(ndr, &r->unix_username) > ndr_get_array_size(ndr, &r->unix_username)) {
444 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->unix_username), ndr_get_array_length(ndr, &r->unix_username));
446 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unix_username), sizeof(uint8_t)));
447 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unix_username, ndr_get_array_length(ndr, &r->unix_username), sizeof(uint8_t), CH_UTF8));
448 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unix_username_0, 0);
450 if (r->krb5_cc_name) {
451 _mem_save_krb5_cc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
452 NDR_PULL_SET_MEM_CTX(ndr, r->krb5_cc_name, 0);
453 NDR_CHECK(ndr_pull_array_size(ndr, &r->krb5_cc_name));
454 NDR_CHECK(ndr_pull_array_length(ndr, &r->krb5_cc_name));
455 if (ndr_get_array_length(ndr, &r->krb5_cc_name) > ndr_get_array_size(ndr, &r->krb5_cc_name)) {
456 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->krb5_cc_name), ndr_get_array_length(ndr, &r->krb5_cc_name));
458 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->krb5_cc_name), sizeof(uint8_t)));
459 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->krb5_cc_name, ndr_get_array_length(ndr, &r->krb5_cc_name), sizeof(uint8_t), CH_UTF8));
460 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_krb5_cc_name_0, 0);
463 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
464 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
465 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
466 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
468 if (r->password_policy) {
469 _mem_save_password_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
470 NDR_PULL_SET_MEM_CTX(ndr, r->password_policy, 0);
471 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->password_policy));
472 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_policy_0, 0);
475 _mem_save_afs_token_0 = NDR_PULL_GET_MEM_CTX(ndr);
476 NDR_PULL_SET_MEM_CTX(ndr, r->afs_token, 0);
477 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->afs_token));
478 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_afs_token_0, 0);
481 return NDR_ERR_SUCCESS;
484 _PUBLIC_ void ndr_print_STRUCT_winbind_auth_compat_auth_rep(struct ndr_print *ndr, const char *name, const struct winbind_auth_compat_auth_rep *r)
486 ndr_print_struct(ndr, name, "winbind_auth_compat_auth_rep");
488 ndr_print_ptr(ndr, "unix_username", r->unix_username);
490 if (r->unix_username) {
491 ndr_print_string(ndr, "unix_username", r->unix_username);
494 ndr_print_ptr(ndr, "krb5_cc_name", r->krb5_cc_name);
496 if (r->krb5_cc_name) {
497 ndr_print_string(ndr, "krb5_cc_name", r->krb5_cc_name);
500 ndr_print_ptr(ndr, "info3", r->info3);
503 ndr_print_netr_SamInfo3(ndr, "info3", r->info3);
506 ndr_print_ptr(ndr, "password_policy", r->password_policy);
508 if (r->password_policy) {
509 ndr_print_samr_DomInfo1(ndr, "password_policy", r->password_policy);
512 ndr_print_ptr(ndr, "afs_token", r->afs_token);
515 ndr_print_DATA_BLOB(ndr, "afs_token", *r->afs_token);
521 static enum ndr_err_code ndr_push_winbind_auth_req(struct ndr_push *ndr, int ndr_flags, const union winbind_auth_req *r)
523 if (ndr_flags & NDR_SCALARS) {
524 int level = ndr_push_get_switch_value(ndr, r);
525 NDR_CHECK(ndr_push_winbind_auth_level(ndr, NDR_SCALARS, level));
527 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN: {
528 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_plain_req(ndr, NDR_SCALARS, &r->compat_auth_plain));
536 if (ndr_flags & NDR_BUFFERS) {
537 int level = ndr_push_get_switch_value(ndr, r);
539 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
540 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_plain_req(ndr, NDR_BUFFERS, &r->compat_auth_plain));
548 return NDR_ERR_SUCCESS;
551 static enum ndr_err_code ndr_pull_winbind_auth_req(struct ndr_pull *ndr, int ndr_flags, union winbind_auth_req *r)
555 level = ndr_pull_get_switch_value(ndr, r);
556 if (ndr_flags & NDR_SCALARS) {
557 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
558 if (_level != level) {
559 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
562 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN: {
563 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_plain_req(ndr, NDR_SCALARS, &r->compat_auth_plain));
571 if (ndr_flags & NDR_BUFFERS) {
573 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
574 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_plain_req(ndr, NDR_BUFFERS, &r->compat_auth_plain));
582 return NDR_ERR_SUCCESS;
585 _PUBLIC_ void ndr_print_winbind_auth_req(struct ndr_print *ndr, const char *name, const union winbind_auth_req *r)
588 level = ndr_print_get_switch_value(ndr, r);
589 ndr_print_union(ndr, name, level, "winbind_auth_req");
591 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
592 ndr_print_STRUCT_winbind_auth_compat_auth_plain_req(ndr, "compat_auth_plain", &r->compat_auth_plain);
601 static enum ndr_err_code ndr_push_winbind_auth_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_auth_rep *r)
603 if (ndr_flags & NDR_SCALARS) {
604 int level = ndr_push_get_switch_value(ndr, r);
605 NDR_CHECK(ndr_push_winbind_auth_level(ndr, NDR_SCALARS, level));
607 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN: {
608 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_SCALARS, &r->compat_auth));
616 if (ndr_flags & NDR_BUFFERS) {
617 int level = ndr_push_get_switch_value(ndr, r);
619 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
620 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_BUFFERS, &r->compat_auth));
628 return NDR_ERR_SUCCESS;
631 static enum ndr_err_code ndr_pull_winbind_auth_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_auth_rep *r)
635 level = ndr_pull_get_switch_value(ndr, r);
636 if (ndr_flags & NDR_SCALARS) {
637 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
638 if (_level != level) {
639 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
642 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN: {
643 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_SCALARS, &r->compat_auth));
651 if (ndr_flags & NDR_BUFFERS) {
653 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
654 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_BUFFERS, &r->compat_auth));
662 return NDR_ERR_SUCCESS;
665 _PUBLIC_ void ndr_print_winbind_auth_rep(struct ndr_print *ndr, const char *name, const union winbind_auth_rep *r)
668 level = ndr_print_get_switch_value(ndr, r);
669 ndr_print_union(ndr, name, level, "winbind_auth_rep");
671 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
672 ndr_print_STRUCT_winbind_auth_compat_auth_rep(ndr, "compat_auth", &r->compat_auth);
681 static enum ndr_err_code ndr_push_winbind_trust_level(struct ndr_push *ndr, int ndr_flags, enum winbind_trust_level r)
683 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
684 return NDR_ERR_SUCCESS;
687 static enum ndr_err_code ndr_pull_winbind_trust_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_trust_level *r)
690 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
692 return NDR_ERR_SUCCESS;
695 _PUBLIC_ void ndr_print_winbind_trust_level(struct ndr_print *ndr, const char *name, enum winbind_trust_level r)
697 const char *val = NULL;
700 case WINBIND_TRUST_LEVEL_COMPAT_LIST: val = "WINBIND_TRUST_LEVEL_COMPAT_LIST"; break;
701 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: val = "WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC"; break;
703 ndr_print_enum(ndr, name, "ENUM", val, r);
706 static enum ndr_err_code ndr_push_STRUCT_winbind_domain_info_compat(struct ndr_push *ndr, int ndr_flags, const struct winbind_domain_info_compat *r)
708 if (ndr_flags & NDR_SCALARS) {
709 NDR_CHECK(ndr_push_align(ndr, 4));
710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF8)));
711 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
712 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF8)));
713 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
714 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
715 if (r->sid == NULL) {
716 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
718 NDR_CHECK(ndr_push_ref_ptr(ndr));
719 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_native_mode));
720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_active_directory));
721 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_primary));
723 if (ndr_flags & NDR_BUFFERS) {
725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF8)));
726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
727 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF8)));
728 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
730 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
732 return NDR_ERR_SUCCESS;
735 static enum ndr_err_code ndr_pull_STRUCT_winbind_domain_info_compat(struct ndr_pull *ndr, int ndr_flags, struct winbind_domain_info_compat *r)
737 uint32_t _ptr_dns_name;
738 TALLOC_CTX *_mem_save_dns_name_0;
740 TALLOC_CTX *_mem_save_sid_0;
741 if (ndr_flags & NDR_SCALARS) {
742 NDR_CHECK(ndr_pull_align(ndr, 4));
743 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
744 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
745 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
746 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
748 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint8_t)));
749 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint8_t), CH_UTF8));
750 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
752 NDR_PULL_ALLOC(ndr, r->dns_name);
756 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_sid));
758 NDR_PULL_ALLOC(ndr, r->sid);
762 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_native_mode));
763 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_active_directory));
764 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_primary));
766 if (ndr_flags & NDR_BUFFERS) {
768 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
769 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
770 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
771 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
772 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
773 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
775 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint8_t)));
776 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint8_t), CH_UTF8));
777 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
779 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
780 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
781 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
782 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
784 return NDR_ERR_SUCCESS;
787 _PUBLIC_ void ndr_print_STRUCT_winbind_domain_info_compat(struct ndr_print *ndr, const char *name, const struct winbind_domain_info_compat *r)
789 ndr_print_struct(ndr, name, "winbind_domain_info_compat");
791 ndr_print_string(ndr, "netbios_name", r->netbios_name);
792 ndr_print_ptr(ndr, "dns_name", r->dns_name);
795 ndr_print_string(ndr, "dns_name", r->dns_name);
798 ndr_print_ptr(ndr, "sid", r->sid);
800 ndr_print_dom_sid(ndr, "sid", r->sid);
802 ndr_print_uint32(ndr, "is_native_mode", r->is_native_mode);
803 ndr_print_uint32(ndr, "is_active_directory", r->is_active_directory);
804 ndr_print_uint32(ndr, "is_primary", r->is_primary);
808 static enum ndr_err_code ndr_push_STRUCT_winbind_domain_info_compat_array(struct ndr_push *ndr, int ndr_flags, const struct winbind_domain_info_compat_array *r)
810 uint32_t cntr_domains_0;
811 if (ndr_flags & NDR_SCALARS) {
812 NDR_CHECK(ndr_push_align(ndr, 4));
813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_domains));
814 for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
815 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->domains[cntr_domains_0]));
818 if (ndr_flags & NDR_BUFFERS) {
819 for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
820 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->domains[cntr_domains_0]));
823 return NDR_ERR_SUCCESS;
826 static enum ndr_err_code ndr_pull_STRUCT_winbind_domain_info_compat_array(struct ndr_pull *ndr, int ndr_flags, struct winbind_domain_info_compat_array *r)
828 uint32_t cntr_domains_0;
829 TALLOC_CTX *_mem_save_domains_0;
830 if (ndr_flags & NDR_SCALARS) {
831 NDR_CHECK(ndr_pull_align(ndr, 4));
832 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_domains));
833 NDR_PULL_ALLOC_N(ndr, r->domains, r->num_domains);
834 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
835 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
836 for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
837 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->domains[cntr_domains_0]));
839 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
841 if (ndr_flags & NDR_BUFFERS) {
842 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
843 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
844 for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
845 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->domains[cntr_domains_0]));
847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
849 return NDR_ERR_SUCCESS;
852 _PUBLIC_ void ndr_print_STRUCT_winbind_domain_info_compat_array(struct ndr_print *ndr, const char *name, const struct winbind_domain_info_compat_array *r)
854 uint32_t cntr_domains_0;
855 ndr_print_struct(ndr, name, "winbind_domain_info_compat_array");
857 ndr_print_uint32(ndr, "num_domains", r->num_domains);
858 ndr->print(ndr, "%s: ARRAY(%d)", "domains", r->num_domains);
860 for (cntr_domains_0=0;cntr_domains_0<r->num_domains;cntr_domains_0++) {
862 if (asprintf(&idx_0, "[%d]", cntr_domains_0) != -1) {
863 ndr_print_STRUCT_winbind_domain_info_compat(ndr, "domains", &r->domains[cntr_domains_0]);
871 static enum ndr_err_code ndr_push_winbind_trust_req(struct ndr_push *ndr, int ndr_flags, const union winbind_trust_req *r)
873 if (ndr_flags & NDR_SCALARS) {
874 int level = ndr_push_get_switch_value(ndr, r);
875 NDR_CHECK(ndr_push_winbind_trust_level(ndr, NDR_SCALARS, level));
877 case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
880 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: {
888 if (ndr_flags & NDR_BUFFERS) {
889 int level = ndr_push_get_switch_value(ndr, r);
891 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
894 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
902 return NDR_ERR_SUCCESS;
905 static enum ndr_err_code ndr_pull_winbind_trust_req(struct ndr_pull *ndr, int ndr_flags, union winbind_trust_req *r)
909 level = ndr_pull_get_switch_value(ndr, r);
910 if (ndr_flags & NDR_SCALARS) {
911 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
912 if (_level != level) {
913 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
916 case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
919 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: {
927 if (ndr_flags & NDR_BUFFERS) {
929 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
932 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
940 return NDR_ERR_SUCCESS;
943 _PUBLIC_ void ndr_print_winbind_trust_req(struct ndr_print *ndr, const char *name, const union winbind_trust_req *r)
946 level = ndr_print_get_switch_value(ndr, r);
947 ndr_print_union(ndr, name, level, "winbind_trust_req");
949 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
952 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
961 static enum ndr_err_code ndr_push_winbind_trust_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_trust_rep *r)
963 if (ndr_flags & NDR_SCALARS) {
964 int level = ndr_push_get_switch_value(ndr, r);
965 NDR_CHECK(ndr_push_winbind_trust_level(ndr, NDR_SCALARS, level));
967 case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
968 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat_array(ndr, NDR_SCALARS, &r->compat_trusts));
971 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: {
979 if (ndr_flags & NDR_BUFFERS) {
980 int level = ndr_push_get_switch_value(ndr, r);
982 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
983 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat_array(ndr, NDR_BUFFERS, &r->compat_trusts));
986 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
994 return NDR_ERR_SUCCESS;
997 static enum ndr_err_code ndr_pull_winbind_trust_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_trust_rep *r)
1001 level = ndr_pull_get_switch_value(ndr, r);
1002 if (ndr_flags & NDR_SCALARS) {
1003 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1004 if (_level != level) {
1005 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1008 case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
1009 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat_array(ndr, NDR_SCALARS, &r->compat_trusts));
1012 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: {
1020 if (ndr_flags & NDR_BUFFERS) {
1022 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
1023 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat_array(ndr, NDR_BUFFERS, &r->compat_trusts));
1026 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
1034 return NDR_ERR_SUCCESS;
1037 _PUBLIC_ void ndr_print_winbind_trust_rep(struct ndr_print *ndr, const char *name, const union winbind_trust_rep *r)
1040 level = ndr_print_get_switch_value(ndr, r);
1041 ndr_print_union(ndr, name, level, "winbind_trust_rep");
1043 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
1044 ndr_print_STRUCT_winbind_domain_info_compat_array(ndr, "compat_trusts", &r->compat_trusts);
1047 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
1056 static enum ndr_err_code ndr_push_winbind_lookup_level(struct ndr_push *ndr, int ndr_flags, enum winbind_lookup_level r)
1058 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1059 return NDR_ERR_SUCCESS;
1062 static enum ndr_err_code ndr_pull_winbind_lookup_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_lookup_level *r)
1065 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1067 return NDR_ERR_SUCCESS;
1070 _PUBLIC_ void ndr_print_winbind_lookup_level(struct ndr_print *ndr, const char *name, enum winbind_lookup_level r)
1072 const char *val = NULL;
1075 case WINBIND_LOOKUP_LEVEL_SID2NAME: val = "WINBIND_LOOKUP_LEVEL_SID2NAME"; break;
1076 case WINBIND_LOOKUP_LEVEL_NAME2SID: val = "WINBIND_LOOKUP_LEVEL_NAME2SID"; break;
1077 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: val = "WINBIND_LOOKUP_LEVEL_RIDS2NAMES"; break;
1078 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: val = "WINBIND_LOOKUP_LEVEL_SID2USERINFO"; break;
1079 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: val = "WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS"; break;
1080 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: val = "WINBIND_LOOKUP_LEVEL_EXPANDALIASES"; break;
1082 ndr_print_enum(ndr, name, "ENUM", val, r);
1085 static enum ndr_err_code ndr_push_STRUCT_winbind_lookup_req_rids(struct ndr_push *ndr, int ndr_flags, const struct winbind_lookup_req_rids *r)
1087 uint32_t cntr_rids_0;
1088 if (ndr_flags & NDR_SCALARS) {
1089 NDR_CHECK(ndr_push_align(ndr, 4));
1090 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1091 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
1092 for (cntr_rids_0 = 0; cntr_rids_0 < r->num_rids; cntr_rids_0++) {
1093 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_0]));
1096 if (ndr_flags & NDR_BUFFERS) {
1097 if (r->domain_sid) {
1098 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1101 return NDR_ERR_SUCCESS;
1104 static enum ndr_err_code ndr_pull_STRUCT_winbind_lookup_req_rids(struct ndr_pull *ndr, int ndr_flags, struct winbind_lookup_req_rids *r)
1106 uint32_t _ptr_domain_sid;
1107 TALLOC_CTX *_mem_save_domain_sid_0;
1108 uint32_t cntr_rids_0;
1109 TALLOC_CTX *_mem_save_rids_0;
1110 if (ndr_flags & NDR_SCALARS) {
1111 NDR_CHECK(ndr_pull_align(ndr, 4));
1112 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1113 if (_ptr_domain_sid) {
1114 NDR_PULL_ALLOC(ndr, r->domain_sid);
1116 r->domain_sid = NULL;
1118 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
1119 NDR_PULL_ALLOC_N(ndr, r->rids, r->num_rids);
1120 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1121 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1122 for (cntr_rids_0 = 0; cntr_rids_0 < r->num_rids; cntr_rids_0++) {
1123 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_0]));
1125 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
1127 if (ndr_flags & NDR_BUFFERS) {
1128 if (r->domain_sid) {
1129 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1130 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1131 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1132 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1135 return NDR_ERR_SUCCESS;
1138 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_req_rids(struct ndr_print *ndr, const char *name, const struct winbind_lookup_req_rids *r)
1140 uint32_t cntr_rids_0;
1141 ndr_print_struct(ndr, name, "winbind_lookup_req_rids");
1143 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1145 if (r->domain_sid) {
1146 ndr_print_dom_sid(ndr, "domain_sid", r->domain_sid);
1149 ndr_print_uint32(ndr, "num_rids", r->num_rids);
1150 ndr->print(ndr, "%s: ARRAY(%d)", "rids", r->num_rids);
1152 for (cntr_rids_0=0;cntr_rids_0<r->num_rids;cntr_rids_0++) {
1154 if (asprintf(&idx_0, "[%d]", cntr_rids_0) != -1) {
1155 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_0]);
1163 static enum ndr_err_code ndr_push_STRUCT_winbind_lookup_name_info(struct ndr_push *ndr, int ndr_flags, const struct winbind_lookup_name_info *r)
1165 if (ndr_flags & NDR_SCALARS) {
1166 NDR_CHECK(ndr_push_align(ndr, 4));
1167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
1168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
1170 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
1172 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
1174 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1175 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->type));
1177 if (ndr_flags & NDR_BUFFERS) {
1179 return NDR_ERR_SUCCESS;
1182 static enum ndr_err_code ndr_pull_STRUCT_winbind_lookup_name_info(struct ndr_pull *ndr, int ndr_flags, struct winbind_lookup_name_info *r)
1184 if (ndr_flags & NDR_SCALARS) {
1185 NDR_CHECK(ndr_pull_align(ndr, 4));
1186 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
1187 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
1188 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
1189 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->domain_name), ndr_get_array_length(ndr, &r->domain_name));
1191 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t)));
1192 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t), CH_UTF8));
1193 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
1194 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
1195 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
1196 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account_name), ndr_get_array_length(ndr, &r->account_name));
1198 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t)));
1199 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t), CH_UTF8));
1200 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->type));
1202 if (ndr_flags & NDR_BUFFERS) {
1204 return NDR_ERR_SUCCESS;
1207 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_name_info(struct ndr_print *ndr, const char *name, const struct winbind_lookup_name_info *r)
1209 ndr_print_struct(ndr, name, "winbind_lookup_name_info");
1211 ndr_print_string(ndr, "domain_name", r->domain_name);
1212 ndr_print_string(ndr, "account_name", r->account_name);
1213 ndr_print_lsa_SidType(ndr, "type", r->type);
1217 static enum ndr_err_code ndr_push_STRUCT_winbind_lookup_sid_info(struct ndr_push *ndr, int ndr_flags, const struct winbind_lookup_sid_info *r)
1219 if (ndr_flags & NDR_SCALARS) {
1220 NDR_CHECK(ndr_push_align(ndr, 4));
1221 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1222 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->type));
1224 if (ndr_flags & NDR_BUFFERS) {
1226 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1229 return NDR_ERR_SUCCESS;
1232 static enum ndr_err_code ndr_pull_STRUCT_winbind_lookup_sid_info(struct ndr_pull *ndr, int ndr_flags, struct winbind_lookup_sid_info *r)
1235 TALLOC_CTX *_mem_save_sid_0;
1236 if (ndr_flags & NDR_SCALARS) {
1237 NDR_CHECK(ndr_pull_align(ndr, 4));
1238 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1240 NDR_PULL_ALLOC(ndr, r->sid);
1244 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->type));
1246 if (ndr_flags & NDR_BUFFERS) {
1248 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1249 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1250 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1251 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1254 return NDR_ERR_SUCCESS;
1257 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_sid_info(struct ndr_print *ndr, const char *name, const struct winbind_lookup_sid_info *r)
1259 ndr_print_struct(ndr, name, "winbind_lookup_sid_info");
1261 ndr_print_ptr(ndr, "sid", r->sid);
1264 ndr_print_dom_sid(ndr, "sid", r->sid);
1267 ndr_print_lsa_SidType(ndr, "type", r->type);
1271 static enum ndr_err_code ndr_push_STRUCT_winbind_lookup_name_info_array(struct ndr_push *ndr, int ndr_flags, const struct winbind_lookup_name_info_array *r)
1273 uint32_t cntr_names_0;
1274 if (ndr_flags & NDR_SCALARS) {
1275 NDR_CHECK(ndr_push_align(ndr, 4));
1276 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_names));
1277 for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) {
1278 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->names[cntr_names_0]));
1281 if (ndr_flags & NDR_BUFFERS) {
1283 return NDR_ERR_SUCCESS;
1286 static enum ndr_err_code ndr_pull_STRUCT_winbind_lookup_name_info_array(struct ndr_pull *ndr, int ndr_flags, struct winbind_lookup_name_info_array *r)
1288 uint32_t cntr_names_0;
1289 TALLOC_CTX *_mem_save_names_0;
1290 if (ndr_flags & NDR_SCALARS) {
1291 NDR_CHECK(ndr_pull_align(ndr, 4));
1292 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_names));
1293 NDR_PULL_ALLOC_N(ndr, r->names, r->num_names);
1294 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
1295 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
1296 for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) {
1297 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->names[cntr_names_0]));
1299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
1301 if (ndr_flags & NDR_BUFFERS) {
1303 return NDR_ERR_SUCCESS;
1306 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_name_info_array(struct ndr_print *ndr, const char *name, const struct winbind_lookup_name_info_array *r)
1308 uint32_t cntr_names_0;
1309 ndr_print_struct(ndr, name, "winbind_lookup_name_info_array");
1311 ndr_print_uint32(ndr, "num_names", r->num_names);
1312 ndr->print(ndr, "%s: ARRAY(%d)", "names", r->num_names);
1314 for (cntr_names_0=0;cntr_names_0<r->num_names;cntr_names_0++) {
1316 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
1317 ndr_print_STRUCT_winbind_lookup_name_info(ndr, "names", &r->names[cntr_names_0]);
1325 static enum ndr_err_code ndr_push_STRUCT_winbind_lookup_user_info(struct ndr_push *ndr, int ndr_flags, const struct winbind_lookup_user_info *r)
1327 if (ndr_flags & NDR_SCALARS) {
1328 NDR_CHECK(ndr_push_align(ndr, 8));
1329 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account, CH_UTF8)));
1330 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account, CH_UTF8)));
1332 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account, ndr_charset_length(r->account, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->gecos, CH_UTF8)));
1334 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1335 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->gecos, CH_UTF8)));
1336 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->gecos, ndr_charset_length(r->gecos, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1337 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
1338 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1339 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
1340 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->homedir, ndr_charset_length(r->homedir, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1341 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
1342 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1343 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
1344 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->shell, ndr_charset_length(r->shell, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1345 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->primary_gid));
1346 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_rid));
1348 if (ndr_flags & NDR_BUFFERS) {
1350 return NDR_ERR_SUCCESS;
1353 static enum ndr_err_code ndr_pull_STRUCT_winbind_lookup_user_info(struct ndr_pull *ndr, int ndr_flags, struct winbind_lookup_user_info *r)
1355 if (ndr_flags & NDR_SCALARS) {
1356 NDR_CHECK(ndr_pull_align(ndr, 8));
1357 NDR_CHECK(ndr_pull_array_size(ndr, &r->account));
1358 NDR_CHECK(ndr_pull_array_length(ndr, &r->account));
1359 if (ndr_get_array_length(ndr, &r->account) > ndr_get_array_size(ndr, &r->account)) {
1360 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->account), ndr_get_array_length(ndr, &r->account));
1362 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account), sizeof(uint8_t)));
1363 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account, ndr_get_array_length(ndr, &r->account), sizeof(uint8_t), CH_UTF8));
1364 NDR_CHECK(ndr_pull_array_size(ndr, &r->gecos));
1365 NDR_CHECK(ndr_pull_array_length(ndr, &r->gecos));
1366 if (ndr_get_array_length(ndr, &r->gecos) > ndr_get_array_size(ndr, &r->gecos)) {
1367 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->gecos), ndr_get_array_length(ndr, &r->gecos));
1369 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->gecos), sizeof(uint8_t)));
1370 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->gecos, ndr_get_array_length(ndr, &r->gecos), sizeof(uint8_t), CH_UTF8));
1371 NDR_CHECK(ndr_pull_array_size(ndr, &r->homedir));
1372 NDR_CHECK(ndr_pull_array_length(ndr, &r->homedir));
1373 if (ndr_get_array_length(ndr, &r->homedir) > ndr_get_array_size(ndr, &r->homedir)) {
1374 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));
1376 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t)));
1377 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t), CH_UTF8));
1378 NDR_CHECK(ndr_pull_array_size(ndr, &r->shell));
1379 NDR_CHECK(ndr_pull_array_length(ndr, &r->shell));
1380 if (ndr_get_array_length(ndr, &r->shell) > ndr_get_array_size(ndr, &r->shell)) {
1381 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));
1383 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t)));
1384 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t), CH_UTF8));
1385 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->primary_gid));
1386 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_rid));
1388 if (ndr_flags & NDR_BUFFERS) {
1390 return NDR_ERR_SUCCESS;
1393 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_user_info(struct ndr_print *ndr, const char *name, const struct winbind_lookup_user_info *r)
1395 ndr_print_struct(ndr, name, "winbind_lookup_user_info");
1397 ndr_print_string(ndr, "account", r->account);
1398 ndr_print_string(ndr, "gecos", r->gecos);
1399 ndr_print_string(ndr, "homedir", r->homedir);
1400 ndr_print_string(ndr, "shell", r->shell);
1401 ndr_print_hyper(ndr, "primary_gid", r->primary_gid);
1402 ndr_print_uint32(ndr, "primary_rid", r->primary_rid);
1406 static enum ndr_err_code ndr_push_STRUCT_winbind_lookup_sid_info_array(struct ndr_push *ndr, int ndr_flags, const struct winbind_lookup_sid_info_array *r)
1408 uint32_t cntr_sids_0;
1409 if (ndr_flags & NDR_SCALARS) {
1410 NDR_CHECK(ndr_push_align(ndr, 4));
1411 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
1412 for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
1413 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1416 if (ndr_flags & NDR_BUFFERS) {
1417 for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
1418 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sids[cntr_sids_0]));
1421 return NDR_ERR_SUCCESS;
1424 static enum ndr_err_code ndr_pull_STRUCT_winbind_lookup_sid_info_array(struct ndr_pull *ndr, int ndr_flags, struct winbind_lookup_sid_info_array *r)
1426 uint32_t cntr_sids_0;
1427 TALLOC_CTX *_mem_save_sids_0;
1428 if (ndr_flags & NDR_SCALARS) {
1429 NDR_CHECK(ndr_pull_align(ndr, 4));
1430 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
1431 NDR_PULL_ALLOC_N(ndr, r->sids, r->num_sids);
1432 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1433 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1434 for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
1435 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1437 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1439 if (ndr_flags & NDR_BUFFERS) {
1440 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1441 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1442 for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
1443 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sids[cntr_sids_0]));
1445 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1447 return NDR_ERR_SUCCESS;
1450 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_sid_info_array(struct ndr_print *ndr, const char *name, const struct winbind_lookup_sid_info_array *r)
1452 uint32_t cntr_sids_0;
1453 ndr_print_struct(ndr, name, "winbind_lookup_sid_info_array");
1455 ndr_print_uint32(ndr, "num_sids", r->num_sids);
1456 ndr->print(ndr, "%s: ARRAY(%d)", "sids", r->num_sids);
1458 for (cntr_sids_0=0;cntr_sids_0<r->num_sids;cntr_sids_0++) {
1460 if (asprintf(&idx_0, "[%d]", cntr_sids_0) != -1) {
1461 ndr_print_STRUCT_winbind_lookup_sid_info(ndr, "sids", &r->sids[cntr_sids_0]);
1469 static enum ndr_err_code ndr_push_winbind_lookup_req(struct ndr_push *ndr, int ndr_flags, const union winbind_lookup_req *r)
1471 if (ndr_flags & NDR_SCALARS) {
1472 int level = ndr_push_get_switch_value(ndr, r);
1473 NDR_CHECK(ndr_push_winbind_lookup_level(ndr, NDR_SCALARS, level));
1475 case WINBIND_LOOKUP_LEVEL_SID2NAME: {
1476 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1479 case WINBIND_LOOKUP_LEVEL_NAME2SID: {
1480 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
1481 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1482 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
1483 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1486 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
1487 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_req_rids(ndr, NDR_SCALARS, &r->rids));
1490 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: {
1491 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1494 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: {
1495 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1498 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: {
1499 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
1507 if (ndr_flags & NDR_BUFFERS) {
1508 int level = ndr_push_get_switch_value(ndr, r);
1510 case WINBIND_LOOKUP_LEVEL_SID2NAME:
1512 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1516 case WINBIND_LOOKUP_LEVEL_NAME2SID:
1519 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
1520 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_req_rids(ndr, NDR_BUFFERS, &r->rids));
1523 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
1525 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1529 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
1531 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1535 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
1536 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
1544 return NDR_ERR_SUCCESS;
1547 static enum ndr_err_code ndr_pull_winbind_lookup_req(struct ndr_pull *ndr, int ndr_flags, union winbind_lookup_req *r)
1551 TALLOC_CTX *_mem_save_sid_0;
1552 level = ndr_pull_get_switch_value(ndr, r);
1553 if (ndr_flags & NDR_SCALARS) {
1554 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1555 if (_level != level) {
1556 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1559 case WINBIND_LOOKUP_LEVEL_SID2NAME: {
1561 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1563 NDR_PULL_ALLOC(ndr, r->sid);
1569 case WINBIND_LOOKUP_LEVEL_NAME2SID: {
1570 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
1571 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
1572 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
1573 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));
1575 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t)));
1576 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8));
1579 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
1580 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_req_rids(ndr, NDR_SCALARS, &r->rids));
1583 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: {
1585 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1587 NDR_PULL_ALLOC(ndr, r->sid);
1593 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: {
1595 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1597 NDR_PULL_ALLOC(ndr, r->sid);
1603 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: {
1604 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
1612 if (ndr_flags & NDR_BUFFERS) {
1614 case WINBIND_LOOKUP_LEVEL_SID2NAME:
1616 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1617 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1618 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1619 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1623 case WINBIND_LOOKUP_LEVEL_NAME2SID:
1626 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
1627 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_req_rids(ndr, NDR_BUFFERS, &r->rids));
1630 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
1632 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1633 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1634 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1635 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1639 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
1641 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1642 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1643 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1644 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1648 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
1649 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
1657 return NDR_ERR_SUCCESS;
1660 _PUBLIC_ void ndr_print_winbind_lookup_req(struct ndr_print *ndr, const char *name, const union winbind_lookup_req *r)
1663 level = ndr_print_get_switch_value(ndr, r);
1664 ndr_print_union(ndr, name, level, "winbind_lookup_req");
1666 case WINBIND_LOOKUP_LEVEL_SID2NAME:
1667 ndr_print_ptr(ndr, "sid", r->sid);
1670 ndr_print_dom_sid(ndr, "sid", r->sid);
1675 case WINBIND_LOOKUP_LEVEL_NAME2SID:
1676 ndr_print_string(ndr, "name", r->name);
1679 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
1680 ndr_print_STRUCT_winbind_lookup_req_rids(ndr, "rids", &r->rids);
1683 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
1684 ndr_print_ptr(ndr, "sid", r->sid);
1687 ndr_print_dom_sid(ndr, "sid", r->sid);
1692 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
1693 ndr_print_ptr(ndr, "sid", r->sid);
1696 ndr_print_dom_sid(ndr, "sid", r->sid);
1701 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
1702 ndr_print_STRUCT_winbind_lookup_sid_info_array(ndr, "sid_array", &r->sid_array);
1711 static enum ndr_err_code ndr_push_winbind_lookup_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_lookup_rep *r)
1713 if (ndr_flags & NDR_SCALARS) {
1714 int level = ndr_push_get_switch_value(ndr, r);
1715 NDR_CHECK(ndr_push_winbind_lookup_level(ndr, NDR_SCALARS, level));
1717 case WINBIND_LOOKUP_LEVEL_SID2NAME: {
1718 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->name_info));
1721 case WINBIND_LOOKUP_LEVEL_NAME2SID: {
1722 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sid_info));
1725 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
1726 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info_array(ndr, NDR_SCALARS, &r->name_array));
1729 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: {
1730 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_user_info(ndr, NDR_SCALARS, &r->user_info));
1733 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: {
1734 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
1737 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: {
1738 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
1746 if (ndr_flags & NDR_BUFFERS) {
1747 int level = ndr_push_get_switch_value(ndr, r);
1749 case WINBIND_LOOKUP_LEVEL_SID2NAME:
1752 case WINBIND_LOOKUP_LEVEL_NAME2SID:
1753 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sid_info));
1756 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
1759 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
1762 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
1763 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
1766 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
1767 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
1775 return NDR_ERR_SUCCESS;
1778 static enum ndr_err_code ndr_pull_winbind_lookup_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_lookup_rep *r)
1782 level = ndr_pull_get_switch_value(ndr, r);
1783 if (ndr_flags & NDR_SCALARS) {
1784 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1785 if (_level != level) {
1786 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1789 case WINBIND_LOOKUP_LEVEL_SID2NAME: {
1790 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->name_info));
1793 case WINBIND_LOOKUP_LEVEL_NAME2SID: {
1794 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sid_info));
1797 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
1798 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_name_info_array(ndr, NDR_SCALARS, &r->name_array));
1801 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: {
1802 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_user_info(ndr, NDR_SCALARS, &r->user_info));
1805 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: {
1806 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
1809 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: {
1810 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
1818 if (ndr_flags & NDR_BUFFERS) {
1820 case WINBIND_LOOKUP_LEVEL_SID2NAME:
1823 case WINBIND_LOOKUP_LEVEL_NAME2SID:
1824 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sid_info));
1827 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
1830 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
1833 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
1834 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
1837 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
1838 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
1846 return NDR_ERR_SUCCESS;
1849 _PUBLIC_ void ndr_print_winbind_lookup_rep(struct ndr_print *ndr, const char *name, const union winbind_lookup_rep *r)
1852 level = ndr_print_get_switch_value(ndr, r);
1853 ndr_print_union(ndr, name, level, "winbind_lookup_rep");
1855 case WINBIND_LOOKUP_LEVEL_SID2NAME:
1856 ndr_print_STRUCT_winbind_lookup_name_info(ndr, "name_info", &r->name_info);
1859 case WINBIND_LOOKUP_LEVEL_NAME2SID:
1860 ndr_print_STRUCT_winbind_lookup_sid_info(ndr, "sid_info", &r->sid_info);
1863 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
1864 ndr_print_STRUCT_winbind_lookup_name_info_array(ndr, "name_array", &r->name_array);
1867 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
1868 ndr_print_STRUCT_winbind_lookup_user_info(ndr, "user_info", &r->user_info);
1871 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
1872 ndr_print_STRUCT_winbind_lookup_sid_info_array(ndr, "sid_array", &r->sid_array);
1875 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
1876 ndr_print_STRUCT_winbind_lookup_sid_info_array(ndr, "sid_array", &r->sid_array);
1885 static enum ndr_err_code ndr_push_winbind_get_idmap_level(struct ndr_push *ndr, int ndr_flags, enum winbind_get_idmap_level r)
1887 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1888 return NDR_ERR_SUCCESS;
1891 static enum ndr_err_code ndr_pull_winbind_get_idmap_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_get_idmap_level *r)
1894 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1896 return NDR_ERR_SUCCESS;
1899 _PUBLIC_ void ndr_print_winbind_get_idmap_level(struct ndr_print *ndr, const char *name, enum winbind_get_idmap_level r)
1901 const char *val = NULL;
1904 case WINBIND_IDMAP_LEVEL_SID_TO_UID: val = "WINBIND_IDMAP_LEVEL_SID_TO_UID"; break;
1905 case WINBIND_IDMAP_LEVEL_SID_TO_GID: val = "WINBIND_IDMAP_LEVEL_SID_TO_GID"; break;
1906 case WINBIND_IDMAP_LEVEL_UID_TO_SID: val = "WINBIND_IDMAP_LEVEL_UID_TO_SID"; break;
1907 case WINBIND_IDMAP_LEVEL_GID_TO_SID: val = "WINBIND_IDMAP_LEVEL_GID_TO_SID"; break;
1909 ndr_print_enum(ndr, name, "ENUM", val, r);
1912 static enum ndr_err_code ndr_push_winbind_get_idmap_req(struct ndr_push *ndr, int ndr_flags, const union winbind_get_idmap_req *r)
1914 if (ndr_flags & NDR_SCALARS) {
1915 int level = ndr_push_get_switch_value(ndr, r);
1916 NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, level));
1918 case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
1919 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1922 case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
1923 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1926 case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
1927 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
1930 case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
1931 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
1935 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1938 if (ndr_flags & NDR_BUFFERS) {
1939 int level = ndr_push_get_switch_value(ndr, r);
1941 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
1943 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1947 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
1949 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1953 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
1956 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
1960 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
1963 return NDR_ERR_SUCCESS;
1966 static enum ndr_err_code ndr_pull_winbind_get_idmap_req(struct ndr_pull *ndr, int ndr_flags, union winbind_get_idmap_req *r)
1970 TALLOC_CTX *_mem_save_sid_0;
1971 level = ndr_pull_get_switch_value(ndr, r);
1972 if (ndr_flags & NDR_SCALARS) {
1973 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1974 if (_level != level) {
1975 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1978 case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
1980 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1982 NDR_PULL_ALLOC(ndr, r->sid);
1988 case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
1990 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1992 NDR_PULL_ALLOC(ndr, r->sid);
1998 case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
1999 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
2002 case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
2003 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->gid));
2007 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2010 if (ndr_flags & NDR_BUFFERS) {
2012 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2014 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2015 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2016 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2017 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2021 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2023 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2024 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2025 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2026 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2030 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2033 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2037 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2040 return NDR_ERR_SUCCESS;
2043 _PUBLIC_ void ndr_print_winbind_get_idmap_req(struct ndr_print *ndr, const char *name, const union winbind_get_idmap_req *r)
2046 level = ndr_print_get_switch_value(ndr, r);
2047 ndr_print_union(ndr, name, level, "winbind_get_idmap_req");
2049 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2050 ndr_print_ptr(ndr, "sid", r->sid);
2053 ndr_print_dom_sid(ndr, "sid", r->sid);
2058 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2059 ndr_print_ptr(ndr, "sid", r->sid);
2062 ndr_print_dom_sid(ndr, "sid", r->sid);
2067 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2068 ndr_print_hyper(ndr, "uid", r->uid);
2071 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2072 ndr_print_hyper(ndr, "gid", r->gid);
2076 ndr_print_bad_level(ndr, name, level);
2080 static enum ndr_err_code ndr_push_winbind_get_idmap_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_get_idmap_rep *r)
2082 if (ndr_flags & NDR_SCALARS) {
2083 int level = ndr_push_get_switch_value(ndr, r);
2084 NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, level));
2086 case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
2087 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
2090 case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
2091 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
2094 case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
2095 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2098 case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
2099 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2103 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2106 if (ndr_flags & NDR_BUFFERS) {
2107 int level = ndr_push_get_switch_value(ndr, r);
2109 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2112 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2115 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2117 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2121 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2123 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2128 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2131 return NDR_ERR_SUCCESS;
2134 static enum ndr_err_code ndr_pull_winbind_get_idmap_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_get_idmap_rep *r)
2138 TALLOC_CTX *_mem_save_sid_0;
2139 level = ndr_pull_get_switch_value(ndr, r);
2140 if (ndr_flags & NDR_SCALARS) {
2141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2142 if (_level != level) {
2143 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2146 case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
2147 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
2150 case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
2151 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->gid));
2154 case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
2156 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2158 NDR_PULL_ALLOC(ndr, r->sid);
2164 case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
2166 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2168 NDR_PULL_ALLOC(ndr, r->sid);
2175 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2178 if (ndr_flags & NDR_BUFFERS) {
2180 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2183 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2186 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2188 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2189 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2190 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2191 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2195 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2197 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2198 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2199 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2200 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2205 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2208 return NDR_ERR_SUCCESS;
2211 _PUBLIC_ void ndr_print_winbind_get_idmap_rep(struct ndr_print *ndr, const char *name, const union winbind_get_idmap_rep *r)
2214 level = ndr_print_get_switch_value(ndr, r);
2215 ndr_print_union(ndr, name, level, "winbind_get_idmap_rep");
2217 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2218 ndr_print_hyper(ndr, "uid", r->uid);
2221 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2222 ndr_print_hyper(ndr, "gid", r->gid);
2225 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2226 ndr_print_ptr(ndr, "sid", r->sid);
2229 ndr_print_dom_sid(ndr, "sid", r->sid);
2234 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2235 ndr_print_ptr(ndr, "sid", r->sid);
2238 ndr_print_dom_sid(ndr, "sid", r->sid);
2244 ndr_print_bad_level(ndr, name, level);
2248 static enum ndr_err_code ndr_push_winbind_set_idmap_level(struct ndr_push *ndr, int ndr_flags, enum winbind_set_idmap_level r)
2250 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2251 return NDR_ERR_SUCCESS;
2254 static enum ndr_err_code ndr_pull_winbind_set_idmap_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_set_idmap_level *r)
2257 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2259 return NDR_ERR_SUCCESS;
2262 _PUBLIC_ void ndr_print_winbind_set_idmap_level(struct ndr_print *ndr, const char *name, enum winbind_set_idmap_level r)
2264 const char *val = NULL;
2267 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: val = "WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID"; break;
2268 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: val = "WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID"; break;
2269 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: val = "WINBIND_SET_IDMAP_LEVEL_SET_MAPPING"; break;
2270 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: val = "WINBIND_SET_IDMAP_LEVEL_SET_HWM"; break;
2272 ndr_print_enum(ndr, name, "ENUM", val, r);
2275 static enum ndr_err_code ndr_push_winbind_set_idmap_req(struct ndr_push *ndr, int ndr_flags, const union winbind_set_idmap_req *r)
2277 if (ndr_flags & NDR_SCALARS) {
2278 int level = ndr_push_get_switch_value(ndr, r);
2279 NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, level));
2281 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
2284 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
2287 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
2288 NDR_CHECK(ndr_push_id_map(ndr, NDR_SCALARS, &r->mapping));
2291 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
2292 NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->hwm));
2296 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2299 if (ndr_flags & NDR_BUFFERS) {
2300 int level = ndr_push_get_switch_value(ndr, r);
2302 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2305 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2308 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2309 NDR_CHECK(ndr_push_id_map(ndr, NDR_BUFFERS, &r->mapping));
2312 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2313 NDR_CHECK(ndr_push_unixid(ndr, NDR_BUFFERS, &r->hwm));
2317 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2320 return NDR_ERR_SUCCESS;
2323 static enum ndr_err_code ndr_pull_winbind_set_idmap_req(struct ndr_pull *ndr, int ndr_flags, union winbind_set_idmap_req *r)
2327 level = ndr_pull_get_switch_value(ndr, r);
2328 if (ndr_flags & NDR_SCALARS) {
2329 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2330 if (_level != level) {
2331 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2334 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
2337 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
2340 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
2341 NDR_CHECK(ndr_pull_id_map(ndr, NDR_SCALARS, &r->mapping));
2344 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
2345 NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->hwm));
2349 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2352 if (ndr_flags & NDR_BUFFERS) {
2354 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2357 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2360 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2361 NDR_CHECK(ndr_pull_id_map(ndr, NDR_BUFFERS, &r->mapping));
2364 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2365 NDR_CHECK(ndr_pull_unixid(ndr, NDR_BUFFERS, &r->hwm));
2369 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2372 return NDR_ERR_SUCCESS;
2375 _PUBLIC_ void ndr_print_winbind_set_idmap_req(struct ndr_print *ndr, const char *name, const union winbind_set_idmap_req *r)
2378 level = ndr_print_get_switch_value(ndr, r);
2379 ndr_print_union(ndr, name, level, "winbind_set_idmap_req");
2381 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2384 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2387 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2388 ndr_print_id_map(ndr, "mapping", &r->mapping);
2391 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2392 ndr_print_unixid(ndr, "hwm", &r->hwm);
2396 ndr_print_bad_level(ndr, name, level);
2400 static enum ndr_err_code ndr_push_winbind_set_idmap_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_set_idmap_rep *r)
2402 if (ndr_flags & NDR_SCALARS) {
2403 int level = ndr_push_get_switch_value(ndr, r);
2404 NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, level));
2406 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
2407 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
2410 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
2411 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
2414 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
2417 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
2421 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2424 if (ndr_flags & NDR_BUFFERS) {
2425 int level = ndr_push_get_switch_value(ndr, r);
2427 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2430 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2433 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2436 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2440 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2443 return NDR_ERR_SUCCESS;
2446 static enum ndr_err_code ndr_pull_winbind_set_idmap_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_set_idmap_rep *r)
2450 level = ndr_pull_get_switch_value(ndr, r);
2451 if (ndr_flags & NDR_SCALARS) {
2452 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2453 if (_level != level) {
2454 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2457 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
2458 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
2461 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
2462 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->gid));
2465 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
2468 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
2472 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2475 if (ndr_flags & NDR_BUFFERS) {
2477 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2480 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2483 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2486 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2490 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2493 return NDR_ERR_SUCCESS;
2496 _PUBLIC_ void ndr_print_winbind_set_idmap_rep(struct ndr_print *ndr, const char *name, const union winbind_set_idmap_rep *r)
2499 level = ndr_print_get_switch_value(ndr, r);
2500 ndr_print_union(ndr, name, level, "winbind_set_idmap_rep");
2502 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2503 ndr_print_hyper(ndr, "uid", r->uid);
2506 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2507 ndr_print_hyper(ndr, "gid", r->gid);
2510 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2513 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2517 ndr_print_bad_level(ndr, name, level);
2521 static enum ndr_err_code ndr_push_winbind_domain_info_level(struct ndr_push *ndr, int ndr_flags, enum winbind_domain_info_level r)
2523 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2524 return NDR_ERR_SUCCESS;
2527 static enum ndr_err_code ndr_pull_winbind_domain_info_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_domain_info_level *r)
2530 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2532 return NDR_ERR_SUCCESS;
2535 _PUBLIC_ void ndr_print_winbind_domain_info_level(struct ndr_print *ndr, const char *name, enum winbind_domain_info_level r)
2537 const char *val = NULL;
2540 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT: val = "WINBIND_DOMAIN_INFO_LEVEL_COMPAT"; break;
2541 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM: val = "WINBIND_DOMAIN_INFO_LEVEL_SEQNUM"; break;
2543 ndr_print_enum(ndr, name, "ENUM", val, r);
2546 static enum ndr_err_code ndr_push_winbind_domain_info(struct ndr_push *ndr, int ndr_flags, const union winbind_domain_info *r)
2548 if (ndr_flags & NDR_SCALARS) {
2549 int level = ndr_push_get_switch_value(ndr, r);
2550 NDR_CHECK(ndr_push_winbind_domain_info_level(ndr, NDR_SCALARS, level));
2552 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT: {
2553 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->compat));
2556 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM: {
2557 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->seqnum));
2561 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2564 if (ndr_flags & NDR_BUFFERS) {
2565 int level = ndr_push_get_switch_value(ndr, r);
2567 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT:
2568 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->compat));
2571 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM:
2575 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2578 return NDR_ERR_SUCCESS;
2581 static enum ndr_err_code ndr_pull_winbind_domain_info(struct ndr_pull *ndr, int ndr_flags, union winbind_domain_info *r)
2585 level = ndr_pull_get_switch_value(ndr, r);
2586 if (ndr_flags & NDR_SCALARS) {
2587 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2588 if (_level != level) {
2589 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2592 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT: {
2593 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->compat));
2596 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM: {
2597 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->seqnum));
2601 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2604 if (ndr_flags & NDR_BUFFERS) {
2606 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT:
2607 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->compat));
2610 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM:
2614 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2617 return NDR_ERR_SUCCESS;
2620 _PUBLIC_ void ndr_print_winbind_domain_info(struct ndr_print *ndr, const char *name, const union winbind_domain_info *r)
2623 level = ndr_print_get_switch_value(ndr, r);
2624 ndr_print_union(ndr, name, level, "winbind_domain_info");
2626 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT:
2627 ndr_print_STRUCT_winbind_domain_info_compat(ndr, "compat", &r->compat);
2630 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM:
2631 ndr_print_hyper(ndr, "seqnum", r->seqnum);
2635 ndr_print_bad_level(ndr, name, level);
2639 static enum ndr_err_code ndr_push_winbind_dc_info_level(struct ndr_push *ndr, int ndr_flags, enum winbind_dc_info_level r)
2641 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2642 return NDR_ERR_SUCCESS;
2645 static enum ndr_err_code ndr_pull_winbind_dc_info_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_dc_info_level *r)
2648 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2650 return NDR_ERR_SUCCESS;
2653 _PUBLIC_ void ndr_print_winbind_dc_info_level(struct ndr_print *ndr, const char *name, enum winbind_dc_info_level r)
2655 const char *val = NULL;
2658 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: val = "WINBIND_DC_INFO_LEVEL_COMPAT_NT4"; break;
2659 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: val = "WINBIND_DC_INFO_LEVEL_COMPAT_DS"; break;
2661 ndr_print_enum(ndr, name, "ENUM", val, r);
2664 static enum ndr_err_code ndr_push_winbind_dc_info_params(struct ndr_push *ndr, int ndr_flags, const union winbind_dc_info_params *r)
2666 if (ndr_flags & NDR_SCALARS) {
2667 int level = ndr_push_get_switch_value(ndr, r);
2668 NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, level));
2670 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
2673 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
2674 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
2678 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2681 if (ndr_flags & NDR_BUFFERS) {
2682 int level = ndr_push_get_switch_value(ndr, r);
2684 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
2687 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
2691 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2694 return NDR_ERR_SUCCESS;
2697 static enum ndr_err_code ndr_pull_winbind_dc_info_params(struct ndr_pull *ndr, int ndr_flags, union winbind_dc_info_params *r)
2701 level = ndr_pull_get_switch_value(ndr, r);
2702 if (ndr_flags & NDR_SCALARS) {
2703 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2704 if (_level != level) {
2705 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2708 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
2711 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
2712 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
2716 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2719 if (ndr_flags & NDR_BUFFERS) {
2721 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
2724 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
2728 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2731 return NDR_ERR_SUCCESS;
2734 _PUBLIC_ void ndr_print_winbind_dc_info_params(struct ndr_print *ndr, const char *name, const union winbind_dc_info_params *r)
2737 level = ndr_print_get_switch_value(ndr, r);
2738 ndr_print_union(ndr, name, level, "winbind_dc_info_params");
2740 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
2743 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
2744 ndr_print_uint32(ndr, "flags", r->flags);
2748 ndr_print_bad_level(ndr, name, level);
2752 static enum ndr_err_code ndr_push_winbind_dc_info(struct ndr_push *ndr, int ndr_flags, const union winbind_dc_info *r)
2754 if (ndr_flags & NDR_SCALARS) {
2755 int level = ndr_push_get_switch_value(ndr, r);
2756 NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, level));
2758 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
2759 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
2762 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
2763 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
2767 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2770 if (ndr_flags & NDR_BUFFERS) {
2771 int level = ndr_push_get_switch_value(ndr, r);
2773 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
2775 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
2776 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2777 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
2778 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
2782 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
2784 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
2785 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2786 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
2787 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
2792 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2795 return NDR_ERR_SUCCESS;
2798 static enum ndr_err_code ndr_pull_winbind_dc_info(struct ndr_pull *ndr, int ndr_flags, union winbind_dc_info *r)
2802 TALLOC_CTX *_mem_save_name_0;
2803 level = ndr_pull_get_switch_value(ndr, r);
2804 if (ndr_flags & NDR_SCALARS) {
2805 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2806 if (_level != level) {
2807 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2810 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
2812 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
2814 NDR_PULL_ALLOC(ndr, r->name);
2820 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
2822 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
2824 NDR_PULL_ALLOC(ndr, r->name);
2831 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2834 if (ndr_flags & NDR_BUFFERS) {
2836 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
2838 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2839 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
2840 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
2841 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
2842 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
2843 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));
2845 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t)));
2846 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8));
2847 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
2851 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
2853 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2854 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
2855 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
2856 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
2857 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
2858 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));
2860 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t)));
2861 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8));
2862 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
2867 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2870 return NDR_ERR_SUCCESS;
2873 _PUBLIC_ void ndr_print_winbind_dc_info(struct ndr_print *ndr, const char *name, const union winbind_dc_info *r)
2876 level = ndr_print_get_switch_value(ndr, r);
2877 ndr_print_union(ndr, name, level, "winbind_dc_info");
2879 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
2880 ndr_print_ptr(ndr, "name", r->name);
2883 ndr_print_string(ndr, "name", r->name);
2888 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
2889 ndr_print_ptr(ndr, "name", r->name);
2892 ndr_print_string(ndr, "name", r->name);
2898 ndr_print_bad_level(ndr, name, level);
2902 static enum ndr_err_code ndr_push_winbind_ping(struct ndr_push *ndr, int flags, const struct winbind_ping *r)
2904 if (flags & NDR_IN) {
2906 if (flags & NDR_OUT) {
2907 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
2909 return NDR_ERR_SUCCESS;
2912 static enum ndr_err_code ndr_pull_winbind_ping(struct ndr_pull *ndr, int flags, struct winbind_ping *r)
2914 if (flags & NDR_IN) {
2916 if (flags & NDR_OUT) {
2917 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
2919 return NDR_ERR_SUCCESS;
2922 _PUBLIC_ void ndr_print_winbind_ping(struct ndr_print *ndr, const char *name, int flags, const struct winbind_ping *r)
2924 ndr_print_struct(ndr, name, "winbind_ping");
2926 if (flags & NDR_SET_VALUES) {
2927 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2929 if (flags & NDR_IN) {
2930 ndr_print_struct(ndr, "in", "winbind_ping");
2934 if (flags & NDR_OUT) {
2935 ndr_print_struct(ndr, "out", "winbind_ping");
2937 ndr_print_winbind_status(ndr, "result", r->out.result);
2943 static enum ndr_err_code ndr_push_winbind_interface_details(struct ndr_push *ndr, int flags, const struct winbind_interface_details *r)
2945 if (flags & NDR_IN) {
2947 if (flags & NDR_OUT) {
2948 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
2950 return NDR_ERR_SUCCESS;
2953 static enum ndr_err_code ndr_pull_winbind_interface_details(struct ndr_pull *ndr, int flags, struct winbind_interface_details *r)
2955 if (flags & NDR_IN) {
2957 if (flags & NDR_OUT) {
2958 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
2960 return NDR_ERR_SUCCESS;
2963 _PUBLIC_ void ndr_print_winbind_interface_details(struct ndr_print *ndr, const char *name, int flags, const struct winbind_interface_details *r)
2965 ndr_print_struct(ndr, name, "winbind_interface_details");
2967 if (flags & NDR_SET_VALUES) {
2968 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2970 if (flags & NDR_IN) {
2971 ndr_print_struct(ndr, "in", "winbind_interface_details");
2975 if (flags & NDR_OUT) {
2976 ndr_print_struct(ndr, "out", "winbind_interface_details");
2978 ndr_print_winbind_status(ndr, "result", r->out.result);
2984 static enum ndr_err_code ndr_push_winbind_getpwnam(struct ndr_push *ndr, int flags, const struct winbind_getpwnam *r)
2986 if (flags & NDR_IN) {
2988 if (flags & NDR_OUT) {
2989 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
2991 return NDR_ERR_SUCCESS;
2994 static enum ndr_err_code ndr_pull_winbind_getpwnam(struct ndr_pull *ndr, int flags, struct winbind_getpwnam *r)
2996 if (flags & NDR_IN) {
2998 if (flags & NDR_OUT) {
2999 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3001 return NDR_ERR_SUCCESS;
3004 _PUBLIC_ void ndr_print_winbind_getpwnam(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getpwnam *r)
3006 ndr_print_struct(ndr, name, "winbind_getpwnam");
3008 if (flags & NDR_SET_VALUES) {
3009 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3011 if (flags & NDR_IN) {
3012 ndr_print_struct(ndr, "in", "winbind_getpwnam");
3016 if (flags & NDR_OUT) {
3017 ndr_print_struct(ndr, "out", "winbind_getpwnam");
3019 ndr_print_winbind_status(ndr, "result", r->out.result);
3025 static enum ndr_err_code ndr_push_winbind_getpwuid(struct ndr_push *ndr, int flags, const struct winbind_getpwuid *r)
3027 if (flags & NDR_IN) {
3029 if (flags & NDR_OUT) {
3030 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3032 return NDR_ERR_SUCCESS;
3035 static enum ndr_err_code ndr_pull_winbind_getpwuid(struct ndr_pull *ndr, int flags, struct winbind_getpwuid *r)
3037 if (flags & NDR_IN) {
3039 if (flags & NDR_OUT) {
3040 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3042 return NDR_ERR_SUCCESS;
3045 _PUBLIC_ void ndr_print_winbind_getpwuid(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getpwuid *r)
3047 ndr_print_struct(ndr, name, "winbind_getpwuid");
3049 if (flags & NDR_SET_VALUES) {
3050 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3052 if (flags & NDR_IN) {
3053 ndr_print_struct(ndr, "in", "winbind_getpwuid");
3057 if (flags & NDR_OUT) {
3058 ndr_print_struct(ndr, "out", "winbind_getpwuid");
3060 ndr_print_winbind_status(ndr, "result", r->out.result);
3066 static enum ndr_err_code ndr_push_winbind_getgrnam(struct ndr_push *ndr, int flags, const struct winbind_getgrnam *r)
3068 if (flags & NDR_IN) {
3070 if (flags & NDR_OUT) {
3071 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3073 return NDR_ERR_SUCCESS;
3076 static enum ndr_err_code ndr_pull_winbind_getgrnam(struct ndr_pull *ndr, int flags, struct winbind_getgrnam *r)
3078 if (flags & NDR_IN) {
3080 if (flags & NDR_OUT) {
3081 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3083 return NDR_ERR_SUCCESS;
3086 _PUBLIC_ void ndr_print_winbind_getgrnam(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgrnam *r)
3088 ndr_print_struct(ndr, name, "winbind_getgrnam");
3090 if (flags & NDR_SET_VALUES) {
3091 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3093 if (flags & NDR_IN) {
3094 ndr_print_struct(ndr, "in", "winbind_getgrnam");
3098 if (flags & NDR_OUT) {
3099 ndr_print_struct(ndr, "out", "winbind_getgrnam");
3101 ndr_print_winbind_status(ndr, "result", r->out.result);
3107 static enum ndr_err_code ndr_push_winbind_getgrgid(struct ndr_push *ndr, int flags, const struct winbind_getgrgid *r)
3109 if (flags & NDR_IN) {
3111 if (flags & NDR_OUT) {
3112 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3114 return NDR_ERR_SUCCESS;
3117 static enum ndr_err_code ndr_pull_winbind_getgrgid(struct ndr_pull *ndr, int flags, struct winbind_getgrgid *r)
3119 if (flags & NDR_IN) {
3121 if (flags & NDR_OUT) {
3122 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3124 return NDR_ERR_SUCCESS;
3127 _PUBLIC_ void ndr_print_winbind_getgrgid(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgrgid *r)
3129 ndr_print_struct(ndr, name, "winbind_getgrgid");
3131 if (flags & NDR_SET_VALUES) {
3132 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3134 if (flags & NDR_IN) {
3135 ndr_print_struct(ndr, "in", "winbind_getgrgid");
3139 if (flags & NDR_OUT) {
3140 ndr_print_struct(ndr, "out", "winbind_getgrgid");
3142 ndr_print_winbind_status(ndr, "result", r->out.result);
3148 static enum ndr_err_code ndr_push_winbind_getgroups(struct ndr_push *ndr, int flags, const struct winbind_getgroups *r)
3150 if (flags & NDR_IN) {
3152 if (flags & NDR_OUT) {
3153 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3155 return NDR_ERR_SUCCESS;
3158 static enum ndr_err_code ndr_pull_winbind_getgroups(struct ndr_pull *ndr, int flags, struct winbind_getgroups *r)
3160 if (flags & NDR_IN) {
3162 if (flags & NDR_OUT) {
3163 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3165 return NDR_ERR_SUCCESS;
3168 _PUBLIC_ void ndr_print_winbind_getgroups(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgroups *r)
3170 ndr_print_struct(ndr, name, "winbind_getgroups");
3172 if (flags & NDR_SET_VALUES) {
3173 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3175 if (flags & NDR_IN) {
3176 ndr_print_struct(ndr, "in", "winbind_getgroups");
3180 if (flags & NDR_OUT) {
3181 ndr_print_struct(ndr, "out", "winbind_getgroups");
3183 ndr_print_winbind_status(ndr, "result", r->out.result);
3189 static enum ndr_err_code ndr_push_winbind_setpwent(struct ndr_push *ndr, int flags, const struct winbind_setpwent *r)
3191 if (flags & NDR_IN) {
3193 if (flags & NDR_OUT) {
3194 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3196 return NDR_ERR_SUCCESS;
3199 static enum ndr_err_code ndr_pull_winbind_setpwent(struct ndr_pull *ndr, int flags, struct winbind_setpwent *r)
3201 if (flags & NDR_IN) {
3203 if (flags & NDR_OUT) {
3204 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3206 return NDR_ERR_SUCCESS;
3209 _PUBLIC_ void ndr_print_winbind_setpwent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_setpwent *r)
3211 ndr_print_struct(ndr, name, "winbind_setpwent");
3213 if (flags & NDR_SET_VALUES) {
3214 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3216 if (flags & NDR_IN) {
3217 ndr_print_struct(ndr, "in", "winbind_setpwent");
3221 if (flags & NDR_OUT) {
3222 ndr_print_struct(ndr, "out", "winbind_setpwent");
3224 ndr_print_winbind_status(ndr, "result", r->out.result);
3230 static enum ndr_err_code ndr_push_winbind_endpwent(struct ndr_push *ndr, int flags, const struct winbind_endpwent *r)
3232 if (flags & NDR_IN) {
3234 if (flags & NDR_OUT) {
3235 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3237 return NDR_ERR_SUCCESS;
3240 static enum ndr_err_code ndr_pull_winbind_endpwent(struct ndr_pull *ndr, int flags, struct winbind_endpwent *r)
3242 if (flags & NDR_IN) {
3244 if (flags & NDR_OUT) {
3245 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3247 return NDR_ERR_SUCCESS;
3250 _PUBLIC_ void ndr_print_winbind_endpwent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_endpwent *r)
3252 ndr_print_struct(ndr, name, "winbind_endpwent");
3254 if (flags & NDR_SET_VALUES) {
3255 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3257 if (flags & NDR_IN) {
3258 ndr_print_struct(ndr, "in", "winbind_endpwent");
3262 if (flags & NDR_OUT) {
3263 ndr_print_struct(ndr, "out", "winbind_endpwent");
3265 ndr_print_winbind_status(ndr, "result", r->out.result);
3271 static enum ndr_err_code ndr_push_winbind_getpwent(struct ndr_push *ndr, int flags, const struct winbind_getpwent *r)
3273 if (flags & NDR_IN) {
3275 if (flags & NDR_OUT) {
3276 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3278 return NDR_ERR_SUCCESS;
3281 static enum ndr_err_code ndr_pull_winbind_getpwent(struct ndr_pull *ndr, int flags, struct winbind_getpwent *r)
3283 if (flags & NDR_IN) {
3285 if (flags & NDR_OUT) {
3286 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3288 return NDR_ERR_SUCCESS;
3291 _PUBLIC_ void ndr_print_winbind_getpwent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getpwent *r)
3293 ndr_print_struct(ndr, name, "winbind_getpwent");
3295 if (flags & NDR_SET_VALUES) {
3296 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3298 if (flags & NDR_IN) {
3299 ndr_print_struct(ndr, "in", "winbind_getpwent");
3303 if (flags & NDR_OUT) {
3304 ndr_print_struct(ndr, "out", "winbind_getpwent");
3306 ndr_print_winbind_status(ndr, "result", r->out.result);
3312 static enum ndr_err_code ndr_push_winbind_setgrent(struct ndr_push *ndr, int flags, const struct winbind_setgrent *r)
3314 if (flags & NDR_IN) {
3316 if (flags & NDR_OUT) {
3317 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3319 return NDR_ERR_SUCCESS;
3322 static enum ndr_err_code ndr_pull_winbind_setgrent(struct ndr_pull *ndr, int flags, struct winbind_setgrent *r)
3324 if (flags & NDR_IN) {
3326 if (flags & NDR_OUT) {
3327 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3329 return NDR_ERR_SUCCESS;
3332 _PUBLIC_ void ndr_print_winbind_setgrent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_setgrent *r)
3334 ndr_print_struct(ndr, name, "winbind_setgrent");
3336 if (flags & NDR_SET_VALUES) {
3337 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3339 if (flags & NDR_IN) {
3340 ndr_print_struct(ndr, "in", "winbind_setgrent");
3344 if (flags & NDR_OUT) {
3345 ndr_print_struct(ndr, "out", "winbind_setgrent");
3347 ndr_print_winbind_status(ndr, "result", r->out.result);
3353 static enum ndr_err_code ndr_push_winbind_endgrent(struct ndr_push *ndr, int flags, const struct winbind_endgrent *r)
3355 if (flags & NDR_IN) {
3357 if (flags & NDR_OUT) {
3358 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3360 return NDR_ERR_SUCCESS;
3363 static enum ndr_err_code ndr_pull_winbind_endgrent(struct ndr_pull *ndr, int flags, struct winbind_endgrent *r)
3365 if (flags & NDR_IN) {
3367 if (flags & NDR_OUT) {
3368 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3370 return NDR_ERR_SUCCESS;
3373 _PUBLIC_ void ndr_print_winbind_endgrent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_endgrent *r)
3375 ndr_print_struct(ndr, name, "winbind_endgrent");
3377 if (flags & NDR_SET_VALUES) {
3378 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3380 if (flags & NDR_IN) {
3381 ndr_print_struct(ndr, "in", "winbind_endgrent");
3385 if (flags & NDR_OUT) {
3386 ndr_print_struct(ndr, "out", "winbind_endgrent");
3388 ndr_print_winbind_status(ndr, "result", r->out.result);
3394 static enum ndr_err_code ndr_push_winbind_getgrent(struct ndr_push *ndr, int flags, const struct winbind_getgrent *r)
3396 if (flags & NDR_IN) {
3398 if (flags & NDR_OUT) {
3399 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3401 return NDR_ERR_SUCCESS;
3404 static enum ndr_err_code ndr_pull_winbind_getgrent(struct ndr_pull *ndr, int flags, struct winbind_getgrent *r)
3406 if (flags & NDR_IN) {
3408 if (flags & NDR_OUT) {
3409 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3411 return NDR_ERR_SUCCESS;
3414 _PUBLIC_ void ndr_print_winbind_getgrent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgrent *r)
3416 ndr_print_struct(ndr, name, "winbind_getgrent");
3418 if (flags & NDR_SET_VALUES) {
3419 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3421 if (flags & NDR_IN) {
3422 ndr_print_struct(ndr, "in", "winbind_getgrent");
3426 if (flags & NDR_OUT) {
3427 ndr_print_struct(ndr, "out", "winbind_getgrent");
3429 ndr_print_winbind_status(ndr, "result", r->out.result);
3435 static enum ndr_err_code ndr_push_winbind_auth(struct ndr_push *ndr, int flags, const struct winbind_auth *r)
3437 if (flags & NDR_IN) {
3438 if (r->in.level == NULL) {
3439 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3441 NDR_CHECK(ndr_push_winbind_auth_level(ndr, NDR_SCALARS, *r->in.level));
3442 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
3443 NDR_CHECK(ndr_push_winbind_auth_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3445 if (flags & NDR_OUT) {
3446 if (r->out.rep == NULL) {
3447 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3449 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->in.level));
3450 NDR_CHECK(ndr_push_winbind_auth_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
3451 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3453 return NDR_ERR_SUCCESS;
3456 static enum ndr_err_code ndr_pull_winbind_auth(struct ndr_pull *ndr, int flags, struct winbind_auth *r)
3458 TALLOC_CTX *_mem_save_level_0;
3459 TALLOC_CTX *_mem_save_rep_0;
3460 if (flags & NDR_IN) {
3461 ZERO_STRUCT(r->out);
3463 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3464 NDR_PULL_ALLOC(ndr, r->in.level);
3466 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
3467 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
3468 NDR_CHECK(ndr_pull_winbind_auth_level(ndr, NDR_SCALARS, r->in.level));
3469 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
3470 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
3471 NDR_CHECK(ndr_pull_winbind_auth_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3472 NDR_PULL_ALLOC(ndr, r->out.rep);
3473 ZERO_STRUCTP(r->out.rep);
3475 if (flags & NDR_OUT) {
3476 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3477 NDR_PULL_ALLOC(ndr, r->out.rep);
3479 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
3480 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
3481 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->in.level));
3482 NDR_CHECK(ndr_pull_winbind_auth_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
3483 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
3484 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3486 return NDR_ERR_SUCCESS;
3489 _PUBLIC_ void ndr_print_winbind_auth(struct ndr_print *ndr, const char *name, int flags, const struct winbind_auth *r)
3491 ndr_print_struct(ndr, name, "winbind_auth");
3493 if (flags & NDR_SET_VALUES) {
3494 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3496 if (flags & NDR_IN) {
3497 ndr_print_struct(ndr, "in", "winbind_auth");
3499 ndr_print_ptr(ndr, "level", r->in.level);
3501 ndr_print_winbind_auth_level(ndr, "level", *r->in.level);
3503 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
3504 ndr_print_winbind_auth_req(ndr, "req", &r->in.req);
3507 if (flags & NDR_OUT) {
3508 ndr_print_struct(ndr, "out", "winbind_auth");
3510 ndr_print_ptr(ndr, "rep", r->out.rep);
3512 ndr_print_set_switch_value(ndr, r->out.rep, *r->in.level);
3513 ndr_print_winbind_auth_rep(ndr, "rep", r->out.rep);
3515 ndr_print_winbind_status(ndr, "result", r->out.result);
3521 static enum ndr_err_code ndr_push_winbind_pam_chauthtok(struct ndr_push *ndr, int flags, const struct winbind_pam_chauthtok *r)
3523 if (flags & NDR_IN) {
3525 if (flags & NDR_OUT) {
3526 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3528 return NDR_ERR_SUCCESS;
3531 static enum ndr_err_code ndr_pull_winbind_pam_chauthtok(struct ndr_pull *ndr, int flags, struct winbind_pam_chauthtok *r)
3533 if (flags & NDR_IN) {
3535 if (flags & NDR_OUT) {
3536 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3538 return NDR_ERR_SUCCESS;
3541 _PUBLIC_ void ndr_print_winbind_pam_chauthtok(struct ndr_print *ndr, const char *name, int flags, const struct winbind_pam_chauthtok *r)
3543 ndr_print_struct(ndr, name, "winbind_pam_chauthtok");
3545 if (flags & NDR_SET_VALUES) {
3546 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3548 if (flags & NDR_IN) {
3549 ndr_print_struct(ndr, "in", "winbind_pam_chauthtok");
3553 if (flags & NDR_OUT) {
3554 ndr_print_struct(ndr, "out", "winbind_pam_chauthtok");
3556 ndr_print_winbind_status(ndr, "result", r->out.result);
3562 static enum ndr_err_code ndr_push_winbind_pam_logoff(struct ndr_push *ndr, int flags, const struct winbind_pam_logoff *r)
3564 if (flags & NDR_IN) {
3566 if (flags & NDR_OUT) {
3567 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3569 return NDR_ERR_SUCCESS;
3572 static enum ndr_err_code ndr_pull_winbind_pam_logoff(struct ndr_pull *ndr, int flags, struct winbind_pam_logoff *r)
3574 if (flags & NDR_IN) {
3576 if (flags & NDR_OUT) {
3577 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3579 return NDR_ERR_SUCCESS;
3582 _PUBLIC_ void ndr_print_winbind_pam_logoff(struct ndr_print *ndr, const char *name, int flags, const struct winbind_pam_logoff *r)
3584 ndr_print_struct(ndr, name, "winbind_pam_logoff");
3586 if (flags & NDR_SET_VALUES) {
3587 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3589 if (flags & NDR_IN) {
3590 ndr_print_struct(ndr, "in", "winbind_pam_logoff");
3594 if (flags & NDR_OUT) {
3595 ndr_print_struct(ndr, "out", "winbind_pam_logoff");
3597 ndr_print_winbind_status(ndr, "result", r->out.result);
3603 static enum ndr_err_code ndr_push_winbind_pam_chng_paswd_auth_crap(struct ndr_push *ndr, int flags, const struct winbind_pam_chng_paswd_auth_crap *r)
3605 if (flags & NDR_IN) {
3607 if (flags & NDR_OUT) {
3608 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3610 return NDR_ERR_SUCCESS;
3613 static enum ndr_err_code ndr_pull_winbind_pam_chng_paswd_auth_crap(struct ndr_pull *ndr, int flags, struct winbind_pam_chng_paswd_auth_crap *r)
3615 if (flags & NDR_IN) {
3617 if (flags & NDR_OUT) {
3618 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3620 return NDR_ERR_SUCCESS;
3623 _PUBLIC_ void ndr_print_winbind_pam_chng_paswd_auth_crap(struct ndr_print *ndr, const char *name, int flags, const struct winbind_pam_chng_paswd_auth_crap *r)
3625 ndr_print_struct(ndr, name, "winbind_pam_chng_paswd_auth_crap");
3627 if (flags & NDR_SET_VALUES) {
3628 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3630 if (flags & NDR_IN) {
3631 ndr_print_struct(ndr, "in", "winbind_pam_chng_paswd_auth_crap");
3635 if (flags & NDR_OUT) {
3636 ndr_print_struct(ndr, "out", "winbind_pam_chng_paswd_auth_crap");
3638 ndr_print_winbind_status(ndr, "result", r->out.result);
3644 static enum ndr_err_code ndr_push_winbind_list_users(struct ndr_push *ndr, int flags, const struct winbind_list_users *r)
3646 if (flags & NDR_IN) {
3648 if (flags & NDR_OUT) {
3649 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3651 return NDR_ERR_SUCCESS;
3654 static enum ndr_err_code ndr_pull_winbind_list_users(struct ndr_pull *ndr, int flags, struct winbind_list_users *r)
3656 if (flags & NDR_IN) {
3658 if (flags & NDR_OUT) {
3659 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3661 return NDR_ERR_SUCCESS;
3664 _PUBLIC_ void ndr_print_winbind_list_users(struct ndr_print *ndr, const char *name, int flags, const struct winbind_list_users *r)
3666 ndr_print_struct(ndr, name, "winbind_list_users");
3668 if (flags & NDR_SET_VALUES) {
3669 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3671 if (flags & NDR_IN) {
3672 ndr_print_struct(ndr, "in", "winbind_list_users");
3676 if (flags & NDR_OUT) {
3677 ndr_print_struct(ndr, "out", "winbind_list_users");
3679 ndr_print_winbind_status(ndr, "result", r->out.result);
3685 static enum ndr_err_code ndr_push_winbind_list_groups(struct ndr_push *ndr, int flags, const struct winbind_list_groups *r)
3687 if (flags & NDR_IN) {
3689 if (flags & NDR_OUT) {
3690 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3692 return NDR_ERR_SUCCESS;
3695 static enum ndr_err_code ndr_pull_winbind_list_groups(struct ndr_pull *ndr, int flags, struct winbind_list_groups *r)
3697 if (flags & NDR_IN) {
3699 if (flags & NDR_OUT) {
3700 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3702 return NDR_ERR_SUCCESS;
3705 _PUBLIC_ void ndr_print_winbind_list_groups(struct ndr_print *ndr, const char *name, int flags, const struct winbind_list_groups *r)
3707 ndr_print_struct(ndr, name, "winbind_list_groups");
3709 if (flags & NDR_SET_VALUES) {
3710 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3712 if (flags & NDR_IN) {
3713 ndr_print_struct(ndr, "in", "winbind_list_groups");
3717 if (flags & NDR_OUT) {
3718 ndr_print_struct(ndr, "out", "winbind_list_groups");
3720 ndr_print_winbind_status(ndr, "result", r->out.result);
3726 static enum ndr_err_code ndr_push_winbind_trust(struct ndr_push *ndr, int flags, const struct winbind_trust *r)
3728 if (flags & NDR_IN) {
3729 if (r->in.level == NULL) {
3730 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3732 NDR_CHECK(ndr_push_winbind_trust_level(ndr, NDR_SCALARS, *r->in.level));
3733 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
3734 NDR_CHECK(ndr_push_winbind_trust_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3736 if (flags & NDR_OUT) {
3737 if (r->out.rep == NULL) {
3738 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3740 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->in.level));
3741 NDR_CHECK(ndr_push_winbind_trust_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
3742 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3744 return NDR_ERR_SUCCESS;
3747 static enum ndr_err_code ndr_pull_winbind_trust(struct ndr_pull *ndr, int flags, struct winbind_trust *r)
3749 TALLOC_CTX *_mem_save_level_0;
3750 TALLOC_CTX *_mem_save_rep_0;
3751 if (flags & NDR_IN) {
3752 ZERO_STRUCT(r->out);
3754 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3755 NDR_PULL_ALLOC(ndr, r->in.level);
3757 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
3758 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
3759 NDR_CHECK(ndr_pull_winbind_trust_level(ndr, NDR_SCALARS, r->in.level));
3760 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
3761 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
3762 NDR_CHECK(ndr_pull_winbind_trust_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3763 NDR_PULL_ALLOC(ndr, r->out.rep);
3764 ZERO_STRUCTP(r->out.rep);
3766 if (flags & NDR_OUT) {
3767 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3768 NDR_PULL_ALLOC(ndr, r->out.rep);
3770 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
3771 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
3772 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->in.level));
3773 NDR_CHECK(ndr_pull_winbind_trust_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
3774 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
3775 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3777 return NDR_ERR_SUCCESS;
3780 _PUBLIC_ void ndr_print_winbind_trust(struct ndr_print *ndr, const char *name, int flags, const struct winbind_trust *r)
3782 ndr_print_struct(ndr, name, "winbind_trust");
3784 if (flags & NDR_SET_VALUES) {
3785 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3787 if (flags & NDR_IN) {
3788 ndr_print_struct(ndr, "in", "winbind_trust");
3790 ndr_print_ptr(ndr, "level", r->in.level);
3792 ndr_print_winbind_trust_level(ndr, "level", *r->in.level);
3794 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
3795 ndr_print_winbind_trust_req(ndr, "req", &r->in.req);
3798 if (flags & NDR_OUT) {
3799 ndr_print_struct(ndr, "out", "winbind_trust");
3801 ndr_print_ptr(ndr, "rep", r->out.rep);
3803 ndr_print_set_switch_value(ndr, r->out.rep, *r->in.level);
3804 ndr_print_winbind_trust_rep(ndr, "rep", r->out.rep);
3806 ndr_print_winbind_status(ndr, "result", r->out.result);
3812 static enum ndr_err_code ndr_push_winbind_lookup(struct ndr_push *ndr, int flags, const struct winbind_lookup *r)
3814 if (flags & NDR_IN) {
3815 if (r->in.level == NULL) {
3816 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3818 NDR_CHECK(ndr_push_winbind_lookup_level(ndr, NDR_SCALARS, *r->in.level));
3819 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
3820 NDR_CHECK(ndr_push_winbind_lookup_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3822 if (flags & NDR_OUT) {
3823 if (r->out.rep == NULL) {
3824 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3826 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->in.level));
3827 NDR_CHECK(ndr_push_winbind_lookup_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
3828 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3830 return NDR_ERR_SUCCESS;
3833 static enum ndr_err_code ndr_pull_winbind_lookup(struct ndr_pull *ndr, int flags, struct winbind_lookup *r)
3835 TALLOC_CTX *_mem_save_level_0;
3836 TALLOC_CTX *_mem_save_rep_0;
3837 if (flags & NDR_IN) {
3838 ZERO_STRUCT(r->out);
3840 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3841 NDR_PULL_ALLOC(ndr, r->in.level);
3843 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
3844 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
3845 NDR_CHECK(ndr_pull_winbind_lookup_level(ndr, NDR_SCALARS, r->in.level));
3846 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
3847 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
3848 NDR_CHECK(ndr_pull_winbind_lookup_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3849 NDR_PULL_ALLOC(ndr, r->out.rep);
3850 ZERO_STRUCTP(r->out.rep);
3852 if (flags & NDR_OUT) {
3853 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3854 NDR_PULL_ALLOC(ndr, r->out.rep);
3856 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
3857 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
3858 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->in.level));
3859 NDR_CHECK(ndr_pull_winbind_lookup_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
3860 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
3861 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3863 return NDR_ERR_SUCCESS;
3866 _PUBLIC_ void ndr_print_winbind_lookup(struct ndr_print *ndr, const char *name, int flags, const struct winbind_lookup *r)
3868 ndr_print_struct(ndr, name, "winbind_lookup");
3870 if (flags & NDR_SET_VALUES) {
3871 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3873 if (flags & NDR_IN) {
3874 ndr_print_struct(ndr, "in", "winbind_lookup");
3876 ndr_print_ptr(ndr, "level", r->in.level);
3878 ndr_print_winbind_lookup_level(ndr, "level", *r->in.level);
3880 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
3881 ndr_print_winbind_lookup_req(ndr, "req", &r->in.req);
3884 if (flags & NDR_OUT) {
3885 ndr_print_struct(ndr, "out", "winbind_lookup");
3887 ndr_print_ptr(ndr, "rep", r->out.rep);
3889 ndr_print_set_switch_value(ndr, r->out.rep, *r->in.level);
3890 ndr_print_winbind_lookup_rep(ndr, "rep", r->out.rep);
3892 ndr_print_winbind_status(ndr, "result", r->out.result);
3898 static enum ndr_err_code ndr_push_winbind_get_idmap(struct ndr_push *ndr, int flags, const struct winbind_get_idmap *r)
3900 if (flags & NDR_IN) {
3901 if (r->in.level == NULL) {
3902 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3904 NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, *r->in.level));
3905 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
3906 NDR_CHECK(ndr_push_winbind_get_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3908 if (flags & NDR_OUT) {
3909 if (r->out.level == NULL) {
3910 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3912 NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, *r->out.level));
3913 if (r->out.rep == NULL) {
3914 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3916 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->out.level));
3917 NDR_CHECK(ndr_push_winbind_get_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
3918 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3920 return NDR_ERR_SUCCESS;
3923 static enum ndr_err_code ndr_pull_winbind_get_idmap(struct ndr_pull *ndr, int flags, struct winbind_get_idmap *r)
3925 TALLOC_CTX *_mem_save_level_0;
3926 TALLOC_CTX *_mem_save_rep_0;
3927 if (flags & NDR_IN) {
3928 ZERO_STRUCT(r->out);
3930 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3931 NDR_PULL_ALLOC(ndr, r->in.level);
3933 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
3934 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
3935 NDR_CHECK(ndr_pull_winbind_get_idmap_level(ndr, NDR_SCALARS, r->in.level));
3936 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
3937 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
3938 NDR_CHECK(ndr_pull_winbind_get_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3939 NDR_PULL_ALLOC(ndr, r->out.level);
3940 *r->out.level = *r->in.level;
3941 NDR_PULL_ALLOC(ndr, r->out.rep);
3942 ZERO_STRUCTP(r->out.rep);
3944 if (flags & NDR_OUT) {
3945 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3946 NDR_PULL_ALLOC(ndr, r->out.level);
3948 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
3949 NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
3950 NDR_CHECK(ndr_pull_winbind_get_idmap_level(ndr, NDR_SCALARS, r->out.level));
3951 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
3952 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3953 NDR_PULL_ALLOC(ndr, r->out.rep);
3955 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
3956 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
3957 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->out.level));
3958 NDR_CHECK(ndr_pull_winbind_get_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
3959 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
3960 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3962 return NDR_ERR_SUCCESS;
3965 _PUBLIC_ void ndr_print_winbind_get_idmap(struct ndr_print *ndr, const char *name, int flags, const struct winbind_get_idmap *r)
3967 ndr_print_struct(ndr, name, "winbind_get_idmap");
3969 if (flags & NDR_SET_VALUES) {
3970 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3972 if (flags & NDR_IN) {
3973 ndr_print_struct(ndr, "in", "winbind_get_idmap");
3975 ndr_print_ptr(ndr, "level", r->in.level);
3977 ndr_print_winbind_get_idmap_level(ndr, "level", *r->in.level);
3979 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
3980 ndr_print_winbind_get_idmap_req(ndr, "req", &r->in.req);
3983 if (flags & NDR_OUT) {
3984 ndr_print_struct(ndr, "out", "winbind_get_idmap");
3986 ndr_print_ptr(ndr, "level", r->out.level);
3988 ndr_print_winbind_get_idmap_level(ndr, "level", *r->out.level);
3990 ndr_print_ptr(ndr, "rep", r->out.rep);
3992 ndr_print_set_switch_value(ndr, r->out.rep, *r->out.level);
3993 ndr_print_winbind_get_idmap_rep(ndr, "rep", r->out.rep);
3995 ndr_print_winbind_status(ndr, "result", r->out.result);
4001 static enum ndr_err_code ndr_push_winbind_set_idmap(struct ndr_push *ndr, int flags, const struct winbind_set_idmap *r)
4003 if (flags & NDR_IN) {
4004 if (r->in.level == NULL) {
4005 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4007 NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, *r->in.level));
4008 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
4009 NDR_CHECK(ndr_push_winbind_set_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4011 if (flags & NDR_OUT) {
4012 if (r->out.level == NULL) {
4013 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4015 NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, *r->out.level));
4016 if (r->out.rep == NULL) {
4017 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4019 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->out.level));
4020 NDR_CHECK(ndr_push_winbind_set_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4021 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4023 return NDR_ERR_SUCCESS;
4026 static enum ndr_err_code ndr_pull_winbind_set_idmap(struct ndr_pull *ndr, int flags, struct winbind_set_idmap *r)
4028 TALLOC_CTX *_mem_save_level_0;
4029 TALLOC_CTX *_mem_save_rep_0;
4030 if (flags & NDR_IN) {
4031 ZERO_STRUCT(r->out);
4033 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4034 NDR_PULL_ALLOC(ndr, r->in.level);
4036 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4037 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
4038 NDR_CHECK(ndr_pull_winbind_set_idmap_level(ndr, NDR_SCALARS, r->in.level));
4039 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4040 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
4041 NDR_CHECK(ndr_pull_winbind_set_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4042 NDR_PULL_ALLOC(ndr, r->out.level);
4043 *r->out.level = *r->in.level;
4044 NDR_PULL_ALLOC(ndr, r->out.rep);
4045 ZERO_STRUCTP(r->out.rep);
4047 if (flags & NDR_OUT) {
4048 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4049 NDR_PULL_ALLOC(ndr, r->out.level);
4051 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4052 NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
4053 NDR_CHECK(ndr_pull_winbind_set_idmap_level(ndr, NDR_SCALARS, r->out.level));
4054 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4055 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4056 NDR_PULL_ALLOC(ndr, r->out.rep);
4058 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
4059 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
4060 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->out.level));
4061 NDR_CHECK(ndr_pull_winbind_set_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4062 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
4063 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4065 return NDR_ERR_SUCCESS;
4068 _PUBLIC_ void ndr_print_winbind_set_idmap(struct ndr_print *ndr, const char *name, int flags, const struct winbind_set_idmap *r)
4070 ndr_print_struct(ndr, name, "winbind_set_idmap");
4072 if (flags & NDR_SET_VALUES) {
4073 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4075 if (flags & NDR_IN) {
4076 ndr_print_struct(ndr, "in", "winbind_set_idmap");
4078 ndr_print_ptr(ndr, "level", r->in.level);
4080 ndr_print_winbind_set_idmap_level(ndr, "level", *r->in.level);
4082 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
4083 ndr_print_winbind_set_idmap_req(ndr, "req", &r->in.req);
4086 if (flags & NDR_OUT) {
4087 ndr_print_struct(ndr, "out", "winbind_set_idmap");
4089 ndr_print_ptr(ndr, "level", r->out.level);
4091 ndr_print_winbind_set_idmap_level(ndr, "level", *r->out.level);
4093 ndr_print_ptr(ndr, "rep", r->out.rep);
4095 ndr_print_set_switch_value(ndr, r->out.rep, *r->out.level);
4096 ndr_print_winbind_set_idmap_rep(ndr, "rep", r->out.rep);
4098 ndr_print_winbind_status(ndr, "result", r->out.result);
4104 static enum ndr_err_code ndr_push_winbind_info_fixname(struct ndr_push *ndr, int flags, const struct winbind_info_fixname *r)
4106 if (flags & NDR_IN) {
4108 if (flags & NDR_OUT) {
4109 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4111 return NDR_ERR_SUCCESS;
4114 static enum ndr_err_code ndr_pull_winbind_info_fixname(struct ndr_pull *ndr, int flags, struct winbind_info_fixname *r)
4116 if (flags & NDR_IN) {
4118 if (flags & NDR_OUT) {
4119 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4121 return NDR_ERR_SUCCESS;
4124 _PUBLIC_ void ndr_print_winbind_info_fixname(struct ndr_print *ndr, const char *name, int flags, const struct winbind_info_fixname *r)
4126 ndr_print_struct(ndr, name, "winbind_info_fixname");
4128 if (flags & NDR_SET_VALUES) {
4129 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4131 if (flags & NDR_IN) {
4132 ndr_print_struct(ndr, "in", "winbind_info_fixname");
4136 if (flags & NDR_OUT) {
4137 ndr_print_struct(ndr, "out", "winbind_info_fixname");
4139 ndr_print_winbind_status(ndr, "result", r->out.result);
4145 static enum ndr_err_code ndr_push_winbind_domain_name(struct ndr_push *ndr, int flags, const struct winbind_domain_name *r)
4147 if (flags & NDR_IN) {
4149 if (flags & NDR_OUT) {
4150 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4152 return NDR_ERR_SUCCESS;
4155 static enum ndr_err_code ndr_pull_winbind_domain_name(struct ndr_pull *ndr, int flags, struct winbind_domain_name *r)
4157 if (flags & NDR_IN) {
4159 if (flags & NDR_OUT) {
4160 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4162 return NDR_ERR_SUCCESS;
4165 _PUBLIC_ void ndr_print_winbind_domain_name(struct ndr_print *ndr, const char *name, int flags, const struct winbind_domain_name *r)
4167 ndr_print_struct(ndr, name, "winbind_domain_name");
4169 if (flags & NDR_SET_VALUES) {
4170 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4172 if (flags & NDR_IN) {
4173 ndr_print_struct(ndr, "in", "winbind_domain_name");
4177 if (flags & NDR_OUT) {
4178 ndr_print_struct(ndr, "out", "winbind_domain_name");
4180 ndr_print_winbind_status(ndr, "result", r->out.result);
4186 static enum ndr_err_code ndr_push_winbind_get_domain_info(struct ndr_push *ndr, int flags, const struct winbind_get_domain_info *r)
4188 if (flags & NDR_IN) {
4189 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
4190 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4191 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
4192 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));
4193 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dc_name));
4194 if (r->in.dc_name) {
4195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dc_name, CH_UTF8)));
4196 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4197 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dc_name, CH_UTF8)));
4198 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dc_name, ndr_charset_length(r->in.dc_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
4200 if (r->in.level == NULL) {
4201 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4203 NDR_CHECK(ndr_push_winbind_domain_info_level(ndr, NDR_SCALARS, *r->in.level));
4205 if (flags & NDR_OUT) {
4206 if (r->out.level == NULL) {
4207 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4209 NDR_CHECK(ndr_push_winbind_domain_info_level(ndr, NDR_SCALARS, *r->out.level));
4210 if (r->out.domain_info == NULL) {
4211 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4213 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.domain_info, *r->out.level));
4214 NDR_CHECK(ndr_push_winbind_domain_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domain_info));
4215 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4217 return NDR_ERR_SUCCESS;
4220 static enum ndr_err_code ndr_pull_winbind_get_domain_info(struct ndr_pull *ndr, int flags, struct winbind_get_domain_info *r)
4222 uint32_t _ptr_dc_name;
4223 TALLOC_CTX *_mem_save_dc_name_0;
4224 TALLOC_CTX *_mem_save_level_0;
4225 TALLOC_CTX *_mem_save_domain_info_0;
4226 if (flags & NDR_IN) {
4227 ZERO_STRUCT(r->out);
4229 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
4230 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
4231 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
4232 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));
4234 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint8_t)));
4235 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));
4236 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_name));
4238 NDR_PULL_ALLOC(ndr, r->in.dc_name);
4240 r->in.dc_name = NULL;
4242 if (r->in.dc_name) {
4243 _mem_save_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4244 NDR_PULL_SET_MEM_CTX(ndr, r->in.dc_name, 0);
4245 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dc_name));
4246 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dc_name));
4247 if (ndr_get_array_length(ndr, &r->in.dc_name) > ndr_get_array_size(ndr, &r->in.dc_name)) {
4248 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.dc_name), ndr_get_array_length(ndr, &r->in.dc_name));
4250 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dc_name), sizeof(uint8_t)));
4251 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dc_name, ndr_get_array_length(ndr, &r->in.dc_name), sizeof(uint8_t), CH_UTF8));
4252 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_name_0, 0);
4254 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4255 NDR_PULL_ALLOC(ndr, r->in.level);
4257 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4258 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
4259 NDR_CHECK(ndr_pull_winbind_domain_info_level(ndr, NDR_SCALARS, r->in.level));
4260 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4261 NDR_PULL_ALLOC(ndr, r->out.level);
4262 *r->out.level = *r->in.level;
4263 NDR_PULL_ALLOC(ndr, r->out.domain_info);
4264 ZERO_STRUCTP(r->out.domain_info);
4266 if (flags & NDR_OUT) {
4267 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4268 NDR_PULL_ALLOC(ndr, r->out.level);
4270 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4271 NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
4272 NDR_CHECK(ndr_pull_winbind_domain_info_level(ndr, NDR_SCALARS, r->out.level));
4273 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4274 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4275 NDR_PULL_ALLOC(ndr, r->out.domain_info);
4277 _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
4278 NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_info, LIBNDR_FLAG_REF_ALLOC);
4279 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.domain_info, *r->out.level));
4280 NDR_CHECK(ndr_pull_winbind_domain_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domain_info));
4281 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, LIBNDR_FLAG_REF_ALLOC);
4282 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4284 return NDR_ERR_SUCCESS;
4287 _PUBLIC_ void ndr_print_winbind_get_domain_info(struct ndr_print *ndr, const char *name, int flags, const struct winbind_get_domain_info *r)
4289 ndr_print_struct(ndr, name, "winbind_get_domain_info");
4291 if (flags & NDR_SET_VALUES) {
4292 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4294 if (flags & NDR_IN) {
4295 ndr_print_struct(ndr, "in", "winbind_get_domain_info");
4297 ndr_print_string(ndr, "domain_name", r->in.domain_name);
4298 ndr_print_ptr(ndr, "dc_name", r->in.dc_name);
4300 if (r->in.dc_name) {
4301 ndr_print_string(ndr, "dc_name", r->in.dc_name);
4304 ndr_print_ptr(ndr, "level", r->in.level);
4306 ndr_print_winbind_domain_info_level(ndr, "level", *r->in.level);
4310 if (flags & NDR_OUT) {
4311 ndr_print_struct(ndr, "out", "winbind_get_domain_info");
4313 ndr_print_ptr(ndr, "level", r->out.level);
4315 ndr_print_winbind_domain_info_level(ndr, "level", *r->out.level);
4317 ndr_print_ptr(ndr, "domain_info", r->out.domain_info);
4319 ndr_print_set_switch_value(ndr, r->out.domain_info, *r->out.level);
4320 ndr_print_winbind_domain_info(ndr, "domain_info", r->out.domain_info);
4322 ndr_print_winbind_status(ndr, "result", r->out.result);
4328 static enum ndr_err_code ndr_push_winbind_get_dc_info(struct ndr_push *ndr, int flags, const struct winbind_get_dc_info *r)
4330 if (flags & NDR_IN) {
4331 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
4332 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
4334 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));
4335 if (r->in.level == NULL) {
4336 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4338 NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, *r->in.level));
4339 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.params, *r->in.level));
4340 NDR_CHECK(ndr_push_winbind_dc_info_params(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.params));
4342 if (flags & NDR_OUT) {
4343 if (r->out.level == NULL) {
4344 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4346 NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, *r->out.level));
4347 if (r->out.dc_info == NULL) {
4348 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4350 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.dc_info, *r->out.level));
4351 NDR_CHECK(ndr_push_winbind_dc_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dc_info));
4352 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4354 return NDR_ERR_SUCCESS;
4357 static enum ndr_err_code ndr_pull_winbind_get_dc_info(struct ndr_pull *ndr, int flags, struct winbind_get_dc_info *r)
4359 TALLOC_CTX *_mem_save_level_0;
4360 TALLOC_CTX *_mem_save_dc_info_0;
4361 if (flags & NDR_IN) {
4362 ZERO_STRUCT(r->out);
4364 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
4365 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
4366 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
4367 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));
4369 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint8_t)));
4370 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));
4371 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4372 NDR_PULL_ALLOC(ndr, r->in.level);
4374 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4375 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
4376 NDR_CHECK(ndr_pull_winbind_dc_info_level(ndr, NDR_SCALARS, r->in.level));
4377 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4378 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.params, *r->in.level));
4379 NDR_CHECK(ndr_pull_winbind_dc_info_params(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.params));
4380 NDR_PULL_ALLOC(ndr, r->out.level);
4381 *r->out.level = *r->in.level;
4382 NDR_PULL_ALLOC(ndr, r->out.dc_info);
4383 ZERO_STRUCTP(r->out.dc_info);
4385 if (flags & NDR_OUT) {
4386 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4387 NDR_PULL_ALLOC(ndr, r->out.level);
4389 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4390 NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
4391 NDR_CHECK(ndr_pull_winbind_dc_info_level(ndr, NDR_SCALARS, r->out.level));
4392 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4393 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4394 NDR_PULL_ALLOC(ndr, r->out.dc_info);
4396 _mem_save_dc_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
4397 NDR_PULL_SET_MEM_CTX(ndr, r->out.dc_info, LIBNDR_FLAG_REF_ALLOC);
4398 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.dc_info, *r->out.level));
4399 NDR_CHECK(ndr_pull_winbind_dc_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dc_info));
4400 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_info_0, LIBNDR_FLAG_REF_ALLOC);
4401 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4403 return NDR_ERR_SUCCESS;
4406 _PUBLIC_ void ndr_print_winbind_get_dc_info(struct ndr_print *ndr, const char *name, int flags, const struct winbind_get_dc_info *r)
4408 ndr_print_struct(ndr, name, "winbind_get_dc_info");
4410 if (flags & NDR_SET_VALUES) {
4411 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4413 if (flags & NDR_IN) {
4414 ndr_print_struct(ndr, "in", "winbind_get_dc_info");
4416 ndr_print_string(ndr, "domain_name", r->in.domain_name);
4417 ndr_print_ptr(ndr, "level", r->in.level);
4419 ndr_print_winbind_dc_info_level(ndr, "level", *r->in.level);
4421 ndr_print_set_switch_value(ndr, &r->in.params, *r->in.level);
4422 ndr_print_winbind_dc_info_params(ndr, "params", &r->in.params);
4425 if (flags & NDR_OUT) {
4426 ndr_print_struct(ndr, "out", "winbind_get_dc_info");
4428 ndr_print_ptr(ndr, "level", r->out.level);
4430 ndr_print_winbind_dc_info_level(ndr, "level", *r->out.level);
4432 ndr_print_ptr(ndr, "dc_info", r->out.dc_info);
4434 ndr_print_set_switch_value(ndr, r->out.dc_info, *r->out.level);
4435 ndr_print_winbind_dc_info(ndr, "dc_info", r->out.dc_info);
4437 ndr_print_winbind_status(ndr, "result", r->out.result);
4443 static enum ndr_err_code ndr_push_winbind_wins_byip(struct ndr_push *ndr, int flags, const struct winbind_wins_byip *r)
4445 if (flags & NDR_IN) {
4447 if (flags & NDR_OUT) {
4448 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4450 return NDR_ERR_SUCCESS;
4453 static enum ndr_err_code ndr_pull_winbind_wins_byip(struct ndr_pull *ndr, int flags, struct winbind_wins_byip *r)
4455 if (flags & NDR_IN) {
4457 if (flags & NDR_OUT) {
4458 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4460 return NDR_ERR_SUCCESS;
4463 _PUBLIC_ void ndr_print_winbind_wins_byip(struct ndr_print *ndr, const char *name, int flags, const struct winbind_wins_byip *r)
4465 ndr_print_struct(ndr, name, "winbind_wins_byip");
4467 if (flags & NDR_SET_VALUES) {
4468 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4470 if (flags & NDR_IN) {
4471 ndr_print_struct(ndr, "in", "winbind_wins_byip");
4475 if (flags & NDR_OUT) {
4476 ndr_print_struct(ndr, "out", "winbind_wins_byip");
4478 ndr_print_winbind_status(ndr, "result", r->out.result);
4484 static enum ndr_err_code ndr_push_winbind_wins_byname(struct ndr_push *ndr, int flags, const struct winbind_wins_byname *r)
4486 if (flags & NDR_IN) {
4488 if (flags & NDR_OUT) {
4489 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4491 return NDR_ERR_SUCCESS;
4494 static enum ndr_err_code ndr_pull_winbind_wins_byname(struct ndr_pull *ndr, int flags, struct winbind_wins_byname *r)
4496 if (flags & NDR_IN) {
4498 if (flags & NDR_OUT) {
4499 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4501 return NDR_ERR_SUCCESS;
4504 _PUBLIC_ void ndr_print_winbind_wins_byname(struct ndr_print *ndr, const char *name, int flags, const struct winbind_wins_byname *r)
4506 ndr_print_struct(ndr, name, "winbind_wins_byname");
4508 if (flags & NDR_SET_VALUES) {
4509 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4511 if (flags & NDR_IN) {
4512 ndr_print_struct(ndr, "in", "winbind_wins_byname");
4516 if (flags & NDR_OUT) {
4517 ndr_print_struct(ndr, "out", "winbind_wins_byname");
4519 ndr_print_winbind_status(ndr, "result", r->out.result);
4525 static enum ndr_err_code ndr_push_winbind_getgrlist(struct ndr_push *ndr, int flags, const struct winbind_getgrlist *r)
4527 if (flags & NDR_IN) {
4529 if (flags & NDR_OUT) {
4530 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4532 return NDR_ERR_SUCCESS;
4535 static enum ndr_err_code ndr_pull_winbind_getgrlist(struct ndr_pull *ndr, int flags, struct winbind_getgrlist *r)
4537 if (flags & NDR_IN) {
4539 if (flags & NDR_OUT) {
4540 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4542 return NDR_ERR_SUCCESS;
4545 _PUBLIC_ void ndr_print_winbind_getgrlist(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgrlist *r)
4547 ndr_print_struct(ndr, name, "winbind_getgrlist");
4549 if (flags & NDR_SET_VALUES) {
4550 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4552 if (flags & NDR_IN) {
4553 ndr_print_struct(ndr, "in", "winbind_getgrlist");
4557 if (flags & NDR_OUT) {
4558 ndr_print_struct(ndr, "out", "winbind_getgrlist");
4560 ndr_print_winbind_status(ndr, "result", r->out.result);
4566 static enum ndr_err_code ndr_push_winbind_netbios_name(struct ndr_push *ndr, int flags, const struct winbind_netbios_name *r)
4568 if (flags & NDR_IN) {
4570 if (flags & NDR_OUT) {
4571 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4573 return NDR_ERR_SUCCESS;
4576 static enum ndr_err_code ndr_pull_winbind_netbios_name(struct ndr_pull *ndr, int flags, struct winbind_netbios_name *r)
4578 if (flags & NDR_IN) {
4580 if (flags & NDR_OUT) {
4581 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4583 return NDR_ERR_SUCCESS;
4586 _PUBLIC_ void ndr_print_winbind_netbios_name(struct ndr_print *ndr, const char *name, int flags, const struct winbind_netbios_name *r)
4588 ndr_print_struct(ndr, name, "winbind_netbios_name");
4590 if (flags & NDR_SET_VALUES) {
4591 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4593 if (flags & NDR_IN) {
4594 ndr_print_struct(ndr, "in", "winbind_netbios_name");
4598 if (flags & NDR_OUT) {
4599 ndr_print_struct(ndr, "out", "winbind_netbios_name");
4601 ndr_print_winbind_status(ndr, "result", r->out.result);
4607 static enum ndr_err_code ndr_push_winbind_getusersids(struct ndr_push *ndr, int flags, const struct winbind_getusersids *r)
4609 if (flags & NDR_IN) {
4611 if (flags & NDR_OUT) {
4612 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4614 return NDR_ERR_SUCCESS;
4617 static enum ndr_err_code ndr_pull_winbind_getusersids(struct ndr_pull *ndr, int flags, struct winbind_getusersids *r)
4619 if (flags & NDR_IN) {
4621 if (flags & NDR_OUT) {
4622 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4624 return NDR_ERR_SUCCESS;
4627 _PUBLIC_ void ndr_print_winbind_getusersids(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getusersids *r)
4629 ndr_print_struct(ndr, name, "winbind_getusersids");
4631 if (flags & NDR_SET_VALUES) {
4632 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4634 if (flags & NDR_IN) {
4635 ndr_print_struct(ndr, "in", "winbind_getusersids");
4639 if (flags & NDR_OUT) {
4640 ndr_print_struct(ndr, "out", "winbind_getusersids");
4642 ndr_print_winbind_status(ndr, "result", r->out.result);
4648 static enum ndr_err_code ndr_push_winbind_getuserdomgroups(struct ndr_push *ndr, int flags, const struct winbind_getuserdomgroups *r)
4650 if (flags & NDR_IN) {
4652 if (flags & NDR_OUT) {
4653 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4655 return NDR_ERR_SUCCESS;
4658 static enum ndr_err_code ndr_pull_winbind_getuserdomgroups(struct ndr_pull *ndr, int flags, struct winbind_getuserdomgroups *r)
4660 if (flags & NDR_IN) {
4662 if (flags & NDR_OUT) {
4663 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4665 return NDR_ERR_SUCCESS;
4668 _PUBLIC_ void ndr_print_winbind_getuserdomgroups(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getuserdomgroups *r)
4670 ndr_print_struct(ndr, name, "winbind_getuserdomgroups");
4672 if (flags & NDR_SET_VALUES) {
4673 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4675 if (flags & NDR_IN) {
4676 ndr_print_struct(ndr, "in", "winbind_getuserdomgroups");
4680 if (flags & NDR_OUT) {
4681 ndr_print_struct(ndr, "out", "winbind_getuserdomgroups");
4683 ndr_print_winbind_status(ndr, "result", r->out.result);
4689 static enum ndr_err_code ndr_push_winbind_dual_userinfo(struct ndr_push *ndr, int flags, const struct winbind_dual_userinfo *r)
4691 if (flags & NDR_IN) {
4693 if (flags & NDR_OUT) {
4694 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4696 return NDR_ERR_SUCCESS;
4699 static enum ndr_err_code ndr_pull_winbind_dual_userinfo(struct ndr_pull *ndr, int flags, struct winbind_dual_userinfo *r)
4701 if (flags & NDR_IN) {
4703 if (flags & NDR_OUT) {
4704 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4706 return NDR_ERR_SUCCESS;
4709 _PUBLIC_ void ndr_print_winbind_dual_userinfo(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_userinfo *r)
4711 ndr_print_struct(ndr, name, "winbind_dual_userinfo");
4713 if (flags & NDR_SET_VALUES) {
4714 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4716 if (flags & NDR_IN) {
4717 ndr_print_struct(ndr, "in", "winbind_dual_userinfo");
4721 if (flags & NDR_OUT) {
4722 ndr_print_struct(ndr, "out", "winbind_dual_userinfo");
4724 ndr_print_winbind_status(ndr, "result", r->out.result);
4730 static enum ndr_err_code ndr_push_winbind_dual_getsidaliases(struct ndr_push *ndr, int flags, const struct winbind_dual_getsidaliases *r)
4732 if (flags & NDR_IN) {
4734 if (flags & NDR_OUT) {
4735 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4737 return NDR_ERR_SUCCESS;
4740 static enum ndr_err_code ndr_pull_winbind_dual_getsidaliases(struct ndr_pull *ndr, int flags, struct winbind_dual_getsidaliases *r)
4742 if (flags & NDR_IN) {
4744 if (flags & NDR_OUT) {
4745 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4747 return NDR_ERR_SUCCESS;
4750 _PUBLIC_ void ndr_print_winbind_dual_getsidaliases(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_getsidaliases *r)
4752 ndr_print_struct(ndr, name, "winbind_dual_getsidaliases");
4754 if (flags & NDR_SET_VALUES) {
4755 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4757 if (flags & NDR_IN) {
4758 ndr_print_struct(ndr, "in", "winbind_dual_getsidaliases");
4762 if (flags & NDR_OUT) {
4763 ndr_print_struct(ndr, "out", "winbind_dual_getsidaliases");
4765 ndr_print_winbind_status(ndr, "result", r->out.result);
4771 static enum ndr_err_code ndr_push_winbind_ccache_ntlmauth(struct ndr_push *ndr, int flags, const struct winbind_ccache_ntlmauth *r)
4773 if (flags & NDR_IN) {
4775 if (flags & NDR_OUT) {
4776 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4778 return NDR_ERR_SUCCESS;
4781 static enum ndr_err_code ndr_pull_winbind_ccache_ntlmauth(struct ndr_pull *ndr, int flags, struct winbind_ccache_ntlmauth *r)
4783 if (flags & NDR_IN) {
4785 if (flags & NDR_OUT) {
4786 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4788 return NDR_ERR_SUCCESS;
4791 _PUBLIC_ void ndr_print_winbind_ccache_ntlmauth(struct ndr_print *ndr, const char *name, int flags, const struct winbind_ccache_ntlmauth *r)
4793 ndr_print_struct(ndr, name, "winbind_ccache_ntlmauth");
4795 if (flags & NDR_SET_VALUES) {
4796 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4798 if (flags & NDR_IN) {
4799 ndr_print_struct(ndr, "in", "winbind_ccache_ntlmauth");
4803 if (flags & NDR_OUT) {
4804 ndr_print_struct(ndr, "out", "winbind_ccache_ntlmauth");
4806 ndr_print_winbind_status(ndr, "result", r->out.result);
4812 static const struct ndr_interface_call winbind_protocol_calls[] = {
4815 sizeof(struct winbind_ping),
4816 (ndr_push_flags_fn_t) ndr_push_winbind_ping,
4817 (ndr_pull_flags_fn_t) ndr_pull_winbind_ping,
4818 (ndr_print_function_t) ndr_print_winbind_ping,
4822 "winbind_interface_details",
4823 sizeof(struct winbind_interface_details),
4824 (ndr_push_flags_fn_t) ndr_push_winbind_interface_details,
4825 (ndr_pull_flags_fn_t) ndr_pull_winbind_interface_details,
4826 (ndr_print_function_t) ndr_print_winbind_interface_details,
4831 sizeof(struct winbind_getpwnam),
4832 (ndr_push_flags_fn_t) ndr_push_winbind_getpwnam,
4833 (ndr_pull_flags_fn_t) ndr_pull_winbind_getpwnam,
4834 (ndr_print_function_t) ndr_print_winbind_getpwnam,
4839 sizeof(struct winbind_getpwuid),
4840 (ndr_push_flags_fn_t) ndr_push_winbind_getpwuid,
4841 (ndr_pull_flags_fn_t) ndr_pull_winbind_getpwuid,
4842 (ndr_print_function_t) ndr_print_winbind_getpwuid,
4847 sizeof(struct winbind_getgrnam),
4848 (ndr_push_flags_fn_t) ndr_push_winbind_getgrnam,
4849 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgrnam,
4850 (ndr_print_function_t) ndr_print_winbind_getgrnam,
4855 sizeof(struct winbind_getgrgid),
4856 (ndr_push_flags_fn_t) ndr_push_winbind_getgrgid,
4857 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgrgid,
4858 (ndr_print_function_t) ndr_print_winbind_getgrgid,
4862 "winbind_getgroups",
4863 sizeof(struct winbind_getgroups),
4864 (ndr_push_flags_fn_t) ndr_push_winbind_getgroups,
4865 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgroups,
4866 (ndr_print_function_t) ndr_print_winbind_getgroups,
4871 sizeof(struct winbind_setpwent),
4872 (ndr_push_flags_fn_t) ndr_push_winbind_setpwent,
4873 (ndr_pull_flags_fn_t) ndr_pull_winbind_setpwent,
4874 (ndr_print_function_t) ndr_print_winbind_setpwent,
4879 sizeof(struct winbind_endpwent),
4880 (ndr_push_flags_fn_t) ndr_push_winbind_endpwent,
4881 (ndr_pull_flags_fn_t) ndr_pull_winbind_endpwent,
4882 (ndr_print_function_t) ndr_print_winbind_endpwent,
4887 sizeof(struct winbind_getpwent),
4888 (ndr_push_flags_fn_t) ndr_push_winbind_getpwent,
4889 (ndr_pull_flags_fn_t) ndr_pull_winbind_getpwent,
4890 (ndr_print_function_t) ndr_print_winbind_getpwent,
4895 sizeof(struct winbind_setgrent),
4896 (ndr_push_flags_fn_t) ndr_push_winbind_setgrent,
4897 (ndr_pull_flags_fn_t) ndr_pull_winbind_setgrent,
4898 (ndr_print_function_t) ndr_print_winbind_setgrent,
4903 sizeof(struct winbind_endgrent),
4904 (ndr_push_flags_fn_t) ndr_push_winbind_endgrent,
4905 (ndr_pull_flags_fn_t) ndr_pull_winbind_endgrent,
4906 (ndr_print_function_t) ndr_print_winbind_endgrent,
4911 sizeof(struct winbind_getgrent),
4912 (ndr_push_flags_fn_t) ndr_push_winbind_getgrent,
4913 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgrent,
4914 (ndr_print_function_t) ndr_print_winbind_getgrent,
4919 sizeof(struct winbind_auth),
4920 (ndr_push_flags_fn_t) ndr_push_winbind_auth,
4921 (ndr_pull_flags_fn_t) ndr_pull_winbind_auth,
4922 (ndr_print_function_t) ndr_print_winbind_auth,
4926 "winbind_pam_chauthtok",
4927 sizeof(struct winbind_pam_chauthtok),
4928 (ndr_push_flags_fn_t) ndr_push_winbind_pam_chauthtok,
4929 (ndr_pull_flags_fn_t) ndr_pull_winbind_pam_chauthtok,
4930 (ndr_print_function_t) ndr_print_winbind_pam_chauthtok,
4934 "winbind_pam_logoff",
4935 sizeof(struct winbind_pam_logoff),
4936 (ndr_push_flags_fn_t) ndr_push_winbind_pam_logoff,
4937 (ndr_pull_flags_fn_t) ndr_pull_winbind_pam_logoff,
4938 (ndr_print_function_t) ndr_print_winbind_pam_logoff,
4942 "winbind_pam_chng_paswd_auth_crap",
4943 sizeof(struct winbind_pam_chng_paswd_auth_crap),
4944 (ndr_push_flags_fn_t) ndr_push_winbind_pam_chng_paswd_auth_crap,
4945 (ndr_pull_flags_fn_t) ndr_pull_winbind_pam_chng_paswd_auth_crap,
4946 (ndr_print_function_t) ndr_print_winbind_pam_chng_paswd_auth_crap,
4950 "winbind_list_users",
4951 sizeof(struct winbind_list_users),
4952 (ndr_push_flags_fn_t) ndr_push_winbind_list_users,
4953 (ndr_pull_flags_fn_t) ndr_pull_winbind_list_users,
4954 (ndr_print_function_t) ndr_print_winbind_list_users,
4958 "winbind_list_groups",
4959 sizeof(struct winbind_list_groups),
4960 (ndr_push_flags_fn_t) ndr_push_winbind_list_groups,
4961 (ndr_pull_flags_fn_t) ndr_pull_winbind_list_groups,
4962 (ndr_print_function_t) ndr_print_winbind_list_groups,
4967 sizeof(struct winbind_trust),
4968 (ndr_push_flags_fn_t) ndr_push_winbind_trust,
4969 (ndr_pull_flags_fn_t) ndr_pull_winbind_trust,
4970 (ndr_print_function_t) ndr_print_winbind_trust,
4975 sizeof(struct winbind_lookup),
4976 (ndr_push_flags_fn_t) ndr_push_winbind_lookup,
4977 (ndr_pull_flags_fn_t) ndr_pull_winbind_lookup,
4978 (ndr_print_function_t) ndr_print_winbind_lookup,
4982 "winbind_get_idmap",
4983 sizeof(struct winbind_get_idmap),
4984 (ndr_push_flags_fn_t) ndr_push_winbind_get_idmap,
4985 (ndr_pull_flags_fn_t) ndr_pull_winbind_get_idmap,
4986 (ndr_print_function_t) ndr_print_winbind_get_idmap,
4990 "winbind_set_idmap",
4991 sizeof(struct winbind_set_idmap),
4992 (ndr_push_flags_fn_t) ndr_push_winbind_set_idmap,
4993 (ndr_pull_flags_fn_t) ndr_pull_winbind_set_idmap,
4994 (ndr_print_function_t) ndr_print_winbind_set_idmap,
4998 "winbind_info_fixname",
4999 sizeof(struct winbind_info_fixname),
5000 (ndr_push_flags_fn_t) ndr_push_winbind_info_fixname,
5001 (ndr_pull_flags_fn_t) ndr_pull_winbind_info_fixname,
5002 (ndr_print_function_t) ndr_print_winbind_info_fixname,
5006 "winbind_domain_name",
5007 sizeof(struct winbind_domain_name),
5008 (ndr_push_flags_fn_t) ndr_push_winbind_domain_name,
5009 (ndr_pull_flags_fn_t) ndr_pull_winbind_domain_name,
5010 (ndr_print_function_t) ndr_print_winbind_domain_name,
5014 "winbind_get_domain_info",
5015 sizeof(struct winbind_get_domain_info),
5016 (ndr_push_flags_fn_t) ndr_push_winbind_get_domain_info,
5017 (ndr_pull_flags_fn_t) ndr_pull_winbind_get_domain_info,
5018 (ndr_print_function_t) ndr_print_winbind_get_domain_info,
5022 "winbind_get_dc_info",
5023 sizeof(struct winbind_get_dc_info),
5024 (ndr_push_flags_fn_t) ndr_push_winbind_get_dc_info,
5025 (ndr_pull_flags_fn_t) ndr_pull_winbind_get_dc_info,
5026 (ndr_print_function_t) ndr_print_winbind_get_dc_info,
5030 "winbind_wins_byip",
5031 sizeof(struct winbind_wins_byip),
5032 (ndr_push_flags_fn_t) ndr_push_winbind_wins_byip,
5033 (ndr_pull_flags_fn_t) ndr_pull_winbind_wins_byip,
5034 (ndr_print_function_t) ndr_print_winbind_wins_byip,
5038 "winbind_wins_byname",
5039 sizeof(struct winbind_wins_byname),
5040 (ndr_push_flags_fn_t) ndr_push_winbind_wins_byname,
5041 (ndr_pull_flags_fn_t) ndr_pull_winbind_wins_byname,
5042 (ndr_print_function_t) ndr_print_winbind_wins_byname,
5046 "winbind_getgrlist",
5047 sizeof(struct winbind_getgrlist),
5048 (ndr_push_flags_fn_t) ndr_push_winbind_getgrlist,
5049 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgrlist,
5050 (ndr_print_function_t) ndr_print_winbind_getgrlist,
5054 "winbind_netbios_name",
5055 sizeof(struct winbind_netbios_name),
5056 (ndr_push_flags_fn_t) ndr_push_winbind_netbios_name,
5057 (ndr_pull_flags_fn_t) ndr_pull_winbind_netbios_name,
5058 (ndr_print_function_t) ndr_print_winbind_netbios_name,
5062 "winbind_getusersids",
5063 sizeof(struct winbind_getusersids),
5064 (ndr_push_flags_fn_t) ndr_push_winbind_getusersids,
5065 (ndr_pull_flags_fn_t) ndr_pull_winbind_getusersids,
5066 (ndr_print_function_t) ndr_print_winbind_getusersids,
5070 "winbind_getuserdomgroups",
5071 sizeof(struct winbind_getuserdomgroups),
5072 (ndr_push_flags_fn_t) ndr_push_winbind_getuserdomgroups,
5073 (ndr_pull_flags_fn_t) ndr_pull_winbind_getuserdomgroups,
5074 (ndr_print_function_t) ndr_print_winbind_getuserdomgroups,
5078 "winbind_dual_userinfo",
5079 sizeof(struct winbind_dual_userinfo),
5080 (ndr_push_flags_fn_t) ndr_push_winbind_dual_userinfo,
5081 (ndr_pull_flags_fn_t) ndr_pull_winbind_dual_userinfo,
5082 (ndr_print_function_t) ndr_print_winbind_dual_userinfo,
5086 "winbind_dual_getsidaliases",
5087 sizeof(struct winbind_dual_getsidaliases),
5088 (ndr_push_flags_fn_t) ndr_push_winbind_dual_getsidaliases,
5089 (ndr_pull_flags_fn_t) ndr_pull_winbind_dual_getsidaliases,
5090 (ndr_print_function_t) ndr_print_winbind_dual_getsidaliases,
5094 "winbind_ccache_ntlmauth",
5095 sizeof(struct winbind_ccache_ntlmauth),
5096 (ndr_push_flags_fn_t) ndr_push_winbind_ccache_ntlmauth,
5097 (ndr_pull_flags_fn_t) ndr_pull_winbind_ccache_ntlmauth,
5098 (ndr_print_function_t) ndr_print_winbind_ccache_ntlmauth,
5101 { NULL, 0, NULL, NULL, NULL, false }
5104 static const char * const winbind_protocol_endpoint_strings[] = {
5105 "ncacn_np:[\\pipe\\winbind_protocol]",
5108 static const struct ndr_interface_string_array winbind_protocol_endpoints = {
5110 .names = winbind_protocol_endpoint_strings
5113 static const char * const winbind_protocol_authservice_strings[] = {
5117 static const struct ndr_interface_string_array winbind_protocol_authservices = {
5119 .names = winbind_protocol_authservice_strings
5123 const struct ndr_interface_table ndr_table_winbind_protocol = {
5124 .name = "winbind_protocol",
5126 {0xb6608c99,0x0407,0x401b,{0x96,0xd3},{0x7b,0xcd,0xa6,0x72,0x32,0xaf}},
5127 NDR_WINBIND_PROTOCOL_VERSION
5129 .helpstring = NDR_WINBIND_PROTOCOL_HELPSTRING,
5131 .calls = winbind_protocol_calls,
5132 .endpoints = &winbind_protocol_endpoints,
5133 .authservices = &winbind_protocol_authservices