source: branches/samba-3.5.x/librpc/gen_ndr/ndr_krb5pac.c

Last change on this file was 734, checked in by Silvan Scherrer, 13 years ago

Samba Server 3.5: update branche to 3.5.14

File size: 32.8 KB
Line 
1/* parser auto-generated by pidl */
2
3#include "includes.h"
4#include "../librpc/gen_ndr/ndr_krb5pac.h"
5
6#include "librpc/gen_ndr/ndr_security.h"
7#include "librpc/gen_ndr/ndr_netlogon.h"
8#include "librpc/gen_ndr/ndr_samr.h"
9static enum ndr_err_code ndr_push_PAC_LOGON_NAME(struct ndr_push *ndr, int ndr_flags, const struct PAC_LOGON_NAME *r)
10{
11 if (ndr_flags & NDR_SCALARS) {
12 NDR_CHECK(ndr_push_align(ndr, 4));
13 NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->logon_time));
14 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->account_name)));
15 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, 2 * strlen_m(r->account_name), sizeof(uint8_t), CH_UTF16));
16 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
17 }
18 if (ndr_flags & NDR_BUFFERS) {
19 }
20 return NDR_ERR_SUCCESS;
21}
22
23static enum ndr_err_code ndr_pull_PAC_LOGON_NAME(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_NAME *r)
24{
25 uint32_t size_account_name_0 = 0;
26 if (ndr_flags & NDR_SCALARS) {
27 NDR_CHECK(ndr_pull_align(ndr, 4));
28 NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logon_time));
29 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
30 size_account_name_0 = r->size;
31 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, size_account_name_0, sizeof(uint8_t), CH_UTF16));
32 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
33 }
34 if (ndr_flags & NDR_BUFFERS) {
35 }
36 return NDR_ERR_SUCCESS;
37}
38
39_PUBLIC_ void ndr_print_PAC_LOGON_NAME(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_NAME *r)
40{
41 ndr_print_struct(ndr, name, "PAC_LOGON_NAME");
42 ndr->depth++;
43 ndr_print_NTTIME(ndr, "logon_time", r->logon_time);
44 ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->account_name):r->size);
45 ndr_print_string(ndr, "account_name", r->account_name);
46 ndr->depth--;
47}
48
49_PUBLIC_ enum ndr_err_code ndr_push_PAC_SIGNATURE_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_SIGNATURE_DATA *r)
50{
51 {
52 uint32_t _flags_save_STRUCT = ndr->flags;
53 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
54 if (ndr_flags & NDR_SCALARS) {
55 NDR_CHECK(ndr_push_align(ndr, 4));
56 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->type));
57 {
58 uint32_t _flags_save_DATA_BLOB = ndr->flags;
59 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
60 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->signature));
61 ndr->flags = _flags_save_DATA_BLOB;
62 }
63 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
64 }
65 if (ndr_flags & NDR_BUFFERS) {
66 }
67 ndr->flags = _flags_save_STRUCT;
68 }
69 return NDR_ERR_SUCCESS;
70}
71
72_PUBLIC_ enum ndr_err_code ndr_pull_PAC_SIGNATURE_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_SIGNATURE_DATA *r)
73{
74 {
75 uint32_t _flags_save_STRUCT = ndr->flags;
76 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
77 if (ndr_flags & NDR_SCALARS) {
78 NDR_CHECK(ndr_pull_align(ndr, 4));
79 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->type));
80 {
81 uint32_t _flags_save_DATA_BLOB = ndr->flags;
82 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
83 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->signature));
84 ndr->flags = _flags_save_DATA_BLOB;
85 }
86 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
87 }
88 if (ndr_flags & NDR_BUFFERS) {
89 }
90 ndr->flags = _flags_save_STRUCT;
91 }
92 return NDR_ERR_SUCCESS;
93}
94
95_PUBLIC_ void ndr_print_PAC_SIGNATURE_DATA(struct ndr_print *ndr, const char *name, const struct PAC_SIGNATURE_DATA *r)
96{
97 ndr_print_struct(ndr, name, "PAC_SIGNATURE_DATA");
98 {
99 uint32_t _flags_save_STRUCT = ndr->flags;
100 ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
101 ndr->depth++;
102 ndr_print_uint32(ndr, "type", r->type);
103 ndr_print_DATA_BLOB(ndr, "signature", r->signature);
104 ndr->depth--;
105 ndr->flags = _flags_save_STRUCT;
106 }
107}
108
109static enum ndr_err_code ndr_push_PAC_LOGON_INFO(struct ndr_push *ndr, int ndr_flags, const struct PAC_LOGON_INFO *r)
110{
111 if (ndr_flags & NDR_SCALARS) {
112 NDR_CHECK(ndr_push_align(ndr, 5));
113 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
114 NDR_CHECK(ndr_push_unique_ptr(ndr, r->res_group_dom_sid));
115 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->res_groups));
116 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
117 }
118 if (ndr_flags & NDR_BUFFERS) {
119 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
120 if (r->res_group_dom_sid) {
121 NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->res_group_dom_sid));
122 }
123 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->res_groups));
124 }
125 return NDR_ERR_SUCCESS;
126}
127
128static enum ndr_err_code ndr_pull_PAC_LOGON_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO *r)
129{
130 uint32_t _ptr_res_group_dom_sid;
131 TALLOC_CTX *_mem_save_res_group_dom_sid_0;
132 if (ndr_flags & NDR_SCALARS) {
133 NDR_CHECK(ndr_pull_align(ndr, 5));
134 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
135 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_res_group_dom_sid));
136 if (_ptr_res_group_dom_sid) {
137 NDR_PULL_ALLOC(ndr, r->res_group_dom_sid);
138 } else {
139 r->res_group_dom_sid = NULL;
140 }
141 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->res_groups));
142 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
143 }
144 if (ndr_flags & NDR_BUFFERS) {
145 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
146 if (r->res_group_dom_sid) {
147 _mem_save_res_group_dom_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
148 NDR_PULL_SET_MEM_CTX(ndr, r->res_group_dom_sid, 0);
149 NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->res_group_dom_sid));
150 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_res_group_dom_sid_0, 0);
151 }
152 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->res_groups));
153 }
154 return NDR_ERR_SUCCESS;
155}
156
157_PUBLIC_ void ndr_print_PAC_LOGON_INFO(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO *r)
158{
159 ndr_print_struct(ndr, name, "PAC_LOGON_INFO");
160 ndr->depth++;
161 ndr_print_netr_SamInfo3(ndr, "info3", &r->info3);
162 ndr_print_ptr(ndr, "res_group_dom_sid", r->res_group_dom_sid);
163 ndr->depth++;
164 if (r->res_group_dom_sid) {
165 ndr_print_dom_sid2(ndr, "res_group_dom_sid", r->res_group_dom_sid);
166 }
167 ndr->depth--;
168 ndr_print_samr_RidWithAttributeArray(ndr, "res_groups", &r->res_groups);
169 ndr->depth--;
170}
171
172_PUBLIC_ enum ndr_err_code ndr_push_PAC_LOGON_INFO_CTR(struct ndr_push *ndr, int ndr_flags, const struct PAC_LOGON_INFO_CTR *r)
173{
174 if (ndr_flags & NDR_SCALARS) {
175 NDR_CHECK(ndr_push_align(ndr, 5));
176 NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
177 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
178 }
179 if (ndr_flags & NDR_BUFFERS) {
180 if (r->info) {
181 NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
182 }
183 }
184 return NDR_ERR_SUCCESS;
185}
186
187_PUBLIC_ enum ndr_err_code ndr_pull_PAC_LOGON_INFO_CTR(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO_CTR *r)
188{
189 uint32_t _ptr_info;
190 TALLOC_CTX *_mem_save_info_0;
191 if (ndr_flags & NDR_SCALARS) {
192 NDR_CHECK(ndr_pull_align(ndr, 5));
193 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
194 if (_ptr_info) {
195 NDR_PULL_ALLOC(ndr, r->info);
196 } else {
197 r->info = NULL;
198 }
199 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
200 }
201 if (ndr_flags & NDR_BUFFERS) {
202 if (r->info) {
203 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
204 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
205 NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
206 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
207 }
208 }
209 return NDR_ERR_SUCCESS;
210}
211
212_PUBLIC_ void ndr_print_PAC_LOGON_INFO_CTR(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO_CTR *r)
213{
214 ndr_print_struct(ndr, name, "PAC_LOGON_INFO_CTR");
215 ndr->depth++;
216 ndr_print_ptr(ndr, "info", r->info);
217 ndr->depth++;
218 if (r->info) {
219 ndr_print_PAC_LOGON_INFO(ndr, "info", r->info);
220 }
221 ndr->depth--;
222 ndr->depth--;
223}
224
225_PUBLIC_ enum ndr_err_code ndr_push_PAC_TYPE(struct ndr_push *ndr, int ndr_flags, enum PAC_TYPE r)
226{
227 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
228 return NDR_ERR_SUCCESS;
229}
230
231_PUBLIC_ enum ndr_err_code ndr_pull_PAC_TYPE(struct ndr_pull *ndr, int ndr_flags, enum PAC_TYPE *r)
232{
233 uint32_t v;
234 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
235 *r = v;
236 return NDR_ERR_SUCCESS;
237}
238
239_PUBLIC_ void ndr_print_PAC_TYPE(struct ndr_print *ndr, const char *name, enum PAC_TYPE r)
240{
241 const char *val = NULL;
242
243 switch (r) {
244 case PAC_TYPE_LOGON_INFO: val = "PAC_TYPE_LOGON_INFO"; break;
245 case PAC_TYPE_SRV_CHECKSUM: val = "PAC_TYPE_SRV_CHECKSUM"; break;
246 case PAC_TYPE_KDC_CHECKSUM: val = "PAC_TYPE_KDC_CHECKSUM"; break;
247 case PAC_TYPE_LOGON_NAME: val = "PAC_TYPE_LOGON_NAME"; break;
248 case PAC_TYPE_CONSTRAINED_DELEGATION: val = "PAC_TYPE_CONSTRAINED_DELEGATION"; break;
249 case PAC_TYPE_UNKNOWN_12: val = "PAC_TYPE_UNKNOWN_12"; break;
250 }
251 ndr_print_enum(ndr, name, "ENUM", val, r);
252}
253
254static enum ndr_err_code ndr_push_DATA_BLOB_REM(struct ndr_push *ndr, int ndr_flags, const struct DATA_BLOB_REM *r)
255{
256 if (ndr_flags & NDR_SCALARS) {
257 NDR_CHECK(ndr_push_align(ndr, 4));
258 {
259 uint32_t _flags_save_DATA_BLOB = ndr->flags;
260 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
261 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining));
262 ndr->flags = _flags_save_DATA_BLOB;
263 }
264 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
265 }
266 if (ndr_flags & NDR_BUFFERS) {
267 }
268 return NDR_ERR_SUCCESS;
269}
270
271static enum ndr_err_code ndr_pull_DATA_BLOB_REM(struct ndr_pull *ndr, int ndr_flags, struct DATA_BLOB_REM *r)
272{
273 if (ndr_flags & NDR_SCALARS) {
274 NDR_CHECK(ndr_pull_align(ndr, 4));
275 {
276 uint32_t _flags_save_DATA_BLOB = ndr->flags;
277 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
278 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining));
279 ndr->flags = _flags_save_DATA_BLOB;
280 }
281 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
282 }
283 if (ndr_flags & NDR_BUFFERS) {
284 }
285 return NDR_ERR_SUCCESS;
286}
287
288_PUBLIC_ void ndr_print_DATA_BLOB_REM(struct ndr_print *ndr, const char *name, const struct DATA_BLOB_REM *r)
289{
290 ndr_print_struct(ndr, name, "DATA_BLOB_REM");
291 ndr->depth++;
292 ndr_print_DATA_BLOB(ndr, "remaining", r->remaining);
293 ndr->depth--;
294}
295
296_PUBLIC_ enum ndr_err_code ndr_push_PAC_INFO(struct ndr_push *ndr, int ndr_flags, const union PAC_INFO *r)
297{
298 if (ndr_flags & NDR_SCALARS) {
299 int level = ndr_push_get_switch_value(ndr, r);
300 NDR_CHECK(ndr_push_union_align(ndr, 4));
301 switch (level) {
302 case PAC_TYPE_LOGON_INFO: {
303 {
304 struct ndr_push *_ndr_logon_info;
305 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
306 NDR_CHECK(ndr_push_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
307 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
308 }
309 break; }
310
311 case PAC_TYPE_SRV_CHECKSUM: {
312 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
313 break; }
314
315 case PAC_TYPE_KDC_CHECKSUM: {
316 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
317 break; }
318
319 case PAC_TYPE_LOGON_NAME: {
320 NDR_CHECK(ndr_push_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
321 break; }
322
323 default: {
324 {
325 struct ndr_push *_ndr_unknown;
326 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_unknown, 0, -1));
327 NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
328 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_unknown, 0, -1));
329 }
330 break; }
331
332 }
333 }
334 if (ndr_flags & NDR_BUFFERS) {
335 int level = ndr_push_get_switch_value(ndr, r);
336 switch (level) {
337 case PAC_TYPE_LOGON_INFO:
338 break;
339
340 case PAC_TYPE_SRV_CHECKSUM:
341 break;
342
343 case PAC_TYPE_KDC_CHECKSUM:
344 break;
345
346 case PAC_TYPE_LOGON_NAME:
347 break;
348
349 default:
350 break;
351
352 }
353 }
354 return NDR_ERR_SUCCESS;
355}
356
357_PUBLIC_ enum ndr_err_code ndr_pull_PAC_INFO(struct ndr_pull *ndr, int ndr_flags, union PAC_INFO *r)
358{
359 int level;
360 level = ndr_pull_get_switch_value(ndr, r);
361 if (ndr_flags & NDR_SCALARS) {
362 NDR_CHECK(ndr_pull_union_align(ndr, 4));
363 switch (level) {
364 case PAC_TYPE_LOGON_INFO: {
365 {
366 struct ndr_pull *_ndr_logon_info;
367 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
368 NDR_CHECK(ndr_pull_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
369 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
370 }
371 break; }
372
373 case PAC_TYPE_SRV_CHECKSUM: {
374 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
375 break; }
376
377 case PAC_TYPE_KDC_CHECKSUM: {
378 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
379 break; }
380
381 case PAC_TYPE_LOGON_NAME: {
382 NDR_CHECK(ndr_pull_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
383 break; }
384
385 default: {
386 {
387 struct ndr_pull *_ndr_unknown;
388 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_unknown, 0, -1));
389 NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
390 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_unknown, 0, -1));
391 }
392 break; }
393
394 }
395 }
396 if (ndr_flags & NDR_BUFFERS) {
397 switch (level) {
398 case PAC_TYPE_LOGON_INFO:
399 break;
400
401 case PAC_TYPE_SRV_CHECKSUM:
402 break;
403
404 case PAC_TYPE_KDC_CHECKSUM:
405 break;
406
407 case PAC_TYPE_LOGON_NAME:
408 break;
409
410 default:
411 break;
412
413 }
414 }
415 return NDR_ERR_SUCCESS;
416}
417
418_PUBLIC_ void ndr_print_PAC_INFO(struct ndr_print *ndr, const char *name, const union PAC_INFO *r)
419{
420 int level;
421 level = ndr_print_get_switch_value(ndr, r);
422 ndr_print_union(ndr, name, level, "PAC_INFO");
423 switch (level) {
424 case PAC_TYPE_LOGON_INFO:
425 ndr_print_PAC_LOGON_INFO_CTR(ndr, "logon_info", &r->logon_info);
426 break;
427
428 case PAC_TYPE_SRV_CHECKSUM:
429 ndr_print_PAC_SIGNATURE_DATA(ndr, "srv_cksum", &r->srv_cksum);
430 break;
431
432 case PAC_TYPE_KDC_CHECKSUM:
433 ndr_print_PAC_SIGNATURE_DATA(ndr, "kdc_cksum", &r->kdc_cksum);
434 break;
435
436 case PAC_TYPE_LOGON_NAME:
437 ndr_print_PAC_LOGON_NAME(ndr, "logon_name", &r->logon_name);
438 break;
439
440 default:
441 ndr_print_DATA_BLOB_REM(ndr, "unknown", &r->unknown);
442 break;
443
444 }
445}
446
447_PUBLIC_ size_t ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
448{
449 return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_PAC_INFO, ic);
450}
451
452_PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA *r)
453{
454 uint32_t cntr_buffers_0;
455 if (ndr_flags & NDR_SCALARS) {
456 NDR_CHECK(ndr_push_align(ndr, 5));
457 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
458 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
459 for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) {
460 NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
461 }
462 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
463 }
464 if (ndr_flags & NDR_BUFFERS) {
465 for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) {
466 NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
467 }
468 }
469 return NDR_ERR_SUCCESS;
470}
471
472_PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA *r)
473{
474 uint32_t size_buffers_0 = 0;
475 uint32_t cntr_buffers_0;
476 TALLOC_CTX *_mem_save_buffers_0;
477 if (ndr_flags & NDR_SCALARS) {
478 NDR_CHECK(ndr_pull_align(ndr, 5));
479 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
480 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
481 size_buffers_0 = r->num_buffers;
482 NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
483 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
484 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
485 for (cntr_buffers_0 = 0; cntr_buffers_0 < size_buffers_0; cntr_buffers_0++) {
486 NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
487 }
488 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
489 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
490 }
491 if (ndr_flags & NDR_BUFFERS) {
492 size_buffers_0 = r->num_buffers;
493 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
494 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
495 for (cntr_buffers_0 = 0; cntr_buffers_0 < size_buffers_0; cntr_buffers_0++) {
496 NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
497 }
498 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
499 }
500 return NDR_ERR_SUCCESS;
501}
502
503_PUBLIC_ void ndr_print_PAC_DATA(struct ndr_print *ndr, const char *name, const struct PAC_DATA *r)
504{
505 uint32_t cntr_buffers_0;
506 ndr_print_struct(ndr, name, "PAC_DATA");
507 ndr->depth++;
508 ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
509 ndr_print_uint32(ndr, "version", r->version);
510 ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers);
511 ndr->depth++;
512 for (cntr_buffers_0=0;cntr_buffers_0<r->num_buffers;cntr_buffers_0++) {
513 char *idx_0=NULL;
514 if (asprintf(&idx_0, "[%d]", cntr_buffers_0) != -1) {
515 ndr_print_PAC_BUFFER(ndr, "buffers", &r->buffers[cntr_buffers_0]);
516 free(idx_0);
517 }
518 }
519 ndr->depth--;
520 ndr->depth--;
521}
522
523_PUBLIC_ enum ndr_err_code ndr_push_PAC_BUFFER_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_BUFFER_RAW *r)
524{
525 if (ndr_flags & NDR_SCALARS) {
526 NDR_CHECK(ndr_push_align(ndr, 5));
527 NDR_CHECK(ndr_push_PAC_TYPE(ndr, NDR_SCALARS, r->type));
528 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ndr_size));
529 {
530 uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
531 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
532 NDR_CHECK(ndr_push_relative_ptr1(ndr, r->info));
533 ndr->flags = _flags_save_DATA_BLOB_REM;
534 }
535 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
536 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
537 }
538 if (ndr_flags & NDR_BUFFERS) {
539 {
540 uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
541 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
542 if (r->info) {
543 NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->info));
544 {
545 struct ndr_push *_ndr_info;
546 NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
547 NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
548 NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
549 }
550 NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->info));
551 }
552 ndr->flags = _flags_save_DATA_BLOB_REM;
553 }
554 }
555 return NDR_ERR_SUCCESS;
556}
557
558_PUBLIC_ enum ndr_err_code ndr_pull_PAC_BUFFER_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_BUFFER_RAW *r)
559{
560 uint32_t _ptr_info;
561 TALLOC_CTX *_mem_save_info_0;
562 if (ndr_flags & NDR_SCALARS) {
563 NDR_CHECK(ndr_pull_align(ndr, 5));
564 NDR_CHECK(ndr_pull_PAC_TYPE(ndr, NDR_SCALARS, &r->type));
565 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ndr_size));
566 {
567 uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
568 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
569 NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
570 if (_ptr_info) {
571 NDR_PULL_ALLOC(ndr, r->info);
572 NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->info, _ptr_info));
573 } else {
574 r->info = NULL;
575 }
576 ndr->flags = _flags_save_DATA_BLOB_REM;
577 }
578 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
579 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
580 }
581 if (ndr_flags & NDR_BUFFERS) {
582 {
583 uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
584 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
585 if (r->info) {
586 uint32_t _relative_save_offset;
587 _relative_save_offset = ndr->offset;
588 NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->info));
589 _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
590 NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
591 {
592 struct ndr_pull *_ndr_info;
593 NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
594 NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
595 NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
596 }
597 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
598 ndr->offset = _relative_save_offset;
599 }
600 ndr->flags = _flags_save_DATA_BLOB_REM;
601 }
602 }
603 return NDR_ERR_SUCCESS;
604}
605
606_PUBLIC_ void ndr_print_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER_RAW *r)
607{
608 ndr_print_struct(ndr, name, "PAC_BUFFER_RAW");
609 ndr->depth++;
610 ndr_print_PAC_TYPE(ndr, "type", r->type);
611 ndr_print_uint32(ndr, "ndr_size", r->ndr_size);
612 ndr_print_ptr(ndr, "info", r->info);
613 ndr->depth++;
614 if (r->info) {
615 ndr_print_DATA_BLOB_REM(ndr, "info", r->info);
616 }
617 ndr->depth--;
618 ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
619 ndr->depth--;
620}
621
622_PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA_RAW *r)
623{
624 uint32_t cntr_buffers_0;
625 if (ndr_flags & NDR_SCALARS) {
626 NDR_CHECK(ndr_push_align(ndr, 5));
627 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
628 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
629 for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) {
630 NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
631 }
632 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
633 }
634 if (ndr_flags & NDR_BUFFERS) {
635 for (cntr_buffers_0 = 0; cntr_buffers_0 < r->num_buffers; cntr_buffers_0++) {
636 NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
637 }
638 }
639 return NDR_ERR_SUCCESS;
640}
641
642_PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA_RAW *r)
643{
644 uint32_t size_buffers_0 = 0;
645 uint32_t cntr_buffers_0;
646 TALLOC_CTX *_mem_save_buffers_0;
647 if (ndr_flags & NDR_SCALARS) {
648 NDR_CHECK(ndr_pull_align(ndr, 5));
649 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
650 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
651 size_buffers_0 = r->num_buffers;
652 NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
653 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
654 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
655 for (cntr_buffers_0 = 0; cntr_buffers_0 < size_buffers_0; cntr_buffers_0++) {
656 NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
657 }
658 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
659 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
660 }
661 if (ndr_flags & NDR_BUFFERS) {
662 size_buffers_0 = r->num_buffers;
663 _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
664 NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
665 for (cntr_buffers_0 = 0; cntr_buffers_0 < size_buffers_0; cntr_buffers_0++) {
666 NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
667 }
668 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
669 }
670 return NDR_ERR_SUCCESS;
671}
672
673_PUBLIC_ void ndr_print_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, const struct PAC_DATA_RAW *r)
674{
675 uint32_t cntr_buffers_0;
676 ndr_print_struct(ndr, name, "PAC_DATA_RAW");
677 ndr->depth++;
678 ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
679 ndr_print_uint32(ndr, "version", r->version);
680 ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers);
681 ndr->depth++;
682 for (cntr_buffers_0=0;cntr_buffers_0<r->num_buffers;cntr_buffers_0++) {
683 char *idx_0=NULL;
684 if (asprintf(&idx_0, "[%d]", cntr_buffers_0) != -1) {
685 ndr_print_PAC_BUFFER_RAW(ndr, "buffers", &r->buffers[cntr_buffers_0]);
686 free(idx_0);
687 }
688 }
689 ndr->depth--;
690 ndr->depth--;
691}
692
693_PUBLIC_ enum ndr_err_code ndr_push_PAC_Validate(struct ndr_push *ndr, int ndr_flags, const struct PAC_Validate *r)
694{
695 if (ndr_flags & NDR_SCALARS) {
696 NDR_CHECK(ndr_push_align(ndr, 4));
697 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, NETLOGON_GENERIC_KRB5_PAC_VALIDATE));
698 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ChecksumLength));
699 NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->SignatureType));
700 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SignatureLength));
701 {
702 uint32_t _flags_save_DATA_BLOB = ndr->flags;
703 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
704 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->ChecksumAndSignature));
705 ndr->flags = _flags_save_DATA_BLOB;
706 }
707 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
708 }
709 if (ndr_flags & NDR_BUFFERS) {
710 }
711 return NDR_ERR_SUCCESS;
712}
713
714_PUBLIC_ enum ndr_err_code ndr_pull_PAC_Validate(struct ndr_pull *ndr, int ndr_flags, struct PAC_Validate *r)
715{
716 if (ndr_flags & NDR_SCALARS) {
717 NDR_CHECK(ndr_pull_align(ndr, 4));
718 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MessageType));
719 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ChecksumLength));
720 NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->SignatureType));
721 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SignatureLength));
722 {
723 uint32_t _flags_save_DATA_BLOB = ndr->flags;
724 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
725 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->ChecksumAndSignature));
726 ndr->flags = _flags_save_DATA_BLOB;
727 }
728 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
729 }
730 if (ndr_flags & NDR_BUFFERS) {
731 }
732 return NDR_ERR_SUCCESS;
733}
734
735_PUBLIC_ void ndr_print_PAC_Validate(struct ndr_print *ndr, const char *name, const struct PAC_Validate *r)
736{
737 ndr_print_struct(ndr, name, "PAC_Validate");
738 ndr->depth++;
739 ndr_print_uint32(ndr, "MessageType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NETLOGON_GENERIC_KRB5_PAC_VALIDATE:r->MessageType);
740 ndr_print_uint32(ndr, "ChecksumLength", r->ChecksumLength);
741 ndr_print_int32(ndr, "SignatureType", r->SignatureType);
742 ndr_print_uint32(ndr, "SignatureLength", r->SignatureLength);
743 ndr_print_DATA_BLOB(ndr, "ChecksumAndSignature", r->ChecksumAndSignature);
744 ndr->depth--;
745}
746
747_PUBLIC_ enum ndr_err_code ndr_push_netsamlogoncache_entry(struct ndr_push *ndr, int ndr_flags, const struct netsamlogoncache_entry *r)
748{
749 if (ndr_flags & NDR_SCALARS) {
750 NDR_CHECK(ndr_push_align(ndr, 5));
751 NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
752 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
753 NDR_CHECK(ndr_push_trailer_align(ndr, 5));
754 }
755 if (ndr_flags & NDR_BUFFERS) {
756 NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
757 }
758 return NDR_ERR_SUCCESS;
759}
760
761_PUBLIC_ enum ndr_err_code ndr_pull_netsamlogoncache_entry(struct ndr_pull *ndr, int ndr_flags, struct netsamlogoncache_entry *r)
762{
763 if (ndr_flags & NDR_SCALARS) {
764 NDR_CHECK(ndr_pull_align(ndr, 5));
765 NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
766 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
767 NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
768 }
769 if (ndr_flags & NDR_BUFFERS) {
770 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
771 }
772 return NDR_ERR_SUCCESS;
773}
774
775_PUBLIC_ void ndr_print_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, const struct netsamlogoncache_entry *r)
776{
777 ndr_print_struct(ndr, name, "netsamlogoncache_entry");
778 ndr->depth++;
779 ndr_print_time_t(ndr, "timestamp", r->timestamp);
780 ndr_print_netr_SamInfo3(ndr, "info3", &r->info3);
781 ndr->depth--;
782}
783
784static enum ndr_err_code ndr_push_decode_pac(struct ndr_push *ndr, int flags, const struct decode_pac *r)
785{
786 if (flags & NDR_IN) {
787 NDR_CHECK(ndr_push_PAC_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.pac));
788 }
789 if (flags & NDR_OUT) {
790 }
791 return NDR_ERR_SUCCESS;
792}
793
794static enum ndr_err_code ndr_pull_decode_pac(struct ndr_pull *ndr, int flags, struct decode_pac *r)
795{
796 if (flags & NDR_IN) {
797 NDR_CHECK(ndr_pull_PAC_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.pac));
798 }
799 if (flags & NDR_OUT) {
800 }
801 return NDR_ERR_SUCCESS;
802}
803
804_PUBLIC_ void ndr_print_decode_pac(struct ndr_print *ndr, const char *name, int flags, const struct decode_pac *r)
805{
806 ndr_print_struct(ndr, name, "decode_pac");
807 ndr->depth++;
808 if (flags & NDR_SET_VALUES) {
809 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
810 }
811 if (flags & NDR_IN) {
812 ndr_print_struct(ndr, "in", "decode_pac");
813 ndr->depth++;
814 ndr_print_PAC_DATA(ndr, "pac", &r->in.pac);
815 ndr->depth--;
816 }
817 if (flags & NDR_OUT) {
818 ndr_print_struct(ndr, "out", "decode_pac");
819 ndr->depth++;
820 ndr->depth--;
821 }
822 ndr->depth--;
823}
824
825static enum ndr_err_code ndr_push_decode_pac_raw(struct ndr_push *ndr, int flags, const struct decode_pac_raw *r)
826{
827 if (flags & NDR_IN) {
828 NDR_CHECK(ndr_push_PAC_DATA_RAW(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.pac));
829 }
830 if (flags & NDR_OUT) {
831 }
832 return NDR_ERR_SUCCESS;
833}
834
835static enum ndr_err_code ndr_pull_decode_pac_raw(struct ndr_pull *ndr, int flags, struct decode_pac_raw *r)
836{
837 if (flags & NDR_IN) {
838 NDR_CHECK(ndr_pull_PAC_DATA_RAW(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.pac));
839 }
840 if (flags & NDR_OUT) {
841 }
842 return NDR_ERR_SUCCESS;
843}
844
845_PUBLIC_ void ndr_print_decode_pac_raw(struct ndr_print *ndr, const char *name, int flags, const struct decode_pac_raw *r)
846{
847 ndr_print_struct(ndr, name, "decode_pac_raw");
848 ndr->depth++;
849 if (flags & NDR_SET_VALUES) {
850 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
851 }
852 if (flags & NDR_IN) {
853 ndr_print_struct(ndr, "in", "decode_pac_raw");
854 ndr->depth++;
855 ndr_print_PAC_DATA_RAW(ndr, "pac", &r->in.pac);
856 ndr->depth--;
857 }
858 if (flags & NDR_OUT) {
859 ndr_print_struct(ndr, "out", "decode_pac_raw");
860 ndr->depth++;
861 ndr->depth--;
862 }
863 ndr->depth--;
864}
865
866static enum ndr_err_code ndr_push_decode_login_info(struct ndr_push *ndr, int flags, const struct decode_login_info *r)
867{
868 if (flags & NDR_IN) {
869 NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon_info));
870 }
871 if (flags & NDR_OUT) {
872 }
873 return NDR_ERR_SUCCESS;
874}
875
876static enum ndr_err_code ndr_pull_decode_login_info(struct ndr_pull *ndr, int flags, struct decode_login_info *r)
877{
878 if (flags & NDR_IN) {
879 NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.logon_info));
880 }
881 if (flags & NDR_OUT) {
882 }
883 return NDR_ERR_SUCCESS;
884}
885
886_PUBLIC_ void ndr_print_decode_login_info(struct ndr_print *ndr, const char *name, int flags, const struct decode_login_info *r)
887{
888 ndr_print_struct(ndr, name, "decode_login_info");
889 ndr->depth++;
890 if (flags & NDR_SET_VALUES) {
891 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
892 }
893 if (flags & NDR_IN) {
894 ndr_print_struct(ndr, "in", "decode_login_info");
895 ndr->depth++;
896 ndr_print_PAC_LOGON_INFO(ndr, "logon_info", &r->in.logon_info);
897 ndr->depth--;
898 }
899 if (flags & NDR_OUT) {
900 ndr_print_struct(ndr, "out", "decode_login_info");
901 ndr->depth++;
902 ndr->depth--;
903 }
904 ndr->depth--;
905}
906
907static enum ndr_err_code ndr_push_decode_pac_validate(struct ndr_push *ndr, int flags, const struct decode_pac_validate *r)
908{
909 if (flags & NDR_IN) {
910 NDR_CHECK(ndr_push_PAC_Validate(ndr, NDR_SCALARS, &r->in.pac_validate));
911 }
912 if (flags & NDR_OUT) {
913 }
914 return NDR_ERR_SUCCESS;
915}
916
917static enum ndr_err_code ndr_pull_decode_pac_validate(struct ndr_pull *ndr, int flags, struct decode_pac_validate *r)
918{
919 if (flags & NDR_IN) {
920 NDR_CHECK(ndr_pull_PAC_Validate(ndr, NDR_SCALARS, &r->in.pac_validate));
921 }
922 if (flags & NDR_OUT) {
923 }
924 return NDR_ERR_SUCCESS;
925}
926
927_PUBLIC_ void ndr_print_decode_pac_validate(struct ndr_print *ndr, const char *name, int flags, const struct decode_pac_validate *r)
928{
929 ndr_print_struct(ndr, name, "decode_pac_validate");
930 ndr->depth++;
931 if (flags & NDR_SET_VALUES) {
932 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
933 }
934 if (flags & NDR_IN) {
935 ndr_print_struct(ndr, "in", "decode_pac_validate");
936 ndr->depth++;
937 ndr_print_PAC_Validate(ndr, "pac_validate", &r->in.pac_validate);
938 ndr->depth--;
939 }
940 if (flags & NDR_OUT) {
941 ndr_print_struct(ndr, "out", "decode_pac_validate");
942 ndr->depth++;
943 ndr->depth--;
944 }
945 ndr->depth--;
946}
947
948static const struct ndr_interface_call krb5pac_calls[] = {
949 {
950 "decode_pac",
951 sizeof(struct decode_pac),
952 (ndr_push_flags_fn_t) ndr_push_decode_pac,
953 (ndr_pull_flags_fn_t) ndr_pull_decode_pac,
954 (ndr_print_function_t) ndr_print_decode_pac,
955 false,
956 },
957 {
958 "decode_pac_raw",
959 sizeof(struct decode_pac_raw),
960 (ndr_push_flags_fn_t) ndr_push_decode_pac_raw,
961 (ndr_pull_flags_fn_t) ndr_pull_decode_pac_raw,
962 (ndr_print_function_t) ndr_print_decode_pac_raw,
963 false,
964 },
965 {
966 "decode_login_info",
967 sizeof(struct decode_login_info),
968 (ndr_push_flags_fn_t) ndr_push_decode_login_info,
969 (ndr_pull_flags_fn_t) ndr_pull_decode_login_info,
970 (ndr_print_function_t) ndr_print_decode_login_info,
971 false,
972 },
973 {
974 "decode_pac_validate",
975 sizeof(struct decode_pac_validate),
976 (ndr_push_flags_fn_t) ndr_push_decode_pac_validate,
977 (ndr_pull_flags_fn_t) ndr_pull_decode_pac_validate,
978 (ndr_print_function_t) ndr_print_decode_pac_validate,
979 false,
980 },
981 { NULL, 0, NULL, NULL, NULL, false }
982};
983
984static const char * const krb5pac_endpoint_strings[] = {
985 "ncacn_np:[\\pipe\\krb5pac]",
986};
987
988static const struct ndr_interface_string_array krb5pac_endpoints = {
989 .count = 1,
990 .names = krb5pac_endpoint_strings
991};
992
993static const char * const krb5pac_authservice_strings[] = {
994 "host",
995};
996
997static const struct ndr_interface_string_array krb5pac_authservices = {
998 .count = 1,
999 .names = krb5pac_authservice_strings
1000};
1001
1002
1003const struct ndr_interface_table ndr_table_krb5pac = {
1004 .name = "krb5pac",
1005 .syntax_id = {
1006 {0x12345778,0x1234,0xabcd,{0x00,0x00},{0x00,0x00,0x00,0x00}},
1007 NDR_KRB5PAC_VERSION
1008 },
1009 .helpstring = NDR_KRB5PAC_HELPSTRING,
1010 .num_calls = 4,
1011 .calls = krb5pac_calls,
1012 .endpoints = &krb5pac_endpoints,
1013 .authservices = &krb5pac_authservices
1014};
1015
Note: See TracBrowser for help on using the repository browser.