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 if (ndr_flags
& NDR_SCALARS
) {
26 NDR_CHECK(ndr_pull_align(ndr
, 4));
27 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->logon_time
));
28 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->size
));
29 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->account_name
, r
->size
, sizeof(uint8_t), CH_UTF16
));
30 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
32 if (ndr_flags
& NDR_BUFFERS
) {
34 return NDR_ERR_SUCCESS
;
37 _PUBLIC_
void ndr_print_PAC_LOGON_NAME(struct ndr_print
*ndr
, const char *name
, const struct PAC_LOGON_NAME
*r
)
39 ndr_print_struct(ndr
, name
, "PAC_LOGON_NAME");
41 ndr_print_NTTIME(ndr
, "logon_time", r
->logon_time
);
42 ndr_print_uint16(ndr
, "size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2 * strlen_m(r
->account_name
):r
->size
);
43 ndr_print_string(ndr
, "account_name", r
->account_name
);
47 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_SIGNATURE_DATA(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_SIGNATURE_DATA
*r
)
50 uint32_t _flags_save_STRUCT
= ndr
->flags
;
51 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
52 if (ndr_flags
& NDR_SCALARS
) {
53 NDR_CHECK(ndr_push_align(ndr
, 4));
54 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->type
));
56 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
57 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
58 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->signature
));
59 ndr
->flags
= _flags_save_DATA_BLOB
;
61 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
63 if (ndr_flags
& NDR_BUFFERS
) {
65 ndr
->flags
= _flags_save_STRUCT
;
67 return NDR_ERR_SUCCESS
;
70 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_SIGNATURE_DATA(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_SIGNATURE_DATA
*r
)
73 uint32_t _flags_save_STRUCT
= ndr
->flags
;
74 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
75 if (ndr_flags
& NDR_SCALARS
) {
76 NDR_CHECK(ndr_pull_align(ndr
, 4));
77 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->type
));
79 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
80 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
81 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->signature
));
82 ndr
->flags
= _flags_save_DATA_BLOB
;
84 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
86 if (ndr_flags
& NDR_BUFFERS
) {
88 ndr
->flags
= _flags_save_STRUCT
;
90 return NDR_ERR_SUCCESS
;
93 _PUBLIC_
void ndr_print_PAC_SIGNATURE_DATA(struct ndr_print
*ndr
, const char *name
, const struct PAC_SIGNATURE_DATA
*r
)
95 ndr_print_struct(ndr
, name
, "PAC_SIGNATURE_DATA");
97 uint32_t _flags_save_STRUCT
= ndr
->flags
;
98 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
100 ndr_print_uint32(ndr
, "type", r
->type
);
101 ndr_print_DATA_BLOB(ndr
, "signature", r
->signature
);
103 ndr
->flags
= _flags_save_STRUCT
;
107 static enum ndr_err_code
ndr_push_PAC_LOGON_INFO(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_LOGON_INFO
*r
)
109 if (ndr_flags
& NDR_SCALARS
) {
110 NDR_CHECK(ndr_push_align(ndr
, 5));
111 NDR_CHECK(ndr_push_netr_SamInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
112 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->res_group_dom_sid
));
113 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
, &r
->res_groups
));
114 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
116 if (ndr_flags
& NDR_BUFFERS
) {
117 NDR_CHECK(ndr_push_netr_SamInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
118 if (r
->res_group_dom_sid
) {
119 NDR_CHECK(ndr_push_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->res_group_dom_sid
));
121 NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr
, NDR_BUFFERS
, &r
->res_groups
));
123 return NDR_ERR_SUCCESS
;
126 static enum ndr_err_code
ndr_pull_PAC_LOGON_INFO(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_LOGON_INFO
*r
)
128 uint32_t _ptr_res_group_dom_sid
;
129 TALLOC_CTX
*_mem_save_res_group_dom_sid_0
;
130 if (ndr_flags
& NDR_SCALARS
) {
131 NDR_CHECK(ndr_pull_align(ndr
, 5));
132 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
133 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_res_group_dom_sid
));
134 if (_ptr_res_group_dom_sid
) {
135 NDR_PULL_ALLOC(ndr
, r
->res_group_dom_sid
);
137 r
->res_group_dom_sid
= NULL
;
139 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr
, NDR_SCALARS
, &r
->res_groups
));
140 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
142 if (ndr_flags
& NDR_BUFFERS
) {
143 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
144 if (r
->res_group_dom_sid
) {
145 _mem_save_res_group_dom_sid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
146 NDR_PULL_SET_MEM_CTX(ndr
, r
->res_group_dom_sid
, 0);
147 NDR_CHECK(ndr_pull_dom_sid2(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->res_group_dom_sid
));
148 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_group_dom_sid_0
, 0);
150 NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr
, NDR_BUFFERS
, &r
->res_groups
));
152 return NDR_ERR_SUCCESS
;
155 _PUBLIC_
void ndr_print_PAC_LOGON_INFO(struct ndr_print
*ndr
, const char *name
, const struct PAC_LOGON_INFO
*r
)
157 ndr_print_struct(ndr
, name
, "PAC_LOGON_INFO");
159 ndr_print_netr_SamInfo3(ndr
, "info3", &r
->info3
);
160 ndr_print_ptr(ndr
, "res_group_dom_sid", r
->res_group_dom_sid
);
162 if (r
->res_group_dom_sid
) {
163 ndr_print_dom_sid2(ndr
, "res_group_dom_sid", r
->res_group_dom_sid
);
166 ndr_print_samr_RidWithAttributeArray(ndr
, "res_groups", &r
->res_groups
);
170 _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
)
172 if (ndr_flags
& NDR_SCALARS
) {
173 NDR_CHECK(ndr_push_align(ndr
, 5));
174 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
175 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
177 if (ndr_flags
& NDR_BUFFERS
) {
179 NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
182 return NDR_ERR_SUCCESS
;
185 _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 TALLOC_CTX
*_mem_save_info_0
;
189 if (ndr_flags
& NDR_SCALARS
) {
190 NDR_CHECK(ndr_pull_align(ndr
, 5));
191 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
193 NDR_PULL_ALLOC(ndr
, r
->info
);
197 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
199 if (ndr_flags
& NDR_BUFFERS
) {
201 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
202 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
203 NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
204 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
207 return NDR_ERR_SUCCESS
;
210 _PUBLIC_
void ndr_print_PAC_LOGON_INFO_CTR(struct ndr_print
*ndr
, const char *name
, const struct PAC_LOGON_INFO_CTR
*r
)
212 ndr_print_struct(ndr
, name
, "PAC_LOGON_INFO_CTR");
214 ndr_print_ptr(ndr
, "info", r
->info
);
217 ndr_print_PAC_LOGON_INFO(ndr
, "info", r
->info
);
223 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_TYPE(struct ndr_push
*ndr
, int ndr_flags
, enum PAC_TYPE r
)
225 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
226 return NDR_ERR_SUCCESS
;
229 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_TYPE(struct ndr_pull
*ndr
, int ndr_flags
, enum PAC_TYPE
*r
)
232 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
234 return NDR_ERR_SUCCESS
;
237 _PUBLIC_
void ndr_print_PAC_TYPE(struct ndr_print
*ndr
, const char *name
, enum PAC_TYPE r
)
239 const char *val
= NULL
;
242 case PAC_TYPE_LOGON_INFO
: val
= "PAC_TYPE_LOGON_INFO"; break;
243 case PAC_TYPE_SRV_CHECKSUM
: val
= "PAC_TYPE_SRV_CHECKSUM"; break;
244 case PAC_TYPE_KDC_CHECKSUM
: val
= "PAC_TYPE_KDC_CHECKSUM"; break;
245 case PAC_TYPE_LOGON_NAME
: val
= "PAC_TYPE_LOGON_NAME"; break;
246 case PAC_TYPE_CONSTRAINED_DELEGATION
: val
= "PAC_TYPE_CONSTRAINED_DELEGATION"; break;
247 case PAC_TYPE_UNKNOWN_12
: val
= "PAC_TYPE_UNKNOWN_12"; break;
249 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
252 static enum ndr_err_code
ndr_push_DATA_BLOB_REM(struct ndr_push
*ndr
, int ndr_flags
, const struct DATA_BLOB_REM
*r
)
254 if (ndr_flags
& NDR_SCALARS
) {
255 NDR_CHECK(ndr_push_align(ndr
, 4));
257 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
258 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
259 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->remaining
));
260 ndr
->flags
= _flags_save_DATA_BLOB
;
262 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
264 if (ndr_flags
& NDR_BUFFERS
) {
266 return NDR_ERR_SUCCESS
;
269 static enum ndr_err_code
ndr_pull_DATA_BLOB_REM(struct ndr_pull
*ndr
, int ndr_flags
, struct DATA_BLOB_REM
*r
)
271 if (ndr_flags
& NDR_SCALARS
) {
272 NDR_CHECK(ndr_pull_align(ndr
, 4));
274 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
275 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
276 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->remaining
));
277 ndr
->flags
= _flags_save_DATA_BLOB
;
279 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
281 if (ndr_flags
& NDR_BUFFERS
) {
283 return NDR_ERR_SUCCESS
;
286 _PUBLIC_
void ndr_print_DATA_BLOB_REM(struct ndr_print
*ndr
, const char *name
, const struct DATA_BLOB_REM
*r
)
288 ndr_print_struct(ndr
, name
, "DATA_BLOB_REM");
290 ndr_print_DATA_BLOB(ndr
, "remaining", r
->remaining
);
294 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_INFO(struct ndr_push
*ndr
, int ndr_flags
, const union PAC_INFO
*r
)
296 if (ndr_flags
& NDR_SCALARS
) {
297 int level
= ndr_push_get_switch_value(ndr
, r
);
298 NDR_CHECK(ndr_push_union_align(ndr
, 4));
300 case PAC_TYPE_LOGON_INFO
: {
302 struct ndr_push
*_ndr_logon_info
;
303 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_logon_info
, 0xFFFFFC01, -1));
304 NDR_CHECK(ndr_push_PAC_LOGON_INFO_CTR(_ndr_logon_info
, NDR_SCALARS
|NDR_BUFFERS
, &r
->logon_info
));
305 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_logon_info
, 0xFFFFFC01, -1));
309 case PAC_TYPE_SRV_CHECKSUM
: {
310 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr
, NDR_SCALARS
, &r
->srv_cksum
));
313 case PAC_TYPE_KDC_CHECKSUM
: {
314 NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr
, NDR_SCALARS
, &r
->kdc_cksum
));
317 case PAC_TYPE_LOGON_NAME
: {
318 NDR_CHECK(ndr_push_PAC_LOGON_NAME(ndr
, NDR_SCALARS
, &r
->logon_name
));
323 struct ndr_push
*_ndr_unknown
;
324 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_unknown
, 0, -1));
325 NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_unknown
, NDR_SCALARS
, &r
->unknown
));
326 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_unknown
, 0, -1));
332 if (ndr_flags
& NDR_BUFFERS
) {
333 int level
= ndr_push_get_switch_value(ndr
, r
);
335 case PAC_TYPE_LOGON_INFO
:
338 case PAC_TYPE_SRV_CHECKSUM
:
341 case PAC_TYPE_KDC_CHECKSUM
:
344 case PAC_TYPE_LOGON_NAME
:
352 return NDR_ERR_SUCCESS
;
355 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_INFO(struct ndr_pull
*ndr
, int ndr_flags
, union PAC_INFO
*r
)
358 level
= ndr_pull_get_switch_value(ndr
, r
);
359 if (ndr_flags
& NDR_SCALARS
) {
360 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
362 case PAC_TYPE_LOGON_INFO
: {
364 struct ndr_pull
*_ndr_logon_info
;
365 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_logon_info
, 0xFFFFFC01, -1));
366 NDR_CHECK(ndr_pull_PAC_LOGON_INFO_CTR(_ndr_logon_info
, NDR_SCALARS
|NDR_BUFFERS
, &r
->logon_info
));
367 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_logon_info
, 0xFFFFFC01, -1));
371 case PAC_TYPE_SRV_CHECKSUM
: {
372 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr
, NDR_SCALARS
, &r
->srv_cksum
));
375 case PAC_TYPE_KDC_CHECKSUM
: {
376 NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr
, NDR_SCALARS
, &r
->kdc_cksum
));
379 case PAC_TYPE_LOGON_NAME
: {
380 NDR_CHECK(ndr_pull_PAC_LOGON_NAME(ndr
, NDR_SCALARS
, &r
->logon_name
));
385 struct ndr_pull
*_ndr_unknown
;
386 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_unknown
, 0, -1));
387 NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_unknown
, NDR_SCALARS
, &r
->unknown
));
388 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_unknown
, 0, -1));
394 if (ndr_flags
& NDR_BUFFERS
) {
396 case PAC_TYPE_LOGON_INFO
:
399 case PAC_TYPE_SRV_CHECKSUM
:
402 case PAC_TYPE_KDC_CHECKSUM
:
405 case PAC_TYPE_LOGON_NAME
:
413 return NDR_ERR_SUCCESS
;
416 _PUBLIC_
void ndr_print_PAC_INFO(struct ndr_print
*ndr
, const char *name
, const union PAC_INFO
*r
)
419 level
= ndr_print_get_switch_value(ndr
, r
);
420 ndr_print_union(ndr
, name
, level
, "PAC_INFO");
422 case PAC_TYPE_LOGON_INFO
:
423 ndr_print_PAC_LOGON_INFO_CTR(ndr
, "logon_info", &r
->logon_info
);
426 case PAC_TYPE_SRV_CHECKSUM
:
427 ndr_print_PAC_SIGNATURE_DATA(ndr
, "srv_cksum", &r
->srv_cksum
);
430 case PAC_TYPE_KDC_CHECKSUM
:
431 ndr_print_PAC_SIGNATURE_DATA(ndr
, "kdc_cksum", &r
->kdc_cksum
);
434 case PAC_TYPE_LOGON_NAME
:
435 ndr_print_PAC_LOGON_NAME(ndr
, "logon_name", &r
->logon_name
);
439 ndr_print_DATA_BLOB_REM(ndr
, "unknown", &r
->unknown
);
445 _PUBLIC_
size_t ndr_size_PAC_INFO(const union PAC_INFO
*r
, uint32_t level
, struct smb_iconv_convenience
*ic
, int flags
)
447 return ndr_size_union(r
, flags
, level
, (ndr_push_flags_fn_t
)ndr_push_PAC_INFO
, ic
);
450 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_DATA(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_DATA
*r
)
452 uint32_t cntr_buffers_0
;
453 if (ndr_flags
& NDR_SCALARS
) {
454 NDR_CHECK(ndr_push_align(ndr
, 5));
455 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_buffers
));
456 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
457 for (cntr_buffers_0
= 0; cntr_buffers_0
< r
->num_buffers
; cntr_buffers_0
++) {
458 NDR_CHECK(ndr_push_PAC_BUFFER(ndr
, NDR_SCALARS
, &r
->buffers
[cntr_buffers_0
]));
460 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
462 if (ndr_flags
& NDR_BUFFERS
) {
463 for (cntr_buffers_0
= 0; cntr_buffers_0
< r
->num_buffers
; cntr_buffers_0
++) {
464 NDR_CHECK(ndr_push_PAC_BUFFER(ndr
, NDR_BUFFERS
, &r
->buffers
[cntr_buffers_0
]));
467 return NDR_ERR_SUCCESS
;
470 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_DATA(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_DATA
*r
)
472 uint32_t cntr_buffers_0
;
473 TALLOC_CTX
*_mem_save_buffers_0
;
474 if (ndr_flags
& NDR_SCALARS
) {
475 NDR_CHECK(ndr_pull_align(ndr
, 5));
476 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_buffers
));
477 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
478 NDR_PULL_ALLOC_N(ndr
, r
->buffers
, r
->num_buffers
);
479 _mem_save_buffers_0
= NDR_PULL_GET_MEM_CTX(ndr
);
480 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffers
, 0);
481 for (cntr_buffers_0
= 0; cntr_buffers_0
< r
->num_buffers
; cntr_buffers_0
++) {
482 NDR_CHECK(ndr_pull_PAC_BUFFER(ndr
, NDR_SCALARS
, &r
->buffers
[cntr_buffers_0
]));
484 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_0
, 0);
485 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
487 if (ndr_flags
& NDR_BUFFERS
) {
488 _mem_save_buffers_0
= NDR_PULL_GET_MEM_CTX(ndr
);
489 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffers
, 0);
490 for (cntr_buffers_0
= 0; cntr_buffers_0
< r
->num_buffers
; cntr_buffers_0
++) {
491 NDR_CHECK(ndr_pull_PAC_BUFFER(ndr
, NDR_BUFFERS
, &r
->buffers
[cntr_buffers_0
]));
493 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_0
, 0);
495 return NDR_ERR_SUCCESS
;
498 _PUBLIC_
void ndr_print_PAC_DATA(struct ndr_print
*ndr
, const char *name
, const struct PAC_DATA
*r
)
500 uint32_t cntr_buffers_0
;
501 ndr_print_struct(ndr
, name
, "PAC_DATA");
503 ndr_print_uint32(ndr
, "num_buffers", r
->num_buffers
);
504 ndr_print_uint32(ndr
, "version", r
->version
);
505 ndr
->print(ndr
, "%s: ARRAY(%d)", "buffers", (int)r
->num_buffers
);
507 for (cntr_buffers_0
=0;cntr_buffers_0
<r
->num_buffers
;cntr_buffers_0
++) {
509 if (asprintf(&idx_0
, "[%d]", cntr_buffers_0
) != -1) {
510 ndr_print_PAC_BUFFER(ndr
, "buffers", &r
->buffers
[cntr_buffers_0
]);
518 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_BUFFER_RAW(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_BUFFER_RAW
*r
)
520 if (ndr_flags
& NDR_SCALARS
) {
521 NDR_CHECK(ndr_push_align(ndr
, 5));
522 NDR_CHECK(ndr_push_PAC_TYPE(ndr
, NDR_SCALARS
, r
->type
));
523 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->ndr_size
));
525 uint32_t _flags_save_DATA_BLOB_REM
= ndr
->flags
;
526 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN8
);
527 NDR_CHECK(ndr_push_relative_ptr1(ndr
, r
->info
));
528 ndr
->flags
= _flags_save_DATA_BLOB_REM
;
530 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
531 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
533 if (ndr_flags
& NDR_BUFFERS
) {
535 uint32_t _flags_save_DATA_BLOB_REM
= ndr
->flags
;
536 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN8
);
538 NDR_CHECK(ndr_push_relative_ptr2(ndr
, r
->info
));
540 struct ndr_push
*_ndr_info
;
541 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info
, 0, NDR_ROUND(r
->ndr_size
, 8)));
542 NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_info
, NDR_SCALARS
, r
->info
));
543 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info
, 0, NDR_ROUND(r
->ndr_size
, 8)));
546 ndr
->flags
= _flags_save_DATA_BLOB_REM
;
549 return NDR_ERR_SUCCESS
;
552 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_BUFFER_RAW(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_BUFFER_RAW
*r
)
555 TALLOC_CTX
*_mem_save_info_0
;
556 if (ndr_flags
& NDR_SCALARS
) {
557 NDR_CHECK(ndr_pull_align(ndr
, 5));
558 NDR_CHECK(ndr_pull_PAC_TYPE(ndr
, NDR_SCALARS
, &r
->type
));
559 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->ndr_size
));
561 uint32_t _flags_save_DATA_BLOB_REM
= ndr
->flags
;
562 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN8
);
563 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
565 NDR_PULL_ALLOC(ndr
, r
->info
);
566 NDR_CHECK(ndr_pull_relative_ptr1(ndr
, r
->info
, _ptr_info
));
570 ndr
->flags
= _flags_save_DATA_BLOB_REM
;
572 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->_pad
));
573 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
575 if (ndr_flags
& NDR_BUFFERS
) {
577 uint32_t _flags_save_DATA_BLOB_REM
= ndr
->flags
;
578 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_ALIGN8
);
580 uint32_t _relative_save_offset
;
581 _relative_save_offset
= ndr
->offset
;
582 NDR_CHECK(ndr_pull_relative_ptr2(ndr
, r
->info
));
583 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
584 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
586 struct ndr_pull
*_ndr_info
;
587 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info
, 0, NDR_ROUND(r
->ndr_size
, 8)));
588 NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_info
, NDR_SCALARS
, r
->info
));
589 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info
, 0, NDR_ROUND(r
->ndr_size
, 8)));
591 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
592 ndr
->offset
= _relative_save_offset
;
594 ndr
->flags
= _flags_save_DATA_BLOB_REM
;
597 return NDR_ERR_SUCCESS
;
600 _PUBLIC_
void ndr_print_PAC_BUFFER_RAW(struct ndr_print
*ndr
, const char *name
, const struct PAC_BUFFER_RAW
*r
)
602 ndr_print_struct(ndr
, name
, "PAC_BUFFER_RAW");
604 ndr_print_PAC_TYPE(ndr
, "type", r
->type
);
605 ndr_print_uint32(ndr
, "ndr_size", r
->ndr_size
);
606 ndr_print_ptr(ndr
, "info", r
->info
);
609 ndr_print_DATA_BLOB_REM(ndr
, "info", r
->info
);
612 ndr_print_uint32(ndr
, "_pad", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->_pad
);
616 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_DATA_RAW(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_DATA_RAW
*r
)
618 uint32_t cntr_buffers_0
;
619 if (ndr_flags
& NDR_SCALARS
) {
620 NDR_CHECK(ndr_push_align(ndr
, 5));
621 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_buffers
));
622 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
623 for (cntr_buffers_0
= 0; cntr_buffers_0
< r
->num_buffers
; cntr_buffers_0
++) {
624 NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr
, NDR_SCALARS
, &r
->buffers
[cntr_buffers_0
]));
626 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
628 if (ndr_flags
& NDR_BUFFERS
) {
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_BUFFERS
, &r
->buffers
[cntr_buffers_0
]));
633 return NDR_ERR_SUCCESS
;
636 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_DATA_RAW(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_DATA_RAW
*r
)
638 uint32_t cntr_buffers_0
;
639 TALLOC_CTX
*_mem_save_buffers_0
;
640 if (ndr_flags
& NDR_SCALARS
) {
641 NDR_CHECK(ndr_pull_align(ndr
, 5));
642 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_buffers
));
643 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
644 NDR_PULL_ALLOC_N(ndr
, r
->buffers
, r
->num_buffers
);
645 _mem_save_buffers_0
= NDR_PULL_GET_MEM_CTX(ndr
);
646 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffers
, 0);
647 for (cntr_buffers_0
= 0; cntr_buffers_0
< r
->num_buffers
; cntr_buffers_0
++) {
648 NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr
, NDR_SCALARS
, &r
->buffers
[cntr_buffers_0
]));
650 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_0
, 0);
651 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
653 if (ndr_flags
& NDR_BUFFERS
) {
654 _mem_save_buffers_0
= NDR_PULL_GET_MEM_CTX(ndr
);
655 NDR_PULL_SET_MEM_CTX(ndr
, r
->buffers
, 0);
656 for (cntr_buffers_0
= 0; cntr_buffers_0
< r
->num_buffers
; cntr_buffers_0
++) {
657 NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr
, NDR_BUFFERS
, &r
->buffers
[cntr_buffers_0
]));
659 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_buffers_0
, 0);
661 return NDR_ERR_SUCCESS
;
664 _PUBLIC_
void ndr_print_PAC_DATA_RAW(struct ndr_print
*ndr
, const char *name
, const struct PAC_DATA_RAW
*r
)
666 uint32_t cntr_buffers_0
;
667 ndr_print_struct(ndr
, name
, "PAC_DATA_RAW");
669 ndr_print_uint32(ndr
, "num_buffers", r
->num_buffers
);
670 ndr_print_uint32(ndr
, "version", r
->version
);
671 ndr
->print(ndr
, "%s: ARRAY(%d)", "buffers", (int)r
->num_buffers
);
673 for (cntr_buffers_0
=0;cntr_buffers_0
<r
->num_buffers
;cntr_buffers_0
++) {
675 if (asprintf(&idx_0
, "[%d]", cntr_buffers_0
) != -1) {
676 ndr_print_PAC_BUFFER_RAW(ndr
, "buffers", &r
->buffers
[cntr_buffers_0
]);
684 _PUBLIC_
enum ndr_err_code
ndr_push_PAC_Validate(struct ndr_push
*ndr
, int ndr_flags
, const struct PAC_Validate
*r
)
686 if (ndr_flags
& NDR_SCALARS
) {
687 NDR_CHECK(ndr_push_align(ndr
, 4));
688 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, NETLOGON_GENERIC_KRB5_PAC_VALIDATE
));
689 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->ChecksumLength
));
690 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->SignatureType
));
691 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->SignatureLength
));
693 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
694 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
695 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->ChecksumAndSignature
));
696 ndr
->flags
= _flags_save_DATA_BLOB
;
698 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
700 if (ndr_flags
& NDR_BUFFERS
) {
702 return NDR_ERR_SUCCESS
;
705 _PUBLIC_
enum ndr_err_code
ndr_pull_PAC_Validate(struct ndr_pull
*ndr
, int ndr_flags
, struct PAC_Validate
*r
)
707 if (ndr_flags
& NDR_SCALARS
) {
708 NDR_CHECK(ndr_pull_align(ndr
, 4));
709 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->MessageType
));
710 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->ChecksumLength
));
711 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->SignatureType
));
712 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->SignatureLength
));
714 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
715 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
716 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->ChecksumAndSignature
));
717 ndr
->flags
= _flags_save_DATA_BLOB
;
719 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
721 if (ndr_flags
& NDR_BUFFERS
) {
723 return NDR_ERR_SUCCESS
;
726 _PUBLIC_
void ndr_print_PAC_Validate(struct ndr_print
*ndr
, const char *name
, const struct PAC_Validate
*r
)
728 ndr_print_struct(ndr
, name
, "PAC_Validate");
730 ndr_print_uint32(ndr
, "MessageType", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?NETLOGON_GENERIC_KRB5_PAC_VALIDATE
:r
->MessageType
);
731 ndr_print_uint32(ndr
, "ChecksumLength", r
->ChecksumLength
);
732 ndr_print_int32(ndr
, "SignatureType", r
->SignatureType
);
733 ndr_print_uint32(ndr
, "SignatureLength", r
->SignatureLength
);
734 ndr_print_DATA_BLOB(ndr
, "ChecksumAndSignature", r
->ChecksumAndSignature
);
738 _PUBLIC_
enum ndr_err_code
ndr_push_netsamlogoncache_entry(struct ndr_push
*ndr
, int ndr_flags
, const struct netsamlogoncache_entry
*r
)
740 if (ndr_flags
& NDR_SCALARS
) {
741 NDR_CHECK(ndr_push_align(ndr
, 5));
742 NDR_CHECK(ndr_push_time_t(ndr
, NDR_SCALARS
, r
->timestamp
));
743 NDR_CHECK(ndr_push_netr_SamInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
744 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
746 if (ndr_flags
& NDR_BUFFERS
) {
747 NDR_CHECK(ndr_push_netr_SamInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
749 return NDR_ERR_SUCCESS
;
752 _PUBLIC_
enum ndr_err_code
ndr_pull_netsamlogoncache_entry(struct ndr_pull
*ndr
, int ndr_flags
, struct netsamlogoncache_entry
*r
)
754 if (ndr_flags
& NDR_SCALARS
) {
755 NDR_CHECK(ndr_pull_align(ndr
, 5));
756 NDR_CHECK(ndr_pull_time_t(ndr
, NDR_SCALARS
, &r
->timestamp
));
757 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr
, NDR_SCALARS
, &r
->info3
));
758 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
760 if (ndr_flags
& NDR_BUFFERS
) {
761 NDR_CHECK(ndr_pull_netr_SamInfo3(ndr
, NDR_BUFFERS
, &r
->info3
));
763 return NDR_ERR_SUCCESS
;
766 _PUBLIC_
void ndr_print_netsamlogoncache_entry(struct ndr_print
*ndr
, const char *name
, const struct netsamlogoncache_entry
*r
)
768 ndr_print_struct(ndr
, name
, "netsamlogoncache_entry");
770 ndr_print_time_t(ndr
, "timestamp", r
->timestamp
);
771 ndr_print_netr_SamInfo3(ndr
, "info3", &r
->info3
);
775 static enum ndr_err_code
ndr_push_decode_pac(struct ndr_push
*ndr
, int flags
, const struct decode_pac
*r
)
777 if (flags
& NDR_IN
) {
778 NDR_CHECK(ndr_push_PAC_DATA(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.pac
));
780 if (flags
& NDR_OUT
) {
782 return NDR_ERR_SUCCESS
;
785 static enum ndr_err_code
ndr_pull_decode_pac(struct ndr_pull
*ndr
, int flags
, struct decode_pac
*r
)
787 if (flags
& NDR_IN
) {
788 NDR_CHECK(ndr_pull_PAC_DATA(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.pac
));
790 if (flags
& NDR_OUT
) {
792 return NDR_ERR_SUCCESS
;
795 _PUBLIC_
void ndr_print_decode_pac(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_pac
*r
)
797 ndr_print_struct(ndr
, name
, "decode_pac");
799 if (flags
& NDR_SET_VALUES
) {
800 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
802 if (flags
& NDR_IN
) {
803 ndr_print_struct(ndr
, "in", "decode_pac");
805 ndr_print_PAC_DATA(ndr
, "pac", &r
->in
.pac
);
808 if (flags
& NDR_OUT
) {
809 ndr_print_struct(ndr
, "out", "decode_pac");
816 static enum ndr_err_code
ndr_push_decode_pac_raw(struct ndr_push
*ndr
, int flags
, const struct decode_pac_raw
*r
)
818 if (flags
& NDR_IN
) {
819 NDR_CHECK(ndr_push_PAC_DATA_RAW(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.pac
));
821 if (flags
& NDR_OUT
) {
823 return NDR_ERR_SUCCESS
;
826 static enum ndr_err_code
ndr_pull_decode_pac_raw(struct ndr_pull
*ndr
, int flags
, struct decode_pac_raw
*r
)
828 if (flags
& NDR_IN
) {
829 NDR_CHECK(ndr_pull_PAC_DATA_RAW(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.pac
));
831 if (flags
& NDR_OUT
) {
833 return NDR_ERR_SUCCESS
;
836 _PUBLIC_
void ndr_print_decode_pac_raw(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_pac_raw
*r
)
838 ndr_print_struct(ndr
, name
, "decode_pac_raw");
840 if (flags
& NDR_SET_VALUES
) {
841 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
843 if (flags
& NDR_IN
) {
844 ndr_print_struct(ndr
, "in", "decode_pac_raw");
846 ndr_print_PAC_DATA_RAW(ndr
, "pac", &r
->in
.pac
);
849 if (flags
& NDR_OUT
) {
850 ndr_print_struct(ndr
, "out", "decode_pac_raw");
857 static enum ndr_err_code
ndr_push_decode_login_info(struct ndr_push
*ndr
, int flags
, const struct decode_login_info
*r
)
859 if (flags
& NDR_IN
) {
860 NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.logon_info
));
862 if (flags
& NDR_OUT
) {
864 return NDR_ERR_SUCCESS
;
867 static enum ndr_err_code
ndr_pull_decode_login_info(struct ndr_pull
*ndr
, int flags
, struct decode_login_info
*r
)
869 if (flags
& NDR_IN
) {
870 NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.logon_info
));
872 if (flags
& NDR_OUT
) {
874 return NDR_ERR_SUCCESS
;
877 _PUBLIC_
void ndr_print_decode_login_info(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_login_info
*r
)
879 ndr_print_struct(ndr
, name
, "decode_login_info");
881 if (flags
& NDR_SET_VALUES
) {
882 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
884 if (flags
& NDR_IN
) {
885 ndr_print_struct(ndr
, "in", "decode_login_info");
887 ndr_print_PAC_LOGON_INFO(ndr
, "logon_info", &r
->in
.logon_info
);
890 if (flags
& NDR_OUT
) {
891 ndr_print_struct(ndr
, "out", "decode_login_info");
898 static enum ndr_err_code
ndr_push_decode_pac_validate(struct ndr_push
*ndr
, int flags
, const struct decode_pac_validate
*r
)
900 if (flags
& NDR_IN
) {
901 NDR_CHECK(ndr_push_PAC_Validate(ndr
, NDR_SCALARS
, &r
->in
.pac_validate
));
903 if (flags
& NDR_OUT
) {
905 return NDR_ERR_SUCCESS
;
908 static enum ndr_err_code
ndr_pull_decode_pac_validate(struct ndr_pull
*ndr
, int flags
, struct decode_pac_validate
*r
)
910 if (flags
& NDR_IN
) {
911 NDR_CHECK(ndr_pull_PAC_Validate(ndr
, NDR_SCALARS
, &r
->in
.pac_validate
));
913 if (flags
& NDR_OUT
) {
915 return NDR_ERR_SUCCESS
;
918 _PUBLIC_
void ndr_print_decode_pac_validate(struct ndr_print
*ndr
, const char *name
, int flags
, const struct decode_pac_validate
*r
)
920 ndr_print_struct(ndr
, name
, "decode_pac_validate");
922 if (flags
& NDR_SET_VALUES
) {
923 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
925 if (flags
& NDR_IN
) {
926 ndr_print_struct(ndr
, "in", "decode_pac_validate");
928 ndr_print_PAC_Validate(ndr
, "pac_validate", &r
->in
.pac_validate
);
931 if (flags
& NDR_OUT
) {
932 ndr_print_struct(ndr
, "out", "decode_pac_validate");
939 static const struct ndr_interface_call krb5pac_calls
[] = {
942 sizeof(struct decode_pac
),
943 (ndr_push_flags_fn_t
) ndr_push_decode_pac
,
944 (ndr_pull_flags_fn_t
) ndr_pull_decode_pac
,
945 (ndr_print_function_t
) ndr_print_decode_pac
,
950 sizeof(struct decode_pac_raw
),
951 (ndr_push_flags_fn_t
) ndr_push_decode_pac_raw
,
952 (ndr_pull_flags_fn_t
) ndr_pull_decode_pac_raw
,
953 (ndr_print_function_t
) ndr_print_decode_pac_raw
,
958 sizeof(struct decode_login_info
),
959 (ndr_push_flags_fn_t
) ndr_push_decode_login_info
,
960 (ndr_pull_flags_fn_t
) ndr_pull_decode_login_info
,
961 (ndr_print_function_t
) ndr_print_decode_login_info
,
965 "decode_pac_validate",
966 sizeof(struct decode_pac_validate
),
967 (ndr_push_flags_fn_t
) ndr_push_decode_pac_validate
,
968 (ndr_pull_flags_fn_t
) ndr_pull_decode_pac_validate
,
969 (ndr_print_function_t
) ndr_print_decode_pac_validate
,
972 { NULL
, 0, NULL
, NULL
, NULL
, false }
975 static const char * const krb5pac_endpoint_strings
[] = {
976 "ncacn_np:[\\pipe\\krb5pac]",
979 static const struct ndr_interface_string_array krb5pac_endpoints
= {
981 .names
= krb5pac_endpoint_strings
984 static const char * const krb5pac_authservice_strings
[] = {
988 static const struct ndr_interface_string_array krb5pac_authservices
= {
990 .names
= krb5pac_authservice_strings
994 const struct ndr_interface_table ndr_table_krb5pac
= {
997 {0x12345778,0x1234,0xabcd,{0x00,0x00},{0x00,0x00,0x00,0x00}},
1000 .helpstring
= NDR_KRB5PAC_HELPSTRING
,
1002 .calls
= krb5pac_calls
,
1003 .endpoints
= &krb5pac_endpoints
,
1004 .authservices
= &krb5pac_authservices