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;
149 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE: val = "WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE"; break;
150 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF: val = "WINBIND_AUTH_LEVEL_COMPAT_LOGOFF"; break;
151 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN: val = "WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN"; break;
153 ndr_print_enum(ndr, name, "ENUM", val, r);
156 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)
158 uint32_t cntr_require_membership_of_sids_1;
159 if (ndr_flags & NDR_SCALARS) {
160 NDR_CHECK(ndr_push_align(ndr, 4));
161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
164 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
165 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
166 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF8)));
168 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
169 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->password, CH_UTF8)));
170 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->password, ndr_charset_length(r->password, CH_UTF8), sizeof(uint8_t), CH_UTF8));
171 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_require_membership_of_sids));
172 NDR_CHECK(ndr_push_unique_ptr(ndr, r->require_membership_of_sids));
173 NDR_CHECK(ndr_push_unique_ptr(ndr, r->krb5_cc_type));
174 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uid));
176 if (ndr_flags & NDR_BUFFERS) {
177 if (r->domain_name) {
178 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
179 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
180 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
181 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
183 if (r->require_membership_of_sids) {
184 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_require_membership_of_sids));
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_SCALARS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
188 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++) {
189 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_BUFFERS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
192 if (r->krb5_cc_type) {
193 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_type, CH_UTF8)));
194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
195 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_type, CH_UTF8)));
196 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));
199 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->uid));
202 return NDR_ERR_SUCCESS;
205 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)
207 uint32_t _ptr_domain_name;
208 TALLOC_CTX *_mem_save_domain_name_0;
209 uint32_t _ptr_require_membership_of_sids;
210 uint32_t cntr_require_membership_of_sids_1;
211 TALLOC_CTX *_mem_save_require_membership_of_sids_0;
212 TALLOC_CTX *_mem_save_require_membership_of_sids_1;
213 uint32_t _ptr_krb5_cc_type;
214 TALLOC_CTX *_mem_save_krb5_cc_type_0;
216 TALLOC_CTX *_mem_save_uid_0;
217 if (ndr_flags & NDR_SCALARS) {
218 NDR_CHECK(ndr_pull_align(ndr, 4));
219 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
220 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
221 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
222 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
223 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));
225 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t)));
226 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t), CH_UTF8));
227 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
228 if (_ptr_domain_name) {
229 NDR_PULL_ALLOC(ndr, r->domain_name);
231 r->domain_name = NULL;
233 NDR_CHECK(ndr_pull_array_size(ndr, &r->password));
234 NDR_CHECK(ndr_pull_array_length(ndr, &r->password));
235 if (ndr_get_array_length(ndr, &r->password) > ndr_get_array_size(ndr, &r->password)) {
236 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));
238 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->password), sizeof(uint8_t)));
239 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->password, ndr_get_array_length(ndr, &r->password), sizeof(uint8_t), CH_UTF8));
240 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_require_membership_of_sids));
241 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_require_membership_of_sids));
242 if (_ptr_require_membership_of_sids) {
243 NDR_PULL_ALLOC(ndr, r->require_membership_of_sids);
245 r->require_membership_of_sids = NULL;
247 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_krb5_cc_type));
248 if (_ptr_krb5_cc_type) {
249 NDR_PULL_ALLOC(ndr, r->krb5_cc_type);
251 r->krb5_cc_type = NULL;
253 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uid));
255 NDR_PULL_ALLOC(ndr, r->uid);
260 if (ndr_flags & NDR_BUFFERS) {
261 if (r->domain_name) {
262 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
263 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
264 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
265 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
266 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
267 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));
269 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t)));
270 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t), CH_UTF8));
271 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
273 if (r->require_membership_of_sids) {
274 _mem_save_require_membership_of_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
275 NDR_PULL_SET_MEM_CTX(ndr, r->require_membership_of_sids, 0);
276 NDR_CHECK(ndr_pull_array_size(ndr, &r->require_membership_of_sids));
277 NDR_PULL_ALLOC_N(ndr, r->require_membership_of_sids, ndr_get_array_size(ndr, &r->require_membership_of_sids));
278 _mem_save_require_membership_of_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
279 NDR_PULL_SET_MEM_CTX(ndr, r->require_membership_of_sids, 0);
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_SCALARS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
283 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++) {
284 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_BUFFERS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
286 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sids_1, 0);
287 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sids_0, 0);
289 if (r->krb5_cc_type) {
290 _mem_save_krb5_cc_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
291 NDR_PULL_SET_MEM_CTX(ndr, r->krb5_cc_type, 0);
292 NDR_CHECK(ndr_pull_array_size(ndr, &r->krb5_cc_type));
293 NDR_CHECK(ndr_pull_array_length(ndr, &r->krb5_cc_type));
294 if (ndr_get_array_length(ndr, &r->krb5_cc_type) > ndr_get_array_size(ndr, &r->krb5_cc_type)) {
295 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));
297 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->krb5_cc_type), sizeof(uint8_t)));
298 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));
299 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_krb5_cc_type_0, 0);
302 _mem_save_uid_0 = NDR_PULL_GET_MEM_CTX(ndr);
303 NDR_PULL_SET_MEM_CTX(ndr, r->uid, 0);
304 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->uid));
305 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uid_0, 0);
307 if (r->require_membership_of_sids) {
308 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->require_membership_of_sids, r->num_require_membership_of_sids));
311 return NDR_ERR_SUCCESS;
314 _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)
316 uint32_t cntr_require_membership_of_sids_1;
317 ndr_print_struct(ndr, name, "winbind_auth_compat_auth_plain_req");
319 ndr_print_uint32(ndr, "flags", r->flags);
320 ndr_print_string(ndr, "account_name", r->account_name);
321 ndr_print_ptr(ndr, "domain_name", r->domain_name);
323 if (r->domain_name) {
324 ndr_print_string(ndr, "domain_name", r->domain_name);
327 ndr_print_string(ndr, "password", r->password);
328 ndr_print_uint32(ndr, "num_require_membership_of_sids", r->num_require_membership_of_sids);
329 ndr_print_ptr(ndr, "require_membership_of_sids", r->require_membership_of_sids);
331 if (r->require_membership_of_sids) {
332 ndr->print(ndr, "%s: ARRAY(%d)", "require_membership_of_sids", r->num_require_membership_of_sids);
334 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++) {
336 if (asprintf(&idx_1, "[%d]", cntr_require_membership_of_sids_1) != -1) {
337 ndr_print_dom_sid(ndr, "require_membership_of_sids", &r->require_membership_of_sids[cntr_require_membership_of_sids_1]);
344 ndr_print_ptr(ndr, "krb5_cc_type", r->krb5_cc_type);
346 if (r->krb5_cc_type) {
347 ndr_print_string(ndr, "krb5_cc_type", r->krb5_cc_type);
350 ndr_print_ptr(ndr, "uid", r->uid);
353 ndr_print_hyper(ndr, "uid", *r->uid);
359 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)
361 if (ndr_flags & NDR_SCALARS) {
362 NDR_CHECK(ndr_push_align(ndr, 4));
363 NDR_CHECK(ndr_push_unique_ptr(ndr, r->unix_username));
364 NDR_CHECK(ndr_push_unique_ptr(ndr, r->krb5_cc_name));
365 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info3));
366 NDR_CHECK(ndr_push_unique_ptr(ndr, r->password_policy));
367 NDR_CHECK(ndr_push_unique_ptr(ndr, r->afs_token));
369 if (ndr_flags & NDR_BUFFERS) {
370 if (r->unix_username) {
371 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unix_username, CH_UTF8)));
372 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
373 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->unix_username, CH_UTF8)));
374 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->unix_username, ndr_charset_length(r->unix_username, CH_UTF8), sizeof(uint8_t), CH_UTF8));
376 if (r->krb5_cc_name) {
377 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_name, CH_UTF8)));
378 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
379 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_name, CH_UTF8)));
380 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));
383 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
385 if (r->password_policy) {
386 NDR_CHECK(ndr_push_samr_DomInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->password_policy));
389 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->afs_token));
392 return NDR_ERR_SUCCESS;
395 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)
397 uint32_t _ptr_unix_username;
398 TALLOC_CTX *_mem_save_unix_username_0;
399 uint32_t _ptr_krb5_cc_name;
400 TALLOC_CTX *_mem_save_krb5_cc_name_0;
402 TALLOC_CTX *_mem_save_info3_0;
403 uint32_t _ptr_password_policy;
404 TALLOC_CTX *_mem_save_password_policy_0;
405 uint32_t _ptr_afs_token;
406 TALLOC_CTX *_mem_save_afs_token_0;
407 if (ndr_flags & NDR_SCALARS) {
408 NDR_CHECK(ndr_pull_align(ndr, 4));
409 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_unix_username));
410 if (_ptr_unix_username) {
411 NDR_PULL_ALLOC(ndr, r->unix_username);
413 r->unix_username = NULL;
415 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_krb5_cc_name));
416 if (_ptr_krb5_cc_name) {
417 NDR_PULL_ALLOC(ndr, r->krb5_cc_name);
419 r->krb5_cc_name = NULL;
421 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info3));
423 NDR_PULL_ALLOC(ndr, r->info3);
427 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_password_policy));
428 if (_ptr_password_policy) {
429 NDR_PULL_ALLOC(ndr, r->password_policy);
431 r->password_policy = NULL;
433 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_afs_token));
434 if (_ptr_afs_token) {
435 NDR_PULL_ALLOC(ndr, r->afs_token);
440 if (ndr_flags & NDR_BUFFERS) {
441 if (r->unix_username) {
442 _mem_save_unix_username_0 = NDR_PULL_GET_MEM_CTX(ndr);
443 NDR_PULL_SET_MEM_CTX(ndr, r->unix_username, 0);
444 NDR_CHECK(ndr_pull_array_size(ndr, &r->unix_username));
445 NDR_CHECK(ndr_pull_array_length(ndr, &r->unix_username));
446 if (ndr_get_array_length(ndr, &r->unix_username) > ndr_get_array_size(ndr, &r->unix_username)) {
447 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));
449 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->unix_username), sizeof(uint8_t)));
450 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->unix_username, ndr_get_array_length(ndr, &r->unix_username), sizeof(uint8_t), CH_UTF8));
451 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_unix_username_0, 0);
453 if (r->krb5_cc_name) {
454 _mem_save_krb5_cc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
455 NDR_PULL_SET_MEM_CTX(ndr, r->krb5_cc_name, 0);
456 NDR_CHECK(ndr_pull_array_size(ndr, &r->krb5_cc_name));
457 NDR_CHECK(ndr_pull_array_length(ndr, &r->krb5_cc_name));
458 if (ndr_get_array_length(ndr, &r->krb5_cc_name) > ndr_get_array_size(ndr, &r->krb5_cc_name)) {
459 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));
461 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->krb5_cc_name), sizeof(uint8_t)));
462 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));
463 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_krb5_cc_name_0, 0);
466 _mem_save_info3_0 = NDR_PULL_GET_MEM_CTX(ndr);
467 NDR_PULL_SET_MEM_CTX(ndr, r->info3, 0);
468 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS|NDR_BUFFERS, r->info3));
469 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info3_0, 0);
471 if (r->password_policy) {
472 _mem_save_password_policy_0 = NDR_PULL_GET_MEM_CTX(ndr);
473 NDR_PULL_SET_MEM_CTX(ndr, r->password_policy, 0);
474 NDR_CHECK(ndr_pull_samr_DomInfo1(ndr, NDR_SCALARS|NDR_BUFFERS, r->password_policy));
475 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_password_policy_0, 0);
478 _mem_save_afs_token_0 = NDR_PULL_GET_MEM_CTX(ndr);
479 NDR_PULL_SET_MEM_CTX(ndr, r->afs_token, 0);
480 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->afs_token));
481 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_afs_token_0, 0);
484 return NDR_ERR_SUCCESS;
487 _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)
489 ndr_print_struct(ndr, name, "winbind_auth_compat_auth_rep");
491 ndr_print_ptr(ndr, "unix_username", r->unix_username);
493 if (r->unix_username) {
494 ndr_print_string(ndr, "unix_username", r->unix_username);
497 ndr_print_ptr(ndr, "krb5_cc_name", r->krb5_cc_name);
499 if (r->krb5_cc_name) {
500 ndr_print_string(ndr, "krb5_cc_name", r->krb5_cc_name);
503 ndr_print_ptr(ndr, "info3", r->info3);
506 ndr_print_netr_SamInfo3(ndr, "info3", r->info3);
509 ndr_print_ptr(ndr, "password_policy", r->password_policy);
511 if (r->password_policy) {
512 ndr_print_samr_DomInfo1(ndr, "password_policy", r->password_policy);
515 ndr_print_ptr(ndr, "afs_token", r->afs_token);
518 ndr_print_DATA_BLOB(ndr, "afs_token", *r->afs_token);
524 static enum ndr_err_code ndr_push_STRUCT_winbind_auth_compat_auth_response_req(struct ndr_push *ndr, int ndr_flags, const struct winbind_auth_compat_auth_response_req *r)
526 uint32_t cntr_require_membership_of_sids_1;
527 if (ndr_flags & NDR_SCALARS) {
528 NDR_CHECK(ndr_push_align(ndr, 4));
529 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
530 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
531 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
532 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
533 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
534 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
535 NDR_CHECK(ndr_push_unique_ptr(ndr, r->workstation_name));
536 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_require_membership_of_sids));
537 NDR_CHECK(ndr_push_unique_ptr(ndr, r->require_membership_of_sids));
538 NDR_CHECK(ndr_push_netr_LogonParameterControl(ndr, NDR_SCALARS, r->logon_parameters));
539 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
540 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->lm_response));
541 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->nt_response));
543 if (ndr_flags & NDR_BUFFERS) {
544 if (r->domain_name) {
545 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
546 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
547 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
548 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
550 if (r->workstation_name) {
551 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_name, CH_UTF8)));
552 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
553 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->workstation_name, CH_UTF8)));
554 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->workstation_name, ndr_charset_length(r->workstation_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
556 if (r->require_membership_of_sids) {
557 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_require_membership_of_sids));
558 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++) {
559 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
561 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++) {
562 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_BUFFERS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
566 return NDR_ERR_SUCCESS;
569 static enum ndr_err_code ndr_pull_STRUCT_winbind_auth_compat_auth_response_req(struct ndr_pull *ndr, int ndr_flags, struct winbind_auth_compat_auth_response_req *r)
571 uint32_t _ptr_domain_name;
572 TALLOC_CTX *_mem_save_domain_name_0;
573 uint32_t _ptr_workstation_name;
574 TALLOC_CTX *_mem_save_workstation_name_0;
575 uint32_t _ptr_require_membership_of_sids;
576 uint32_t cntr_require_membership_of_sids_1;
577 TALLOC_CTX *_mem_save_require_membership_of_sids_0;
578 TALLOC_CTX *_mem_save_require_membership_of_sids_1;
579 if (ndr_flags & NDR_SCALARS) {
580 NDR_CHECK(ndr_pull_align(ndr, 4));
581 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
582 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
583 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
584 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
585 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));
587 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t)));
588 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t), CH_UTF8));
589 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
590 if (_ptr_domain_name) {
591 NDR_PULL_ALLOC(ndr, r->domain_name);
593 r->domain_name = NULL;
595 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_workstation_name));
596 if (_ptr_workstation_name) {
597 NDR_PULL_ALLOC(ndr, r->workstation_name);
599 r->workstation_name = NULL;
601 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_require_membership_of_sids));
602 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_require_membership_of_sids));
603 if (_ptr_require_membership_of_sids) {
604 NDR_PULL_ALLOC(ndr, r->require_membership_of_sids);
606 r->require_membership_of_sids = NULL;
608 NDR_CHECK(ndr_pull_netr_LogonParameterControl(ndr, NDR_SCALARS, &r->logon_parameters));
609 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->challenge, 8));
610 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->lm_response));
611 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->nt_response));
613 if (ndr_flags & NDR_BUFFERS) {
614 if (r->domain_name) {
615 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
616 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
617 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
618 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
619 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
620 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));
622 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t)));
623 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t), CH_UTF8));
624 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
626 if (r->workstation_name) {
627 _mem_save_workstation_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
628 NDR_PULL_SET_MEM_CTX(ndr, r->workstation_name, 0);
629 NDR_CHECK(ndr_pull_array_size(ndr, &r->workstation_name));
630 NDR_CHECK(ndr_pull_array_length(ndr, &r->workstation_name));
631 if (ndr_get_array_length(ndr, &r->workstation_name) > ndr_get_array_size(ndr, &r->workstation_name)) {
632 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->workstation_name), ndr_get_array_length(ndr, &r->workstation_name));
634 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->workstation_name), sizeof(uint8_t)));
635 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->workstation_name, ndr_get_array_length(ndr, &r->workstation_name), sizeof(uint8_t), CH_UTF8));
636 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_workstation_name_0, 0);
638 if (r->require_membership_of_sids) {
639 _mem_save_require_membership_of_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
640 NDR_PULL_SET_MEM_CTX(ndr, r->require_membership_of_sids, 0);
641 NDR_CHECK(ndr_pull_array_size(ndr, &r->require_membership_of_sids));
642 NDR_PULL_ALLOC_N(ndr, r->require_membership_of_sids, ndr_get_array_size(ndr, &r->require_membership_of_sids));
643 _mem_save_require_membership_of_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
644 NDR_PULL_SET_MEM_CTX(ndr, r->require_membership_of_sids, 0);
645 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++) {
646 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
648 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++) {
649 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_BUFFERS, &r->require_membership_of_sids[cntr_require_membership_of_sids_1]));
651 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sids_1, 0);
652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_require_membership_of_sids_0, 0);
654 if (r->require_membership_of_sids) {
655 NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->require_membership_of_sids, r->num_require_membership_of_sids));
658 return NDR_ERR_SUCCESS;
661 _PUBLIC_ void ndr_print_STRUCT_winbind_auth_compat_auth_response_req(struct ndr_print *ndr, const char *name, const struct winbind_auth_compat_auth_response_req *r)
663 uint32_t cntr_require_membership_of_sids_1;
664 ndr_print_struct(ndr, name, "winbind_auth_compat_auth_response_req");
666 ndr_print_uint32(ndr, "flags", r->flags);
667 ndr_print_string(ndr, "account_name", r->account_name);
668 ndr_print_ptr(ndr, "domain_name", r->domain_name);
670 if (r->domain_name) {
671 ndr_print_string(ndr, "domain_name", r->domain_name);
674 ndr_print_ptr(ndr, "workstation_name", r->workstation_name);
676 if (r->workstation_name) {
677 ndr_print_string(ndr, "workstation_name", r->workstation_name);
680 ndr_print_uint32(ndr, "num_require_membership_of_sids", r->num_require_membership_of_sids);
681 ndr_print_ptr(ndr, "require_membership_of_sids", r->require_membership_of_sids);
683 if (r->require_membership_of_sids) {
684 ndr->print(ndr, "%s: ARRAY(%d)", "require_membership_of_sids", r->num_require_membership_of_sids);
686 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++) {
688 if (asprintf(&idx_1, "[%d]", cntr_require_membership_of_sids_1) != -1) {
689 ndr_print_dom_sid(ndr, "require_membership_of_sids", &r->require_membership_of_sids[cntr_require_membership_of_sids_1]);
696 ndr_print_netr_LogonParameterControl(ndr, "logon_parameters", r->logon_parameters);
697 ndr_print_array_uint8(ndr, "challenge", r->challenge, 8);
698 ndr_print_DATA_BLOB(ndr, "lm_response", r->lm_response);
699 ndr_print_DATA_BLOB(ndr, "nt_response", r->nt_response);
703 static enum ndr_err_code ndr_push_STRUCT_winbind_auth_compat_logoff_req(struct ndr_push *ndr, int ndr_flags, const struct winbind_auth_compat_logoff_req *r)
705 if (ndr_flags & NDR_SCALARS) {
706 NDR_CHECK(ndr_push_align(ndr, 4));
707 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
708 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
709 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
710 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
711 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
712 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
713 NDR_CHECK(ndr_push_unique_ptr(ndr, r->krb5_cc_name));
714 NDR_CHECK(ndr_push_unique_ptr(ndr, r->uid));
716 if (ndr_flags & NDR_BUFFERS) {
717 if (r->domain_name) {
718 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
719 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
720 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
721 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
723 if (r->krb5_cc_name) {
724 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_name, CH_UTF8)));
725 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
726 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->krb5_cc_name, CH_UTF8)));
727 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));
730 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->uid));
733 return NDR_ERR_SUCCESS;
736 static enum ndr_err_code ndr_pull_STRUCT_winbind_auth_compat_logoff_req(struct ndr_pull *ndr, int ndr_flags, struct winbind_auth_compat_logoff_req *r)
738 uint32_t _ptr_domain_name;
739 TALLOC_CTX *_mem_save_domain_name_0;
740 uint32_t _ptr_krb5_cc_name;
741 TALLOC_CTX *_mem_save_krb5_cc_name_0;
743 TALLOC_CTX *_mem_save_uid_0;
744 if (ndr_flags & NDR_SCALARS) {
745 NDR_CHECK(ndr_pull_align(ndr, 4));
746 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
747 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
748 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
749 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
750 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));
752 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t)));
753 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t), CH_UTF8));
754 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
755 if (_ptr_domain_name) {
756 NDR_PULL_ALLOC(ndr, r->domain_name);
758 r->domain_name = NULL;
760 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_krb5_cc_name));
761 if (_ptr_krb5_cc_name) {
762 NDR_PULL_ALLOC(ndr, r->krb5_cc_name);
764 r->krb5_cc_name = NULL;
766 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_uid));
768 NDR_PULL_ALLOC(ndr, r->uid);
773 if (ndr_flags & NDR_BUFFERS) {
774 if (r->domain_name) {
775 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
776 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
777 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
778 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
779 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
780 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));
782 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t)));
783 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t), CH_UTF8));
784 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
786 if (r->krb5_cc_name) {
787 _mem_save_krb5_cc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
788 NDR_PULL_SET_MEM_CTX(ndr, r->krb5_cc_name, 0);
789 NDR_CHECK(ndr_pull_array_size(ndr, &r->krb5_cc_name));
790 NDR_CHECK(ndr_pull_array_length(ndr, &r->krb5_cc_name));
791 if (ndr_get_array_length(ndr, &r->krb5_cc_name) > ndr_get_array_size(ndr, &r->krb5_cc_name)) {
792 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));
794 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->krb5_cc_name), sizeof(uint8_t)));
795 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));
796 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_krb5_cc_name_0, 0);
799 _mem_save_uid_0 = NDR_PULL_GET_MEM_CTX(ndr);
800 NDR_PULL_SET_MEM_CTX(ndr, r->uid, 0);
801 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->uid));
802 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uid_0, 0);
805 return NDR_ERR_SUCCESS;
808 _PUBLIC_ void ndr_print_STRUCT_winbind_auth_compat_logoff_req(struct ndr_print *ndr, const char *name, const struct winbind_auth_compat_logoff_req *r)
810 ndr_print_struct(ndr, name, "winbind_auth_compat_logoff_req");
812 ndr_print_uint32(ndr, "flags", r->flags);
813 ndr_print_string(ndr, "account_name", r->account_name);
814 ndr_print_ptr(ndr, "domain_name", r->domain_name);
816 if (r->domain_name) {
817 ndr_print_string(ndr, "domain_name", r->domain_name);
820 ndr_print_ptr(ndr, "krb5_cc_name", r->krb5_cc_name);
822 if (r->krb5_cc_name) {
823 ndr_print_string(ndr, "krb5_cc_name", r->krb5_cc_name);
826 ndr_print_ptr(ndr, "uid", r->uid);
829 ndr_print_hyper(ndr, "uid", *r->uid);
835 static enum ndr_err_code ndr_push_STRUCT_winbind_auth_change_password_plain_req(struct ndr_push *ndr, int ndr_flags, const struct winbind_auth_change_password_plain_req *r)
837 if (ndr_flags & NDR_SCALARS) {
838 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->new_password, CH_UTF8)));
839 NDR_CHECK(ndr_push_align(ndr, 4));
840 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
841 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
842 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
843 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
844 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_name));
845 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->old_password, CH_UTF8)));
846 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
847 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->old_password, CH_UTF8)));
848 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->old_password, ndr_charset_length(r->old_password, CH_UTF8), sizeof(uint8_t), CH_UTF8));
849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->new_password, CH_UTF8)));
851 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->new_password, ndr_charset_length(r->new_password, CH_UTF8), sizeof(uint8_t), CH_UTF8));
853 if (ndr_flags & NDR_BUFFERS) {
854 if (r->domain_name) {
855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
856 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
857 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
858 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
861 return NDR_ERR_SUCCESS;
864 static enum ndr_err_code ndr_pull_STRUCT_winbind_auth_change_password_plain_req(struct ndr_pull *ndr, int ndr_flags, struct winbind_auth_change_password_plain_req *r)
866 uint32_t _ptr_domain_name;
867 TALLOC_CTX *_mem_save_domain_name_0;
868 if (ndr_flags & NDR_SCALARS) {
869 NDR_CHECK(ndr_pull_array_size(ndr, &r->new_password));
870 NDR_CHECK(ndr_pull_align(ndr, 4));
871 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
872 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
873 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
874 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));
876 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t)));
877 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t), CH_UTF8));
878 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_name));
879 if (_ptr_domain_name) {
880 NDR_PULL_ALLOC(ndr, r->domain_name);
882 r->domain_name = NULL;
884 NDR_CHECK(ndr_pull_array_size(ndr, &r->old_password));
885 NDR_CHECK(ndr_pull_array_length(ndr, &r->old_password));
886 if (ndr_get_array_length(ndr, &r->old_password) > ndr_get_array_size(ndr, &r->old_password)) {
887 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->old_password), ndr_get_array_length(ndr, &r->old_password));
889 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->old_password), sizeof(uint8_t)));
890 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->old_password, ndr_get_array_length(ndr, &r->old_password), sizeof(uint8_t), CH_UTF8));
891 NDR_CHECK(ndr_pull_array_length(ndr, &r->new_password));
892 if (ndr_get_array_length(ndr, &r->new_password) > ndr_get_array_size(ndr, &r->new_password)) {
893 return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->new_password), ndr_get_array_length(ndr, &r->new_password));
895 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->new_password), sizeof(uint8_t)));
896 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->new_password, ndr_get_array_length(ndr, &r->new_password), sizeof(uint8_t), CH_UTF8));
898 if (ndr_flags & NDR_BUFFERS) {
899 if (r->domain_name) {
900 _mem_save_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
901 NDR_PULL_SET_MEM_CTX(ndr, r->domain_name, 0);
902 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
903 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
904 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
905 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));
907 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t)));
908 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t), CH_UTF8));
909 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_name_0, 0);
912 return NDR_ERR_SUCCESS;
915 _PUBLIC_ void ndr_print_STRUCT_winbind_auth_change_password_plain_req(struct ndr_print *ndr, const char *name, const struct winbind_auth_change_password_plain_req *r)
917 ndr_print_struct(ndr, name, "winbind_auth_change_password_plain_req");
919 ndr_print_string(ndr, "account_name", r->account_name);
920 ndr_print_ptr(ndr, "domain_name", r->domain_name);
922 if (r->domain_name) {
923 ndr_print_string(ndr, "domain_name", r->domain_name);
926 ndr_print_string(ndr, "old_password", r->old_password);
927 ndr_print_string(ndr, "new_password", r->new_password);
931 static enum ndr_err_code ndr_push_winbind_auth_req(struct ndr_push *ndr, int ndr_flags, const union winbind_auth_req *r)
933 if (ndr_flags & NDR_SCALARS) {
934 int level = ndr_push_get_switch_value(ndr, r);
935 NDR_CHECK(ndr_push_winbind_auth_level(ndr, NDR_SCALARS, level));
937 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN: {
938 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_plain_req(ndr, NDR_SCALARS, &r->compat_auth_plain));
941 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE: {
942 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_response_req(ndr, NDR_SCALARS, &r->compat_auth_response));
945 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF: {
946 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_logoff_req(ndr, NDR_SCALARS, &r->compat_logoff));
949 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN: {
950 NDR_CHECK(ndr_push_STRUCT_winbind_auth_change_password_plain_req(ndr, NDR_SCALARS, &r->change_password_plain));
958 if (ndr_flags & NDR_BUFFERS) {
959 int level = ndr_push_get_switch_value(ndr, r);
961 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
962 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_plain_req(ndr, NDR_BUFFERS, &r->compat_auth_plain));
965 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE:
966 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_response_req(ndr, NDR_BUFFERS, &r->compat_auth_response));
969 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF:
970 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_logoff_req(ndr, NDR_BUFFERS, &r->compat_logoff));
973 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN:
974 NDR_CHECK(ndr_push_STRUCT_winbind_auth_change_password_plain_req(ndr, NDR_BUFFERS, &r->change_password_plain));
982 return NDR_ERR_SUCCESS;
985 static enum ndr_err_code ndr_pull_winbind_auth_req(struct ndr_pull *ndr, int ndr_flags, union winbind_auth_req *r)
989 level = ndr_pull_get_switch_value(ndr, r);
990 if (ndr_flags & NDR_SCALARS) {
991 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
992 if (_level != level) {
993 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
996 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN: {
997 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_plain_req(ndr, NDR_SCALARS, &r->compat_auth_plain));
1000 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE: {
1001 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_response_req(ndr, NDR_SCALARS, &r->compat_auth_response));
1004 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF: {
1005 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_logoff_req(ndr, NDR_SCALARS, &r->compat_logoff));
1008 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN: {
1009 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_change_password_plain_req(ndr, NDR_SCALARS, &r->change_password_plain));
1017 if (ndr_flags & NDR_BUFFERS) {
1019 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
1020 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_plain_req(ndr, NDR_BUFFERS, &r->compat_auth_plain));
1023 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE:
1024 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_response_req(ndr, NDR_BUFFERS, &r->compat_auth_response));
1027 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF:
1028 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_logoff_req(ndr, NDR_BUFFERS, &r->compat_logoff));
1031 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN:
1032 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_change_password_plain_req(ndr, NDR_BUFFERS, &r->change_password_plain));
1040 return NDR_ERR_SUCCESS;
1043 _PUBLIC_ void ndr_print_winbind_auth_req(struct ndr_print *ndr, const char *name, const union winbind_auth_req *r)
1046 level = ndr_print_get_switch_value(ndr, r);
1047 ndr_print_union(ndr, name, level, "winbind_auth_req");
1049 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
1050 ndr_print_STRUCT_winbind_auth_compat_auth_plain_req(ndr, "compat_auth_plain", &r->compat_auth_plain);
1053 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE:
1054 ndr_print_STRUCT_winbind_auth_compat_auth_response_req(ndr, "compat_auth_response", &r->compat_auth_response);
1057 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF:
1058 ndr_print_STRUCT_winbind_auth_compat_logoff_req(ndr, "compat_logoff", &r->compat_logoff);
1061 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN:
1062 ndr_print_STRUCT_winbind_auth_change_password_plain_req(ndr, "change_password_plain", &r->change_password_plain);
1071 static enum ndr_err_code ndr_push_winbind_auth_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_auth_rep *r)
1073 if (ndr_flags & NDR_SCALARS) {
1074 int level = ndr_push_get_switch_value(ndr, r);
1075 NDR_CHECK(ndr_push_winbind_auth_level(ndr, NDR_SCALARS, level));
1077 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN: {
1078 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_SCALARS, &r->compat_auth));
1081 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE: {
1082 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_SCALARS, &r->compat_auth));
1085 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF: {
1088 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN: {
1096 if (ndr_flags & NDR_BUFFERS) {
1097 int level = ndr_push_get_switch_value(ndr, r);
1099 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
1100 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_BUFFERS, &r->compat_auth));
1103 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE:
1104 NDR_CHECK(ndr_push_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_BUFFERS, &r->compat_auth));
1107 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF:
1110 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN:
1118 return NDR_ERR_SUCCESS;
1121 static enum ndr_err_code ndr_pull_winbind_auth_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_auth_rep *r)
1125 level = ndr_pull_get_switch_value(ndr, r);
1126 if (ndr_flags & NDR_SCALARS) {
1127 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1128 if (_level != level) {
1129 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1132 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN: {
1133 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_SCALARS, &r->compat_auth));
1136 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE: {
1137 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_SCALARS, &r->compat_auth));
1140 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF: {
1143 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN: {
1151 if (ndr_flags & NDR_BUFFERS) {
1153 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
1154 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_BUFFERS, &r->compat_auth));
1157 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE:
1158 NDR_CHECK(ndr_pull_STRUCT_winbind_auth_compat_auth_rep(ndr, NDR_BUFFERS, &r->compat_auth));
1161 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF:
1164 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN:
1172 return NDR_ERR_SUCCESS;
1175 _PUBLIC_ void ndr_print_winbind_auth_rep(struct ndr_print *ndr, const char *name, const union winbind_auth_rep *r)
1178 level = ndr_print_get_switch_value(ndr, r);
1179 ndr_print_union(ndr, name, level, "winbind_auth_rep");
1181 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_PLAIN:
1182 ndr_print_STRUCT_winbind_auth_compat_auth_rep(ndr, "compat_auth", &r->compat_auth);
1185 case WINBIND_AUTH_LEVEL_COMPAT_AUTH_RESPONSE:
1186 ndr_print_STRUCT_winbind_auth_compat_auth_rep(ndr, "compat_auth", &r->compat_auth);
1189 case WINBIND_AUTH_LEVEL_COMPAT_LOGOFF:
1192 case WINBIND_AUTH_LEVEL_CHANGE_PASSWORD_PLAIN:
1201 static enum ndr_err_code ndr_push_winbind_trust_level(struct ndr_push *ndr, int ndr_flags, enum winbind_trust_level r)
1203 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1204 return NDR_ERR_SUCCESS;
1207 static enum ndr_err_code ndr_pull_winbind_trust_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_trust_level *r)
1210 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1212 return NDR_ERR_SUCCESS;
1215 _PUBLIC_ void ndr_print_winbind_trust_level(struct ndr_print *ndr, const char *name, enum winbind_trust_level r)
1217 const char *val = NULL;
1220 case WINBIND_TRUST_LEVEL_COMPAT_LIST: val = "WINBIND_TRUST_LEVEL_COMPAT_LIST"; break;
1221 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: val = "WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC"; break;
1223 ndr_print_enum(ndr, name, "ENUM", val, r);
1226 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)
1228 if (ndr_flags & NDR_SCALARS) {
1229 NDR_CHECK(ndr_push_align(ndr, 4));
1230 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF8)));
1231 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1232 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF8)));
1233 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1234 NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
1235 if (r->sid == NULL) {
1236 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1238 NDR_CHECK(ndr_push_ref_ptr(ndr));
1239 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_native_mode));
1240 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_active_directory));
1241 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_primary));
1243 if (ndr_flags & NDR_BUFFERS) {
1245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF8)));
1246 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1247 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF8)));
1248 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1250 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1252 return NDR_ERR_SUCCESS;
1255 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)
1257 uint32_t _ptr_dns_name;
1258 TALLOC_CTX *_mem_save_dns_name_0;
1260 TALLOC_CTX *_mem_save_sid_0;
1261 if (ndr_flags & NDR_SCALARS) {
1262 NDR_CHECK(ndr_pull_align(ndr, 4));
1263 NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
1264 NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
1265 if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
1266 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));
1268 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint8_t)));
1269 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint8_t), CH_UTF8));
1270 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
1271 if (_ptr_dns_name) {
1272 NDR_PULL_ALLOC(ndr, r->dns_name);
1276 NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_sid));
1278 NDR_PULL_ALLOC(ndr, r->sid);
1282 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_native_mode));
1283 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_active_directory));
1284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_primary));
1286 if (ndr_flags & NDR_BUFFERS) {
1288 _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1289 NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
1290 NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
1291 NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
1292 if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
1293 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));
1295 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint8_t)));
1296 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint8_t), CH_UTF8));
1297 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
1299 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1300 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1301 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1302 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1304 return NDR_ERR_SUCCESS;
1307 _PUBLIC_ void ndr_print_STRUCT_winbind_domain_info_compat(struct ndr_print *ndr, const char *name, const struct winbind_domain_info_compat *r)
1309 ndr_print_struct(ndr, name, "winbind_domain_info_compat");
1311 ndr_print_string(ndr, "netbios_name", r->netbios_name);
1312 ndr_print_ptr(ndr, "dns_name", r->dns_name);
1315 ndr_print_string(ndr, "dns_name", r->dns_name);
1318 ndr_print_ptr(ndr, "sid", r->sid);
1320 ndr_print_dom_sid(ndr, "sid", r->sid);
1322 ndr_print_uint32(ndr, "is_native_mode", r->is_native_mode);
1323 ndr_print_uint32(ndr, "is_active_directory", r->is_active_directory);
1324 ndr_print_uint32(ndr, "is_primary", r->is_primary);
1328 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)
1330 uint32_t cntr_domains_0;
1331 if (ndr_flags & NDR_SCALARS) {
1332 NDR_CHECK(ndr_push_align(ndr, 4));
1333 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_domains));
1334 for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
1335 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->domains[cntr_domains_0]));
1338 if (ndr_flags & NDR_BUFFERS) {
1339 for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
1340 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->domains[cntr_domains_0]));
1343 return NDR_ERR_SUCCESS;
1346 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)
1348 uint32_t cntr_domains_0;
1349 TALLOC_CTX *_mem_save_domains_0;
1350 if (ndr_flags & NDR_SCALARS) {
1351 NDR_CHECK(ndr_pull_align(ndr, 4));
1352 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_domains));
1353 NDR_PULL_ALLOC_N(ndr, r->domains, r->num_domains);
1354 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
1355 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
1356 for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
1357 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->domains[cntr_domains_0]));
1359 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
1361 if (ndr_flags & NDR_BUFFERS) {
1362 _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
1363 NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
1364 for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
1365 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->domains[cntr_domains_0]));
1367 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
1369 return NDR_ERR_SUCCESS;
1372 _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)
1374 uint32_t cntr_domains_0;
1375 ndr_print_struct(ndr, name, "winbind_domain_info_compat_array");
1377 ndr_print_uint32(ndr, "num_domains", r->num_domains);
1378 ndr->print(ndr, "%s: ARRAY(%d)", "domains", r->num_domains);
1380 for (cntr_domains_0=0;cntr_domains_0<r->num_domains;cntr_domains_0++) {
1382 if (asprintf(&idx_0, "[%d]", cntr_domains_0) != -1) {
1383 ndr_print_STRUCT_winbind_domain_info_compat(ndr, "domains", &r->domains[cntr_domains_0]);
1391 static enum ndr_err_code ndr_push_winbind_trust_req(struct ndr_push *ndr, int ndr_flags, const union winbind_trust_req *r)
1393 if (ndr_flags & NDR_SCALARS) {
1394 int level = ndr_push_get_switch_value(ndr, r);
1395 NDR_CHECK(ndr_push_winbind_trust_level(ndr, NDR_SCALARS, level));
1397 case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
1400 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: {
1408 if (ndr_flags & NDR_BUFFERS) {
1409 int level = ndr_push_get_switch_value(ndr, r);
1411 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
1414 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
1422 return NDR_ERR_SUCCESS;
1425 static enum ndr_err_code ndr_pull_winbind_trust_req(struct ndr_pull *ndr, int ndr_flags, union winbind_trust_req *r)
1429 level = ndr_pull_get_switch_value(ndr, r);
1430 if (ndr_flags & NDR_SCALARS) {
1431 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1432 if (_level != level) {
1433 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1436 case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
1439 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: {
1447 if (ndr_flags & NDR_BUFFERS) {
1449 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
1452 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
1460 return NDR_ERR_SUCCESS;
1463 _PUBLIC_ void ndr_print_winbind_trust_req(struct ndr_print *ndr, const char *name, const union winbind_trust_req *r)
1466 level = ndr_print_get_switch_value(ndr, r);
1467 ndr_print_union(ndr, name, level, "winbind_trust_req");
1469 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
1472 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
1481 static enum ndr_err_code ndr_push_winbind_trust_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_trust_rep *r)
1483 if (ndr_flags & NDR_SCALARS) {
1484 int level = ndr_push_get_switch_value(ndr, r);
1485 NDR_CHECK(ndr_push_winbind_trust_level(ndr, NDR_SCALARS, level));
1487 case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
1488 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat_array(ndr, NDR_SCALARS, &r->compat_trusts));
1491 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: {
1499 if (ndr_flags & NDR_BUFFERS) {
1500 int level = ndr_push_get_switch_value(ndr, r);
1502 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
1503 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat_array(ndr, NDR_BUFFERS, &r->compat_trusts));
1506 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
1514 return NDR_ERR_SUCCESS;
1517 static enum ndr_err_code ndr_pull_winbind_trust_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_trust_rep *r)
1521 level = ndr_pull_get_switch_value(ndr, r);
1522 if (ndr_flags & NDR_SCALARS) {
1523 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
1524 if (_level != level) {
1525 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
1528 case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
1529 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat_array(ndr, NDR_SCALARS, &r->compat_trusts));
1532 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC: {
1540 if (ndr_flags & NDR_BUFFERS) {
1542 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
1543 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat_array(ndr, NDR_BUFFERS, &r->compat_trusts));
1546 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
1554 return NDR_ERR_SUCCESS;
1557 _PUBLIC_ void ndr_print_winbind_trust_rep(struct ndr_print *ndr, const char *name, const union winbind_trust_rep *r)
1560 level = ndr_print_get_switch_value(ndr, r);
1561 ndr_print_union(ndr, name, level, "winbind_trust_rep");
1563 case WINBIND_TRUST_LEVEL_COMPAT_LIST:
1564 ndr_print_STRUCT_winbind_domain_info_compat_array(ndr, "compat_trusts", &r->compat_trusts);
1567 case WINBIND_TRUST_LEVEL_COMPAT_CHECK_MACHCC:
1576 static enum ndr_err_code ndr_push_winbind_lookup_level(struct ndr_push *ndr, int ndr_flags, enum winbind_lookup_level r)
1578 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1579 return NDR_ERR_SUCCESS;
1582 static enum ndr_err_code ndr_pull_winbind_lookup_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_lookup_level *r)
1585 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1587 return NDR_ERR_SUCCESS;
1590 _PUBLIC_ void ndr_print_winbind_lookup_level(struct ndr_print *ndr, const char *name, enum winbind_lookup_level r)
1592 const char *val = NULL;
1595 case WINBIND_LOOKUP_LEVEL_SID2NAME: val = "WINBIND_LOOKUP_LEVEL_SID2NAME"; break;
1596 case WINBIND_LOOKUP_LEVEL_NAME2SID: val = "WINBIND_LOOKUP_LEVEL_NAME2SID"; break;
1597 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: val = "WINBIND_LOOKUP_LEVEL_RIDS2NAMES"; break;
1598 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: val = "WINBIND_LOOKUP_LEVEL_SID2USERINFO"; break;
1599 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: val = "WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS"; break;
1600 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: val = "WINBIND_LOOKUP_LEVEL_EXPANDALIASES"; break;
1602 ndr_print_enum(ndr, name, "ENUM", val, r);
1605 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)
1607 uint32_t cntr_rids_0;
1608 if (ndr_flags & NDR_SCALARS) {
1609 NDR_CHECK(ndr_push_align(ndr, 4));
1610 NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1611 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
1612 for (cntr_rids_0 = 0; cntr_rids_0 < r->num_rids; cntr_rids_0++) {
1613 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_0]));
1616 if (ndr_flags & NDR_BUFFERS) {
1617 if (r->domain_sid) {
1618 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1621 return NDR_ERR_SUCCESS;
1624 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)
1626 uint32_t _ptr_domain_sid;
1627 TALLOC_CTX *_mem_save_domain_sid_0;
1628 uint32_t cntr_rids_0;
1629 TALLOC_CTX *_mem_save_rids_0;
1630 if (ndr_flags & NDR_SCALARS) {
1631 NDR_CHECK(ndr_pull_align(ndr, 4));
1632 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1633 if (_ptr_domain_sid) {
1634 NDR_PULL_ALLOC(ndr, r->domain_sid);
1636 r->domain_sid = NULL;
1638 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
1639 NDR_PULL_ALLOC_N(ndr, r->rids, r->num_rids);
1640 _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1641 NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
1642 for (cntr_rids_0 = 0; cntr_rids_0 < r->num_rids; cntr_rids_0++) {
1643 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_0]));
1645 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
1647 if (ndr_flags & NDR_BUFFERS) {
1648 if (r->domain_sid) {
1649 _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1650 NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1651 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1652 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1655 return NDR_ERR_SUCCESS;
1658 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_req_rids(struct ndr_print *ndr, const char *name, const struct winbind_lookup_req_rids *r)
1660 uint32_t cntr_rids_0;
1661 ndr_print_struct(ndr, name, "winbind_lookup_req_rids");
1663 ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1665 if (r->domain_sid) {
1666 ndr_print_dom_sid(ndr, "domain_sid", r->domain_sid);
1669 ndr_print_uint32(ndr, "num_rids", r->num_rids);
1670 ndr->print(ndr, "%s: ARRAY(%d)", "rids", r->num_rids);
1672 for (cntr_rids_0=0;cntr_rids_0<r->num_rids;cntr_rids_0++) {
1674 if (asprintf(&idx_0, "[%d]", cntr_rids_0) != -1) {
1675 ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_0]);
1683 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)
1685 if (ndr_flags & NDR_SCALARS) {
1686 NDR_CHECK(ndr_push_align(ndr, 4));
1687 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
1688 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1689 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->domain_name, CH_UTF8)));
1690 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->domain_name, ndr_charset_length(r->domain_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1691 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
1692 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1693 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account_name, CH_UTF8)));
1694 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, ndr_charset_length(r->account_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1695 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->type));
1697 if (ndr_flags & NDR_BUFFERS) {
1699 return NDR_ERR_SUCCESS;
1702 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)
1704 if (ndr_flags & NDR_SCALARS) {
1705 NDR_CHECK(ndr_pull_align(ndr, 4));
1706 NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_name));
1707 NDR_CHECK(ndr_pull_array_length(ndr, &r->domain_name));
1708 if (ndr_get_array_length(ndr, &r->domain_name) > ndr_get_array_size(ndr, &r->domain_name)) {
1709 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));
1711 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t)));
1712 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->domain_name, ndr_get_array_length(ndr, &r->domain_name), sizeof(uint8_t), CH_UTF8));
1713 NDR_CHECK(ndr_pull_array_size(ndr, &r->account_name));
1714 NDR_CHECK(ndr_pull_array_length(ndr, &r->account_name));
1715 if (ndr_get_array_length(ndr, &r->account_name) > ndr_get_array_size(ndr, &r->account_name)) {
1716 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));
1718 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t)));
1719 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, ndr_get_array_length(ndr, &r->account_name), sizeof(uint8_t), CH_UTF8));
1720 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->type));
1722 if (ndr_flags & NDR_BUFFERS) {
1724 return NDR_ERR_SUCCESS;
1727 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_name_info(struct ndr_print *ndr, const char *name, const struct winbind_lookup_name_info *r)
1729 ndr_print_struct(ndr, name, "winbind_lookup_name_info");
1731 ndr_print_string(ndr, "domain_name", r->domain_name);
1732 ndr_print_string(ndr, "account_name", r->account_name);
1733 ndr_print_lsa_SidType(ndr, "type", r->type);
1737 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)
1739 if (ndr_flags & NDR_SCALARS) {
1740 NDR_CHECK(ndr_push_align(ndr, 4));
1741 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1742 NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, r->type));
1744 if (ndr_flags & NDR_BUFFERS) {
1746 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1749 return NDR_ERR_SUCCESS;
1752 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)
1755 TALLOC_CTX *_mem_save_sid_0;
1756 if (ndr_flags & NDR_SCALARS) {
1757 NDR_CHECK(ndr_pull_align(ndr, 4));
1758 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
1760 NDR_PULL_ALLOC(ndr, r->sid);
1764 NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, &r->type));
1766 if (ndr_flags & NDR_BUFFERS) {
1768 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1769 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
1770 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
1771 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
1774 return NDR_ERR_SUCCESS;
1777 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_sid_info(struct ndr_print *ndr, const char *name, const struct winbind_lookup_sid_info *r)
1779 ndr_print_struct(ndr, name, "winbind_lookup_sid_info");
1781 ndr_print_ptr(ndr, "sid", r->sid);
1784 ndr_print_dom_sid(ndr, "sid", r->sid);
1787 ndr_print_lsa_SidType(ndr, "type", r->type);
1791 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)
1793 uint32_t cntr_names_0;
1794 if (ndr_flags & NDR_SCALARS) {
1795 NDR_CHECK(ndr_push_align(ndr, 4));
1796 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_names));
1797 for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) {
1798 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->names[cntr_names_0]));
1801 if (ndr_flags & NDR_BUFFERS) {
1803 return NDR_ERR_SUCCESS;
1806 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)
1808 uint32_t cntr_names_0;
1809 TALLOC_CTX *_mem_save_names_0;
1810 if (ndr_flags & NDR_SCALARS) {
1811 NDR_CHECK(ndr_pull_align(ndr, 4));
1812 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_names));
1813 NDR_PULL_ALLOC_N(ndr, r->names, r->num_names);
1814 _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
1815 NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
1816 for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) {
1817 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->names[cntr_names_0]));
1819 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
1821 if (ndr_flags & NDR_BUFFERS) {
1823 return NDR_ERR_SUCCESS;
1826 _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)
1828 uint32_t cntr_names_0;
1829 ndr_print_struct(ndr, name, "winbind_lookup_name_info_array");
1831 ndr_print_uint32(ndr, "num_names", r->num_names);
1832 ndr->print(ndr, "%s: ARRAY(%d)", "names", r->num_names);
1834 for (cntr_names_0=0;cntr_names_0<r->num_names;cntr_names_0++) {
1836 if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
1837 ndr_print_STRUCT_winbind_lookup_name_info(ndr, "names", &r->names[cntr_names_0]);
1845 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)
1847 if (ndr_flags & NDR_SCALARS) {
1848 NDR_CHECK(ndr_push_align(ndr, 8));
1849 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account, CH_UTF8)));
1850 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1851 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->account, CH_UTF8)));
1852 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account, ndr_charset_length(r->account, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1853 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->gecos, CH_UTF8)));
1854 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1855 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->gecos, CH_UTF8)));
1856 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->gecos, ndr_charset_length(r->gecos, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1857 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
1858 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1859 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8)));
1860 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->homedir, ndr_charset_length(r->homedir, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1861 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
1862 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1863 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8)));
1864 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->shell, ndr_charset_length(r->shell, CH_UTF8), sizeof(uint8_t), CH_UTF8));
1865 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->primary_gid));
1866 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_rid));
1868 if (ndr_flags & NDR_BUFFERS) {
1870 return NDR_ERR_SUCCESS;
1873 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)
1875 if (ndr_flags & NDR_SCALARS) {
1876 NDR_CHECK(ndr_pull_align(ndr, 8));
1877 NDR_CHECK(ndr_pull_array_size(ndr, &r->account));
1878 NDR_CHECK(ndr_pull_array_length(ndr, &r->account));
1879 if (ndr_get_array_length(ndr, &r->account) > ndr_get_array_size(ndr, &r->account)) {
1880 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));
1882 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->account), sizeof(uint8_t)));
1883 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account, ndr_get_array_length(ndr, &r->account), sizeof(uint8_t), CH_UTF8));
1884 NDR_CHECK(ndr_pull_array_size(ndr, &r->gecos));
1885 NDR_CHECK(ndr_pull_array_length(ndr, &r->gecos));
1886 if (ndr_get_array_length(ndr, &r->gecos) > ndr_get_array_size(ndr, &r->gecos)) {
1887 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));
1889 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->gecos), sizeof(uint8_t)));
1890 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->gecos, ndr_get_array_length(ndr, &r->gecos), sizeof(uint8_t), CH_UTF8));
1891 NDR_CHECK(ndr_pull_array_size(ndr, &r->homedir));
1892 NDR_CHECK(ndr_pull_array_length(ndr, &r->homedir));
1893 if (ndr_get_array_length(ndr, &r->homedir) > ndr_get_array_size(ndr, &r->homedir)) {
1894 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));
1896 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t)));
1897 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t), CH_UTF8));
1898 NDR_CHECK(ndr_pull_array_size(ndr, &r->shell));
1899 NDR_CHECK(ndr_pull_array_length(ndr, &r->shell));
1900 if (ndr_get_array_length(ndr, &r->shell) > ndr_get_array_size(ndr, &r->shell)) {
1901 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));
1903 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t)));
1904 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t), CH_UTF8));
1905 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->primary_gid));
1906 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_rid));
1908 if (ndr_flags & NDR_BUFFERS) {
1910 return NDR_ERR_SUCCESS;
1913 _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_user_info(struct ndr_print *ndr, const char *name, const struct winbind_lookup_user_info *r)
1915 ndr_print_struct(ndr, name, "winbind_lookup_user_info");
1917 ndr_print_string(ndr, "account", r->account);
1918 ndr_print_string(ndr, "gecos", r->gecos);
1919 ndr_print_string(ndr, "homedir", r->homedir);
1920 ndr_print_string(ndr, "shell", r->shell);
1921 ndr_print_hyper(ndr, "primary_gid", r->primary_gid);
1922 ndr_print_uint32(ndr, "primary_rid", r->primary_rid);
1926 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)
1928 uint32_t cntr_sids_0;
1929 if (ndr_flags & NDR_SCALARS) {
1930 NDR_CHECK(ndr_push_align(ndr, 4));
1931 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids));
1932 for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
1933 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1936 if (ndr_flags & NDR_BUFFERS) {
1937 for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
1938 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sids[cntr_sids_0]));
1941 return NDR_ERR_SUCCESS;
1944 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)
1946 uint32_t cntr_sids_0;
1947 TALLOC_CTX *_mem_save_sids_0;
1948 if (ndr_flags & NDR_SCALARS) {
1949 NDR_CHECK(ndr_pull_align(ndr, 4));
1950 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids));
1951 NDR_PULL_ALLOC_N(ndr, r->sids, r->num_sids);
1952 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1953 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1954 for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
1955 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sids[cntr_sids_0]));
1957 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1959 if (ndr_flags & NDR_BUFFERS) {
1960 _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1961 NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1962 for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) {
1963 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sids[cntr_sids_0]));
1965 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1967 return NDR_ERR_SUCCESS;
1970 _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)
1972 uint32_t cntr_sids_0;
1973 ndr_print_struct(ndr, name, "winbind_lookup_sid_info_array");
1975 ndr_print_uint32(ndr, "num_sids", r->num_sids);
1976 ndr->print(ndr, "%s: ARRAY(%d)", "sids", r->num_sids);
1978 for (cntr_sids_0=0;cntr_sids_0<r->num_sids;cntr_sids_0++) {
1980 if (asprintf(&idx_0, "[%d]", cntr_sids_0) != -1) {
1981 ndr_print_STRUCT_winbind_lookup_sid_info(ndr, "sids", &r->sids[cntr_sids_0]);
1989 static enum ndr_err_code ndr_push_winbind_lookup_req(struct ndr_push *ndr, int ndr_flags, const union winbind_lookup_req *r)
1991 if (ndr_flags & NDR_SCALARS) {
1992 int level = ndr_push_get_switch_value(ndr, r);
1993 NDR_CHECK(ndr_push_winbind_lookup_level(ndr, NDR_SCALARS, level));
1995 case WINBIND_LOOKUP_LEVEL_SID2NAME: {
1996 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
1999 case WINBIND_LOOKUP_LEVEL_NAME2SID: {
2000 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
2001 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2002 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
2003 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
2006 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
2007 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_req_rids(ndr, NDR_SCALARS, &r->rids));
2010 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: {
2011 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2014 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: {
2015 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2018 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: {
2019 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
2027 if (ndr_flags & NDR_BUFFERS) {
2028 int level = ndr_push_get_switch_value(ndr, r);
2030 case WINBIND_LOOKUP_LEVEL_SID2NAME:
2032 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2036 case WINBIND_LOOKUP_LEVEL_NAME2SID:
2039 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
2040 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_req_rids(ndr, NDR_BUFFERS, &r->rids));
2043 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
2045 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2049 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
2051 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2055 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
2056 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
2064 return NDR_ERR_SUCCESS;
2067 static enum ndr_err_code ndr_pull_winbind_lookup_req(struct ndr_pull *ndr, int ndr_flags, union winbind_lookup_req *r)
2071 TALLOC_CTX *_mem_save_sid_0;
2072 level = ndr_pull_get_switch_value(ndr, r);
2073 if (ndr_flags & NDR_SCALARS) {
2074 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2075 if (_level != level) {
2076 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2079 case WINBIND_LOOKUP_LEVEL_SID2NAME: {
2081 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2083 NDR_PULL_ALLOC(ndr, r->sid);
2089 case WINBIND_LOOKUP_LEVEL_NAME2SID: {
2090 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
2091 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
2092 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
2093 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));
2095 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t)));
2096 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8));
2099 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
2100 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_req_rids(ndr, NDR_SCALARS, &r->rids));
2103 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: {
2105 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2107 NDR_PULL_ALLOC(ndr, r->sid);
2113 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: {
2115 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2117 NDR_PULL_ALLOC(ndr, r->sid);
2123 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: {
2124 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
2132 if (ndr_flags & NDR_BUFFERS) {
2134 case WINBIND_LOOKUP_LEVEL_SID2NAME:
2136 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2137 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2138 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2139 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2143 case WINBIND_LOOKUP_LEVEL_NAME2SID:
2146 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
2147 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_req_rids(ndr, NDR_BUFFERS, &r->rids));
2150 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
2152 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2153 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2154 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2155 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2159 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
2161 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2162 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2163 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2164 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2168 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
2169 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
2177 return NDR_ERR_SUCCESS;
2180 _PUBLIC_ void ndr_print_winbind_lookup_req(struct ndr_print *ndr, const char *name, const union winbind_lookup_req *r)
2183 level = ndr_print_get_switch_value(ndr, r);
2184 ndr_print_union(ndr, name, level, "winbind_lookup_req");
2186 case WINBIND_LOOKUP_LEVEL_SID2NAME:
2187 ndr_print_ptr(ndr, "sid", r->sid);
2190 ndr_print_dom_sid(ndr, "sid", r->sid);
2195 case WINBIND_LOOKUP_LEVEL_NAME2SID:
2196 ndr_print_string(ndr, "name", r->name);
2199 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
2200 ndr_print_STRUCT_winbind_lookup_req_rids(ndr, "rids", &r->rids);
2203 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
2204 ndr_print_ptr(ndr, "sid", r->sid);
2207 ndr_print_dom_sid(ndr, "sid", r->sid);
2212 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
2213 ndr_print_ptr(ndr, "sid", r->sid);
2216 ndr_print_dom_sid(ndr, "sid", r->sid);
2221 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
2222 ndr_print_STRUCT_winbind_lookup_sid_info_array(ndr, "sid_array", &r->sid_array);
2231 static enum ndr_err_code ndr_push_winbind_lookup_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_lookup_rep *r)
2233 if (ndr_flags & NDR_SCALARS) {
2234 int level = ndr_push_get_switch_value(ndr, r);
2235 NDR_CHECK(ndr_push_winbind_lookup_level(ndr, NDR_SCALARS, level));
2237 case WINBIND_LOOKUP_LEVEL_SID2NAME: {
2238 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->name_info));
2241 case WINBIND_LOOKUP_LEVEL_NAME2SID: {
2242 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sid_info));
2245 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
2246 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info_array(ndr, NDR_SCALARS, &r->name_array));
2249 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: {
2250 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_user_info(ndr, NDR_SCALARS, &r->user_info));
2253 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: {
2254 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
2257 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: {
2258 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
2266 if (ndr_flags & NDR_BUFFERS) {
2267 int level = ndr_push_get_switch_value(ndr, r);
2269 case WINBIND_LOOKUP_LEVEL_SID2NAME:
2272 case WINBIND_LOOKUP_LEVEL_NAME2SID:
2273 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sid_info));
2276 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
2279 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
2282 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
2283 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
2286 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
2287 NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
2295 return NDR_ERR_SUCCESS;
2298 static enum ndr_err_code ndr_pull_winbind_lookup_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_lookup_rep *r)
2302 level = ndr_pull_get_switch_value(ndr, r);
2303 if (ndr_flags & NDR_SCALARS) {
2304 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2305 if (_level != level) {
2306 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2309 case WINBIND_LOOKUP_LEVEL_SID2NAME: {
2310 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->name_info));
2313 case WINBIND_LOOKUP_LEVEL_NAME2SID: {
2314 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sid_info));
2317 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
2318 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_name_info_array(ndr, NDR_SCALARS, &r->name_array));
2321 case WINBIND_LOOKUP_LEVEL_SID2USERINFO: {
2322 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_user_info(ndr, NDR_SCALARS, &r->user_info));
2325 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: {
2326 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
2329 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES: {
2330 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array));
2338 if (ndr_flags & NDR_BUFFERS) {
2340 case WINBIND_LOOKUP_LEVEL_SID2NAME:
2343 case WINBIND_LOOKUP_LEVEL_NAME2SID:
2344 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sid_info));
2347 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
2350 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
2353 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
2354 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
2357 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
2358 NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array));
2366 return NDR_ERR_SUCCESS;
2369 _PUBLIC_ void ndr_print_winbind_lookup_rep(struct ndr_print *ndr, const char *name, const union winbind_lookup_rep *r)
2372 level = ndr_print_get_switch_value(ndr, r);
2373 ndr_print_union(ndr, name, level, "winbind_lookup_rep");
2375 case WINBIND_LOOKUP_LEVEL_SID2NAME:
2376 ndr_print_STRUCT_winbind_lookup_name_info(ndr, "name_info", &r->name_info);
2379 case WINBIND_LOOKUP_LEVEL_NAME2SID:
2380 ndr_print_STRUCT_winbind_lookup_sid_info(ndr, "sid_info", &r->sid_info);
2383 case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
2384 ndr_print_STRUCT_winbind_lookup_name_info_array(ndr, "name_array", &r->name_array);
2387 case WINBIND_LOOKUP_LEVEL_SID2USERINFO:
2388 ndr_print_STRUCT_winbind_lookup_user_info(ndr, "user_info", &r->user_info);
2391 case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS:
2392 ndr_print_STRUCT_winbind_lookup_sid_info_array(ndr, "sid_array", &r->sid_array);
2395 case WINBIND_LOOKUP_LEVEL_EXPANDALIASES:
2396 ndr_print_STRUCT_winbind_lookup_sid_info_array(ndr, "sid_array", &r->sid_array);
2405 static enum ndr_err_code ndr_push_winbind_get_idmap_level(struct ndr_push *ndr, int ndr_flags, enum winbind_get_idmap_level r)
2407 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2408 return NDR_ERR_SUCCESS;
2411 static enum ndr_err_code ndr_pull_winbind_get_idmap_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_get_idmap_level *r)
2414 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2416 return NDR_ERR_SUCCESS;
2419 _PUBLIC_ void ndr_print_winbind_get_idmap_level(struct ndr_print *ndr, const char *name, enum winbind_get_idmap_level r)
2421 const char *val = NULL;
2424 case WINBIND_IDMAP_LEVEL_SID_TO_UID: val = "WINBIND_IDMAP_LEVEL_SID_TO_UID"; break;
2425 case WINBIND_IDMAP_LEVEL_SID_TO_GID: val = "WINBIND_IDMAP_LEVEL_SID_TO_GID"; break;
2426 case WINBIND_IDMAP_LEVEL_UID_TO_SID: val = "WINBIND_IDMAP_LEVEL_UID_TO_SID"; break;
2427 case WINBIND_IDMAP_LEVEL_GID_TO_SID: val = "WINBIND_IDMAP_LEVEL_GID_TO_SID"; break;
2429 ndr_print_enum(ndr, name, "ENUM", val, r);
2432 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)
2434 if (ndr_flags & NDR_SCALARS) {
2435 int level = ndr_push_get_switch_value(ndr, r);
2436 NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, level));
2438 case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
2439 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2442 case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
2443 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2446 case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
2447 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
2450 case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
2451 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
2455 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2458 if (ndr_flags & NDR_BUFFERS) {
2459 int level = ndr_push_get_switch_value(ndr, r);
2461 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2463 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2467 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2469 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2473 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2476 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2480 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2483 return NDR_ERR_SUCCESS;
2486 static enum ndr_err_code ndr_pull_winbind_get_idmap_req(struct ndr_pull *ndr, int ndr_flags, union winbind_get_idmap_req *r)
2490 TALLOC_CTX *_mem_save_sid_0;
2491 level = ndr_pull_get_switch_value(ndr, r);
2492 if (ndr_flags & NDR_SCALARS) {
2493 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2494 if (_level != level) {
2495 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2498 case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
2500 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2502 NDR_PULL_ALLOC(ndr, r->sid);
2508 case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
2510 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2512 NDR_PULL_ALLOC(ndr, r->sid);
2518 case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
2519 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
2522 case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
2523 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->gid));
2527 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2530 if (ndr_flags & NDR_BUFFERS) {
2532 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2534 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2535 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2536 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2537 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2541 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2543 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2544 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2545 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2546 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2550 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2553 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2557 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2560 return NDR_ERR_SUCCESS;
2563 _PUBLIC_ void ndr_print_winbind_get_idmap_req(struct ndr_print *ndr, const char *name, const union winbind_get_idmap_req *r)
2566 level = ndr_print_get_switch_value(ndr, r);
2567 ndr_print_union(ndr, name, level, "winbind_get_idmap_req");
2569 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2570 ndr_print_ptr(ndr, "sid", r->sid);
2573 ndr_print_dom_sid(ndr, "sid", r->sid);
2578 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2579 ndr_print_ptr(ndr, "sid", r->sid);
2582 ndr_print_dom_sid(ndr, "sid", r->sid);
2587 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2588 ndr_print_hyper(ndr, "uid", r->uid);
2591 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2592 ndr_print_hyper(ndr, "gid", r->gid);
2596 ndr_print_bad_level(ndr, name, level);
2600 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)
2602 if (ndr_flags & NDR_SCALARS) {
2603 int level = ndr_push_get_switch_value(ndr, r);
2604 NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, level));
2606 case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
2607 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
2610 case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
2611 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
2614 case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
2615 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2618 case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
2619 NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
2623 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2626 if (ndr_flags & NDR_BUFFERS) {
2627 int level = ndr_push_get_switch_value(ndr, r);
2629 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2632 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2635 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2637 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2641 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2643 NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2648 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2651 return NDR_ERR_SUCCESS;
2654 static enum ndr_err_code ndr_pull_winbind_get_idmap_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_get_idmap_rep *r)
2658 TALLOC_CTX *_mem_save_sid_0;
2659 level = ndr_pull_get_switch_value(ndr, r);
2660 if (ndr_flags & NDR_SCALARS) {
2661 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2662 if (_level != level) {
2663 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2666 case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
2667 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
2670 case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
2671 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->gid));
2674 case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
2676 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2678 NDR_PULL_ALLOC(ndr, r->sid);
2684 case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
2686 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid));
2688 NDR_PULL_ALLOC(ndr, r->sid);
2695 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2698 if (ndr_flags & NDR_BUFFERS) {
2700 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2703 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2706 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2708 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2709 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2710 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2711 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2715 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2717 _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
2718 NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
2719 NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
2720 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
2725 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2728 return NDR_ERR_SUCCESS;
2731 _PUBLIC_ void ndr_print_winbind_get_idmap_rep(struct ndr_print *ndr, const char *name, const union winbind_get_idmap_rep *r)
2734 level = ndr_print_get_switch_value(ndr, r);
2735 ndr_print_union(ndr, name, level, "winbind_get_idmap_rep");
2737 case WINBIND_IDMAP_LEVEL_SID_TO_UID:
2738 ndr_print_hyper(ndr, "uid", r->uid);
2741 case WINBIND_IDMAP_LEVEL_SID_TO_GID:
2742 ndr_print_hyper(ndr, "gid", r->gid);
2745 case WINBIND_IDMAP_LEVEL_UID_TO_SID:
2746 ndr_print_ptr(ndr, "sid", r->sid);
2749 ndr_print_dom_sid(ndr, "sid", r->sid);
2754 case WINBIND_IDMAP_LEVEL_GID_TO_SID:
2755 ndr_print_ptr(ndr, "sid", r->sid);
2758 ndr_print_dom_sid(ndr, "sid", r->sid);
2764 ndr_print_bad_level(ndr, name, level);
2768 static enum ndr_err_code ndr_push_winbind_set_idmap_level(struct ndr_push *ndr, int ndr_flags, enum winbind_set_idmap_level r)
2770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
2771 return NDR_ERR_SUCCESS;
2774 static enum ndr_err_code ndr_pull_winbind_set_idmap_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_set_idmap_level *r)
2777 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
2779 return NDR_ERR_SUCCESS;
2782 _PUBLIC_ void ndr_print_winbind_set_idmap_level(struct ndr_print *ndr, const char *name, enum winbind_set_idmap_level r)
2784 const char *val = NULL;
2787 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: val = "WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID"; break;
2788 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: val = "WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID"; break;
2789 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: val = "WINBIND_SET_IDMAP_LEVEL_SET_MAPPING"; break;
2790 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: val = "WINBIND_SET_IDMAP_LEVEL_SET_HWM"; break;
2792 ndr_print_enum(ndr, name, "ENUM", val, r);
2795 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)
2797 if (ndr_flags & NDR_SCALARS) {
2798 int level = ndr_push_get_switch_value(ndr, r);
2799 NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, level));
2801 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
2804 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
2807 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
2808 NDR_CHECK(ndr_push_id_map(ndr, NDR_SCALARS, &r->mapping));
2811 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
2812 NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->hwm));
2816 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2819 if (ndr_flags & NDR_BUFFERS) {
2820 int level = ndr_push_get_switch_value(ndr, r);
2822 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2825 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2828 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2829 NDR_CHECK(ndr_push_id_map(ndr, NDR_BUFFERS, &r->mapping));
2832 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2833 NDR_CHECK(ndr_push_unixid(ndr, NDR_BUFFERS, &r->hwm));
2837 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2840 return NDR_ERR_SUCCESS;
2843 static enum ndr_err_code ndr_pull_winbind_set_idmap_req(struct ndr_pull *ndr, int ndr_flags, union winbind_set_idmap_req *r)
2847 level = ndr_pull_get_switch_value(ndr, r);
2848 if (ndr_flags & NDR_SCALARS) {
2849 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2850 if (_level != level) {
2851 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2854 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
2857 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
2860 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
2861 NDR_CHECK(ndr_pull_id_map(ndr, NDR_SCALARS, &r->mapping));
2864 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
2865 NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->hwm));
2869 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2872 if (ndr_flags & NDR_BUFFERS) {
2874 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2877 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2880 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2881 NDR_CHECK(ndr_pull_id_map(ndr, NDR_BUFFERS, &r->mapping));
2884 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2885 NDR_CHECK(ndr_pull_unixid(ndr, NDR_BUFFERS, &r->hwm));
2889 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2892 return NDR_ERR_SUCCESS;
2895 _PUBLIC_ void ndr_print_winbind_set_idmap_req(struct ndr_print *ndr, const char *name, const union winbind_set_idmap_req *r)
2898 level = ndr_print_get_switch_value(ndr, r);
2899 ndr_print_union(ndr, name, level, "winbind_set_idmap_req");
2901 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2904 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2907 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2908 ndr_print_id_map(ndr, "mapping", &r->mapping);
2911 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2912 ndr_print_unixid(ndr, "hwm", &r->hwm);
2916 ndr_print_bad_level(ndr, name, level);
2920 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)
2922 if (ndr_flags & NDR_SCALARS) {
2923 int level = ndr_push_get_switch_value(ndr, r);
2924 NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, level));
2926 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
2927 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
2930 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
2931 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
2934 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
2937 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
2941 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2944 if (ndr_flags & NDR_BUFFERS) {
2945 int level = ndr_push_get_switch_value(ndr, r);
2947 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
2950 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
2953 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
2956 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
2960 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2963 return NDR_ERR_SUCCESS;
2966 static enum ndr_err_code ndr_pull_winbind_set_idmap_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_set_idmap_rep *r)
2970 level = ndr_pull_get_switch_value(ndr, r);
2971 if (ndr_flags & NDR_SCALARS) {
2972 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
2973 if (_level != level) {
2974 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
2977 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
2978 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
2981 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
2982 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->gid));
2985 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
2988 case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
2992 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
2995 if (ndr_flags & NDR_BUFFERS) {
2997 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
3000 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
3003 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
3006 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
3010 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3013 return NDR_ERR_SUCCESS;
3016 _PUBLIC_ void ndr_print_winbind_set_idmap_rep(struct ndr_print *ndr, const char *name, const union winbind_set_idmap_rep *r)
3019 level = ndr_print_get_switch_value(ndr, r);
3020 ndr_print_union(ndr, name, level, "winbind_set_idmap_rep");
3022 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
3023 ndr_print_hyper(ndr, "uid", r->uid);
3026 case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
3027 ndr_print_hyper(ndr, "gid", r->gid);
3030 case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
3033 case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
3037 ndr_print_bad_level(ndr, name, level);
3041 static enum ndr_err_code ndr_push_winbind_domain_info_level(struct ndr_push *ndr, int ndr_flags, enum winbind_domain_info_level r)
3043 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3044 return NDR_ERR_SUCCESS;
3047 static enum ndr_err_code ndr_pull_winbind_domain_info_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_domain_info_level *r)
3050 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3052 return NDR_ERR_SUCCESS;
3055 _PUBLIC_ void ndr_print_winbind_domain_info_level(struct ndr_print *ndr, const char *name, enum winbind_domain_info_level r)
3057 const char *val = NULL;
3060 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT: val = "WINBIND_DOMAIN_INFO_LEVEL_COMPAT"; break;
3061 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM: val = "WINBIND_DOMAIN_INFO_LEVEL_SEQNUM"; break;
3063 ndr_print_enum(ndr, name, "ENUM", val, r);
3066 static enum ndr_err_code ndr_push_winbind_domain_info(struct ndr_push *ndr, int ndr_flags, const union winbind_domain_info *r)
3068 if (ndr_flags & NDR_SCALARS) {
3069 int level = ndr_push_get_switch_value(ndr, r);
3070 NDR_CHECK(ndr_push_winbind_domain_info_level(ndr, NDR_SCALARS, level));
3072 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT: {
3073 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->compat));
3076 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM: {
3077 NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->seqnum));
3081 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3084 if (ndr_flags & NDR_BUFFERS) {
3085 int level = ndr_push_get_switch_value(ndr, r);
3087 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT:
3088 NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->compat));
3091 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM:
3095 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3098 return NDR_ERR_SUCCESS;
3101 static enum ndr_err_code ndr_pull_winbind_domain_info(struct ndr_pull *ndr, int ndr_flags, union winbind_domain_info *r)
3105 level = ndr_pull_get_switch_value(ndr, r);
3106 if (ndr_flags & NDR_SCALARS) {
3107 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3108 if (_level != level) {
3109 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3112 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT: {
3113 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->compat));
3116 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM: {
3117 NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->seqnum));
3121 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3124 if (ndr_flags & NDR_BUFFERS) {
3126 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT:
3127 NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->compat));
3130 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM:
3134 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3137 return NDR_ERR_SUCCESS;
3140 _PUBLIC_ void ndr_print_winbind_domain_info(struct ndr_print *ndr, const char *name, const union winbind_domain_info *r)
3143 level = ndr_print_get_switch_value(ndr, r);
3144 ndr_print_union(ndr, name, level, "winbind_domain_info");
3146 case WINBIND_DOMAIN_INFO_LEVEL_COMPAT:
3147 ndr_print_STRUCT_winbind_domain_info_compat(ndr, "compat", &r->compat);
3150 case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM:
3151 ndr_print_hyper(ndr, "seqnum", r->seqnum);
3155 ndr_print_bad_level(ndr, name, level);
3159 static enum ndr_err_code ndr_push_winbind_dc_info_level(struct ndr_push *ndr, int ndr_flags, enum winbind_dc_info_level r)
3161 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
3162 return NDR_ERR_SUCCESS;
3165 static enum ndr_err_code ndr_pull_winbind_dc_info_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_dc_info_level *r)
3168 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
3170 return NDR_ERR_SUCCESS;
3173 _PUBLIC_ void ndr_print_winbind_dc_info_level(struct ndr_print *ndr, const char *name, enum winbind_dc_info_level r)
3175 const char *val = NULL;
3178 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: val = "WINBIND_DC_INFO_LEVEL_COMPAT_NT4"; break;
3179 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: val = "WINBIND_DC_INFO_LEVEL_COMPAT_DS"; break;
3181 ndr_print_enum(ndr, name, "ENUM", val, r);
3184 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)
3186 if (ndr_flags & NDR_SCALARS) {
3187 int level = ndr_push_get_switch_value(ndr, r);
3188 NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, level));
3190 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
3193 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
3194 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
3198 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3201 if (ndr_flags & NDR_BUFFERS) {
3202 int level = ndr_push_get_switch_value(ndr, r);
3204 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
3207 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
3211 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3214 return NDR_ERR_SUCCESS;
3217 static enum ndr_err_code ndr_pull_winbind_dc_info_params(struct ndr_pull *ndr, int ndr_flags, union winbind_dc_info_params *r)
3221 level = ndr_pull_get_switch_value(ndr, r);
3222 if (ndr_flags & NDR_SCALARS) {
3223 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3224 if (_level != level) {
3225 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3228 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
3231 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
3232 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
3236 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3239 if (ndr_flags & NDR_BUFFERS) {
3241 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
3244 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
3248 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3251 return NDR_ERR_SUCCESS;
3254 _PUBLIC_ void ndr_print_winbind_dc_info_params(struct ndr_print *ndr, const char *name, const union winbind_dc_info_params *r)
3257 level = ndr_print_get_switch_value(ndr, r);
3258 ndr_print_union(ndr, name, level, "winbind_dc_info_params");
3260 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
3263 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
3264 ndr_print_uint32(ndr, "flags", r->flags);
3268 ndr_print_bad_level(ndr, name, level);
3272 static enum ndr_err_code ndr_push_winbind_dc_info(struct ndr_push *ndr, int ndr_flags, const union winbind_dc_info *r)
3274 if (ndr_flags & NDR_SCALARS) {
3275 int level = ndr_push_get_switch_value(ndr, r);
3276 NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, level));
3278 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
3279 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
3282 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
3283 NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
3287 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3290 if (ndr_flags & NDR_BUFFERS) {
3291 int level = ndr_push_get_switch_value(ndr, r);
3293 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
3295 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
3296 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3297 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
3298 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3302 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
3304 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
3305 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3306 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
3307 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
3312 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3315 return NDR_ERR_SUCCESS;
3318 static enum ndr_err_code ndr_pull_winbind_dc_info(struct ndr_pull *ndr, int ndr_flags, union winbind_dc_info *r)
3322 TALLOC_CTX *_mem_save_name_0;
3323 level = ndr_pull_get_switch_value(ndr, r);
3324 if (ndr_flags & NDR_SCALARS) {
3325 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
3326 if (_level != level) {
3327 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
3330 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
3332 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
3334 NDR_PULL_ALLOC(ndr, r->name);
3340 case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
3342 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
3344 NDR_PULL_ALLOC(ndr, r->name);
3351 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3354 if (ndr_flags & NDR_BUFFERS) {
3356 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
3358 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3359 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
3360 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
3361 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
3362 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
3363 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));
3365 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t)));
3366 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8));
3367 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
3371 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
3373 _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3374 NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
3375 NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
3376 NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
3377 if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
3378 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));
3380 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t)));
3381 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8));
3382 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
3387 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
3390 return NDR_ERR_SUCCESS;
3393 _PUBLIC_ void ndr_print_winbind_dc_info(struct ndr_print *ndr, const char *name, const union winbind_dc_info *r)
3396 level = ndr_print_get_switch_value(ndr, r);
3397 ndr_print_union(ndr, name, level, "winbind_dc_info");
3399 case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
3400 ndr_print_ptr(ndr, "name", r->name);
3403 ndr_print_string(ndr, "name", r->name);
3408 case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
3409 ndr_print_ptr(ndr, "name", r->name);
3412 ndr_print_string(ndr, "name", r->name);
3418 ndr_print_bad_level(ndr, name, level);
3422 static enum ndr_err_code ndr_push_winbind_ping(struct ndr_push *ndr, int flags, const struct winbind_ping *r)
3424 if (flags & NDR_IN) {
3426 if (flags & NDR_OUT) {
3427 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3429 return NDR_ERR_SUCCESS;
3432 static enum ndr_err_code ndr_pull_winbind_ping(struct ndr_pull *ndr, int flags, struct winbind_ping *r)
3434 if (flags & NDR_IN) {
3436 if (flags & NDR_OUT) {
3437 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3439 return NDR_ERR_SUCCESS;
3442 _PUBLIC_ void ndr_print_winbind_ping(struct ndr_print *ndr, const char *name, int flags, const struct winbind_ping *r)
3444 ndr_print_struct(ndr, name, "winbind_ping");
3446 if (flags & NDR_SET_VALUES) {
3447 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3449 if (flags & NDR_IN) {
3450 ndr_print_struct(ndr, "in", "winbind_ping");
3454 if (flags & NDR_OUT) {
3455 ndr_print_struct(ndr, "out", "winbind_ping");
3457 ndr_print_winbind_status(ndr, "result", r->out.result);
3463 static enum ndr_err_code ndr_push_winbind_interface_details(struct ndr_push *ndr, int flags, const struct winbind_interface_details *r)
3465 if (flags & NDR_IN) {
3467 if (flags & NDR_OUT) {
3468 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3470 return NDR_ERR_SUCCESS;
3473 static enum ndr_err_code ndr_pull_winbind_interface_details(struct ndr_pull *ndr, int flags, struct winbind_interface_details *r)
3475 if (flags & NDR_IN) {
3477 if (flags & NDR_OUT) {
3478 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3480 return NDR_ERR_SUCCESS;
3483 _PUBLIC_ void ndr_print_winbind_interface_details(struct ndr_print *ndr, const char *name, int flags, const struct winbind_interface_details *r)
3485 ndr_print_struct(ndr, name, "winbind_interface_details");
3487 if (flags & NDR_SET_VALUES) {
3488 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3490 if (flags & NDR_IN) {
3491 ndr_print_struct(ndr, "in", "winbind_interface_details");
3495 if (flags & NDR_OUT) {
3496 ndr_print_struct(ndr, "out", "winbind_interface_details");
3498 ndr_print_winbind_status(ndr, "result", r->out.result);
3504 static enum ndr_err_code ndr_push_winbind_getpwnam(struct ndr_push *ndr, int flags, const struct winbind_getpwnam *r)
3506 if (flags & NDR_IN) {
3508 if (flags & NDR_OUT) {
3509 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3511 return NDR_ERR_SUCCESS;
3514 static enum ndr_err_code ndr_pull_winbind_getpwnam(struct ndr_pull *ndr, int flags, struct winbind_getpwnam *r)
3516 if (flags & NDR_IN) {
3518 if (flags & NDR_OUT) {
3519 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3521 return NDR_ERR_SUCCESS;
3524 _PUBLIC_ void ndr_print_winbind_getpwnam(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getpwnam *r)
3526 ndr_print_struct(ndr, name, "winbind_getpwnam");
3528 if (flags & NDR_SET_VALUES) {
3529 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3531 if (flags & NDR_IN) {
3532 ndr_print_struct(ndr, "in", "winbind_getpwnam");
3536 if (flags & NDR_OUT) {
3537 ndr_print_struct(ndr, "out", "winbind_getpwnam");
3539 ndr_print_winbind_status(ndr, "result", r->out.result);
3545 static enum ndr_err_code ndr_push_winbind_getpwuid(struct ndr_push *ndr, int flags, const struct winbind_getpwuid *r)
3547 if (flags & NDR_IN) {
3549 if (flags & NDR_OUT) {
3550 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3552 return NDR_ERR_SUCCESS;
3555 static enum ndr_err_code ndr_pull_winbind_getpwuid(struct ndr_pull *ndr, int flags, struct winbind_getpwuid *r)
3557 if (flags & NDR_IN) {
3559 if (flags & NDR_OUT) {
3560 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3562 return NDR_ERR_SUCCESS;
3565 _PUBLIC_ void ndr_print_winbind_getpwuid(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getpwuid *r)
3567 ndr_print_struct(ndr, name, "winbind_getpwuid");
3569 if (flags & NDR_SET_VALUES) {
3570 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3572 if (flags & NDR_IN) {
3573 ndr_print_struct(ndr, "in", "winbind_getpwuid");
3577 if (flags & NDR_OUT) {
3578 ndr_print_struct(ndr, "out", "winbind_getpwuid");
3580 ndr_print_winbind_status(ndr, "result", r->out.result);
3586 static enum ndr_err_code ndr_push_winbind_getgrnam(struct ndr_push *ndr, int flags, const struct winbind_getgrnam *r)
3588 if (flags & NDR_IN) {
3590 if (flags & NDR_OUT) {
3591 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3593 return NDR_ERR_SUCCESS;
3596 static enum ndr_err_code ndr_pull_winbind_getgrnam(struct ndr_pull *ndr, int flags, struct winbind_getgrnam *r)
3598 if (flags & NDR_IN) {
3600 if (flags & NDR_OUT) {
3601 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3603 return NDR_ERR_SUCCESS;
3606 _PUBLIC_ void ndr_print_winbind_getgrnam(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgrnam *r)
3608 ndr_print_struct(ndr, name, "winbind_getgrnam");
3610 if (flags & NDR_SET_VALUES) {
3611 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3613 if (flags & NDR_IN) {
3614 ndr_print_struct(ndr, "in", "winbind_getgrnam");
3618 if (flags & NDR_OUT) {
3619 ndr_print_struct(ndr, "out", "winbind_getgrnam");
3621 ndr_print_winbind_status(ndr, "result", r->out.result);
3627 static enum ndr_err_code ndr_push_winbind_getgrgid(struct ndr_push *ndr, int flags, const struct winbind_getgrgid *r)
3629 if (flags & NDR_IN) {
3631 if (flags & NDR_OUT) {
3632 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3634 return NDR_ERR_SUCCESS;
3637 static enum ndr_err_code ndr_pull_winbind_getgrgid(struct ndr_pull *ndr, int flags, struct winbind_getgrgid *r)
3639 if (flags & NDR_IN) {
3641 if (flags & NDR_OUT) {
3642 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3644 return NDR_ERR_SUCCESS;
3647 _PUBLIC_ void ndr_print_winbind_getgrgid(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgrgid *r)
3649 ndr_print_struct(ndr, name, "winbind_getgrgid");
3651 if (flags & NDR_SET_VALUES) {
3652 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3654 if (flags & NDR_IN) {
3655 ndr_print_struct(ndr, "in", "winbind_getgrgid");
3659 if (flags & NDR_OUT) {
3660 ndr_print_struct(ndr, "out", "winbind_getgrgid");
3662 ndr_print_winbind_status(ndr, "result", r->out.result);
3668 static enum ndr_err_code ndr_push_winbind_getgroups(struct ndr_push *ndr, int flags, const struct winbind_getgroups *r)
3670 if (flags & NDR_IN) {
3672 if (flags & NDR_OUT) {
3673 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3675 return NDR_ERR_SUCCESS;
3678 static enum ndr_err_code ndr_pull_winbind_getgroups(struct ndr_pull *ndr, int flags, struct winbind_getgroups *r)
3680 if (flags & NDR_IN) {
3682 if (flags & NDR_OUT) {
3683 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3685 return NDR_ERR_SUCCESS;
3688 _PUBLIC_ void ndr_print_winbind_getgroups(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgroups *r)
3690 ndr_print_struct(ndr, name, "winbind_getgroups");
3692 if (flags & NDR_SET_VALUES) {
3693 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3695 if (flags & NDR_IN) {
3696 ndr_print_struct(ndr, "in", "winbind_getgroups");
3700 if (flags & NDR_OUT) {
3701 ndr_print_struct(ndr, "out", "winbind_getgroups");
3703 ndr_print_winbind_status(ndr, "result", r->out.result);
3709 static enum ndr_err_code ndr_push_winbind_setpwent(struct ndr_push *ndr, int flags, const struct winbind_setpwent *r)
3711 if (flags & NDR_IN) {
3713 if (flags & NDR_OUT) {
3714 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3716 return NDR_ERR_SUCCESS;
3719 static enum ndr_err_code ndr_pull_winbind_setpwent(struct ndr_pull *ndr, int flags, struct winbind_setpwent *r)
3721 if (flags & NDR_IN) {
3723 if (flags & NDR_OUT) {
3724 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3726 return NDR_ERR_SUCCESS;
3729 _PUBLIC_ void ndr_print_winbind_setpwent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_setpwent *r)
3731 ndr_print_struct(ndr, name, "winbind_setpwent");
3733 if (flags & NDR_SET_VALUES) {
3734 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3736 if (flags & NDR_IN) {
3737 ndr_print_struct(ndr, "in", "winbind_setpwent");
3741 if (flags & NDR_OUT) {
3742 ndr_print_struct(ndr, "out", "winbind_setpwent");
3744 ndr_print_winbind_status(ndr, "result", r->out.result);
3750 static enum ndr_err_code ndr_push_winbind_endpwent(struct ndr_push *ndr, int flags, const struct winbind_endpwent *r)
3752 if (flags & NDR_IN) {
3754 if (flags & NDR_OUT) {
3755 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3757 return NDR_ERR_SUCCESS;
3760 static enum ndr_err_code ndr_pull_winbind_endpwent(struct ndr_pull *ndr, int flags, struct winbind_endpwent *r)
3762 if (flags & NDR_IN) {
3764 if (flags & NDR_OUT) {
3765 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3767 return NDR_ERR_SUCCESS;
3770 _PUBLIC_ void ndr_print_winbind_endpwent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_endpwent *r)
3772 ndr_print_struct(ndr, name, "winbind_endpwent");
3774 if (flags & NDR_SET_VALUES) {
3775 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3777 if (flags & NDR_IN) {
3778 ndr_print_struct(ndr, "in", "winbind_endpwent");
3782 if (flags & NDR_OUT) {
3783 ndr_print_struct(ndr, "out", "winbind_endpwent");
3785 ndr_print_winbind_status(ndr, "result", r->out.result);
3791 static enum ndr_err_code ndr_push_winbind_getpwent(struct ndr_push *ndr, int flags, const struct winbind_getpwent *r)
3793 if (flags & NDR_IN) {
3795 if (flags & NDR_OUT) {
3796 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3798 return NDR_ERR_SUCCESS;
3801 static enum ndr_err_code ndr_pull_winbind_getpwent(struct ndr_pull *ndr, int flags, struct winbind_getpwent *r)
3803 if (flags & NDR_IN) {
3805 if (flags & NDR_OUT) {
3806 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3808 return NDR_ERR_SUCCESS;
3811 _PUBLIC_ void ndr_print_winbind_getpwent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getpwent *r)
3813 ndr_print_struct(ndr, name, "winbind_getpwent");
3815 if (flags & NDR_SET_VALUES) {
3816 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3818 if (flags & NDR_IN) {
3819 ndr_print_struct(ndr, "in", "winbind_getpwent");
3823 if (flags & NDR_OUT) {
3824 ndr_print_struct(ndr, "out", "winbind_getpwent");
3826 ndr_print_winbind_status(ndr, "result", r->out.result);
3832 static enum ndr_err_code ndr_push_winbind_setgrent(struct ndr_push *ndr, int flags, const struct winbind_setgrent *r)
3834 if (flags & NDR_IN) {
3836 if (flags & NDR_OUT) {
3837 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3839 return NDR_ERR_SUCCESS;
3842 static enum ndr_err_code ndr_pull_winbind_setgrent(struct ndr_pull *ndr, int flags, struct winbind_setgrent *r)
3844 if (flags & NDR_IN) {
3846 if (flags & NDR_OUT) {
3847 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3849 return NDR_ERR_SUCCESS;
3852 _PUBLIC_ void ndr_print_winbind_setgrent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_setgrent *r)
3854 ndr_print_struct(ndr, name, "winbind_setgrent");
3856 if (flags & NDR_SET_VALUES) {
3857 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3859 if (flags & NDR_IN) {
3860 ndr_print_struct(ndr, "in", "winbind_setgrent");
3864 if (flags & NDR_OUT) {
3865 ndr_print_struct(ndr, "out", "winbind_setgrent");
3867 ndr_print_winbind_status(ndr, "result", r->out.result);
3873 static enum ndr_err_code ndr_push_winbind_endgrent(struct ndr_push *ndr, int flags, const struct winbind_endgrent *r)
3875 if (flags & NDR_IN) {
3877 if (flags & NDR_OUT) {
3878 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3880 return NDR_ERR_SUCCESS;
3883 static enum ndr_err_code ndr_pull_winbind_endgrent(struct ndr_pull *ndr, int flags, struct winbind_endgrent *r)
3885 if (flags & NDR_IN) {
3887 if (flags & NDR_OUT) {
3888 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3890 return NDR_ERR_SUCCESS;
3893 _PUBLIC_ void ndr_print_winbind_endgrent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_endgrent *r)
3895 ndr_print_struct(ndr, name, "winbind_endgrent");
3897 if (flags & NDR_SET_VALUES) {
3898 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3900 if (flags & NDR_IN) {
3901 ndr_print_struct(ndr, "in", "winbind_endgrent");
3905 if (flags & NDR_OUT) {
3906 ndr_print_struct(ndr, "out", "winbind_endgrent");
3908 ndr_print_winbind_status(ndr, "result", r->out.result);
3914 static enum ndr_err_code ndr_push_winbind_getgrent(struct ndr_push *ndr, int flags, const struct winbind_getgrent *r)
3916 if (flags & NDR_IN) {
3918 if (flags & NDR_OUT) {
3919 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3921 return NDR_ERR_SUCCESS;
3924 static enum ndr_err_code ndr_pull_winbind_getgrent(struct ndr_pull *ndr, int flags, struct winbind_getgrent *r)
3926 if (flags & NDR_IN) {
3928 if (flags & NDR_OUT) {
3929 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
3931 return NDR_ERR_SUCCESS;
3934 _PUBLIC_ void ndr_print_winbind_getgrent(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgrent *r)
3936 ndr_print_struct(ndr, name, "winbind_getgrent");
3938 if (flags & NDR_SET_VALUES) {
3939 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3941 if (flags & NDR_IN) {
3942 ndr_print_struct(ndr, "in", "winbind_getgrent");
3946 if (flags & NDR_OUT) {
3947 ndr_print_struct(ndr, "out", "winbind_getgrent");
3949 ndr_print_winbind_status(ndr, "result", r->out.result);
3955 static enum ndr_err_code ndr_push_winbind_auth(struct ndr_push *ndr, int flags, const struct winbind_auth *r)
3957 if (flags & NDR_IN) {
3958 if (r->in.level == NULL) {
3959 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3961 NDR_CHECK(ndr_push_winbind_auth_level(ndr, NDR_SCALARS, *r->in.level));
3962 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
3963 NDR_CHECK(ndr_push_winbind_auth_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3965 if (flags & NDR_OUT) {
3966 if (r->out.rep == NULL) {
3967 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3969 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->in.level));
3970 NDR_CHECK(ndr_push_winbind_auth_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
3971 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
3973 return NDR_ERR_SUCCESS;
3976 static enum ndr_err_code ndr_pull_winbind_auth(struct ndr_pull *ndr, int flags, struct winbind_auth *r)
3978 TALLOC_CTX *_mem_save_level_0;
3979 TALLOC_CTX *_mem_save_rep_0;
3980 if (flags & NDR_IN) {
3981 ZERO_STRUCT(r->out);
3983 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3984 NDR_PULL_ALLOC(ndr, r->in.level);
3986 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
3987 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
3988 NDR_CHECK(ndr_pull_winbind_auth_level(ndr, NDR_SCALARS, r->in.level));
3989 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
3990 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
3991 NDR_CHECK(ndr_pull_winbind_auth_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
3992 NDR_PULL_ALLOC(ndr, r->out.rep);
3993 ZERO_STRUCTP(r->out.rep);
3995 if (flags & NDR_OUT) {
3996 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3997 NDR_PULL_ALLOC(ndr, r->out.rep);
3999 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
4000 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
4001 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->in.level));
4002 NDR_CHECK(ndr_pull_winbind_auth_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4003 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
4004 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4006 return NDR_ERR_SUCCESS;
4009 _PUBLIC_ void ndr_print_winbind_auth(struct ndr_print *ndr, const char *name, int flags, const struct winbind_auth *r)
4011 ndr_print_struct(ndr, name, "winbind_auth");
4013 if (flags & NDR_SET_VALUES) {
4014 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4016 if (flags & NDR_IN) {
4017 ndr_print_struct(ndr, "in", "winbind_auth");
4019 ndr_print_ptr(ndr, "level", r->in.level);
4021 ndr_print_winbind_auth_level(ndr, "level", *r->in.level);
4023 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
4024 ndr_print_winbind_auth_req(ndr, "req", &r->in.req);
4027 if (flags & NDR_OUT) {
4028 ndr_print_struct(ndr, "out", "winbind_auth");
4030 ndr_print_ptr(ndr, "rep", r->out.rep);
4032 ndr_print_set_switch_value(ndr, r->out.rep, *r->in.level);
4033 ndr_print_winbind_auth_rep(ndr, "rep", r->out.rep);
4035 ndr_print_winbind_status(ndr, "result", r->out.result);
4041 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)
4043 if (flags & NDR_IN) {
4045 if (flags & NDR_OUT) {
4046 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4048 return NDR_ERR_SUCCESS;
4051 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)
4053 if (flags & NDR_IN) {
4055 if (flags & NDR_OUT) {
4056 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4058 return NDR_ERR_SUCCESS;
4061 _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)
4063 ndr_print_struct(ndr, name, "winbind_pam_chng_paswd_auth_crap");
4065 if (flags & NDR_SET_VALUES) {
4066 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4068 if (flags & NDR_IN) {
4069 ndr_print_struct(ndr, "in", "winbind_pam_chng_paswd_auth_crap");
4073 if (flags & NDR_OUT) {
4074 ndr_print_struct(ndr, "out", "winbind_pam_chng_paswd_auth_crap");
4076 ndr_print_winbind_status(ndr, "result", r->out.result);
4082 static enum ndr_err_code ndr_push_winbind_list_users(struct ndr_push *ndr, int flags, const struct winbind_list_users *r)
4084 if (flags & NDR_IN) {
4086 if (flags & NDR_OUT) {
4087 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4089 return NDR_ERR_SUCCESS;
4092 static enum ndr_err_code ndr_pull_winbind_list_users(struct ndr_pull *ndr, int flags, struct winbind_list_users *r)
4094 if (flags & NDR_IN) {
4096 if (flags & NDR_OUT) {
4097 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4099 return NDR_ERR_SUCCESS;
4102 _PUBLIC_ void ndr_print_winbind_list_users(struct ndr_print *ndr, const char *name, int flags, const struct winbind_list_users *r)
4104 ndr_print_struct(ndr, name, "winbind_list_users");
4106 if (flags & NDR_SET_VALUES) {
4107 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4109 if (flags & NDR_IN) {
4110 ndr_print_struct(ndr, "in", "winbind_list_users");
4114 if (flags & NDR_OUT) {
4115 ndr_print_struct(ndr, "out", "winbind_list_users");
4117 ndr_print_winbind_status(ndr, "result", r->out.result);
4123 static enum ndr_err_code ndr_push_winbind_list_groups(struct ndr_push *ndr, int flags, const struct winbind_list_groups *r)
4125 if (flags & NDR_IN) {
4127 if (flags & NDR_OUT) {
4128 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4130 return NDR_ERR_SUCCESS;
4133 static enum ndr_err_code ndr_pull_winbind_list_groups(struct ndr_pull *ndr, int flags, struct winbind_list_groups *r)
4135 if (flags & NDR_IN) {
4137 if (flags & NDR_OUT) {
4138 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4140 return NDR_ERR_SUCCESS;
4143 _PUBLIC_ void ndr_print_winbind_list_groups(struct ndr_print *ndr, const char *name, int flags, const struct winbind_list_groups *r)
4145 ndr_print_struct(ndr, name, "winbind_list_groups");
4147 if (flags & NDR_SET_VALUES) {
4148 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4150 if (flags & NDR_IN) {
4151 ndr_print_struct(ndr, "in", "winbind_list_groups");
4155 if (flags & NDR_OUT) {
4156 ndr_print_struct(ndr, "out", "winbind_list_groups");
4158 ndr_print_winbind_status(ndr, "result", r->out.result);
4164 static enum ndr_err_code ndr_push_winbind_trust(struct ndr_push *ndr, int flags, const struct winbind_trust *r)
4166 if (flags & NDR_IN) {
4167 if (r->in.level == NULL) {
4168 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4170 NDR_CHECK(ndr_push_winbind_trust_level(ndr, NDR_SCALARS, *r->in.level));
4171 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
4172 NDR_CHECK(ndr_push_winbind_trust_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4174 if (flags & NDR_OUT) {
4175 if (r->out.rep == NULL) {
4176 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4178 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->in.level));
4179 NDR_CHECK(ndr_push_winbind_trust_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4180 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4182 return NDR_ERR_SUCCESS;
4185 static enum ndr_err_code ndr_pull_winbind_trust(struct ndr_pull *ndr, int flags, struct winbind_trust *r)
4187 TALLOC_CTX *_mem_save_level_0;
4188 TALLOC_CTX *_mem_save_rep_0;
4189 if (flags & NDR_IN) {
4190 ZERO_STRUCT(r->out);
4192 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4193 NDR_PULL_ALLOC(ndr, r->in.level);
4195 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4196 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
4197 NDR_CHECK(ndr_pull_winbind_trust_level(ndr, NDR_SCALARS, r->in.level));
4198 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4199 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
4200 NDR_CHECK(ndr_pull_winbind_trust_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4201 NDR_PULL_ALLOC(ndr, r->out.rep);
4202 ZERO_STRUCTP(r->out.rep);
4204 if (flags & NDR_OUT) {
4205 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4206 NDR_PULL_ALLOC(ndr, r->out.rep);
4208 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
4209 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
4210 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->in.level));
4211 NDR_CHECK(ndr_pull_winbind_trust_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4212 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
4213 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4215 return NDR_ERR_SUCCESS;
4218 _PUBLIC_ void ndr_print_winbind_trust(struct ndr_print *ndr, const char *name, int flags, const struct winbind_trust *r)
4220 ndr_print_struct(ndr, name, "winbind_trust");
4222 if (flags & NDR_SET_VALUES) {
4223 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4225 if (flags & NDR_IN) {
4226 ndr_print_struct(ndr, "in", "winbind_trust");
4228 ndr_print_ptr(ndr, "level", r->in.level);
4230 ndr_print_winbind_trust_level(ndr, "level", *r->in.level);
4232 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
4233 ndr_print_winbind_trust_req(ndr, "req", &r->in.req);
4236 if (flags & NDR_OUT) {
4237 ndr_print_struct(ndr, "out", "winbind_trust");
4239 ndr_print_ptr(ndr, "rep", r->out.rep);
4241 ndr_print_set_switch_value(ndr, r->out.rep, *r->in.level);
4242 ndr_print_winbind_trust_rep(ndr, "rep", r->out.rep);
4244 ndr_print_winbind_status(ndr, "result", r->out.result);
4250 static enum ndr_err_code ndr_push_winbind_lookup(struct ndr_push *ndr, int flags, const struct winbind_lookup *r)
4252 if (flags & NDR_IN) {
4253 if (r->in.level == NULL) {
4254 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4256 NDR_CHECK(ndr_push_winbind_lookup_level(ndr, NDR_SCALARS, *r->in.level));
4257 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
4258 NDR_CHECK(ndr_push_winbind_lookup_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4260 if (flags & NDR_OUT) {
4261 if (r->out.rep == NULL) {
4262 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4264 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->in.level));
4265 NDR_CHECK(ndr_push_winbind_lookup_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4266 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4268 return NDR_ERR_SUCCESS;
4271 static enum ndr_err_code ndr_pull_winbind_lookup(struct ndr_pull *ndr, int flags, struct winbind_lookup *r)
4273 TALLOC_CTX *_mem_save_level_0;
4274 TALLOC_CTX *_mem_save_rep_0;
4275 if (flags & NDR_IN) {
4276 ZERO_STRUCT(r->out);
4278 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4279 NDR_PULL_ALLOC(ndr, r->in.level);
4281 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4282 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
4283 NDR_CHECK(ndr_pull_winbind_lookup_level(ndr, NDR_SCALARS, r->in.level));
4284 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4285 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
4286 NDR_CHECK(ndr_pull_winbind_lookup_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4287 NDR_PULL_ALLOC(ndr, r->out.rep);
4288 ZERO_STRUCTP(r->out.rep);
4290 if (flags & NDR_OUT) {
4291 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4292 NDR_PULL_ALLOC(ndr, r->out.rep);
4294 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
4295 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
4296 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->in.level));
4297 NDR_CHECK(ndr_pull_winbind_lookup_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4298 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
4299 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4301 return NDR_ERR_SUCCESS;
4304 _PUBLIC_ void ndr_print_winbind_lookup(struct ndr_print *ndr, const char *name, int flags, const struct winbind_lookup *r)
4306 ndr_print_struct(ndr, name, "winbind_lookup");
4308 if (flags & NDR_SET_VALUES) {
4309 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4311 if (flags & NDR_IN) {
4312 ndr_print_struct(ndr, "in", "winbind_lookup");
4314 ndr_print_ptr(ndr, "level", r->in.level);
4316 ndr_print_winbind_lookup_level(ndr, "level", *r->in.level);
4318 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
4319 ndr_print_winbind_lookup_req(ndr, "req", &r->in.req);
4322 if (flags & NDR_OUT) {
4323 ndr_print_struct(ndr, "out", "winbind_lookup");
4325 ndr_print_ptr(ndr, "rep", r->out.rep);
4327 ndr_print_set_switch_value(ndr, r->out.rep, *r->in.level);
4328 ndr_print_winbind_lookup_rep(ndr, "rep", r->out.rep);
4330 ndr_print_winbind_status(ndr, "result", r->out.result);
4336 static enum ndr_err_code ndr_push_winbind_get_idmap(struct ndr_push *ndr, int flags, const struct winbind_get_idmap *r)
4338 if (flags & NDR_IN) {
4339 if (r->in.level == NULL) {
4340 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4342 NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, *r->in.level));
4343 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
4344 NDR_CHECK(ndr_push_winbind_get_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4346 if (flags & NDR_OUT) {
4347 if (r->out.level == NULL) {
4348 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4350 NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, *r->out.level));
4351 if (r->out.rep == NULL) {
4352 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4354 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->out.level));
4355 NDR_CHECK(ndr_push_winbind_get_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4356 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4358 return NDR_ERR_SUCCESS;
4361 static enum ndr_err_code ndr_pull_winbind_get_idmap(struct ndr_pull *ndr, int flags, struct winbind_get_idmap *r)
4363 TALLOC_CTX *_mem_save_level_0;
4364 TALLOC_CTX *_mem_save_rep_0;
4365 if (flags & NDR_IN) {
4366 ZERO_STRUCT(r->out);
4368 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4369 NDR_PULL_ALLOC(ndr, r->in.level);
4371 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4372 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
4373 NDR_CHECK(ndr_pull_winbind_get_idmap_level(ndr, NDR_SCALARS, r->in.level));
4374 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4375 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
4376 NDR_CHECK(ndr_pull_winbind_get_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4377 NDR_PULL_ALLOC(ndr, r->out.level);
4378 *r->out.level = *r->in.level;
4379 NDR_PULL_ALLOC(ndr, r->out.rep);
4380 ZERO_STRUCTP(r->out.rep);
4382 if (flags & NDR_OUT) {
4383 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4384 NDR_PULL_ALLOC(ndr, r->out.level);
4386 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4387 NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
4388 NDR_CHECK(ndr_pull_winbind_get_idmap_level(ndr, NDR_SCALARS, r->out.level));
4389 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4390 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4391 NDR_PULL_ALLOC(ndr, r->out.rep);
4393 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
4394 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
4395 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->out.level));
4396 NDR_CHECK(ndr_pull_winbind_get_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4397 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
4398 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4400 return NDR_ERR_SUCCESS;
4403 _PUBLIC_ void ndr_print_winbind_get_idmap(struct ndr_print *ndr, const char *name, int flags, const struct winbind_get_idmap *r)
4405 ndr_print_struct(ndr, name, "winbind_get_idmap");
4407 if (flags & NDR_SET_VALUES) {
4408 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4410 if (flags & NDR_IN) {
4411 ndr_print_struct(ndr, "in", "winbind_get_idmap");
4413 ndr_print_ptr(ndr, "level", r->in.level);
4415 ndr_print_winbind_get_idmap_level(ndr, "level", *r->in.level);
4417 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
4418 ndr_print_winbind_get_idmap_req(ndr, "req", &r->in.req);
4421 if (flags & NDR_OUT) {
4422 ndr_print_struct(ndr, "out", "winbind_get_idmap");
4424 ndr_print_ptr(ndr, "level", r->out.level);
4426 ndr_print_winbind_get_idmap_level(ndr, "level", *r->out.level);
4428 ndr_print_ptr(ndr, "rep", r->out.rep);
4430 ndr_print_set_switch_value(ndr, r->out.rep, *r->out.level);
4431 ndr_print_winbind_get_idmap_rep(ndr, "rep", r->out.rep);
4433 ndr_print_winbind_status(ndr, "result", r->out.result);
4439 static enum ndr_err_code ndr_push_winbind_set_idmap(struct ndr_push *ndr, int flags, const struct winbind_set_idmap *r)
4441 if (flags & NDR_IN) {
4442 if (r->in.level == NULL) {
4443 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4445 NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, *r->in.level));
4446 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
4447 NDR_CHECK(ndr_push_winbind_set_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4449 if (flags & NDR_OUT) {
4450 if (r->out.level == NULL) {
4451 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4453 NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, *r->out.level));
4454 if (r->out.rep == NULL) {
4455 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4457 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->out.level));
4458 NDR_CHECK(ndr_push_winbind_set_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4459 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4461 return NDR_ERR_SUCCESS;
4464 static enum ndr_err_code ndr_pull_winbind_set_idmap(struct ndr_pull *ndr, int flags, struct winbind_set_idmap *r)
4466 TALLOC_CTX *_mem_save_level_0;
4467 TALLOC_CTX *_mem_save_rep_0;
4468 if (flags & NDR_IN) {
4469 ZERO_STRUCT(r->out);
4471 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4472 NDR_PULL_ALLOC(ndr, r->in.level);
4474 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4475 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
4476 NDR_CHECK(ndr_pull_winbind_set_idmap_level(ndr, NDR_SCALARS, r->in.level));
4477 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4478 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
4479 NDR_CHECK(ndr_pull_winbind_set_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
4480 NDR_PULL_ALLOC(ndr, r->out.level);
4481 *r->out.level = *r->in.level;
4482 NDR_PULL_ALLOC(ndr, r->out.rep);
4483 ZERO_STRUCTP(r->out.rep);
4485 if (flags & NDR_OUT) {
4486 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4487 NDR_PULL_ALLOC(ndr, r->out.level);
4489 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4490 NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
4491 NDR_CHECK(ndr_pull_winbind_set_idmap_level(ndr, NDR_SCALARS, r->out.level));
4492 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4493 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4494 NDR_PULL_ALLOC(ndr, r->out.rep);
4496 _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
4497 NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
4498 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->out.level));
4499 NDR_CHECK(ndr_pull_winbind_set_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
4500 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
4501 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4503 return NDR_ERR_SUCCESS;
4506 _PUBLIC_ void ndr_print_winbind_set_idmap(struct ndr_print *ndr, const char *name, int flags, const struct winbind_set_idmap *r)
4508 ndr_print_struct(ndr, name, "winbind_set_idmap");
4510 if (flags & NDR_SET_VALUES) {
4511 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4513 if (flags & NDR_IN) {
4514 ndr_print_struct(ndr, "in", "winbind_set_idmap");
4516 ndr_print_ptr(ndr, "level", r->in.level);
4518 ndr_print_winbind_set_idmap_level(ndr, "level", *r->in.level);
4520 ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
4521 ndr_print_winbind_set_idmap_req(ndr, "req", &r->in.req);
4524 if (flags & NDR_OUT) {
4525 ndr_print_struct(ndr, "out", "winbind_set_idmap");
4527 ndr_print_ptr(ndr, "level", r->out.level);
4529 ndr_print_winbind_set_idmap_level(ndr, "level", *r->out.level);
4531 ndr_print_ptr(ndr, "rep", r->out.rep);
4533 ndr_print_set_switch_value(ndr, r->out.rep, *r->out.level);
4534 ndr_print_winbind_set_idmap_rep(ndr, "rep", r->out.rep);
4536 ndr_print_winbind_status(ndr, "result", r->out.result);
4542 static enum ndr_err_code ndr_push_winbind_info_fixname(struct ndr_push *ndr, int flags, const struct winbind_info_fixname *r)
4544 if (flags & NDR_IN) {
4546 if (flags & NDR_OUT) {
4547 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4549 return NDR_ERR_SUCCESS;
4552 static enum ndr_err_code ndr_pull_winbind_info_fixname(struct ndr_pull *ndr, int flags, struct winbind_info_fixname *r)
4554 if (flags & NDR_IN) {
4556 if (flags & NDR_OUT) {
4557 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4559 return NDR_ERR_SUCCESS;
4562 _PUBLIC_ void ndr_print_winbind_info_fixname(struct ndr_print *ndr, const char *name, int flags, const struct winbind_info_fixname *r)
4564 ndr_print_struct(ndr, name, "winbind_info_fixname");
4566 if (flags & NDR_SET_VALUES) {
4567 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4569 if (flags & NDR_IN) {
4570 ndr_print_struct(ndr, "in", "winbind_info_fixname");
4574 if (flags & NDR_OUT) {
4575 ndr_print_struct(ndr, "out", "winbind_info_fixname");
4577 ndr_print_winbind_status(ndr, "result", r->out.result);
4583 static enum ndr_err_code ndr_push_winbind_domain_name(struct ndr_push *ndr, int flags, const struct winbind_domain_name *r)
4585 if (flags & NDR_IN) {
4587 if (flags & NDR_OUT) {
4588 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4590 return NDR_ERR_SUCCESS;
4593 static enum ndr_err_code ndr_pull_winbind_domain_name(struct ndr_pull *ndr, int flags, struct winbind_domain_name *r)
4595 if (flags & NDR_IN) {
4597 if (flags & NDR_OUT) {
4598 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4600 return NDR_ERR_SUCCESS;
4603 _PUBLIC_ void ndr_print_winbind_domain_name(struct ndr_print *ndr, const char *name, int flags, const struct winbind_domain_name *r)
4605 ndr_print_struct(ndr, name, "winbind_domain_name");
4607 if (flags & NDR_SET_VALUES) {
4608 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4610 if (flags & NDR_IN) {
4611 ndr_print_struct(ndr, "in", "winbind_domain_name");
4615 if (flags & NDR_OUT) {
4616 ndr_print_struct(ndr, "out", "winbind_domain_name");
4618 ndr_print_winbind_status(ndr, "result", r->out.result);
4624 static enum ndr_err_code ndr_push_winbind_get_domain_info(struct ndr_push *ndr, int flags, const struct winbind_get_domain_info *r)
4626 if (flags & NDR_IN) {
4627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
4628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4629 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
4630 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));
4631 NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dc_name));
4632 if (r->in.dc_name) {
4633 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dc_name, CH_UTF8)));
4634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4635 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dc_name, CH_UTF8)));
4636 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));
4638 if (r->in.level == NULL) {
4639 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4641 NDR_CHECK(ndr_push_winbind_domain_info_level(ndr, NDR_SCALARS, *r->in.level));
4643 if (flags & NDR_OUT) {
4644 if (r->out.level == NULL) {
4645 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4647 NDR_CHECK(ndr_push_winbind_domain_info_level(ndr, NDR_SCALARS, *r->out.level));
4648 if (r->out.domain_info == NULL) {
4649 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4651 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.domain_info, *r->out.level));
4652 NDR_CHECK(ndr_push_winbind_domain_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domain_info));
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_get_domain_info(struct ndr_pull *ndr, int flags, struct winbind_get_domain_info *r)
4660 uint32_t _ptr_dc_name;
4661 TALLOC_CTX *_mem_save_dc_name_0;
4662 TALLOC_CTX *_mem_save_level_0;
4663 TALLOC_CTX *_mem_save_domain_info_0;
4664 if (flags & NDR_IN) {
4665 ZERO_STRUCT(r->out);
4667 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
4668 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
4669 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
4670 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));
4672 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint8_t)));
4673 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));
4674 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dc_name));
4676 NDR_PULL_ALLOC(ndr, r->in.dc_name);
4678 r->in.dc_name = NULL;
4680 if (r->in.dc_name) {
4681 _mem_save_dc_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4682 NDR_PULL_SET_MEM_CTX(ndr, r->in.dc_name, 0);
4683 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dc_name));
4684 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dc_name));
4685 if (ndr_get_array_length(ndr, &r->in.dc_name) > ndr_get_array_size(ndr, &r->in.dc_name)) {
4686 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));
4688 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dc_name), sizeof(uint8_t)));
4689 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));
4690 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_name_0, 0);
4692 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4693 NDR_PULL_ALLOC(ndr, r->in.level);
4695 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4696 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
4697 NDR_CHECK(ndr_pull_winbind_domain_info_level(ndr, NDR_SCALARS, r->in.level));
4698 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4699 NDR_PULL_ALLOC(ndr, r->out.level);
4700 *r->out.level = *r->in.level;
4701 NDR_PULL_ALLOC(ndr, r->out.domain_info);
4702 ZERO_STRUCTP(r->out.domain_info);
4704 if (flags & NDR_OUT) {
4705 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4706 NDR_PULL_ALLOC(ndr, r->out.level);
4708 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4709 NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
4710 NDR_CHECK(ndr_pull_winbind_domain_info_level(ndr, NDR_SCALARS, r->out.level));
4711 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4712 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4713 NDR_PULL_ALLOC(ndr, r->out.domain_info);
4715 _mem_save_domain_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
4716 NDR_PULL_SET_MEM_CTX(ndr, r->out.domain_info, LIBNDR_FLAG_REF_ALLOC);
4717 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.domain_info, *r->out.level));
4718 NDR_CHECK(ndr_pull_winbind_domain_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.domain_info));
4719 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_info_0, LIBNDR_FLAG_REF_ALLOC);
4720 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4722 return NDR_ERR_SUCCESS;
4725 _PUBLIC_ void ndr_print_winbind_get_domain_info(struct ndr_print *ndr, const char *name, int flags, const struct winbind_get_domain_info *r)
4727 ndr_print_struct(ndr, name, "winbind_get_domain_info");
4729 if (flags & NDR_SET_VALUES) {
4730 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4732 if (flags & NDR_IN) {
4733 ndr_print_struct(ndr, "in", "winbind_get_domain_info");
4735 ndr_print_string(ndr, "domain_name", r->in.domain_name);
4736 ndr_print_ptr(ndr, "dc_name", r->in.dc_name);
4738 if (r->in.dc_name) {
4739 ndr_print_string(ndr, "dc_name", r->in.dc_name);
4742 ndr_print_ptr(ndr, "level", r->in.level);
4744 ndr_print_winbind_domain_info_level(ndr, "level", *r->in.level);
4748 if (flags & NDR_OUT) {
4749 ndr_print_struct(ndr, "out", "winbind_get_domain_info");
4751 ndr_print_ptr(ndr, "level", r->out.level);
4753 ndr_print_winbind_domain_info_level(ndr, "level", *r->out.level);
4755 ndr_print_ptr(ndr, "domain_info", r->out.domain_info);
4757 ndr_print_set_switch_value(ndr, r->out.domain_info, *r->out.level);
4758 ndr_print_winbind_domain_info(ndr, "domain_info", r->out.domain_info);
4760 ndr_print_winbind_status(ndr, "result", r->out.result);
4766 static enum ndr_err_code ndr_push_winbind_get_dc_info(struct ndr_push *ndr, int flags, const struct winbind_get_dc_info *r)
4768 if (flags & NDR_IN) {
4769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
4770 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
4771 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain_name, CH_UTF8)));
4772 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));
4773 if (r->in.level == NULL) {
4774 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4776 NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, *r->in.level));
4777 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.params, *r->in.level));
4778 NDR_CHECK(ndr_push_winbind_dc_info_params(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.params));
4780 if (flags & NDR_OUT) {
4781 if (r->out.level == NULL) {
4782 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4784 NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, *r->out.level));
4785 if (r->out.dc_info == NULL) {
4786 return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4788 NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.dc_info, *r->out.level));
4789 NDR_CHECK(ndr_push_winbind_dc_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dc_info));
4790 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4792 return NDR_ERR_SUCCESS;
4795 static enum ndr_err_code ndr_pull_winbind_get_dc_info(struct ndr_pull *ndr, int flags, struct winbind_get_dc_info *r)
4797 TALLOC_CTX *_mem_save_level_0;
4798 TALLOC_CTX *_mem_save_dc_info_0;
4799 if (flags & NDR_IN) {
4800 ZERO_STRUCT(r->out);
4802 NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain_name));
4803 NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain_name));
4804 if (ndr_get_array_length(ndr, &r->in.domain_name) > ndr_get_array_size(ndr, &r->in.domain_name)) {
4805 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));
4807 NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain_name), sizeof(uint8_t)));
4808 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));
4809 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4810 NDR_PULL_ALLOC(ndr, r->in.level);
4812 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4813 NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
4814 NDR_CHECK(ndr_pull_winbind_dc_info_level(ndr, NDR_SCALARS, r->in.level));
4815 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4816 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.params, *r->in.level));
4817 NDR_CHECK(ndr_pull_winbind_dc_info_params(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.params));
4818 NDR_PULL_ALLOC(ndr, r->out.level);
4819 *r->out.level = *r->in.level;
4820 NDR_PULL_ALLOC(ndr, r->out.dc_info);
4821 ZERO_STRUCTP(r->out.dc_info);
4823 if (flags & NDR_OUT) {
4824 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4825 NDR_PULL_ALLOC(ndr, r->out.level);
4827 _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
4828 NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
4829 NDR_CHECK(ndr_pull_winbind_dc_info_level(ndr, NDR_SCALARS, r->out.level));
4830 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
4831 if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4832 NDR_PULL_ALLOC(ndr, r->out.dc_info);
4834 _mem_save_dc_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
4835 NDR_PULL_SET_MEM_CTX(ndr, r->out.dc_info, LIBNDR_FLAG_REF_ALLOC);
4836 NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.dc_info, *r->out.level));
4837 NDR_CHECK(ndr_pull_winbind_dc_info(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.dc_info));
4838 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dc_info_0, LIBNDR_FLAG_REF_ALLOC);
4839 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4841 return NDR_ERR_SUCCESS;
4844 _PUBLIC_ void ndr_print_winbind_get_dc_info(struct ndr_print *ndr, const char *name, int flags, const struct winbind_get_dc_info *r)
4846 ndr_print_struct(ndr, name, "winbind_get_dc_info");
4848 if (flags & NDR_SET_VALUES) {
4849 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4851 if (flags & NDR_IN) {
4852 ndr_print_struct(ndr, "in", "winbind_get_dc_info");
4854 ndr_print_string(ndr, "domain_name", r->in.domain_name);
4855 ndr_print_ptr(ndr, "level", r->in.level);
4857 ndr_print_winbind_dc_info_level(ndr, "level", *r->in.level);
4859 ndr_print_set_switch_value(ndr, &r->in.params, *r->in.level);
4860 ndr_print_winbind_dc_info_params(ndr, "params", &r->in.params);
4863 if (flags & NDR_OUT) {
4864 ndr_print_struct(ndr, "out", "winbind_get_dc_info");
4866 ndr_print_ptr(ndr, "level", r->out.level);
4868 ndr_print_winbind_dc_info_level(ndr, "level", *r->out.level);
4870 ndr_print_ptr(ndr, "dc_info", r->out.dc_info);
4872 ndr_print_set_switch_value(ndr, r->out.dc_info, *r->out.level);
4873 ndr_print_winbind_dc_info(ndr, "dc_info", r->out.dc_info);
4875 ndr_print_winbind_status(ndr, "result", r->out.result);
4881 static enum ndr_err_code ndr_push_winbind_wins_byip(struct ndr_push *ndr, int flags, const struct winbind_wins_byip *r)
4883 if (flags & NDR_IN) {
4885 if (flags & NDR_OUT) {
4886 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4888 return NDR_ERR_SUCCESS;
4891 static enum ndr_err_code ndr_pull_winbind_wins_byip(struct ndr_pull *ndr, int flags, struct winbind_wins_byip *r)
4893 if (flags & NDR_IN) {
4895 if (flags & NDR_OUT) {
4896 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4898 return NDR_ERR_SUCCESS;
4901 _PUBLIC_ void ndr_print_winbind_wins_byip(struct ndr_print *ndr, const char *name, int flags, const struct winbind_wins_byip *r)
4903 ndr_print_struct(ndr, name, "winbind_wins_byip");
4905 if (flags & NDR_SET_VALUES) {
4906 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4908 if (flags & NDR_IN) {
4909 ndr_print_struct(ndr, "in", "winbind_wins_byip");
4913 if (flags & NDR_OUT) {
4914 ndr_print_struct(ndr, "out", "winbind_wins_byip");
4916 ndr_print_winbind_status(ndr, "result", r->out.result);
4922 static enum ndr_err_code ndr_push_winbind_wins_byname(struct ndr_push *ndr, int flags, const struct winbind_wins_byname *r)
4924 if (flags & NDR_IN) {
4926 if (flags & NDR_OUT) {
4927 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4929 return NDR_ERR_SUCCESS;
4932 static enum ndr_err_code ndr_pull_winbind_wins_byname(struct ndr_pull *ndr, int flags, struct winbind_wins_byname *r)
4934 if (flags & NDR_IN) {
4936 if (flags & NDR_OUT) {
4937 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4939 return NDR_ERR_SUCCESS;
4942 _PUBLIC_ void ndr_print_winbind_wins_byname(struct ndr_print *ndr, const char *name, int flags, const struct winbind_wins_byname *r)
4944 ndr_print_struct(ndr, name, "winbind_wins_byname");
4946 if (flags & NDR_SET_VALUES) {
4947 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4949 if (flags & NDR_IN) {
4950 ndr_print_struct(ndr, "in", "winbind_wins_byname");
4954 if (flags & NDR_OUT) {
4955 ndr_print_struct(ndr, "out", "winbind_wins_byname");
4957 ndr_print_winbind_status(ndr, "result", r->out.result);
4963 static enum ndr_err_code ndr_push_winbind_getgrlist(struct ndr_push *ndr, int flags, const struct winbind_getgrlist *r)
4965 if (flags & NDR_IN) {
4967 if (flags & NDR_OUT) {
4968 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
4970 return NDR_ERR_SUCCESS;
4973 static enum ndr_err_code ndr_pull_winbind_getgrlist(struct ndr_pull *ndr, int flags, struct winbind_getgrlist *r)
4975 if (flags & NDR_IN) {
4977 if (flags & NDR_OUT) {
4978 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
4980 return NDR_ERR_SUCCESS;
4983 _PUBLIC_ void ndr_print_winbind_getgrlist(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getgrlist *r)
4985 ndr_print_struct(ndr, name, "winbind_getgrlist");
4987 if (flags & NDR_SET_VALUES) {
4988 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4990 if (flags & NDR_IN) {
4991 ndr_print_struct(ndr, "in", "winbind_getgrlist");
4995 if (flags & NDR_OUT) {
4996 ndr_print_struct(ndr, "out", "winbind_getgrlist");
4998 ndr_print_winbind_status(ndr, "result", r->out.result);
5004 static enum ndr_err_code ndr_push_winbind_netbios_name(struct ndr_push *ndr, int flags, const struct winbind_netbios_name *r)
5006 if (flags & NDR_IN) {
5008 if (flags & NDR_OUT) {
5009 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
5011 return NDR_ERR_SUCCESS;
5014 static enum ndr_err_code ndr_pull_winbind_netbios_name(struct ndr_pull *ndr, int flags, struct winbind_netbios_name *r)
5016 if (flags & NDR_IN) {
5018 if (flags & NDR_OUT) {
5019 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
5021 return NDR_ERR_SUCCESS;
5024 _PUBLIC_ void ndr_print_winbind_netbios_name(struct ndr_print *ndr, const char *name, int flags, const struct winbind_netbios_name *r)
5026 ndr_print_struct(ndr, name, "winbind_netbios_name");
5028 if (flags & NDR_SET_VALUES) {
5029 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5031 if (flags & NDR_IN) {
5032 ndr_print_struct(ndr, "in", "winbind_netbios_name");
5036 if (flags & NDR_OUT) {
5037 ndr_print_struct(ndr, "out", "winbind_netbios_name");
5039 ndr_print_winbind_status(ndr, "result", r->out.result);
5045 static enum ndr_err_code ndr_push_winbind_getusersids(struct ndr_push *ndr, int flags, const struct winbind_getusersids *r)
5047 if (flags & NDR_IN) {
5049 if (flags & NDR_OUT) {
5050 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
5052 return NDR_ERR_SUCCESS;
5055 static enum ndr_err_code ndr_pull_winbind_getusersids(struct ndr_pull *ndr, int flags, struct winbind_getusersids *r)
5057 if (flags & NDR_IN) {
5059 if (flags & NDR_OUT) {
5060 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
5062 return NDR_ERR_SUCCESS;
5065 _PUBLIC_ void ndr_print_winbind_getusersids(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getusersids *r)
5067 ndr_print_struct(ndr, name, "winbind_getusersids");
5069 if (flags & NDR_SET_VALUES) {
5070 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5072 if (flags & NDR_IN) {
5073 ndr_print_struct(ndr, "in", "winbind_getusersids");
5077 if (flags & NDR_OUT) {
5078 ndr_print_struct(ndr, "out", "winbind_getusersids");
5080 ndr_print_winbind_status(ndr, "result", r->out.result);
5086 static enum ndr_err_code ndr_push_winbind_getuserdomgroups(struct ndr_push *ndr, int flags, const struct winbind_getuserdomgroups *r)
5088 if (flags & NDR_IN) {
5090 if (flags & NDR_OUT) {
5091 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
5093 return NDR_ERR_SUCCESS;
5096 static enum ndr_err_code ndr_pull_winbind_getuserdomgroups(struct ndr_pull *ndr, int flags, struct winbind_getuserdomgroups *r)
5098 if (flags & NDR_IN) {
5100 if (flags & NDR_OUT) {
5101 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
5103 return NDR_ERR_SUCCESS;
5106 _PUBLIC_ void ndr_print_winbind_getuserdomgroups(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getuserdomgroups *r)
5108 ndr_print_struct(ndr, name, "winbind_getuserdomgroups");
5110 if (flags & NDR_SET_VALUES) {
5111 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5113 if (flags & NDR_IN) {
5114 ndr_print_struct(ndr, "in", "winbind_getuserdomgroups");
5118 if (flags & NDR_OUT) {
5119 ndr_print_struct(ndr, "out", "winbind_getuserdomgroups");
5121 ndr_print_winbind_status(ndr, "result", r->out.result);
5127 static enum ndr_err_code ndr_push_winbind_dual_userinfo(struct ndr_push *ndr, int flags, const struct winbind_dual_userinfo *r)
5129 if (flags & NDR_IN) {
5131 if (flags & NDR_OUT) {
5132 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
5134 return NDR_ERR_SUCCESS;
5137 static enum ndr_err_code ndr_pull_winbind_dual_userinfo(struct ndr_pull *ndr, int flags, struct winbind_dual_userinfo *r)
5139 if (flags & NDR_IN) {
5141 if (flags & NDR_OUT) {
5142 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
5144 return NDR_ERR_SUCCESS;
5147 _PUBLIC_ void ndr_print_winbind_dual_userinfo(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_userinfo *r)
5149 ndr_print_struct(ndr, name, "winbind_dual_userinfo");
5151 if (flags & NDR_SET_VALUES) {
5152 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5154 if (flags & NDR_IN) {
5155 ndr_print_struct(ndr, "in", "winbind_dual_userinfo");
5159 if (flags & NDR_OUT) {
5160 ndr_print_struct(ndr, "out", "winbind_dual_userinfo");
5162 ndr_print_winbind_status(ndr, "result", r->out.result);
5168 static enum ndr_err_code ndr_push_winbind_dual_getsidaliases(struct ndr_push *ndr, int flags, const struct winbind_dual_getsidaliases *r)
5170 if (flags & NDR_IN) {
5172 if (flags & NDR_OUT) {
5173 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
5175 return NDR_ERR_SUCCESS;
5178 static enum ndr_err_code ndr_pull_winbind_dual_getsidaliases(struct ndr_pull *ndr, int flags, struct winbind_dual_getsidaliases *r)
5180 if (flags & NDR_IN) {
5182 if (flags & NDR_OUT) {
5183 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
5185 return NDR_ERR_SUCCESS;
5188 _PUBLIC_ void ndr_print_winbind_dual_getsidaliases(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_getsidaliases *r)
5190 ndr_print_struct(ndr, name, "winbind_dual_getsidaliases");
5192 if (flags & NDR_SET_VALUES) {
5193 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5195 if (flags & NDR_IN) {
5196 ndr_print_struct(ndr, "in", "winbind_dual_getsidaliases");
5200 if (flags & NDR_OUT) {
5201 ndr_print_struct(ndr, "out", "winbind_dual_getsidaliases");
5203 ndr_print_winbind_status(ndr, "result", r->out.result);
5209 static enum ndr_err_code ndr_push_winbind_ccache_ntlmauth(struct ndr_push *ndr, int flags, const struct winbind_ccache_ntlmauth *r)
5211 if (flags & NDR_IN) {
5213 if (flags & NDR_OUT) {
5214 NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
5216 return NDR_ERR_SUCCESS;
5219 static enum ndr_err_code ndr_pull_winbind_ccache_ntlmauth(struct ndr_pull *ndr, int flags, struct winbind_ccache_ntlmauth *r)
5221 if (flags & NDR_IN) {
5223 if (flags & NDR_OUT) {
5224 NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
5226 return NDR_ERR_SUCCESS;
5229 _PUBLIC_ void ndr_print_winbind_ccache_ntlmauth(struct ndr_print *ndr, const char *name, int flags, const struct winbind_ccache_ntlmauth *r)
5231 ndr_print_struct(ndr, name, "winbind_ccache_ntlmauth");
5233 if (flags & NDR_SET_VALUES) {
5234 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
5236 if (flags & NDR_IN) {
5237 ndr_print_struct(ndr, "in", "winbind_ccache_ntlmauth");
5241 if (flags & NDR_OUT) {
5242 ndr_print_struct(ndr, "out", "winbind_ccache_ntlmauth");
5244 ndr_print_winbind_status(ndr, "result", r->out.result);
5250 static const struct ndr_interface_call winbind_protocol_calls[] = {
5253 sizeof(struct winbind_ping),
5254 (ndr_push_flags_fn_t) ndr_push_winbind_ping,
5255 (ndr_pull_flags_fn_t) ndr_pull_winbind_ping,
5256 (ndr_print_function_t) ndr_print_winbind_ping,
5260 "winbind_interface_details",
5261 sizeof(struct winbind_interface_details),
5262 (ndr_push_flags_fn_t) ndr_push_winbind_interface_details,
5263 (ndr_pull_flags_fn_t) ndr_pull_winbind_interface_details,
5264 (ndr_print_function_t) ndr_print_winbind_interface_details,
5269 sizeof(struct winbind_getpwnam),
5270 (ndr_push_flags_fn_t) ndr_push_winbind_getpwnam,
5271 (ndr_pull_flags_fn_t) ndr_pull_winbind_getpwnam,
5272 (ndr_print_function_t) ndr_print_winbind_getpwnam,
5277 sizeof(struct winbind_getpwuid),
5278 (ndr_push_flags_fn_t) ndr_push_winbind_getpwuid,
5279 (ndr_pull_flags_fn_t) ndr_pull_winbind_getpwuid,
5280 (ndr_print_function_t) ndr_print_winbind_getpwuid,
5285 sizeof(struct winbind_getgrnam),
5286 (ndr_push_flags_fn_t) ndr_push_winbind_getgrnam,
5287 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgrnam,
5288 (ndr_print_function_t) ndr_print_winbind_getgrnam,
5293 sizeof(struct winbind_getgrgid),
5294 (ndr_push_flags_fn_t) ndr_push_winbind_getgrgid,
5295 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgrgid,
5296 (ndr_print_function_t) ndr_print_winbind_getgrgid,
5300 "winbind_getgroups",
5301 sizeof(struct winbind_getgroups),
5302 (ndr_push_flags_fn_t) ndr_push_winbind_getgroups,
5303 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgroups,
5304 (ndr_print_function_t) ndr_print_winbind_getgroups,
5309 sizeof(struct winbind_setpwent),
5310 (ndr_push_flags_fn_t) ndr_push_winbind_setpwent,
5311 (ndr_pull_flags_fn_t) ndr_pull_winbind_setpwent,
5312 (ndr_print_function_t) ndr_print_winbind_setpwent,
5317 sizeof(struct winbind_endpwent),
5318 (ndr_push_flags_fn_t) ndr_push_winbind_endpwent,
5319 (ndr_pull_flags_fn_t) ndr_pull_winbind_endpwent,
5320 (ndr_print_function_t) ndr_print_winbind_endpwent,
5325 sizeof(struct winbind_getpwent),
5326 (ndr_push_flags_fn_t) ndr_push_winbind_getpwent,
5327 (ndr_pull_flags_fn_t) ndr_pull_winbind_getpwent,
5328 (ndr_print_function_t) ndr_print_winbind_getpwent,
5333 sizeof(struct winbind_setgrent),
5334 (ndr_push_flags_fn_t) ndr_push_winbind_setgrent,
5335 (ndr_pull_flags_fn_t) ndr_pull_winbind_setgrent,
5336 (ndr_print_function_t) ndr_print_winbind_setgrent,
5341 sizeof(struct winbind_endgrent),
5342 (ndr_push_flags_fn_t) ndr_push_winbind_endgrent,
5343 (ndr_pull_flags_fn_t) ndr_pull_winbind_endgrent,
5344 (ndr_print_function_t) ndr_print_winbind_endgrent,
5349 sizeof(struct winbind_getgrent),
5350 (ndr_push_flags_fn_t) ndr_push_winbind_getgrent,
5351 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgrent,
5352 (ndr_print_function_t) ndr_print_winbind_getgrent,
5357 sizeof(struct winbind_auth),
5358 (ndr_push_flags_fn_t) ndr_push_winbind_auth,
5359 (ndr_pull_flags_fn_t) ndr_pull_winbind_auth,
5360 (ndr_print_function_t) ndr_print_winbind_auth,
5364 "winbind_pam_chng_paswd_auth_crap",
5365 sizeof(struct winbind_pam_chng_paswd_auth_crap),
5366 (ndr_push_flags_fn_t) ndr_push_winbind_pam_chng_paswd_auth_crap,
5367 (ndr_pull_flags_fn_t) ndr_pull_winbind_pam_chng_paswd_auth_crap,
5368 (ndr_print_function_t) ndr_print_winbind_pam_chng_paswd_auth_crap,
5372 "winbind_list_users",
5373 sizeof(struct winbind_list_users),
5374 (ndr_push_flags_fn_t) ndr_push_winbind_list_users,
5375 (ndr_pull_flags_fn_t) ndr_pull_winbind_list_users,
5376 (ndr_print_function_t) ndr_print_winbind_list_users,
5380 "winbind_list_groups",
5381 sizeof(struct winbind_list_groups),
5382 (ndr_push_flags_fn_t) ndr_push_winbind_list_groups,
5383 (ndr_pull_flags_fn_t) ndr_pull_winbind_list_groups,
5384 (ndr_print_function_t) ndr_print_winbind_list_groups,
5389 sizeof(struct winbind_trust),
5390 (ndr_push_flags_fn_t) ndr_push_winbind_trust,
5391 (ndr_pull_flags_fn_t) ndr_pull_winbind_trust,
5392 (ndr_print_function_t) ndr_print_winbind_trust,
5397 sizeof(struct winbind_lookup),
5398 (ndr_push_flags_fn_t) ndr_push_winbind_lookup,
5399 (ndr_pull_flags_fn_t) ndr_pull_winbind_lookup,
5400 (ndr_print_function_t) ndr_print_winbind_lookup,
5404 "winbind_get_idmap",
5405 sizeof(struct winbind_get_idmap),
5406 (ndr_push_flags_fn_t) ndr_push_winbind_get_idmap,
5407 (ndr_pull_flags_fn_t) ndr_pull_winbind_get_idmap,
5408 (ndr_print_function_t) ndr_print_winbind_get_idmap,
5412 "winbind_set_idmap",
5413 sizeof(struct winbind_set_idmap),
5414 (ndr_push_flags_fn_t) ndr_push_winbind_set_idmap,
5415 (ndr_pull_flags_fn_t) ndr_pull_winbind_set_idmap,
5416 (ndr_print_function_t) ndr_print_winbind_set_idmap,
5420 "winbind_info_fixname",
5421 sizeof(struct winbind_info_fixname),
5422 (ndr_push_flags_fn_t) ndr_push_winbind_info_fixname,
5423 (ndr_pull_flags_fn_t) ndr_pull_winbind_info_fixname,
5424 (ndr_print_function_t) ndr_print_winbind_info_fixname,
5428 "winbind_domain_name",
5429 sizeof(struct winbind_domain_name),
5430 (ndr_push_flags_fn_t) ndr_push_winbind_domain_name,
5431 (ndr_pull_flags_fn_t) ndr_pull_winbind_domain_name,
5432 (ndr_print_function_t) ndr_print_winbind_domain_name,
5436 "winbind_get_domain_info",
5437 sizeof(struct winbind_get_domain_info),
5438 (ndr_push_flags_fn_t) ndr_push_winbind_get_domain_info,
5439 (ndr_pull_flags_fn_t) ndr_pull_winbind_get_domain_info,
5440 (ndr_print_function_t) ndr_print_winbind_get_domain_info,
5444 "winbind_get_dc_info",
5445 sizeof(struct winbind_get_dc_info),
5446 (ndr_push_flags_fn_t) ndr_push_winbind_get_dc_info,
5447 (ndr_pull_flags_fn_t) ndr_pull_winbind_get_dc_info,
5448 (ndr_print_function_t) ndr_print_winbind_get_dc_info,
5452 "winbind_wins_byip",
5453 sizeof(struct winbind_wins_byip),
5454 (ndr_push_flags_fn_t) ndr_push_winbind_wins_byip,
5455 (ndr_pull_flags_fn_t) ndr_pull_winbind_wins_byip,
5456 (ndr_print_function_t) ndr_print_winbind_wins_byip,
5460 "winbind_wins_byname",
5461 sizeof(struct winbind_wins_byname),
5462 (ndr_push_flags_fn_t) ndr_push_winbind_wins_byname,
5463 (ndr_pull_flags_fn_t) ndr_pull_winbind_wins_byname,
5464 (ndr_print_function_t) ndr_print_winbind_wins_byname,
5468 "winbind_getgrlist",
5469 sizeof(struct winbind_getgrlist),
5470 (ndr_push_flags_fn_t) ndr_push_winbind_getgrlist,
5471 (ndr_pull_flags_fn_t) ndr_pull_winbind_getgrlist,
5472 (ndr_print_function_t) ndr_print_winbind_getgrlist,
5476 "winbind_netbios_name",
5477 sizeof(struct winbind_netbios_name),
5478 (ndr_push_flags_fn_t) ndr_push_winbind_netbios_name,
5479 (ndr_pull_flags_fn_t) ndr_pull_winbind_netbios_name,
5480 (ndr_print_function_t) ndr_print_winbind_netbios_name,
5484 "winbind_getusersids",
5485 sizeof(struct winbind_getusersids),
5486 (ndr_push_flags_fn_t) ndr_push_winbind_getusersids,
5487 (ndr_pull_flags_fn_t) ndr_pull_winbind_getusersids,
5488 (ndr_print_function_t) ndr_print_winbind_getusersids,
5492 "winbind_getuserdomgroups",
5493 sizeof(struct winbind_getuserdomgroups),
5494 (ndr_push_flags_fn_t) ndr_push_winbind_getuserdomgroups,
5495 (ndr_pull_flags_fn_t) ndr_pull_winbind_getuserdomgroups,
5496 (ndr_print_function_t) ndr_print_winbind_getuserdomgroups,
5500 "winbind_dual_userinfo",
5501 sizeof(struct winbind_dual_userinfo),
5502 (ndr_push_flags_fn_t) ndr_push_winbind_dual_userinfo,
5503 (ndr_pull_flags_fn_t) ndr_pull_winbind_dual_userinfo,
5504 (ndr_print_function_t) ndr_print_winbind_dual_userinfo,
5508 "winbind_dual_getsidaliases",
5509 sizeof(struct winbind_dual_getsidaliases),
5510 (ndr_push_flags_fn_t) ndr_push_winbind_dual_getsidaliases,
5511 (ndr_pull_flags_fn_t) ndr_pull_winbind_dual_getsidaliases,
5512 (ndr_print_function_t) ndr_print_winbind_dual_getsidaliases,
5516 "winbind_ccache_ntlmauth",
5517 sizeof(struct winbind_ccache_ntlmauth),
5518 (ndr_push_flags_fn_t) ndr_push_winbind_ccache_ntlmauth,
5519 (ndr_pull_flags_fn_t) ndr_pull_winbind_ccache_ntlmauth,
5520 (ndr_print_function_t) ndr_print_winbind_ccache_ntlmauth,
5523 { NULL, 0, NULL, NULL, NULL, false }
5526 static const char * const winbind_protocol_endpoint_strings[] = {
5527 "ncacn_np:[\\pipe\\winbind_protocol]",
5530 static const struct ndr_interface_string_array winbind_protocol_endpoints = {
5532 .names = winbind_protocol_endpoint_strings
5535 static const char * const winbind_protocol_authservice_strings[] = {
5539 static const struct ndr_interface_string_array winbind_protocol_authservices = {
5541 .names = winbind_protocol_authservice_strings
5545 const struct ndr_interface_table ndr_table_winbind_protocol = {
5546 .name = "winbind_protocol",
5548 {0xb6608c99,0x0407,0x401b,{0x96,0xd3},{0x7b,0xcd,0xa6,0x72,0x32,0xaf}},
5549 NDR_WINBIND_PROTOCOL_VERSION
5551 .helpstring = NDR_WINBIND_PROTOCOL_HELPSTRING,
5553 .calls = winbind_protocol_calls,
5554 .endpoints = &winbind_protocol_endpoints,
5555 .authservices = &winbind_protocol_authservices