Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/librpc/gen_ndr/ndr_krb5pac.h"
5 :
6 : #include "librpc/gen_ndr/ndr_security.h"
7 : #include "librpc/gen_ndr/ndr_lsa.h"
8 : #include "librpc/gen_ndr/ndr_netlogon.h"
9 : #include "librpc/gen_ndr/ndr_samr.h"
10 36 : static enum ndr_err_code ndr_push_PAC_LOGON_NAME(struct ndr_push *ndr, int ndr_flags, const struct PAC_LOGON_NAME *r)
11 : {
12 36 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13 36 : if (ndr_flags & NDR_SCALARS) {
14 36 : NDR_CHECK(ndr_push_align(ndr, 4));
15 36 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->logon_time));
16 36 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->account_name)));
17 36 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, 2 * strlen_m(r->account_name), sizeof(uint8_t), CH_UTF16));
18 36 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19 : }
20 0 : if (ndr_flags & NDR_BUFFERS) {
21 : }
22 0 : return NDR_ERR_SUCCESS;
23 : }
24 :
25 3864 : static enum ndr_err_code ndr_pull_PAC_LOGON_NAME(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_NAME *r)
26 : {
27 3864 : uint32_t size_account_name_0 = 0;
28 3864 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
29 3864 : if (ndr_flags & NDR_SCALARS) {
30 3864 : NDR_CHECK(ndr_pull_align(ndr, 4));
31 3864 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logon_time));
32 3864 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
33 3864 : size_account_name_0 = r->size;
34 3864 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, size_account_name_0, sizeof(uint8_t), CH_UTF16));
35 3864 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
36 : }
37 3846 : if (ndr_flags & NDR_BUFFERS) {
38 : }
39 3864 : return NDR_ERR_SUCCESS;
40 : }
41 :
42 11 : _PUBLIC_ void ndr_print_PAC_LOGON_NAME(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_NAME *r)
43 : {
44 11 : ndr_print_struct(ndr, name, "PAC_LOGON_NAME");
45 11 : if (r == NULL) { ndr_print_null(ndr); return; }
46 11 : ndr->depth++;
47 11 : ndr_print_NTTIME(ndr, "logon_time", r->logon_time);
48 11 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->account_name):r->size);
49 11 : ndr_print_string(ndr, "account_name", r->account_name);
50 11 : ndr->depth--;
51 : }
52 :
53 7666 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_SIGNATURE_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_SIGNATURE_DATA *r)
54 : {
55 : {
56 7666 : uint32_t _flags_save_STRUCT = ndr->flags;
57 7666 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
58 7666 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
59 7666 : if (ndr_flags & NDR_SCALARS) {
60 7666 : NDR_CHECK(ndr_push_align(ndr, 4));
61 7666 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->type));
62 : {
63 7666 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
64 7666 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
65 7666 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->signature));
66 7666 : ndr->flags = _flags_save_DATA_BLOB;
67 : }
68 7666 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
69 : }
70 7580 : if (ndr_flags & NDR_BUFFERS) {
71 : }
72 7666 : ndr->flags = _flags_save_STRUCT;
73 : }
74 7666 : return NDR_ERR_SUCCESS;
75 : }
76 :
77 95220 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_SIGNATURE_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_SIGNATURE_DATA *r)
78 : {
79 : {
80 95220 : uint32_t _flags_save_STRUCT = ndr->flags;
81 95220 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
82 95220 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
83 95220 : if (ndr_flags & NDR_SCALARS) {
84 95220 : NDR_CHECK(ndr_pull_align(ndr, 4));
85 95220 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->type));
86 : {
87 95220 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
88 95220 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
89 95220 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->signature));
90 95220 : ndr->flags = _flags_save_DATA_BLOB;
91 : }
92 95220 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
93 : }
94 92992 : if (ndr_flags & NDR_BUFFERS) {
95 : }
96 95220 : ndr->flags = _flags_save_STRUCT;
97 : }
98 95220 : return NDR_ERR_SUCCESS;
99 : }
100 :
101 0 : static void ndr_print_flags_PAC_SIGNATURE_DATA(struct ndr_print *ndr, const char *name, int unused, const struct PAC_SIGNATURE_DATA *r)
102 : {
103 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, name, r);
104 0 : }
105 :
106 22 : _PUBLIC_ void ndr_print_PAC_SIGNATURE_DATA(struct ndr_print *ndr, const char *name, const struct PAC_SIGNATURE_DATA *r)
107 : {
108 22 : ndr_print_struct(ndr, name, "PAC_SIGNATURE_DATA");
109 22 : if (r == NULL) { ndr_print_null(ndr); return; }
110 : {
111 22 : uint32_t _flags_save_STRUCT = ndr->flags;
112 22 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
113 22 : ndr->depth++;
114 22 : ndr_print_uint32(ndr, "type", r->type);
115 : {
116 22 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
117 22 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
118 22 : ndr_print_DATA_BLOB(ndr, "signature", r->signature);
119 0 : ndr->flags = _flags_save_DATA_BLOB;
120 : }
121 22 : ndr->depth--;
122 22 : ndr->flags = _flags_save_STRUCT;
123 : }
124 : }
125 :
126 133794 : static enum ndr_err_code ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(struct ndr_push *ndr, int ndr_flags, const struct PAC_DOMAIN_GROUP_MEMBERSHIP *r)
127 : {
128 133794 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
129 133794 : if (ndr_flags & NDR_SCALARS) {
130 66897 : NDR_CHECK(ndr_push_align(ndr, 5));
131 66897 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
132 66897 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
133 66897 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
134 : }
135 133794 : if (ndr_flags & NDR_BUFFERS) {
136 66897 : if (r->domain_sid) {
137 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
138 : }
139 66897 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
140 : }
141 130364 : return NDR_ERR_SUCCESS;
142 : }
143 :
144 142476 : static enum ndr_err_code ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(struct ndr_pull *ndr, int ndr_flags, struct PAC_DOMAIN_GROUP_MEMBERSHIP *r)
145 : {
146 : uint32_t _ptr_domain_sid;
147 142476 : TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
148 142476 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
149 142476 : if (ndr_flags & NDR_SCALARS) {
150 71238 : NDR_CHECK(ndr_pull_align(ndr, 5));
151 71238 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
152 71238 : if (_ptr_domain_sid) {
153 2 : NDR_PULL_ALLOC(ndr, r->domain_sid);
154 : } else {
155 71236 : r->domain_sid = NULL;
156 : }
157 71238 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
158 71238 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
159 : }
160 142476 : if (ndr_flags & NDR_BUFFERS) {
161 71238 : if (r->domain_sid) {
162 2 : _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
163 2 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
164 2 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
165 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
166 : }
167 71238 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
168 : }
169 138782 : return NDR_ERR_SUCCESS;
170 : }
171 :
172 11 : _PUBLIC_ void ndr_print_PAC_DOMAIN_GROUP_MEMBERSHIP(struct ndr_print *ndr, const char *name, const struct PAC_DOMAIN_GROUP_MEMBERSHIP *r)
173 : {
174 11 : ndr_print_struct(ndr, name, "PAC_DOMAIN_GROUP_MEMBERSHIP");
175 11 : if (r == NULL) { ndr_print_null(ndr); return; }
176 11 : ndr->depth++;
177 11 : ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
178 11 : ndr->depth++;
179 11 : if (r->domain_sid) {
180 2 : ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
181 : }
182 11 : ndr->depth--;
183 11 : ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
184 11 : ndr->depth--;
185 : }
186 :
187 66897 : static enum ndr_err_code ndr_push_PAC_LOGON_INFO(struct ndr_push *ndr, int ndr_flags, const struct PAC_LOGON_INFO *r)
188 : {
189 66897 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
190 66897 : if (ndr_flags & NDR_SCALARS) {
191 66897 : NDR_CHECK(ndr_push_align(ndr, 5));
192 66897 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
193 66897 : NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->resource_groups));
194 66897 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
195 : }
196 66897 : if (ndr_flags & NDR_BUFFERS) {
197 66897 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
198 66897 : NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->resource_groups));
199 : }
200 65182 : return NDR_ERR_SUCCESS;
201 : }
202 :
203 71238 : static enum ndr_err_code ndr_pull_PAC_LOGON_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO *r)
204 : {
205 71238 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
206 71238 : if (ndr_flags & NDR_SCALARS) {
207 71238 : NDR_CHECK(ndr_pull_align(ndr, 5));
208 71238 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
209 71238 : NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->resource_groups));
210 71238 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
211 : }
212 71238 : if (ndr_flags & NDR_BUFFERS) {
213 71238 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
214 71238 : NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->resource_groups));
215 : }
216 69391 : return NDR_ERR_SUCCESS;
217 : }
218 :
219 11 : _PUBLIC_ void ndr_print_PAC_LOGON_INFO(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO *r)
220 : {
221 11 : ndr_print_struct(ndr, name, "PAC_LOGON_INFO");
222 11 : if (r == NULL) { ndr_print_null(ndr); return; }
223 11 : ndr->depth++;
224 11 : ndr_print_netr_SamInfo3(ndr, "info3", &r->info3);
225 11 : ndr_print_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, "resource_groups", &r->resource_groups);
226 11 : ndr->depth--;
227 : }
228 :
229 26 : static enum ndr_err_code ndr_push_PAC_CREDENTIAL_NTLM_FLAGS(struct ndr_push *ndr, int ndr_flags, uint32_t r)
230 : {
231 28 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
232 26 : return NDR_ERR_SUCCESS;
233 : }
234 :
235 0 : static enum ndr_err_code ndr_pull_PAC_CREDENTIAL_NTLM_FLAGS(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
236 : {
237 : uint32_t v;
238 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
239 2 : *r = v;
240 0 : return NDR_ERR_SUCCESS;
241 : }
242 :
243 2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_NTLM_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r)
244 : {
245 2 : ndr_print_uint32(ndr, name, r);
246 2 : ndr->depth++;
247 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_CREDENTIAL_NTLM_HAS_LM_HASH", PAC_CREDENTIAL_NTLM_HAS_LM_HASH, r);
248 2 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_CREDENTIAL_NTLM_HAS_NT_HASH", PAC_CREDENTIAL_NTLM_HAS_NT_HASH, r);
249 2 : ndr->depth--;
250 2 : }
251 :
252 28 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_NTLM_SECPKG(struct ndr_push *ndr, int ndr_flags, const struct PAC_CREDENTIAL_NTLM_SECPKG *r)
253 : {
254 28 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
255 28 : if (ndr_flags & NDR_SCALARS) {
256 28 : NDR_CHECK(ndr_push_align(ndr, 4));
257 28 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
258 30 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_NTLM_FLAGS(ndr, NDR_SCALARS, r->flags));
259 28 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_password));
260 28 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_password));
261 28 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
262 : }
263 26 : if (ndr_flags & NDR_BUFFERS) {
264 : }
265 28 : return NDR_ERR_SUCCESS;
266 : }
267 :
268 2 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_NTLM_SECPKG(struct ndr_pull *ndr, int ndr_flags, struct PAC_CREDENTIAL_NTLM_SECPKG *r)
269 : {
270 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
271 2 : if (ndr_flags & NDR_SCALARS) {
272 2 : NDR_CHECK(ndr_pull_align(ndr, 4));
273 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
274 4 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_NTLM_FLAGS(ndr, NDR_SCALARS, &r->flags));
275 2 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_password));
276 2 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_password));
277 2 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
278 : }
279 0 : if (ndr_flags & NDR_BUFFERS) {
280 : }
281 2 : return NDR_ERR_SUCCESS;
282 : }
283 :
284 0 : static void ndr_print_flags_PAC_CREDENTIAL_NTLM_SECPKG(struct ndr_print *ndr, const char *name, int unused, const struct PAC_CREDENTIAL_NTLM_SECPKG *r)
285 : {
286 0 : ndr_print_PAC_CREDENTIAL_NTLM_SECPKG(ndr, name, r);
287 0 : }
288 :
289 2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_NTLM_SECPKG(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_NTLM_SECPKG *r)
290 : {
291 2 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_NTLM_SECPKG");
292 2 : if (r == NULL) { ndr_print_null(ndr); return; }
293 2 : ndr->depth++;
294 2 : ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
295 2 : ndr_print_PAC_CREDENTIAL_NTLM_FLAGS(ndr, "flags", r->flags);
296 2 : ndr->depth--;
297 : }
298 :
299 56 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(struct ndr_push *ndr, int ndr_flags, const struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG *r)
300 : {
301 56 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
302 56 : if (ndr_flags & NDR_SCALARS) {
303 28 : NDR_CHECK(ndr_push_align(ndr, 5));
304 28 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
305 28 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->credential_size));
306 28 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->credential));
307 28 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
308 : }
309 56 : if (ndr_flags & NDR_BUFFERS) {
310 28 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
311 28 : if (r->credential) {
312 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->credential_size));
313 28 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->credential, r->credential_size));
314 : }
315 : }
316 52 : return NDR_ERR_SUCCESS;
317 : }
318 :
319 4 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(struct ndr_pull *ndr, int ndr_flags, struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG *r)
320 : {
321 : uint32_t _ptr_credential;
322 4 : uint32_t size_credential_1 = 0;
323 4 : TALLOC_CTX *_mem_save_credential_0 = NULL;
324 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
325 4 : if (ndr_flags & NDR_SCALARS) {
326 2 : NDR_CHECK(ndr_pull_align(ndr, 5));
327 2 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
328 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->credential_size));
329 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
330 2 : if (_ptr_credential) {
331 2 : NDR_PULL_ALLOC(ndr, r->credential);
332 : } else {
333 0 : r->credential = NULL;
334 : }
335 2 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
336 : }
337 4 : if (ndr_flags & NDR_BUFFERS) {
338 2 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
339 2 : if (r->credential) {
340 2 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
341 2 : NDR_PULL_SET_MEM_CTX(ndr, r->credential, 0);
342 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->credential));
343 2 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->credential, &size_credential_1));
344 2 : NDR_PULL_ALLOC_N(ndr, r->credential, size_credential_1);
345 2 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->credential, size_credential_1));
346 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
347 : }
348 2 : if (r->credential) {
349 2 : NDR_CHECK(ndr_check_steal_array_size(ndr, (void*)&r->credential, r->credential_size));
350 : }
351 : }
352 0 : return NDR_ERR_SUCCESS;
353 : }
354 :
355 0 : static void ndr_print_flags_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(struct ndr_print *ndr, const char *name, int unused, const struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG *r)
356 : {
357 0 : ndr_print_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, name, r);
358 0 : }
359 :
360 2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG *r)
361 : {
362 2 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG");
363 2 : if (r == NULL) { ndr_print_null(ndr); return; }
364 2 : ndr->depth++;
365 2 : ndr_print_lsa_String(ndr, "package_name", &r->package_name);
366 2 : ndr_print_uint32(ndr, "credential_size", r->credential_size);
367 2 : ndr->depth--;
368 : }
369 :
370 28 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_CREDENTIAL_DATA *r)
371 : {
372 : uint32_t cntr_credentials_0;
373 28 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
374 28 : if (ndr_flags & NDR_SCALARS) {
375 28 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->credential_count));
376 28 : NDR_CHECK(ndr_push_align(ndr, 5));
377 28 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->credential_count));
378 54 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (r->credential_count); cntr_credentials_0++) {
379 28 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_SCALARS, &r->credentials[cntr_credentials_0]));
380 : }
381 28 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
382 : }
383 28 : if (ndr_flags & NDR_BUFFERS) {
384 54 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (r->credential_count); cntr_credentials_0++) {
385 28 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_BUFFERS, &r->credentials[cntr_credentials_0]));
386 : }
387 : }
388 26 : return NDR_ERR_SUCCESS;
389 : }
390 :
391 2 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_CREDENTIAL_DATA *r)
392 : {
393 2 : uint32_t size_credentials_0 = 0;
394 : uint32_t cntr_credentials_0;
395 2 : TALLOC_CTX *_mem_save_credentials_0 = NULL;
396 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
397 2 : if (ndr_flags & NDR_SCALARS) {
398 2 : NDR_CHECK(ndr_pull_array_size(ndr, &r->credentials));
399 2 : NDR_CHECK(ndr_pull_align(ndr, 5));
400 2 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->credential_count));
401 2 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->credentials, &size_credentials_0));
402 2 : NDR_PULL_ALLOC_N(ndr, r->credentials, size_credentials_0);
403 2 : _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
404 2 : NDR_PULL_SET_MEM_CTX(ndr, r->credentials, 0);
405 4 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (size_credentials_0); cntr_credentials_0++) {
406 2 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_SCALARS, &r->credentials[cntr_credentials_0]));
407 : }
408 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, 0);
409 2 : if (r->credentials) {
410 2 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->credentials, r->credential_count));
411 : }
412 2 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
413 : }
414 2 : if (ndr_flags & NDR_BUFFERS) {
415 2 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->credentials, &size_credentials_0));
416 2 : _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
417 2 : NDR_PULL_SET_MEM_CTX(ndr, r->credentials, 0);
418 4 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (size_credentials_0); cntr_credentials_0++) {
419 2 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_BUFFERS, &r->credentials[cntr_credentials_0]));
420 : }
421 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, 0);
422 2 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (size_credentials_0); cntr_credentials_0++) {
423 : }
424 : }
425 0 : return NDR_ERR_SUCCESS;
426 : }
427 :
428 0 : static void ndr_print_flags_PAC_CREDENTIAL_DATA(struct ndr_print *ndr, const char *name, int unused, const struct PAC_CREDENTIAL_DATA *r)
429 : {
430 0 : ndr_print_PAC_CREDENTIAL_DATA(ndr, name, r);
431 0 : }
432 :
433 2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_DATA(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_DATA *r)
434 : {
435 : uint32_t cntr_credentials_0;
436 2 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_DATA");
437 2 : if (r == NULL) { ndr_print_null(ndr); return; }
438 2 : ndr->depth++;
439 2 : ndr_print_uint32(ndr, "credential_count", r->credential_count);
440 2 : ndr->print(ndr, "%s: ARRAY(%d)", "credentials", (int)r->credential_count);
441 2 : ndr->depth++;
442 4 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (r->credential_count); cntr_credentials_0++) {
443 2 : ndr_print_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, "credentials", &r->credentials[cntr_credentials_0]);
444 : }
445 2 : ndr->depth--;
446 2 : ndr->depth--;
447 : }
448 :
449 28 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_DATA_CTR(struct ndr_push *ndr, int ndr_flags, const struct PAC_CREDENTIAL_DATA_CTR *r)
450 : {
451 28 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
452 28 : if (ndr_flags & NDR_SCALARS) {
453 28 : NDR_CHECK(ndr_push_align(ndr, 5));
454 28 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
455 28 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
456 : }
457 28 : if (ndr_flags & NDR_BUFFERS) {
458 28 : if (r->data) {
459 28 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, r->data));
460 : }
461 : }
462 26 : return NDR_ERR_SUCCESS;
463 : }
464 :
465 2 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_DATA_CTR(struct ndr_pull *ndr, int ndr_flags, struct PAC_CREDENTIAL_DATA_CTR *r)
466 : {
467 : uint32_t _ptr_data;
468 2 : TALLOC_CTX *_mem_save_data_0 = NULL;
469 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
470 2 : if (ndr_flags & NDR_SCALARS) {
471 2 : NDR_CHECK(ndr_pull_align(ndr, 5));
472 2 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
473 2 : if (_ptr_data) {
474 2 : NDR_PULL_ALLOC(ndr, r->data);
475 : } else {
476 0 : r->data = NULL;
477 : }
478 2 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
479 : }
480 2 : if (ndr_flags & NDR_BUFFERS) {
481 2 : if (r->data) {
482 2 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
483 2 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
484 2 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, r->data));
485 2 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
486 : }
487 : }
488 0 : return NDR_ERR_SUCCESS;
489 : }
490 :
491 0 : static void ndr_print_flags_PAC_CREDENTIAL_DATA_CTR(struct ndr_print *ndr, const char *name, int unused, const struct PAC_CREDENTIAL_DATA_CTR *r)
492 : {
493 0 : ndr_print_PAC_CREDENTIAL_DATA_CTR(ndr, name, r);
494 0 : }
495 :
496 2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_DATA_CTR(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_DATA_CTR *r)
497 : {
498 2 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_DATA_CTR");
499 2 : if (r == NULL) { ndr_print_null(ndr); return; }
500 2 : ndr->depth++;
501 2 : ndr_print_ptr(ndr, "data", r->data);
502 2 : ndr->depth++;
503 2 : if (r->data) {
504 2 : ndr_print_PAC_CREDENTIAL_DATA(ndr, "data", r->data);
505 : }
506 2 : ndr->depth--;
507 2 : ndr->depth--;
508 : }
509 :
510 28 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_DATA_NDR(struct ndr_push *ndr, int ndr_flags, const struct PAC_CREDENTIAL_DATA_NDR *r)
511 : {
512 28 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
513 28 : if (ndr_flags & NDR_SCALARS) {
514 28 : NDR_CHECK(ndr_push_align(ndr, 1));
515 : {
516 : struct ndr_push *_ndr_ctr;
517 28 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr, 0xFFFFFC01, -1));
518 28 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_DATA_CTR(_ndr_ctr, NDR_SCALARS|NDR_BUFFERS, &r->ctr));
519 28 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr, 0xFFFFFC01, -1));
520 : }
521 28 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
522 : }
523 26 : if (ndr_flags & NDR_BUFFERS) {
524 : }
525 28 : return NDR_ERR_SUCCESS;
526 : }
527 :
528 2 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_DATA_NDR(struct ndr_pull *ndr, int ndr_flags, struct PAC_CREDENTIAL_DATA_NDR *r)
529 : {
530 2 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
531 2 : if (ndr_flags & NDR_SCALARS) {
532 2 : NDR_CHECK(ndr_pull_align(ndr, 1));
533 : {
534 : struct ndr_pull *_ndr_ctr;
535 2 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr, 0xFFFFFC01, -1));
536 2 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_DATA_CTR(_ndr_ctr, NDR_SCALARS|NDR_BUFFERS, &r->ctr));
537 2 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr, 0xFFFFFC01, -1));
538 : }
539 2 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
540 : }
541 0 : if (ndr_flags & NDR_BUFFERS) {
542 : }
543 2 : return NDR_ERR_SUCCESS;
544 : }
545 :
546 0 : static void ndr_print_flags_PAC_CREDENTIAL_DATA_NDR(struct ndr_print *ndr, const char *name, int unused, const struct PAC_CREDENTIAL_DATA_NDR *r)
547 : {
548 0 : ndr_print_PAC_CREDENTIAL_DATA_NDR(ndr, name, r);
549 0 : }
550 :
551 2 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_DATA_NDR(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_DATA_NDR *r)
552 : {
553 2 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_DATA_NDR");
554 2 : if (r == NULL) { ndr_print_null(ndr); return; }
555 2 : ndr->depth++;
556 2 : ndr_print_PAC_CREDENTIAL_DATA_CTR(ndr, "ctr", &r->ctr);
557 2 : ndr->depth--;
558 : }
559 :
560 38 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CREDENTIAL_INFO(struct ndr_push *ndr, int ndr_flags, const struct PAC_CREDENTIAL_INFO *r)
561 : {
562 38 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
563 38 : if (ndr_flags & NDR_SCALARS) {
564 38 : NDR_CHECK(ndr_push_align(ndr, 4));
565 38 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
566 38 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->encryption_type));
567 : {
568 38 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
569 38 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
570 38 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->encrypted_data));
571 38 : ndr->flags = _flags_save_DATA_BLOB;
572 : }
573 38 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
574 : }
575 26 : if (ndr_flags & NDR_BUFFERS) {
576 : }
577 38 : return NDR_ERR_SUCCESS;
578 : }
579 :
580 12 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_CREDENTIAL_INFO *r)
581 : {
582 12 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
583 12 : if (ndr_flags & NDR_SCALARS) {
584 12 : NDR_CHECK(ndr_pull_align(ndr, 4));
585 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
586 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->encryption_type));
587 : {
588 12 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
589 12 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
590 12 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->encrypted_data));
591 12 : ndr->flags = _flags_save_DATA_BLOB;
592 : }
593 12 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
594 : }
595 8 : if (ndr_flags & NDR_BUFFERS) {
596 : }
597 12 : return NDR_ERR_SUCCESS;
598 : }
599 :
600 0 : static void ndr_print_flags_PAC_CREDENTIAL_INFO(struct ndr_print *ndr, const char *name, int unused, const struct PAC_CREDENTIAL_INFO *r)
601 : {
602 0 : ndr_print_PAC_CREDENTIAL_INFO(ndr, name, r);
603 0 : }
604 :
605 4 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_INFO(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_INFO *r)
606 : {
607 4 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_INFO");
608 4 : if (r == NULL) { ndr_print_null(ndr); return; }
609 4 : ndr->depth++;
610 4 : ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
611 4 : ndr_print_uint32(ndr, "encryption_type", r->encryption_type);
612 : {
613 4 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
614 4 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
615 4 : ndr_print_DATA_BLOB(ndr, "encrypted_data", r->encrypted_data);
616 4 : ndr->flags = _flags_save_DATA_BLOB;
617 : }
618 4 : ndr->depth--;
619 : }
620 :
621 18 : static enum ndr_err_code ndr_push_PAC_CONSTRAINED_DELEGATION(struct ndr_push *ndr, int ndr_flags, const struct PAC_CONSTRAINED_DELEGATION *r)
622 : {
623 : uint32_t cntr_transited_services_1;
624 18 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
625 18 : if (ndr_flags & NDR_SCALARS) {
626 18 : NDR_CHECK(ndr_push_align(ndr, 5));
627 18 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->proxy_target));
628 18 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_transited_services));
629 18 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->transited_services));
630 18 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
631 : }
632 18 : if (ndr_flags & NDR_BUFFERS) {
633 18 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->proxy_target));
634 18 : if (r->transited_services) {
635 18 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_transited_services));
636 36 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (r->num_transited_services); cntr_transited_services_1++) {
637 18 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->transited_services[cntr_transited_services_1]));
638 : }
639 36 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (r->num_transited_services); cntr_transited_services_1++) {
640 18 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->transited_services[cntr_transited_services_1]));
641 : }
642 : }
643 : }
644 18 : return NDR_ERR_SUCCESS;
645 : }
646 :
647 12 : static enum ndr_err_code ndr_pull_PAC_CONSTRAINED_DELEGATION(struct ndr_pull *ndr, int ndr_flags, struct PAC_CONSTRAINED_DELEGATION *r)
648 : {
649 : uint32_t _ptr_transited_services;
650 12 : uint32_t size_transited_services_1 = 0;
651 : uint32_t cntr_transited_services_1;
652 12 : TALLOC_CTX *_mem_save_transited_services_0 = NULL;
653 12 : TALLOC_CTX *_mem_save_transited_services_1 = NULL;
654 12 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
655 12 : if (ndr_flags & NDR_SCALARS) {
656 12 : NDR_CHECK(ndr_pull_align(ndr, 5));
657 12 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->proxy_target));
658 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_transited_services));
659 12 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transited_services));
660 12 : if (_ptr_transited_services) {
661 12 : NDR_PULL_ALLOC(ndr, r->transited_services);
662 : } else {
663 0 : r->transited_services = NULL;
664 : }
665 12 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
666 : }
667 12 : if (ndr_flags & NDR_BUFFERS) {
668 12 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->proxy_target));
669 12 : if (r->transited_services) {
670 12 : _mem_save_transited_services_0 = NDR_PULL_GET_MEM_CTX(ndr);
671 12 : NDR_PULL_SET_MEM_CTX(ndr, r->transited_services, 0);
672 12 : NDR_CHECK(ndr_pull_array_size(ndr, &r->transited_services));
673 12 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->transited_services, &size_transited_services_1));
674 12 : NDR_PULL_ALLOC_N(ndr, r->transited_services, size_transited_services_1);
675 12 : _mem_save_transited_services_1 = NDR_PULL_GET_MEM_CTX(ndr);
676 12 : NDR_PULL_SET_MEM_CTX(ndr, r->transited_services, 0);
677 24 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (size_transited_services_1); cntr_transited_services_1++) {
678 12 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->transited_services[cntr_transited_services_1]));
679 : }
680 24 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (size_transited_services_1); cntr_transited_services_1++) {
681 12 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->transited_services[cntr_transited_services_1]));
682 : }
683 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transited_services_1, 0);
684 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transited_services_0, 0);
685 : }
686 12 : if (r->transited_services) {
687 12 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->transited_services, r->num_transited_services));
688 : }
689 12 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (size_transited_services_1); cntr_transited_services_1++) {
690 : }
691 : }
692 12 : return NDR_ERR_SUCCESS;
693 : }
694 :
695 0 : _PUBLIC_ void ndr_print_PAC_CONSTRAINED_DELEGATION(struct ndr_print *ndr, const char *name, const struct PAC_CONSTRAINED_DELEGATION *r)
696 : {
697 : uint32_t cntr_transited_services_1;
698 0 : ndr_print_struct(ndr, name, "PAC_CONSTRAINED_DELEGATION");
699 0 : if (r == NULL) { ndr_print_null(ndr); return; }
700 0 : ndr->depth++;
701 0 : ndr_print_lsa_String(ndr, "proxy_target", &r->proxy_target);
702 0 : ndr_print_uint32(ndr, "num_transited_services", r->num_transited_services);
703 0 : ndr_print_ptr(ndr, "transited_services", r->transited_services);
704 0 : ndr->depth++;
705 0 : if (r->transited_services) {
706 0 : ndr->print(ndr, "%s: ARRAY(%d)", "transited_services", (int)r->num_transited_services);
707 0 : ndr->depth++;
708 0 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (r->num_transited_services); cntr_transited_services_1++) {
709 0 : ndr_print_lsa_String(ndr, "transited_services", &r->transited_services[cntr_transited_services_1]);
710 : }
711 0 : ndr->depth--;
712 : }
713 0 : ndr->depth--;
714 0 : ndr->depth--;
715 : }
716 :
717 26422 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_FLAGS(struct ndr_push *ndr, int ndr_flags, uint32_t r)
718 : {
719 27030 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
720 26422 : return NDR_ERR_SUCCESS;
721 : }
722 :
723 69261 : static enum ndr_err_code ndr_pull_PAC_UPN_DNS_FLAGS(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
724 : {
725 : uint32_t v;
726 71099 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
727 71099 : *r = v;
728 69261 : return NDR_ERR_SUCCESS;
729 : }
730 :
731 11 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r)
732 : {
733 11 : ndr_print_uint32(ndr, name, r);
734 11 : ndr->depth++;
735 11 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_UPN_DNS_FLAG_CONSTRUCTED", PAC_UPN_DNS_FLAG_CONSTRUCTED, r);
736 11 : ndr->depth--;
737 11 : }
738 :
739 54060 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_INFO(struct ndr_push *ndr, int ndr_flags, const struct PAC_UPN_DNS_INFO *r)
740 : {
741 54060 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
742 54060 : if (ndr_flags & NDR_SCALARS) {
743 27030 : NDR_CHECK(ndr_push_align(ndr, 5));
744 27030 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->upn_name)));
745 : {
746 27030 : uint32_t _flags_save_string = ndr->flags;
747 27030 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
748 27030 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->upn_name));
749 27030 : ndr->flags = _flags_save_string;
750 : }
751 27030 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->dns_domain_name)));
752 : {
753 27030 : uint32_t _flags_save_string = ndr->flags;
754 27030 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
755 27030 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->dns_domain_name));
756 27030 : ndr->flags = _flags_save_string;
757 : }
758 27638 : NDR_CHECK(ndr_push_PAC_UPN_DNS_FLAGS(ndr, NDR_SCALARS, r->flags));
759 27030 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
760 : }
761 54060 : if (ndr_flags & NDR_BUFFERS) {
762 : {
763 27030 : uint32_t _flags_save_string = ndr->flags;
764 27030 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
765 27030 : if (r->upn_name) {
766 27030 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->upn_name));
767 : {
768 : struct ndr_push *_ndr_upn_name;
769 27030 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_upn_name, 0, 2 * strlen_m(r->upn_name)));
770 27030 : NDR_CHECK(ndr_push_string(_ndr_upn_name, NDR_SCALARS, r->upn_name));
771 27030 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_upn_name, 0, 2 * strlen_m(r->upn_name)));
772 : }
773 : }
774 27030 : ndr->flags = _flags_save_string;
775 : }
776 : {
777 27030 : uint32_t _flags_save_string = ndr->flags;
778 27030 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
779 27030 : if (r->dns_domain_name) {
780 27030 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->dns_domain_name));
781 : {
782 : struct ndr_push *_ndr_dns_domain_name;
783 27030 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_dns_domain_name, 0, 2 * strlen_m(r->dns_domain_name)));
784 27030 : NDR_CHECK(ndr_push_string(_ndr_dns_domain_name, NDR_SCALARS, r->dns_domain_name));
785 27030 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_dns_domain_name, 0, 2 * strlen_m(r->dns_domain_name)));
786 : }
787 : }
788 27030 : ndr->flags = _flags_save_string;
789 : }
790 : }
791 52844 : return NDR_ERR_SUCCESS;
792 : }
793 :
794 142198 : static enum ndr_err_code ndr_pull_PAC_UPN_DNS_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_UPN_DNS_INFO *r)
795 : {
796 : uint16_t _ptr_upn_name;
797 142198 : TALLOC_CTX *_mem_save_upn_name_0 = NULL;
798 : uint16_t _ptr_dns_domain_name;
799 142198 : TALLOC_CTX *_mem_save_dns_domain_name_0 = NULL;
800 142198 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
801 142198 : if (ndr_flags & NDR_SCALARS) {
802 71099 : NDR_CHECK(ndr_pull_align(ndr, 5));
803 71099 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->upn_name_size));
804 : {
805 71099 : uint32_t _flags_save_string = ndr->flags;
806 71099 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
807 71099 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_upn_name));
808 71099 : if (_ptr_upn_name) {
809 71099 : NDR_PULL_ALLOC(ndr, r->upn_name);
810 71099 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->upn_name, _ptr_upn_name));
811 : } else {
812 0 : r->upn_name = NULL;
813 : }
814 71099 : ndr->flags = _flags_save_string;
815 : }
816 71099 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->dns_domain_name_size));
817 : {
818 71099 : uint32_t _flags_save_string = ndr->flags;
819 71099 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
820 71099 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_dns_domain_name));
821 71099 : if (_ptr_dns_domain_name) {
822 71099 : NDR_PULL_ALLOC(ndr, r->dns_domain_name);
823 71099 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_domain_name, _ptr_dns_domain_name));
824 : } else {
825 0 : r->dns_domain_name = NULL;
826 : }
827 71099 : ndr->flags = _flags_save_string;
828 : }
829 72937 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_FLAGS(ndr, NDR_SCALARS, &r->flags));
830 71099 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
831 : }
832 142198 : if (ndr_flags & NDR_BUFFERS) {
833 : {
834 71099 : uint32_t _flags_save_string = ndr->flags;
835 71099 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
836 71099 : if (r->upn_name) {
837 : uint32_t _relative_save_offset;
838 71099 : _relative_save_offset = ndr->offset;
839 71099 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->upn_name));
840 71099 : _mem_save_upn_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
841 71099 : NDR_PULL_SET_MEM_CTX(ndr, r->upn_name, 0);
842 : {
843 : struct ndr_pull *_ndr_upn_name;
844 71099 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_upn_name, 0, r->upn_name_size));
845 71099 : NDR_CHECK(ndr_pull_string(_ndr_upn_name, NDR_SCALARS, &r->upn_name));
846 71099 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_upn_name, 0, r->upn_name_size));
847 : }
848 71099 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_upn_name_0, 0);
849 71099 : if (ndr->offset > ndr->relative_highest_offset) {
850 71099 : ndr->relative_highest_offset = ndr->offset;
851 : }
852 71099 : ndr->offset = _relative_save_offset;
853 : }
854 71099 : ndr->flags = _flags_save_string;
855 : }
856 : {
857 71099 : uint32_t _flags_save_string = ndr->flags;
858 71099 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
859 71099 : if (r->dns_domain_name) {
860 : uint32_t _relative_save_offset;
861 71099 : _relative_save_offset = ndr->offset;
862 71099 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_domain_name));
863 71099 : _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
864 71099 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
865 : {
866 : struct ndr_pull *_ndr_dns_domain_name;
867 71099 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_dns_domain_name, 0, r->dns_domain_name_size));
868 71099 : NDR_CHECK(ndr_pull_string(_ndr_dns_domain_name, NDR_SCALARS, &r->dns_domain_name));
869 71099 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_dns_domain_name, 0, r->dns_domain_name_size));
870 : }
871 71099 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
872 71099 : if (ndr->offset > ndr->relative_highest_offset) {
873 71099 : ndr->relative_highest_offset = ndr->offset;
874 : }
875 71099 : ndr->offset = _relative_save_offset;
876 : }
877 71099 : ndr->flags = _flags_save_string;
878 : }
879 : }
880 138522 : return NDR_ERR_SUCCESS;
881 : }
882 :
883 11 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_INFO(struct ndr_print *ndr, const char *name, const struct PAC_UPN_DNS_INFO *r)
884 : {
885 11 : ndr_print_struct(ndr, name, "PAC_UPN_DNS_INFO");
886 11 : if (r == NULL) { ndr_print_null(ndr); return; }
887 11 : ndr->depth++;
888 11 : ndr_print_uint16(ndr, "upn_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->upn_name):r->upn_name_size);
889 : {
890 11 : uint32_t _flags_save_string = ndr->flags;
891 11 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
892 11 : ndr_print_ptr(ndr, "upn_name", r->upn_name);
893 11 : ndr->depth++;
894 11 : if (r->upn_name) {
895 11 : ndr_print_string(ndr, "upn_name", r->upn_name);
896 : }
897 11 : ndr->depth--;
898 11 : ndr->flags = _flags_save_string;
899 : }
900 11 : ndr_print_uint16(ndr, "dns_domain_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->dns_domain_name):r->dns_domain_name_size);
901 : {
902 11 : uint32_t _flags_save_string = ndr->flags;
903 11 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
904 11 : ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
905 11 : ndr->depth++;
906 11 : if (r->dns_domain_name) {
907 11 : ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
908 : }
909 11 : ndr->depth--;
910 11 : ndr->flags = _flags_save_string;
911 : }
912 11 : ndr_print_PAC_UPN_DNS_FLAGS(ndr, "flags", r->flags);
913 11 : ndr->depth--;
914 : }
915 :
916 66897 : _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)
917 : {
918 66897 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
919 66897 : if (ndr_flags & NDR_SCALARS) {
920 66897 : NDR_CHECK(ndr_push_align(ndr, 5));
921 66897 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
922 66897 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
923 : }
924 66897 : if (ndr_flags & NDR_BUFFERS) {
925 66897 : if (r->info) {
926 66897 : NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
927 : }
928 : }
929 65182 : return NDR_ERR_SUCCESS;
930 : }
931 :
932 71238 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_LOGON_INFO_CTR(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO_CTR *r)
933 : {
934 : uint32_t _ptr_info;
935 71238 : TALLOC_CTX *_mem_save_info_0 = NULL;
936 71238 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
937 71238 : if (ndr_flags & NDR_SCALARS) {
938 71238 : NDR_CHECK(ndr_pull_align(ndr, 5));
939 71238 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
940 71238 : if (_ptr_info) {
941 71238 : NDR_PULL_ALLOC(ndr, r->info);
942 : } else {
943 0 : r->info = NULL;
944 : }
945 71238 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
946 : }
947 71238 : if (ndr_flags & NDR_BUFFERS) {
948 71238 : if (r->info) {
949 71238 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
950 71238 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
951 71238 : NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
952 71238 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
953 : }
954 : }
955 69391 : return NDR_ERR_SUCCESS;
956 : }
957 :
958 0 : static void ndr_print_flags_PAC_LOGON_INFO_CTR(struct ndr_print *ndr, const char *name, int unused, const struct PAC_LOGON_INFO_CTR *r)
959 : {
960 0 : ndr_print_PAC_LOGON_INFO_CTR(ndr, name, r);
961 0 : }
962 :
963 11 : _PUBLIC_ void ndr_print_PAC_LOGON_INFO_CTR(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO_CTR *r)
964 : {
965 11 : ndr_print_struct(ndr, name, "PAC_LOGON_INFO_CTR");
966 11 : if (r == NULL) { ndr_print_null(ndr); return; }
967 11 : ndr->depth++;
968 11 : ndr_print_ptr(ndr, "info", r->info);
969 11 : ndr->depth++;
970 11 : if (r->info) {
971 11 : ndr_print_PAC_LOGON_INFO(ndr, "info", r->info);
972 : }
973 11 : ndr->depth--;
974 11 : ndr->depth--;
975 : }
976 :
977 18 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_push *ndr, int ndr_flags, const struct PAC_CONSTRAINED_DELEGATION_CTR *r)
978 : {
979 18 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
980 18 : if (ndr_flags & NDR_SCALARS) {
981 18 : NDR_CHECK(ndr_push_align(ndr, 5));
982 18 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
983 18 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
984 : }
985 18 : if (ndr_flags & NDR_BUFFERS) {
986 18 : if (r->info) {
987 18 : NDR_CHECK(ndr_push_PAC_CONSTRAINED_DELEGATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
988 : }
989 : }
990 18 : return NDR_ERR_SUCCESS;
991 : }
992 :
993 12 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_pull *ndr, int ndr_flags, struct PAC_CONSTRAINED_DELEGATION_CTR *r)
994 : {
995 : uint32_t _ptr_info;
996 12 : TALLOC_CTX *_mem_save_info_0 = NULL;
997 12 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
998 12 : if (ndr_flags & NDR_SCALARS) {
999 12 : NDR_CHECK(ndr_pull_align(ndr, 5));
1000 12 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
1001 12 : if (_ptr_info) {
1002 12 : NDR_PULL_ALLOC(ndr, r->info);
1003 : } else {
1004 0 : r->info = NULL;
1005 : }
1006 12 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1007 : }
1008 12 : if (ndr_flags & NDR_BUFFERS) {
1009 12 : if (r->info) {
1010 12 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1011 12 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
1012 12 : NDR_CHECK(ndr_pull_PAC_CONSTRAINED_DELEGATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
1013 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
1014 : }
1015 : }
1016 12 : return NDR_ERR_SUCCESS;
1017 : }
1018 :
1019 0 : static void ndr_print_flags_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_print *ndr, const char *name, int unused, const struct PAC_CONSTRAINED_DELEGATION_CTR *r)
1020 : {
1021 0 : ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(ndr, name, r);
1022 0 : }
1023 :
1024 0 : _PUBLIC_ void ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_print *ndr, const char *name, const struct PAC_CONSTRAINED_DELEGATION_CTR *r)
1025 : {
1026 0 : ndr_print_struct(ndr, name, "PAC_CONSTRAINED_DELEGATION_CTR");
1027 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1028 0 : ndr->depth++;
1029 0 : ndr_print_ptr(ndr, "info", r->info);
1030 0 : ndr->depth++;
1031 0 : if (r->info) {
1032 0 : ndr_print_PAC_CONSTRAINED_DELEGATION(ndr, "info", r->info);
1033 : }
1034 0 : ndr->depth--;
1035 0 : ndr->depth--;
1036 : }
1037 :
1038 18961 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_TYPE(struct ndr_push *ndr, int ndr_flags, enum PAC_TYPE r)
1039 : {
1040 18961 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1041 18961 : return NDR_ERR_SUCCESS;
1042 : }
1043 :
1044 38111 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_TYPE(struct ndr_pull *ndr, int ndr_flags, enum PAC_TYPE *r)
1045 : {
1046 : uint32_t v;
1047 38111 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1048 38111 : *r = v;
1049 38111 : return NDR_ERR_SUCCESS;
1050 : }
1051 :
1052 115 : _PUBLIC_ void ndr_print_PAC_TYPE(struct ndr_print *ndr, const char *name, enum PAC_TYPE r)
1053 : {
1054 115 : const char *val = NULL;
1055 :
1056 115 : switch (r) {
1057 21 : case PAC_TYPE_LOGON_INFO: val = "PAC_TYPE_LOGON_INFO"; break;
1058 8 : case PAC_TYPE_CREDENTIAL_INFO: val = "PAC_TYPE_CREDENTIAL_INFO"; break;
1059 21 : case PAC_TYPE_SRV_CHECKSUM: val = "PAC_TYPE_SRV_CHECKSUM"; break;
1060 21 : case PAC_TYPE_KDC_CHECKSUM: val = "PAC_TYPE_KDC_CHECKSUM"; break;
1061 21 : case PAC_TYPE_LOGON_NAME: val = "PAC_TYPE_LOGON_NAME"; break;
1062 0 : case PAC_TYPE_CONSTRAINED_DELEGATION: val = "PAC_TYPE_CONSTRAINED_DELEGATION"; break;
1063 21 : case PAC_TYPE_UPN_DNS_INFO: val = "PAC_TYPE_UPN_DNS_INFO"; break;
1064 0 : case PAC_TYPE_TICKET_CHECKSUM: val = "PAC_TYPE_TICKET_CHECKSUM"; break;
1065 : }
1066 115 : ndr_print_enum(ndr, name, "ENUM", val, r);
1067 115 : }
1068 :
1069 18902 : static enum ndr_err_code ndr_push_DATA_BLOB_REM(struct ndr_push *ndr, int ndr_flags, const struct DATA_BLOB_REM *r)
1070 : {
1071 18902 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1072 18902 : if (ndr_flags & NDR_SCALARS) {
1073 18902 : NDR_CHECK(ndr_push_align(ndr, 4));
1074 : {
1075 18902 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1076 18902 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1077 18902 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining));
1078 18902 : ndr->flags = _flags_save_DATA_BLOB;
1079 : }
1080 18902 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1081 : }
1082 18820 : if (ndr_flags & NDR_BUFFERS) {
1083 : }
1084 18902 : return NDR_ERR_SUCCESS;
1085 : }
1086 :
1087 18902 : static enum ndr_err_code ndr_pull_DATA_BLOB_REM(struct ndr_pull *ndr, int ndr_flags, struct DATA_BLOB_REM *r)
1088 : {
1089 18902 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1090 18902 : if (ndr_flags & NDR_SCALARS) {
1091 18902 : NDR_CHECK(ndr_pull_align(ndr, 4));
1092 : {
1093 18902 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1094 18902 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1095 18902 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining));
1096 18902 : ndr->flags = _flags_save_DATA_BLOB;
1097 : }
1098 18902 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1099 : }
1100 18820 : if (ndr_flags & NDR_BUFFERS) {
1101 : }
1102 18902 : return NDR_ERR_SUCCESS;
1103 : }
1104 :
1105 54 : _PUBLIC_ void ndr_print_DATA_BLOB_REM(struct ndr_print *ndr, const char *name, const struct DATA_BLOB_REM *r)
1106 : {
1107 54 : ndr_print_struct(ndr, name, "DATA_BLOB_REM");
1108 54 : if (r == NULL) { ndr_print_null(ndr); return; }
1109 54 : ndr->depth++;
1110 : {
1111 54 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1112 54 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1113 54 : ndr_print_DATA_BLOB(ndr, "remaining", r->remaining);
1114 54 : ndr->flags = _flags_save_DATA_BLOB;
1115 : }
1116 54 : ndr->depth--;
1117 : }
1118 :
1119 94065 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_INFO(struct ndr_push *ndr, int ndr_flags, const union PAC_INFO *r)
1120 : {
1121 : uint32_t level;
1122 94065 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1123 94065 : if (ndr_flags & NDR_SCALARS) {
1124 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1125 94065 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1126 94065 : NDR_CHECK(ndr_push_union_align(ndr, 5));
1127 94065 : switch (level) {
1128 66897 : case PAC_TYPE_LOGON_INFO: {
1129 66897 : {
1130 : struct ndr_push *_ndr_logon_info;
1131 66897 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
1132 66897 : NDR_CHECK(ndr_push_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
1133 66897 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
1134 : }
1135 66897 : break; }
1136 :
1137 12 : case PAC_TYPE_CREDENTIAL_INFO: {
1138 12 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_INFO(ndr, NDR_SCALARS, &r->credential_info));
1139 0 : break; }
1140 :
1141 36 : case PAC_TYPE_SRV_CHECKSUM: {
1142 36 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
1143 0 : break; }
1144 :
1145 36 : case PAC_TYPE_KDC_CHECKSUM: {
1146 36 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
1147 0 : break; }
1148 :
1149 36 : case PAC_TYPE_LOGON_NAME: {
1150 36 : NDR_CHECK(ndr_push_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
1151 0 : break; }
1152 :
1153 18 : case PAC_TYPE_CONSTRAINED_DELEGATION: {
1154 18 : {
1155 : struct ndr_push *_ndr_constrained_delegation;
1156 18 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_constrained_delegation, 0xFFFFFC01, -1));
1157 18 : NDR_CHECK(ndr_push_PAC_CONSTRAINED_DELEGATION_CTR(_ndr_constrained_delegation, NDR_SCALARS|NDR_BUFFERS, &r->constrained_delegation));
1158 18 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_constrained_delegation, 0xFFFFFC01, -1));
1159 : }
1160 18 : break; }
1161 :
1162 27030 : case PAC_TYPE_UPN_DNS_INFO: {
1163 27030 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO(ndr, NDR_SCALARS, &r->upn_dns_info));
1164 26422 : break; }
1165 :
1166 0 : case PAC_TYPE_TICKET_CHECKSUM: {
1167 0 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->ticket_checksum));
1168 0 : break; }
1169 :
1170 0 : default: {
1171 0 : {
1172 : struct ndr_push *_ndr_unknown;
1173 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_unknown, 0, -1));
1174 0 : NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
1175 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_unknown, 0, -1));
1176 : }
1177 0 : break; }
1178 :
1179 : }
1180 0 : }
1181 94065 : if (ndr_flags & NDR_BUFFERS) {
1182 94065 : if (!(ndr_flags & NDR_SCALARS)) {
1183 : /* We didn't get it above, and the token is not needed after this. */
1184 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1185 : }
1186 94065 : switch (level) {
1187 65182 : case PAC_TYPE_LOGON_INFO:
1188 65182 : break;
1189 :
1190 0 : case PAC_TYPE_CREDENTIAL_INFO:
1191 0 : break;
1192 :
1193 0 : case PAC_TYPE_SRV_CHECKSUM:
1194 0 : break;
1195 :
1196 0 : case PAC_TYPE_KDC_CHECKSUM:
1197 0 : break;
1198 :
1199 0 : case PAC_TYPE_LOGON_NAME:
1200 0 : break;
1201 :
1202 18 : case PAC_TYPE_CONSTRAINED_DELEGATION:
1203 18 : break;
1204 :
1205 27030 : case PAC_TYPE_UPN_DNS_INFO:
1206 27030 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO(ndr, NDR_BUFFERS, &r->upn_dns_info));
1207 26422 : break;
1208 :
1209 0 : case PAC_TYPE_TICKET_CHECKSUM:
1210 0 : break;
1211 :
1212 0 : default:
1213 0 : break;
1214 :
1215 : }
1216 0 : }
1217 91622 : return NDR_ERR_SUCCESS;
1218 : }
1219 :
1220 153953 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_INFO(struct ndr_pull *ndr, int ndr_flags, union PAC_INFO *r)
1221 : {
1222 : uint32_t level;
1223 153953 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1224 153953 : if (ndr_flags & NDR_SCALARS) {
1225 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1226 153953 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1227 153953 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
1228 153953 : switch (level) {
1229 71238 : case PAC_TYPE_LOGON_INFO: {
1230 63081 : {
1231 : struct ndr_pull *_ndr_logon_info;
1232 71238 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
1233 71238 : NDR_CHECK(ndr_pull_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
1234 71238 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
1235 : }
1236 71238 : break; }
1237 :
1238 12 : case PAC_TYPE_CREDENTIAL_INFO: {
1239 12 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_INFO(ndr, NDR_SCALARS, &r->credential_info));
1240 8 : break; }
1241 :
1242 3864 : case PAC_TYPE_SRV_CHECKSUM: {
1243 3864 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
1244 3846 : break; }
1245 :
1246 3864 : case PAC_TYPE_KDC_CHECKSUM: {
1247 3864 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
1248 3846 : break; }
1249 :
1250 3864 : case PAC_TYPE_LOGON_NAME: {
1251 3864 : NDR_CHECK(ndr_pull_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
1252 3846 : break; }
1253 :
1254 12 : case PAC_TYPE_CONSTRAINED_DELEGATION: {
1255 12 : {
1256 : struct ndr_pull *_ndr_constrained_delegation;
1257 12 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_constrained_delegation, 0xFFFFFC01, -1));
1258 12 : NDR_CHECK(ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR(_ndr_constrained_delegation, NDR_SCALARS|NDR_BUFFERS, &r->constrained_delegation));
1259 12 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_constrained_delegation, 0xFFFFFC01, -1));
1260 : }
1261 12 : break; }
1262 :
1263 71099 : case PAC_TYPE_UPN_DNS_INFO: {
1264 71099 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO(ndr, NDR_SCALARS, &r->upn_dns_info));
1265 69261 : break; }
1266 :
1267 0 : case PAC_TYPE_TICKET_CHECKSUM: {
1268 0 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->ticket_checksum));
1269 0 : break; }
1270 :
1271 0 : default: {
1272 0 : {
1273 : struct ndr_pull *_ndr_unknown;
1274 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_unknown, 0, -1));
1275 0 : NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
1276 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_unknown, 0, -1));
1277 : }
1278 0 : break; }
1279 :
1280 : }
1281 0 : }
1282 153953 : if (ndr_flags & NDR_BUFFERS) {
1283 153953 : if (!(ndr_flags & NDR_SCALARS)) {
1284 : /* We didn't get it above, and the token is not needed after this. */
1285 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1286 : }
1287 153953 : switch (level) {
1288 69391 : case PAC_TYPE_LOGON_INFO:
1289 69391 : break;
1290 :
1291 8 : case PAC_TYPE_CREDENTIAL_INFO:
1292 8 : break;
1293 :
1294 3846 : case PAC_TYPE_SRV_CHECKSUM:
1295 3846 : break;
1296 :
1297 3846 : case PAC_TYPE_KDC_CHECKSUM:
1298 3846 : break;
1299 :
1300 3846 : case PAC_TYPE_LOGON_NAME:
1301 3846 : break;
1302 :
1303 12 : case PAC_TYPE_CONSTRAINED_DELEGATION:
1304 12 : break;
1305 :
1306 71099 : case PAC_TYPE_UPN_DNS_INFO:
1307 71099 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO(ndr, NDR_BUFFERS, &r->upn_dns_info));
1308 69261 : break;
1309 :
1310 0 : case PAC_TYPE_TICKET_CHECKSUM:
1311 0 : break;
1312 :
1313 0 : default:
1314 0 : break;
1315 :
1316 : }
1317 0 : }
1318 150210 : return NDR_ERR_SUCCESS;
1319 : }
1320 :
1321 59 : _PUBLIC_ void ndr_print_PAC_INFO(struct ndr_print *ndr, const char *name, const union PAC_INFO *r)
1322 : {
1323 : uint32_t level;
1324 59 : level = ndr_print_steal_switch_value(ndr, r);
1325 59 : ndr_print_union(ndr, name, level, "PAC_INFO");
1326 59 : switch (level) {
1327 11 : case PAC_TYPE_LOGON_INFO:
1328 11 : ndr_print_PAC_LOGON_INFO_CTR(ndr, "logon_info", &r->logon_info);
1329 11 : break;
1330 :
1331 4 : case PAC_TYPE_CREDENTIAL_INFO:
1332 4 : ndr_print_PAC_CREDENTIAL_INFO(ndr, "credential_info", &r->credential_info);
1333 4 : break;
1334 :
1335 11 : case PAC_TYPE_SRV_CHECKSUM:
1336 11 : ndr_print_PAC_SIGNATURE_DATA(ndr, "srv_cksum", &r->srv_cksum);
1337 11 : break;
1338 :
1339 11 : case PAC_TYPE_KDC_CHECKSUM:
1340 11 : ndr_print_PAC_SIGNATURE_DATA(ndr, "kdc_cksum", &r->kdc_cksum);
1341 11 : break;
1342 :
1343 11 : case PAC_TYPE_LOGON_NAME:
1344 11 : ndr_print_PAC_LOGON_NAME(ndr, "logon_name", &r->logon_name);
1345 11 : break;
1346 :
1347 0 : case PAC_TYPE_CONSTRAINED_DELEGATION:
1348 0 : ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(ndr, "constrained_delegation", &r->constrained_delegation);
1349 0 : break;
1350 :
1351 11 : case PAC_TYPE_UPN_DNS_INFO:
1352 11 : ndr_print_PAC_UPN_DNS_INFO(ndr, "upn_dns_info", &r->upn_dns_info);
1353 11 : break;
1354 :
1355 0 : case PAC_TYPE_TICKET_CHECKSUM:
1356 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, "ticket_checksum", &r->ticket_checksum);
1357 0 : break;
1358 :
1359 0 : default:
1360 0 : ndr_print_DATA_BLOB_REM(ndr, "unknown", &r->unknown);
1361 0 : break;
1362 :
1363 : }
1364 59 : }
1365 :
1366 117 : _PUBLIC_ size_t ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, int flags)
1367 : {
1368 117 : return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_PAC_INFO);
1369 : }
1370 :
1371 2 : static void ndr_print_flags_PAC_BUFFER(struct ndr_print *ndr, const char *name, int unused, const struct PAC_BUFFER *r)
1372 : {
1373 2 : ndr_print_PAC_BUFFER(ndr, name, r);
1374 2 : }
1375 :
1376 61 : _PUBLIC_ void ndr_print_PAC_BUFFER(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER *r)
1377 : {
1378 61 : ndr_print_struct(ndr, name, "PAC_BUFFER");
1379 61 : if (r == NULL) { ndr_print_null(ndr); return; }
1380 61 : ndr->depth++;
1381 61 : ndr_print_PAC_TYPE(ndr, "type", r->type);
1382 61 : ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?_ndr_size_PAC_INFO(r->info, r->type, 0):r->_ndr_size);
1383 : {
1384 61 : uint32_t _flags_save_PAC_INFO = ndr->flags;
1385 61 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1386 61 : ndr_print_ptr(ndr, "info", r->info);
1387 61 : ndr->depth++;
1388 61 : if (r->info) {
1389 59 : ndr_print_set_switch_value(ndr, r->info, r->type);
1390 59 : ndr_print_PAC_INFO(ndr, "info", r->info);
1391 : }
1392 61 : ndr->depth--;
1393 61 : ndr->flags = _flags_save_PAC_INFO;
1394 : }
1395 61 : ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
1396 61 : ndr->depth--;
1397 : }
1398 :
1399 12 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA *r)
1400 : {
1401 : uint32_t cntr_buffers_0;
1402 12 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1403 12 : if (ndr_flags & NDR_SCALARS) {
1404 12 : NDR_CHECK(ndr_push_align(ndr, 5));
1405 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
1406 12 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1407 58 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
1408 58 : NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
1409 : }
1410 12 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1411 : }
1412 12 : if (ndr_flags & NDR_BUFFERS) {
1413 58 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
1414 58 : NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
1415 : }
1416 : }
1417 0 : return NDR_ERR_SUCCESS;
1418 : }
1419 :
1420 3864 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA *r)
1421 : {
1422 3864 : uint32_t size_buffers_0 = 0;
1423 : uint32_t cntr_buffers_0;
1424 3864 : TALLOC_CTX *_mem_save_buffers_0 = NULL;
1425 3864 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1426 3864 : if (ndr_flags & NDR_SCALARS) {
1427 3864 : NDR_CHECK(ndr_pull_align(ndr, 5));
1428 3864 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
1429 3864 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1430 3864 : size_buffers_0 = r->num_buffers;
1431 3864 : NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
1432 3864 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
1433 3864 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
1434 23071 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
1435 19207 : NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
1436 : }
1437 3864 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
1438 3864 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1439 : }
1440 3864 : if (ndr_flags & NDR_BUFFERS) {
1441 3864 : size_buffers_0 = r->num_buffers;
1442 3864 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
1443 3864 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
1444 23071 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
1445 19207 : NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
1446 : }
1447 3864 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
1448 12796 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
1449 : }
1450 : }
1451 3846 : return NDR_ERR_SUCCESS;
1452 : }
1453 :
1454 1 : static void ndr_print_flags_PAC_DATA(struct ndr_print *ndr, const char *name, int unused, const struct PAC_DATA *r)
1455 : {
1456 1 : ndr_print_PAC_DATA(ndr, name, r);
1457 1 : }
1458 :
1459 11 : _PUBLIC_ void ndr_print_PAC_DATA(struct ndr_print *ndr, const char *name, const struct PAC_DATA *r)
1460 : {
1461 : uint32_t cntr_buffers_0;
1462 11 : ndr_print_struct(ndr, name, "PAC_DATA");
1463 11 : if (r == NULL) { ndr_print_null(ndr); return; }
1464 11 : ndr->depth++;
1465 11 : ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
1466 11 : ndr_print_uint32(ndr, "version", r->version);
1467 11 : ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers);
1468 11 : ndr->depth++;
1469 70 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
1470 59 : ndr_print_PAC_BUFFER(ndr, "buffers", &r->buffers[cntr_buffers_0]);
1471 : }
1472 11 : ndr->depth--;
1473 11 : ndr->depth--;
1474 : }
1475 :
1476 37804 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_BUFFER_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_BUFFER_RAW *r)
1477 : {
1478 37804 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1479 37804 : if (ndr_flags & NDR_SCALARS) {
1480 18902 : NDR_CHECK(ndr_push_align(ndr, 5));
1481 18902 : NDR_CHECK(ndr_push_PAC_TYPE(ndr, NDR_SCALARS, r->type));
1482 18902 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ndr_size));
1483 : {
1484 18902 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1485 18902 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1486 18902 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->info));
1487 18902 : ndr->flags = _flags_save_DATA_BLOB_REM;
1488 : }
1489 18902 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1490 18902 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1491 : }
1492 37804 : if (ndr_flags & NDR_BUFFERS) {
1493 : {
1494 18902 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1495 18902 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1496 18902 : if (r->info) {
1497 18902 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->info));
1498 : {
1499 : struct ndr_push *_ndr_info;
1500 18902 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
1501 18902 : NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
1502 18902 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
1503 : }
1504 18902 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->info));
1505 : }
1506 18902 : ndr->flags = _flags_save_DATA_BLOB_REM;
1507 : }
1508 : }
1509 37640 : return NDR_ERR_SUCCESS;
1510 : }
1511 :
1512 37804 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_BUFFER_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_BUFFER_RAW *r)
1513 : {
1514 : uint32_t _ptr_info;
1515 37804 : TALLOC_CTX *_mem_save_info_0 = NULL;
1516 37804 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1517 37804 : if (ndr_flags & NDR_SCALARS) {
1518 18902 : NDR_CHECK(ndr_pull_align(ndr, 5));
1519 18902 : NDR_CHECK(ndr_pull_PAC_TYPE(ndr, NDR_SCALARS, &r->type));
1520 18902 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ndr_size));
1521 : {
1522 18902 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1523 18902 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1524 18902 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
1525 18902 : if (_ptr_info) {
1526 18902 : NDR_PULL_ALLOC(ndr, r->info);
1527 18902 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->info, _ptr_info));
1528 : } else {
1529 0 : r->info = NULL;
1530 : }
1531 18902 : ndr->flags = _flags_save_DATA_BLOB_REM;
1532 : }
1533 18902 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
1534 18902 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1535 : }
1536 37804 : if (ndr_flags & NDR_BUFFERS) {
1537 : {
1538 18902 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1539 18902 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1540 18902 : if (r->info) {
1541 : uint32_t _relative_save_offset;
1542 18902 : _relative_save_offset = ndr->offset;
1543 18902 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->info));
1544 18902 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1545 18902 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
1546 : {
1547 : struct ndr_pull *_ndr_info;
1548 18902 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
1549 18902 : NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
1550 18902 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
1551 : }
1552 18902 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
1553 18902 : if (ndr->offset > ndr->relative_highest_offset) {
1554 18902 : ndr->relative_highest_offset = ndr->offset;
1555 : }
1556 18902 : ndr->offset = _relative_save_offset;
1557 : }
1558 18902 : ndr->flags = _flags_save_DATA_BLOB_REM;
1559 : }
1560 : }
1561 37640 : return NDR_ERR_SUCCESS;
1562 : }
1563 :
1564 0 : static void ndr_print_flags_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, int unused, const struct PAC_BUFFER_RAW *r)
1565 : {
1566 0 : ndr_print_PAC_BUFFER_RAW(ndr, name, r);
1567 0 : }
1568 :
1569 54 : _PUBLIC_ void ndr_print_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER_RAW *r)
1570 : {
1571 54 : ndr_print_struct(ndr, name, "PAC_BUFFER_RAW");
1572 54 : if (r == NULL) { ndr_print_null(ndr); return; }
1573 54 : ndr->depth++;
1574 54 : ndr_print_PAC_TYPE(ndr, "type", r->type);
1575 54 : ndr_print_uint32(ndr, "ndr_size", r->ndr_size);
1576 : {
1577 54 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1578 54 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1579 54 : ndr_print_ptr(ndr, "info", r->info);
1580 54 : ndr->depth++;
1581 54 : if (r->info) {
1582 54 : ndr_print_DATA_BLOB_REM(ndr, "info", r->info);
1583 : }
1584 54 : ndr->depth--;
1585 54 : ndr->flags = _flags_save_DATA_BLOB_REM;
1586 : }
1587 54 : ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
1588 54 : ndr->depth--;
1589 : }
1590 :
1591 3807 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA_RAW *r)
1592 : {
1593 : uint32_t cntr_buffers_0;
1594 3807 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1595 3807 : if (ndr_flags & NDR_SCALARS) {
1596 3807 : NDR_CHECK(ndr_push_align(ndr, 5));
1597 3807 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
1598 3807 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1599 22692 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
1600 18902 : NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
1601 : }
1602 3807 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1603 : }
1604 3807 : if (ndr_flags & NDR_BUFFERS) {
1605 22692 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
1606 18902 : NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
1607 : }
1608 : }
1609 3790 : return NDR_ERR_SUCCESS;
1610 : }
1611 :
1612 3807 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA_RAW *r)
1613 : {
1614 3807 : uint32_t size_buffers_0 = 0;
1615 : uint32_t cntr_buffers_0;
1616 3807 : TALLOC_CTX *_mem_save_buffers_0 = NULL;
1617 3807 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1618 3807 : if (ndr_flags & NDR_SCALARS) {
1619 3807 : NDR_CHECK(ndr_pull_align(ndr, 5));
1620 3807 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
1621 3807 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1622 3807 : size_buffers_0 = r->num_buffers;
1623 3807 : NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
1624 3807 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
1625 3807 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
1626 22709 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
1627 18902 : NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
1628 : }
1629 3807 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
1630 3807 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1631 : }
1632 3807 : if (ndr_flags & NDR_BUFFERS) {
1633 3807 : size_buffers_0 = r->num_buffers;
1634 3807 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
1635 3807 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
1636 22709 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
1637 18902 : NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
1638 : }
1639 3807 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
1640 12659 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
1641 : }
1642 : }
1643 3790 : return NDR_ERR_SUCCESS;
1644 : }
1645 :
1646 0 : static void ndr_print_flags_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, int unused, const struct PAC_DATA_RAW *r)
1647 : {
1648 0 : ndr_print_PAC_DATA_RAW(ndr, name, r);
1649 0 : }
1650 :
1651 10 : _PUBLIC_ void ndr_print_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, const struct PAC_DATA_RAW *r)
1652 : {
1653 : uint32_t cntr_buffers_0;
1654 10 : ndr_print_struct(ndr, name, "PAC_DATA_RAW");
1655 10 : if (r == NULL) { ndr_print_null(ndr); return; }
1656 10 : ndr->depth++;
1657 10 : ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
1658 10 : ndr_print_uint32(ndr, "version", r->version);
1659 10 : ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers);
1660 10 : ndr->depth++;
1661 64 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
1662 54 : ndr_print_PAC_BUFFER_RAW(ndr, "buffers", &r->buffers[cntr_buffers_0]);
1663 : }
1664 10 : ndr->depth--;
1665 10 : ndr->depth--;
1666 : }
1667 :
1668 156 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_Validate(struct ndr_push *ndr, int ndr_flags, const struct PAC_Validate *r)
1669 : {
1670 156 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1671 156 : if (ndr_flags & NDR_SCALARS) {
1672 156 : NDR_CHECK(ndr_push_align(ndr, 4));
1673 156 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, NETLOGON_GENERIC_KRB5_PAC_VALIDATE));
1674 156 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ChecksumLength));
1675 156 : NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->SignatureType));
1676 156 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SignatureLength));
1677 : {
1678 156 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1679 156 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1680 156 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->ChecksumAndSignature));
1681 156 : ndr->flags = _flags_save_DATA_BLOB;
1682 : }
1683 156 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1684 : }
1685 156 : if (ndr_flags & NDR_BUFFERS) {
1686 : }
1687 156 : return NDR_ERR_SUCCESS;
1688 : }
1689 :
1690 260 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_Validate(struct ndr_pull *ndr, int ndr_flags, struct PAC_Validate *r)
1691 : {
1692 260 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1693 260 : if (ndr_flags & NDR_SCALARS) {
1694 260 : NDR_CHECK(ndr_pull_align(ndr, 4));
1695 260 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MessageType));
1696 260 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ChecksumLength));
1697 260 : NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->SignatureType));
1698 260 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SignatureLength));
1699 : {
1700 260 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1701 260 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1702 260 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->ChecksumAndSignature));
1703 260 : ndr->flags = _flags_save_DATA_BLOB;
1704 : }
1705 260 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1706 : }
1707 260 : if (ndr_flags & NDR_BUFFERS) {
1708 : }
1709 260 : return NDR_ERR_SUCCESS;
1710 : }
1711 :
1712 0 : static void ndr_print_flags_PAC_Validate(struct ndr_print *ndr, const char *name, int unused, const struct PAC_Validate *r)
1713 : {
1714 0 : ndr_print_PAC_Validate(ndr, name, r);
1715 0 : }
1716 :
1717 0 : _PUBLIC_ void ndr_print_PAC_Validate(struct ndr_print *ndr, const char *name, const struct PAC_Validate *r)
1718 : {
1719 0 : ndr_print_struct(ndr, name, "PAC_Validate");
1720 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1721 0 : ndr->depth++;
1722 0 : ndr_print_uint32(ndr, "MessageType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NETLOGON_GENERIC_KRB5_PAC_VALIDATE:r->MessageType);
1723 0 : ndr_print_uint32(ndr, "ChecksumLength", r->ChecksumLength);
1724 0 : ndr_print_int32(ndr, "SignatureType", r->SignatureType);
1725 0 : ndr_print_uint32(ndr, "SignatureLength", r->SignatureLength);
1726 : {
1727 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1728 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1729 0 : ndr_print_DATA_BLOB(ndr, "ChecksumAndSignature", r->ChecksumAndSignature);
1730 0 : ndr->flags = _flags_save_DATA_BLOB;
1731 : }
1732 0 : ndr->depth--;
1733 : }
1734 :
1735 505 : _PUBLIC_ enum ndr_err_code ndr_push_netsamlogoncache_entry(struct ndr_push *ndr, int ndr_flags, const struct netsamlogoncache_entry *r)
1736 : {
1737 505 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1738 505 : if (ndr_flags & NDR_SCALARS) {
1739 505 : NDR_CHECK(ndr_push_align(ndr, 5));
1740 505 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
1741 505 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
1742 505 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1743 : }
1744 505 : if (ndr_flags & NDR_BUFFERS) {
1745 505 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
1746 : }
1747 505 : return NDR_ERR_SUCCESS;
1748 : }
1749 :
1750 34516 : _PUBLIC_ enum ndr_err_code ndr_pull_netsamlogoncache_entry(struct ndr_pull *ndr, int ndr_flags, struct netsamlogoncache_entry *r)
1751 : {
1752 34516 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1753 34516 : if (ndr_flags & NDR_SCALARS) {
1754 34516 : NDR_CHECK(ndr_pull_align(ndr, 5));
1755 34516 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
1756 34516 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
1757 34516 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1758 : }
1759 34516 : if (ndr_flags & NDR_BUFFERS) {
1760 34516 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
1761 : }
1762 34516 : return NDR_ERR_SUCCESS;
1763 : }
1764 :
1765 0 : static void ndr_print_flags_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, int unused, const struct netsamlogoncache_entry *r)
1766 : {
1767 0 : ndr_print_netsamlogoncache_entry(ndr, name, r);
1768 0 : }
1769 :
1770 0 : _PUBLIC_ void ndr_print_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, const struct netsamlogoncache_entry *r)
1771 : {
1772 0 : ndr_print_struct(ndr, name, "netsamlogoncache_entry");
1773 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1774 0 : ndr->depth++;
1775 0 : ndr_print_time_t(ndr, "timestamp", r->timestamp);
1776 0 : ndr_print_netr_SamInfo3(ndr, "info3", &r->info3);
1777 0 : ndr->depth--;
1778 : }
1779 :
1780 : #ifndef SKIP_NDR_TABLE_krb5pac
1781 : static const struct ndr_interface_public_struct krb5pac_public_structs[] = {
1782 : {
1783 : .name = "PAC_SIGNATURE_DATA",
1784 : .struct_size = sizeof(struct PAC_SIGNATURE_DATA ),
1785 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_SIGNATURE_DATA,
1786 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_SIGNATURE_DATA,
1787 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_SIGNATURE_DATA,
1788 : },
1789 : {
1790 : .name = "PAC_CREDENTIAL_NTLM_SECPKG",
1791 : .struct_size = sizeof(struct PAC_CREDENTIAL_NTLM_SECPKG ),
1792 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_NTLM_SECPKG,
1793 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_NTLM_SECPKG,
1794 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_NTLM_SECPKG,
1795 : },
1796 : {
1797 : .name = "PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG",
1798 : .struct_size = sizeof(struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG ),
1799 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
1800 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
1801 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
1802 : },
1803 : {
1804 : .name = "PAC_CREDENTIAL_DATA",
1805 : .struct_size = sizeof(struct PAC_CREDENTIAL_DATA ),
1806 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA,
1807 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA,
1808 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA,
1809 : },
1810 : {
1811 : .name = "PAC_CREDENTIAL_DATA_CTR",
1812 : .struct_size = sizeof(struct PAC_CREDENTIAL_DATA_CTR ),
1813 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA_CTR,
1814 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA_CTR,
1815 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA_CTR,
1816 : },
1817 : {
1818 : .name = "PAC_CREDENTIAL_DATA_NDR",
1819 : .struct_size = sizeof(struct PAC_CREDENTIAL_DATA_NDR ),
1820 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA_NDR,
1821 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA_NDR,
1822 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA_NDR,
1823 : },
1824 : {
1825 : .name = "PAC_CREDENTIAL_INFO",
1826 : .struct_size = sizeof(struct PAC_CREDENTIAL_INFO ),
1827 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_INFO,
1828 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_INFO,
1829 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_INFO,
1830 : },
1831 : {
1832 : .name = "PAC_LOGON_INFO_CTR",
1833 : .struct_size = sizeof(struct PAC_LOGON_INFO_CTR ),
1834 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_LOGON_INFO_CTR,
1835 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_LOGON_INFO_CTR,
1836 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_LOGON_INFO_CTR,
1837 : },
1838 : {
1839 : .name = "PAC_CONSTRAINED_DELEGATION_CTR",
1840 : .struct_size = sizeof(struct PAC_CONSTRAINED_DELEGATION_CTR ),
1841 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CONSTRAINED_DELEGATION_CTR,
1842 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR,
1843 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CONSTRAINED_DELEGATION_CTR,
1844 : },
1845 : {
1846 : .name = "PAC_BUFFER",
1847 : .struct_size = sizeof(struct PAC_BUFFER ),
1848 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_BUFFER,
1849 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_BUFFER,
1850 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_BUFFER,
1851 : },
1852 : {
1853 : .name = "PAC_DATA",
1854 : .struct_size = sizeof(struct PAC_DATA ),
1855 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_DATA,
1856 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_DATA,
1857 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_DATA,
1858 : },
1859 : {
1860 : .name = "PAC_BUFFER_RAW",
1861 : .struct_size = sizeof(struct PAC_BUFFER_RAW ),
1862 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_BUFFER_RAW,
1863 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_BUFFER_RAW,
1864 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_BUFFER_RAW,
1865 : },
1866 : {
1867 : .name = "PAC_DATA_RAW",
1868 : .struct_size = sizeof(struct PAC_DATA_RAW ),
1869 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_DATA_RAW,
1870 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_DATA_RAW,
1871 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_DATA_RAW,
1872 : },
1873 : {
1874 : .name = "PAC_Validate",
1875 : .struct_size = sizeof(struct PAC_Validate ),
1876 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_Validate,
1877 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_Validate,
1878 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_Validate,
1879 : },
1880 : {
1881 : .name = "netsamlogoncache_entry",
1882 : .struct_size = sizeof(struct netsamlogoncache_entry ),
1883 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netsamlogoncache_entry,
1884 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netsamlogoncache_entry,
1885 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netsamlogoncache_entry,
1886 : },
1887 : { .name = NULL }
1888 : };
1889 :
1890 : static const struct ndr_interface_call krb5pac_calls[] = {
1891 : { .name = NULL }
1892 : };
1893 :
1894 : static const char * const krb5pac_endpoint_strings[] = {
1895 : "ncacn_np:[\\pipe\\krb5pac]",
1896 : };
1897 :
1898 : static const struct ndr_interface_string_array krb5pac_endpoints = {
1899 : .count = 1,
1900 : .names = krb5pac_endpoint_strings
1901 : };
1902 :
1903 : static const char * const krb5pac_authservice_strings[] = {
1904 : "host",
1905 : };
1906 :
1907 : static const struct ndr_interface_string_array krb5pac_authservices = {
1908 : .count = 1,
1909 : .names = krb5pac_authservice_strings
1910 : };
1911 :
1912 :
1913 : const struct ndr_interface_table ndr_table_krb5pac = {
1914 : .name = "krb5pac",
1915 : .syntax_id = {
1916 : {0x12345778,0x1234,0xabcd,{0x00,0x00},{0x00,0x00,0x00,0x00}},
1917 : NDR_KRB5PAC_VERSION
1918 : },
1919 : .helpstring = NDR_KRB5PAC_HELPSTRING,
1920 : .num_calls = 0,
1921 : .calls = krb5pac_calls,
1922 : .num_public_structs = 15,
1923 : .public_structs = krb5pac_public_structs,
1924 : .endpoints = &krb5pac_endpoints,
1925 : .authservices = &krb5pac_authservices
1926 : };
1927 :
1928 : #endif /* SKIP_NDR_TABLE_krb5pac */
|