1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_krb5pac.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 #include "librpc/gen_ndr/ndr_netlogon.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 static enum ndr_err_code
ndr_push_PAC_LOGON_NAME(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_LOGON_NAME
*r
)
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));
18 if (ndr_flags
& NDR_BUFFERS
) {
20 return NDR_ERR_SUCCESS
;
23 static enum ndr_err_code
ndr_pull_PAC_LOGON_NAME(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_LOGON_NAME
*r
)
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));
34 if (ndr_flags
& NDR_BUFFERS
) {
36 return NDR_ERR_SUCCESS
;
39 _PUBLIC_
void ndr_print_PAC_LOGON_NAME(struct ndr_print
*ndr
, const char *name
, const struct PAC_LOGON_NAME
*r
)
41 ndr_print_struct(ndr
, name
, "PAC_LOGON_NAME");
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
);
49 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_SIGNATURE_DATA(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_SIGNATURE_DATA
*r
)
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
));
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
;
63 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
65 if (ndr_flags
& NDR_BUFFERS
) {
67 ndr
->flags
= _flags_save_STRUCT
;
69 return NDR_ERR_SUCCESS
;
72 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_SIGNATURE_DATA(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_SIGNATURE_DATA
*r
)
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
));
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
;
86 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
88 if (ndr_flags
& NDR_BUFFERS
) {
90 ndr
->flags
= _flags_save_STRUCT
;
92 return NDR_ERR_SUCCESS
;
95 _PUBLIC_
void ndr_print_PAC_SIGNATURE_DATA(struct ndr_print
*ndr
, const char *name
, const struct PAC_SIGNATURE_DATA
*r
)
97 ndr_print_struct(ndr
, name
, "PAC_SIGNATURE_DATA");
99 uint32_t _flags_save_STRUCT
= ndr
->flags
;
100 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
102 ndr_print_uint32(ndr
, "type", r
->type
);
103 ndr_print_DATA_BLOB(ndr
, "signature", r
->signature
);
105 ndr
->flags
= _flags_save_STRUCT
;
109 static enum ndr_err_code
ndr_push_PAC_LOGON_INFO(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_LOGON_INFO
*r
)
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));
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
));
123 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr
, NDR_BUFFERS
, &r
->res_groups
));
125 return NDR_ERR_SUCCESS
;
128 static enum ndr_err_code
ndr_pull_PAC_LOGON_INFO(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_LOGON_INFO
*r
)
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
);
139 r
->res_group_dom_sid
= NULL
;
141 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
, &r
->res_groups
));
142 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
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);
152 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr
, NDR_BUFFERS
, &r
->res_groups
));
154 return NDR_ERR_SUCCESS
;
157 _PUBLIC_
void ndr_print_PAC_LOGON_INFO(struct ndr_print
*ndr
, const char *name
, const struct PAC_LOGON_INFO
*r
)
159 ndr_print_struct(ndr
, name
, "PAC_LOGON_INFO");
161 ndr_print_netr_SamInfo3(ndr
, "info3", &r
->info3
);
162 ndr_print_ptr(ndr
, "res_group_dom_sid", r
->res_group_dom_sid
);
164 if (r
->res_group_dom_sid
) {
165 ndr_print_dom_sid2(ndr
, "res_group_dom_sid", r
->res_group_dom_sid
);
168 ndr_print_samr_RidWithAttributeArray(ndr
, "res_groups", &r
->res_groups
);
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
)
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));
179 if (ndr_flags
& NDR_BUFFERS
) {
181 NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
184 return NDR_ERR_SUCCESS
;
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
)
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
));
195 NDR_PULL_ALLOC(ndr
, r
->info
);
199 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
201 if (ndr_flags
& NDR_BUFFERS
) {
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);
209 return NDR_ERR_SUCCESS
;
212 _PUBLIC_
void ndr_print_PAC_LOGON_INFO_CTR(struct ndr_print
*ndr
, const char *name
, const struct PAC_LOGON_INFO_CTR
*r
)
214 ndr_print_struct(ndr
, name
, "PAC_LOGON_INFO_CTR");
216 ndr_print_ptr(ndr
, "info", r
->info
);
219 ndr_print_PAC_LOGON_INFO(ndr
, "info", r
->info
);
225 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_TYPE(struct ndr_push
*ndr
, int ndr_flags
, enum PAC_TYPE r
)
227 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
228 return NDR_ERR_SUCCESS
;
231 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_TYPE(struct ndr_pull
*ndr
, int ndr_flags
, enum PAC_TYPE
*r
)
234 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
236 return NDR_ERR_SUCCESS
;
239 _PUBLIC_
void ndr_print_PAC_TYPE(struct ndr_print
*ndr
, const char *name
, enum PAC_TYPE r
)
241 const char *val
= NULL
;
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;
251 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
254 static enum ndr_err_code
ndr_push_DATA_BLOB_REM(struct ndr_push
*ndr
, int ndr_flags
, const struct DATA_BLOB_REM
*r
)
256 if (ndr_flags
& NDR_SCALARS
) {
257 NDR_CHECK(ndr_push_align(ndr
, 4));
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
;
264 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
266 if (ndr_flags
& NDR_BUFFERS
) {
268 return NDR_ERR_SUCCESS
;
271 static enum ndr_err_code
ndr_pull_DATA_BLOB_REM(struct ndr_pull
*ndr
, int ndr_flags
, struct DATA_BLOB_REM
*r
)
273 if (ndr_flags
& NDR_SCALARS
) {
274 NDR_CHECK(ndr_pull_align(ndr
, 4));
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
;
281 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
283 if (ndr_flags
& NDR_BUFFERS
) {
285 return NDR_ERR_SUCCESS
;
288 _PUBLIC_
void ndr_print_DATA_BLOB_REM(struct ndr_print
*ndr
, const char *name
, const struct DATA_BLOB_REM
*r
)
290 ndr_print_struct(ndr
, name
, "DATA_BLOB_REM");
292 ndr_print_DATA_BLOB(ndr
, "remaining", r
->remaining
);
296 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_INFO(struct ndr_push
*ndr
, int ndr_flags
, const union PAC_INFO
*r
)
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));
302 case PAC_TYPE_LOGON_INFO
: {
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));
311 case PAC_TYPE_SRV_CHECKSUM
: {
312 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr
, NDR_SCALARS
, &r
->srv_cksum
));
315 case PAC_TYPE_KDC_CHECKSUM
: {
316 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr
, NDR_SCALARS
, &r
->kdc_cksum
));
319 case PAC_TYPE_LOGON_NAME
: {
320 NDR_CHECK(ndr_push_PAC_LOGON_NAME(ndr
, NDR_SCALARS
, &r
->logon_name
));
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));
334 if (ndr_flags
& NDR_BUFFERS
) {
335 int level
= ndr_push_get_switch_value(ndr
, r
);
337 case PAC_TYPE_LOGON_INFO
:
340 case PAC_TYPE_SRV_CHECKSUM
:
343 case PAC_TYPE_KDC_CHECKSUM
:
346 case PAC_TYPE_LOGON_NAME
:
354 return NDR_ERR_SUCCESS
;
357 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_INFO(struct ndr_pull
*ndr
, int ndr_flags
, union PAC_INFO
*r
)
360 level
= ndr_pull_get_switch_value(ndr
, r
);
361 if (ndr_flags
& NDR_SCALARS
) {
362 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
364 case PAC_TYPE_LOGON_INFO
: {
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));
373 case PAC_TYPE_SRV_CHECKSUM
: {
374 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr
, NDR_SCALARS
, &r
->srv_cksum
));
377 case PAC_TYPE_KDC_CHECKSUM
: {
378 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr
, NDR_SCALARS
, &r
->kdc_cksum
));
381 case PAC_TYPE_LOGON_NAME
: {
382 NDR_CHECK(ndr_pull_PAC_LOGON_NAME(ndr
, NDR_SCALARS
, &r
->logon_name
));
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));
396 if (ndr_flags
& NDR_BUFFERS
) {
398 case PAC_TYPE_LOGON_INFO
:
401 case PAC_TYPE_SRV_CHECKSUM
:
404 case PAC_TYPE_KDC_CHECKSUM
:
407 case PAC_TYPE_LOGON_NAME
:
415 return NDR_ERR_SUCCESS
;
418 _PUBLIC_
void ndr_print_PAC_INFO(struct ndr_print
*ndr
, const char *name
, const union PAC_INFO
*r
)
421 level
= ndr_print_get_switch_value(ndr
, r
);
422 ndr_print_union(ndr
, name
, level
, "PAC_INFO");
424 case PAC_TYPE_LOGON_INFO
:
425 ndr_print_PAC_LOGON_INFO_CTR(ndr
, "logon_info", &r
->logon_info
);
428 case PAC_TYPE_SRV_CHECKSUM
:
429 ndr_print_PAC_SIGNATURE_DATA(ndr
, "srv_cksum", &r
->srv_cksum
);
432 case PAC_TYPE_KDC_CHECKSUM
:
433 ndr_print_PAC_SIGNATURE_DATA(ndr
, "kdc_cksum", &r
->kdc_cksum
);
436 case PAC_TYPE_LOGON_NAME
:
437 ndr_print_PAC_LOGON_NAME(ndr
, "logon_name", &r
->logon_name
);
441 ndr_print_DATA_BLOB_REM(ndr
, "unknown", &r
->unknown
);
447 _PUBLIC_
size_t ndr_size_PAC_INFO(const union PAC_INFO
*r
, uint32_t level
, struct smb_iconv_convenience
*ic
, int flags
)
449 return ndr_size_union(r
, flags
, level
, (ndr_push_flags_fn_t
)ndr_push_PAC_INFO
, ic
);
452 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_DATA(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_DATA
*r
)
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
]));
462 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
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
]));
469 return NDR_ERR_SUCCESS
;
472 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_DATA(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_DATA
*r
)
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
]));
488 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_0
, 0);
489 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
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
]));
498 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_0
, 0);
500 return NDR_ERR_SUCCESS
;
503 _PUBLIC_
void ndr_print_PAC_DATA(struct ndr_print
*ndr
, const char *name
, const struct PAC_DATA
*r
)
505 uint32_t cntr_buffers_0
;
506 ndr_print_struct(ndr
, name
, "PAC_DATA");
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
);
512 for (cntr_buffers_0
=0;cntr_buffers_0
<r
->num_buffers
;cntr_buffers_0
++) {
514 if (asprintf(&idx_0
, "[%d]", cntr_buffers_0
) != -1) {
515 ndr_print_PAC_BUFFER(ndr
, "buffers", &r
->buffers
[cntr_buffers_0
]);
523 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_BUFFER_RAW(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_BUFFER_RAW
*r
)
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
));
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
;
535 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
536 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
538 if (ndr_flags
& NDR_BUFFERS
) {
540 uint32_t _flags_save_DATA_BLOB_REM
= ndr
->flags
;
541 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN8
);
543 NDR_CHECK(ndr_push_relative_ptr2_start(ndr
, r
->info
));
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)));
550 NDR_CHECK(ndr_push_relative_ptr2_end(ndr
, r
->info
));
552 ndr
->flags
= _flags_save_DATA_BLOB_REM
;
555 return NDR_ERR_SUCCESS
;
558 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_BUFFER_RAW(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_BUFFER_RAW
*r
)
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
));
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
));
571 NDR_PULL_ALLOC(ndr
, r
->info
);
572 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->info
, _ptr_info
));
576 ndr
->flags
= _flags_save_DATA_BLOB_REM
;
578 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->_pad
));
579 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
581 if (ndr_flags
& NDR_BUFFERS
) {
583 uint32_t _flags_save_DATA_BLOB_REM
= ndr
->flags
;
584 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN8
);
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);
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)));
597 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
598 ndr
->offset
= _relative_save_offset
;
600 ndr
->flags
= _flags_save_DATA_BLOB_REM
;
603 return NDR_ERR_SUCCESS
;
606 _PUBLIC_
void ndr_print_PAC_BUFFER_RAW(struct ndr_print
*ndr
, const char *name
, const struct PAC_BUFFER_RAW
*r
)
608 ndr_print_struct(ndr
, name
, "PAC_BUFFER_RAW");
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
);
615 ndr_print_DATA_BLOB_REM(ndr
, "info", r
->info
);
618 ndr_print_uint32(ndr
, "_pad", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->_pad
);
622 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_DATA_RAW(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_DATA_RAW
*r
)
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
]));
632 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
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
]));
639 return NDR_ERR_SUCCESS
;
642 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_DATA_RAW(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_DATA_RAW
*r
)
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
]));
658 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_0
, 0);
659 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
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
]));
668 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_0
, 0);
670 return NDR_ERR_SUCCESS
;
673 _PUBLIC_
void ndr_print_PAC_DATA_RAW(struct ndr_print
*ndr
, const char *name
, const struct PAC_DATA_RAW
*r
)
675 uint32_t cntr_buffers_0
;
676 ndr_print_struct(ndr
, name
, "PAC_DATA_RAW");
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
);
682 for (cntr_buffers_0
=0;cntr_buffers_0
<r
->num_buffers
;cntr_buffers_0
++) {
684 if (asprintf(&idx_0
, "[%d]", cntr_buffers_0
) != -1) {
685 ndr_print_PAC_BUFFER_RAW(ndr
, "buffers", &r
->buffers
[cntr_buffers_0
]);
693 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_Validate(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_Validate
*r
)
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
));
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
;
707 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
709 if (ndr_flags
& NDR_BUFFERS
) {
711 return NDR_ERR_SUCCESS
;
714 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_Validate(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_Validate
*r
)
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
));
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
;
728 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
730 if (ndr_flags
& NDR_BUFFERS
) {
732 return NDR_ERR_SUCCESS
;
735 _PUBLIC_
void ndr_print_PAC_Validate(struct ndr_print
*ndr
, const char *name
, const struct PAC_Validate
*r
)
737 ndr_print_struct(ndr
, name
, "PAC_Validate");
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
);
747 _PUBLIC_
enum ndr_err_code
ndr_push_netsamlogoncache_entry(struct ndr_push
*ndr
, int ndr_flags
, const struct netsamlogoncache_entry
*r
)
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));
755 if (ndr_flags
& NDR_BUFFERS
) {
756 NDR_CHECK(ndr_push_netr_SamInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
758 return NDR_ERR_SUCCESS
;
761 _PUBLIC_
enum ndr_err_code
ndr_pull_netsamlogoncache_entry(struct ndr_pull
*ndr
, int ndr_flags
, struct netsamlogoncache_entry
*r
)
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));
769 if (ndr_flags
& NDR_BUFFERS
) {
770 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
772 return NDR_ERR_SUCCESS
;
775 _PUBLIC_
void ndr_print_netsamlogoncache_entry(struct ndr_print
*ndr
, const char *name
, const struct netsamlogoncache_entry
*r
)
777 ndr_print_struct(ndr
, name
, "netsamlogoncache_entry");
779 ndr_print_time_t(ndr
, "timestamp", r
->timestamp
);
780 ndr_print_netr_SamInfo3(ndr
, "info3", &r
->info3
);
784 static enum ndr_err_code
ndr_push_decode_pac(struct ndr_push
*ndr
, int flags
, const struct decode_pac
*r
)
786 if (flags
& NDR_IN
) {
787 NDR_CHECK(ndr_push_PAC_DATA(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.pac
));
789 if (flags
& NDR_OUT
) {
791 return NDR_ERR_SUCCESS
;
794 static enum ndr_err_code
ndr_pull_decode_pac(struct ndr_pull
*ndr
, int flags
, struct decode_pac
*r
)
796 if (flags
& NDR_IN
) {
797 NDR_CHECK(ndr_pull_PAC_DATA(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.pac
));
799 if (flags
& NDR_OUT
) {
801 return NDR_ERR_SUCCESS
;
804 _PUBLIC_
void ndr_print_decode_pac(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_pac
*r
)
806 ndr_print_struct(ndr
, name
, "decode_pac");
808 if (flags
& NDR_SET_VALUES
) {
809 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
811 if (flags
& NDR_IN
) {
812 ndr_print_struct(ndr
, "in", "decode_pac");
814 ndr_print_PAC_DATA(ndr
, "pac", &r
->in
.pac
);
817 if (flags
& NDR_OUT
) {
818 ndr_print_struct(ndr
, "out", "decode_pac");
825 static enum ndr_err_code
ndr_push_decode_pac_raw(struct ndr_push
*ndr
, int flags
, const struct decode_pac_raw
*r
)
827 if (flags
& NDR_IN
) {
828 NDR_CHECK(ndr_push_PAC_DATA_RAW(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.pac
));
830 if (flags
& NDR_OUT
) {
832 return NDR_ERR_SUCCESS
;
835 static enum ndr_err_code
ndr_pull_decode_pac_raw(struct ndr_pull
*ndr
, int flags
, struct decode_pac_raw
*r
)
837 if (flags
& NDR_IN
) {
838 NDR_CHECK(ndr_pull_PAC_DATA_RAW(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.pac
));
840 if (flags
& NDR_OUT
) {
842 return NDR_ERR_SUCCESS
;
845 _PUBLIC_
void ndr_print_decode_pac_raw(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_pac_raw
*r
)
847 ndr_print_struct(ndr
, name
, "decode_pac_raw");
849 if (flags
& NDR_SET_VALUES
) {
850 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
852 if (flags
& NDR_IN
) {
853 ndr_print_struct(ndr
, "in", "decode_pac_raw");
855 ndr_print_PAC_DATA_RAW(ndr
, "pac", &r
->in
.pac
);
858 if (flags
& NDR_OUT
) {
859 ndr_print_struct(ndr
, "out", "decode_pac_raw");
866 static enum ndr_err_code
ndr_push_decode_login_info(struct ndr_push
*ndr
, int flags
, const struct decode_login_info
*r
)
868 if (flags
& NDR_IN
) {
869 NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.logon_info
));
871 if (flags
& NDR_OUT
) {
873 return NDR_ERR_SUCCESS
;
876 static enum ndr_err_code
ndr_pull_decode_login_info(struct ndr_pull
*ndr
, int flags
, struct decode_login_info
*r
)
878 if (flags
& NDR_IN
) {
879 NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.logon_info
));
881 if (flags
& NDR_OUT
) {
883 return NDR_ERR_SUCCESS
;
886 _PUBLIC_
void ndr_print_decode_login_info(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_login_info
*r
)
888 ndr_print_struct(ndr
, name
, "decode_login_info");
890 if (flags
& NDR_SET_VALUES
) {
891 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
893 if (flags
& NDR_IN
) {
894 ndr_print_struct(ndr
, "in", "decode_login_info");
896 ndr_print_PAC_LOGON_INFO(ndr
, "logon_info", &r
->in
.logon_info
);
899 if (flags
& NDR_OUT
) {
900 ndr_print_struct(ndr
, "out", "decode_login_info");
907 static enum ndr_err_code
ndr_push_decode_pac_validate(struct ndr_push
*ndr
, int flags
, const struct decode_pac_validate
*r
)
909 if (flags
& NDR_IN
) {
910 NDR_CHECK(ndr_push_PAC_Validate(ndr
, NDR_SCALARS
, &r
->in
.pac_validate
));
912 if (flags
& NDR_OUT
) {
914 return NDR_ERR_SUCCESS
;
917 static enum ndr_err_code
ndr_pull_decode_pac_validate(struct ndr_pull
*ndr
, int flags
, struct decode_pac_validate
*r
)
919 if (flags
& NDR_IN
) {
920 NDR_CHECK(ndr_pull_PAC_Validate(ndr
, NDR_SCALARS
, &r
->in
.pac_validate
));
922 if (flags
& NDR_OUT
) {
924 return NDR_ERR_SUCCESS
;
927 _PUBLIC_
void ndr_print_decode_pac_validate(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_pac_validate
*r
)
929 ndr_print_struct(ndr
, name
, "decode_pac_validate");
931 if (flags
& NDR_SET_VALUES
) {
932 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
934 if (flags
& NDR_IN
) {
935 ndr_print_struct(ndr
, "in", "decode_pac_validate");
937 ndr_print_PAC_Validate(ndr
, "pac_validate", &r
->in
.pac_validate
);
940 if (flags
& NDR_OUT
) {
941 ndr_print_struct(ndr
, "out", "decode_pac_validate");
948 static const struct ndr_interface_call krb5pac_calls
[] = {
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
,
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
,
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
,
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
,
981 { NULL
, 0, NULL
, NULL
, NULL
, false }
984 static const char * const krb5pac_endpoint_strings
[] = {
985 "ncacn_np:[\\pipe\\krb5pac]",
988 static const struct ndr_interface_string_array krb5pac_endpoints
= {
990 .names
= krb5pac_endpoint_strings
993 static const char * const krb5pac_authservice_strings
[] = {
997 static const struct ndr_interface_string_array krb5pac_authservices
= {
999 .names
= krb5pac_authservice_strings
1003 const struct ndr_interface_table ndr_table_krb5pac
= {
1006 {0x12345778,0x1234,0xabcd,{0x00,0x00},{0x00,0x00,0x00,0x00}},
1009 .helpstring
= NDR_KRB5PAC_HELPSTRING
,
1011 .calls
= krb5pac_calls
,
1012 .endpoints
= &krb5pac_endpoints
,
1013 .authservices
= &krb5pac_authservices