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 975 : 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 975 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
13 975 : if (ndr_flags & NDR_SCALARS) {
14 975 : NDR_CHECK(ndr_push_align(ndr, 4));
15 975 : NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->logon_time));
16 975 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->account_name)));
17 975 : NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->account_name, 2 * strlen_m(r->account_name), sizeof(uint8_t), CH_UTF16));
18 975 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19 : }
20 975 : if (ndr_flags & NDR_BUFFERS) {
21 : }
22 975 : return NDR_ERR_SUCCESS;
23 : }
24 :
25 8842 : static enum ndr_err_code ndr_pull_PAC_LOGON_NAME(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_NAME *r)
26 : {
27 8842 : uint32_t size_account_name_0 = 0;
28 8842 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
29 8842 : if (ndr_flags & NDR_SCALARS) {
30 8842 : NDR_CHECK(ndr_pull_align(ndr, 4));
31 8842 : NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->logon_time));
32 8842 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
33 8842 : size_account_name_0 = r->size;
34 8842 : NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->account_name, size_account_name_0, sizeof(uint8_t), CH_UTF16));
35 8842 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
36 : }
37 8842 : if (ndr_flags & NDR_BUFFERS) {
38 : }
39 8842 : return NDR_ERR_SUCCESS;
40 : }
41 :
42 0 : _PUBLIC_ void ndr_print_PAC_LOGON_NAME(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_NAME *r)
43 : {
44 0 : ndr_print_struct(ndr, name, "PAC_LOGON_NAME");
45 0 : if (r == NULL) { ndr_print_null(ndr); return; }
46 0 : ndr->depth++;
47 0 : ndr_print_NTTIME(ndr, "logon_time", r->logon_time);
48 0 : ndr_print_uint16(ndr, "size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->account_name):r->size);
49 0 : ndr_print_string(ndr, "account_name", r->account_name);
50 0 : ndr->depth--;
51 : }
52 :
53 16341 : _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 16341 : uint32_t _flags_save_STRUCT = ndr->flags;
57 16341 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
58 16341 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
59 16341 : if (ndr_flags & NDR_SCALARS) {
60 16341 : NDR_CHECK(ndr_push_align(ndr, 4));
61 16341 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->type));
62 : {
63 16341 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
64 16341 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
65 16341 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->signature));
66 16341 : ndr->flags = _flags_save_DATA_BLOB;
67 : }
68 16341 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
69 : }
70 16341 : if (ndr_flags & NDR_BUFFERS) {
71 : }
72 16341 : ndr->flags = _flags_save_STRUCT;
73 : }
74 16341 : return NDR_ERR_SUCCESS;
75 : }
76 :
77 39222 : _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 39222 : uint32_t _flags_save_STRUCT = ndr->flags;
81 39222 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
82 39222 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
83 39222 : if (ndr_flags & NDR_SCALARS) {
84 39222 : NDR_CHECK(ndr_pull_align(ndr, 4));
85 39222 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->type));
86 : {
87 39222 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
88 39222 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
89 39222 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->signature));
90 39222 : ndr->flags = _flags_save_DATA_BLOB;
91 : }
92 39222 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
93 : }
94 39222 : if (ndr_flags & NDR_BUFFERS) {
95 : }
96 39222 : ndr->flags = _flags_save_STRUCT;
97 : }
98 39222 : 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 0 : _PUBLIC_ void ndr_print_PAC_SIGNATURE_DATA(struct ndr_print *ndr, const char *name, const struct PAC_SIGNATURE_DATA *r)
107 : {
108 0 : ndr_print_struct(ndr, name, "PAC_SIGNATURE_DATA");
109 0 : if (r == NULL) { ndr_print_null(ndr); return; }
110 : {
111 0 : uint32_t _flags_save_STRUCT = ndr->flags;
112 0 : ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
113 0 : ndr->depth++;
114 0 : ndr_print_uint32(ndr, "type", r->type);
115 : {
116 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
117 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
118 0 : ndr_print_DATA_BLOB(ndr, "signature", r->signature);
119 0 : ndr->flags = _flags_save_DATA_BLOB;
120 : }
121 0 : ndr->depth--;
122 0 : ndr->flags = _flags_save_STRUCT;
123 : }
124 : }
125 :
126 111906 : 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 111906 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
129 111906 : if (ndr_flags & NDR_SCALARS) {
130 55953 : NDR_CHECK(ndr_push_align(ndr, 5));
131 55953 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
132 55953 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
133 55953 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
134 : }
135 111906 : if (ndr_flags & NDR_BUFFERS) {
136 55953 : if (r->domain_sid) {
137 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
138 : }
139 55953 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
140 : }
141 111906 : return NDR_ERR_SUCCESS;
142 : }
143 :
144 135856 : 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 135856 : TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
148 135856 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
149 135856 : if (ndr_flags & NDR_SCALARS) {
150 67928 : NDR_CHECK(ndr_pull_align(ndr, 5));
151 67928 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
152 67928 : if (_ptr_domain_sid) {
153 0 : NDR_PULL_ALLOC(ndr, r->domain_sid);
154 : } else {
155 67928 : r->domain_sid = NULL;
156 : }
157 67928 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
158 67928 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
159 : }
160 135856 : if (ndr_flags & NDR_BUFFERS) {
161 67928 : if (r->domain_sid) {
162 0 : _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
163 0 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
164 0 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
165 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
166 : }
167 67928 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
168 : }
169 135856 : return NDR_ERR_SUCCESS;
170 : }
171 :
172 0 : _PUBLIC_ void ndr_print_PAC_DOMAIN_GROUP_MEMBERSHIP(struct ndr_print *ndr, const char *name, const struct PAC_DOMAIN_GROUP_MEMBERSHIP *r)
173 : {
174 0 : ndr_print_struct(ndr, name, "PAC_DOMAIN_GROUP_MEMBERSHIP");
175 0 : if (r == NULL) { ndr_print_null(ndr); return; }
176 0 : ndr->depth++;
177 0 : ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
178 0 : ndr->depth++;
179 0 : if (r->domain_sid) {
180 0 : ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
181 : }
182 0 : ndr->depth--;
183 0 : ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
184 0 : ndr->depth--;
185 : }
186 :
187 55953 : 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 55953 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
190 55953 : if (ndr_flags & NDR_SCALARS) {
191 55953 : NDR_CHECK(ndr_push_align(ndr, 5));
192 55953 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
193 55953 : NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->resource_groups));
194 55953 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
195 : }
196 55953 : if (ndr_flags & NDR_BUFFERS) {
197 55953 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
198 55953 : NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->resource_groups));
199 : }
200 55953 : return NDR_ERR_SUCCESS;
201 : }
202 :
203 67928 : static enum ndr_err_code ndr_pull_PAC_LOGON_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO *r)
204 : {
205 67928 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
206 67928 : if (ndr_flags & NDR_SCALARS) {
207 67928 : NDR_CHECK(ndr_pull_align(ndr, 5));
208 67928 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
209 67928 : NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->resource_groups));
210 67928 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
211 : }
212 67928 : if (ndr_flags & NDR_BUFFERS) {
213 67928 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
214 67928 : NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->resource_groups));
215 : }
216 67928 : return NDR_ERR_SUCCESS;
217 : }
218 :
219 0 : _PUBLIC_ void ndr_print_PAC_LOGON_INFO(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO *r)
220 : {
221 0 : ndr_print_struct(ndr, name, "PAC_LOGON_INFO");
222 0 : if (r == NULL) { ndr_print_null(ndr); return; }
223 0 : ndr->depth++;
224 0 : ndr_print_netr_SamInfo3(ndr, "info3", &r->info3);
225 0 : ndr_print_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, "resource_groups", &r->resource_groups);
226 0 : ndr->depth--;
227 : }
228 :
229 0 : static enum ndr_err_code ndr_push_PAC_CREDENTIAL_NTLM_FLAGS(struct ndr_push *ndr, int ndr_flags, uint32_t r)
230 : {
231 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
232 0 : 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 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
239 0 : *r = v;
240 0 : return NDR_ERR_SUCCESS;
241 : }
242 :
243 0 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_NTLM_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r)
244 : {
245 0 : ndr_print_uint32(ndr, name, r);
246 0 : ndr->depth++;
247 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_CREDENTIAL_NTLM_HAS_LM_HASH", PAC_CREDENTIAL_NTLM_HAS_LM_HASH, r);
248 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_CREDENTIAL_NTLM_HAS_NT_HASH", PAC_CREDENTIAL_NTLM_HAS_NT_HASH, r);
249 0 : ndr->depth--;
250 0 : }
251 :
252 0 : _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 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
255 0 : if (ndr_flags & NDR_SCALARS) {
256 0 : NDR_CHECK(ndr_push_align(ndr, 4));
257 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
258 0 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_NTLM_FLAGS(ndr, NDR_SCALARS, r->flags));
259 0 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->lm_password));
260 0 : NDR_CHECK(ndr_push_samr_Password(ndr, NDR_SCALARS, &r->nt_password));
261 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
262 : }
263 0 : if (ndr_flags & NDR_BUFFERS) {
264 : }
265 0 : return NDR_ERR_SUCCESS;
266 : }
267 :
268 0 : _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 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
271 0 : if (ndr_flags & NDR_SCALARS) {
272 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
273 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
274 0 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_NTLM_FLAGS(ndr, NDR_SCALARS, &r->flags));
275 0 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->lm_password));
276 0 : NDR_CHECK(ndr_pull_samr_Password(ndr, NDR_SCALARS, &r->nt_password));
277 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
278 : }
279 0 : if (ndr_flags & NDR_BUFFERS) {
280 : }
281 0 : 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 0 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_NTLM_SECPKG(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_NTLM_SECPKG *r)
290 : {
291 0 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_NTLM_SECPKG");
292 0 : if (r == NULL) { ndr_print_null(ndr); return; }
293 0 : ndr->depth++;
294 0 : ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
295 0 : ndr_print_PAC_CREDENTIAL_NTLM_FLAGS(ndr, "flags", r->flags);
296 0 : ndr->depth--;
297 : }
298 :
299 0 : _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 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
302 0 : if (ndr_flags & NDR_SCALARS) {
303 0 : NDR_CHECK(ndr_push_align(ndr, 5));
304 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->package_name));
305 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->credential_size));
306 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->credential));
307 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
308 : }
309 0 : if (ndr_flags & NDR_BUFFERS) {
310 0 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
311 0 : if (r->credential) {
312 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->credential_size));
313 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->credential, r->credential_size));
314 : }
315 : }
316 0 : return NDR_ERR_SUCCESS;
317 : }
318 :
319 0 : _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 0 : uint32_t size_credential_1 = 0;
323 0 : TALLOC_CTX *_mem_save_credential_0 = NULL;
324 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
325 0 : if (ndr_flags & NDR_SCALARS) {
326 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
327 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->package_name));
328 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->credential_size));
329 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_credential));
330 0 : if (_ptr_credential) {
331 0 : NDR_PULL_ALLOC(ndr, r->credential);
332 : } else {
333 0 : r->credential = NULL;
334 : }
335 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
336 : }
337 0 : if (ndr_flags & NDR_BUFFERS) {
338 0 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->package_name));
339 0 : if (r->credential) {
340 0 : _mem_save_credential_0 = NDR_PULL_GET_MEM_CTX(ndr);
341 0 : NDR_PULL_SET_MEM_CTX(ndr, r->credential, 0);
342 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->credential));
343 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->credential, &size_credential_1));
344 0 : NDR_PULL_ALLOC_N(ndr, r->credential, size_credential_1);
345 0 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->credential, size_credential_1));
346 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credential_0, 0);
347 : }
348 0 : if (r->credential) {
349 0 : 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 0 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG *r)
361 : {
362 0 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG");
363 0 : if (r == NULL) { ndr_print_null(ndr); return; }
364 0 : ndr->depth++;
365 0 : ndr_print_lsa_String(ndr, "package_name", &r->package_name);
366 0 : ndr_print_uint32(ndr, "credential_size", r->credential_size);
367 0 : ndr->depth--;
368 : }
369 :
370 0 : _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 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
374 0 : if (ndr_flags & NDR_SCALARS) {
375 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->credential_count));
376 0 : NDR_CHECK(ndr_push_align(ndr, 5));
377 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->credential_count));
378 0 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (r->credential_count); cntr_credentials_0++) {
379 0 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_SCALARS, &r->credentials[cntr_credentials_0]));
380 : }
381 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
382 : }
383 0 : if (ndr_flags & NDR_BUFFERS) {
384 0 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (r->credential_count); cntr_credentials_0++) {
385 0 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_BUFFERS, &r->credentials[cntr_credentials_0]));
386 : }
387 : }
388 0 : return NDR_ERR_SUCCESS;
389 : }
390 :
391 0 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_CREDENTIAL_DATA *r)
392 : {
393 0 : uint32_t size_credentials_0 = 0;
394 : uint32_t cntr_credentials_0;
395 0 : TALLOC_CTX *_mem_save_credentials_0 = NULL;
396 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
397 0 : if (ndr_flags & NDR_SCALARS) {
398 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->credentials));
399 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
400 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->credential_count));
401 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->credentials, &size_credentials_0));
402 0 : NDR_PULL_ALLOC_N(ndr, r->credentials, size_credentials_0);
403 0 : _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
404 0 : NDR_PULL_SET_MEM_CTX(ndr, r->credentials, 0);
405 0 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (size_credentials_0); cntr_credentials_0++) {
406 0 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_SCALARS, &r->credentials[cntr_credentials_0]));
407 : }
408 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, 0);
409 0 : if (r->credentials) {
410 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->credentials, r->credential_count));
411 : }
412 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
413 : }
414 0 : if (ndr_flags & NDR_BUFFERS) {
415 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->credentials, &size_credentials_0));
416 0 : _mem_save_credentials_0 = NDR_PULL_GET_MEM_CTX(ndr);
417 0 : NDR_PULL_SET_MEM_CTX(ndr, r->credentials, 0);
418 0 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (size_credentials_0); cntr_credentials_0++) {
419 0 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, NDR_BUFFERS, &r->credentials[cntr_credentials_0]));
420 : }
421 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_credentials_0, 0);
422 0 : 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 0 : _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 0 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_DATA");
437 0 : if (r == NULL) { ndr_print_null(ndr); return; }
438 0 : ndr->depth++;
439 0 : ndr_print_uint32(ndr, "credential_count", r->credential_count);
440 0 : ndr->print(ndr, "%s: ARRAY(%d)", "credentials", (int)r->credential_count);
441 0 : ndr->depth++;
442 0 : for (cntr_credentials_0 = 0; cntr_credentials_0 < (r->credential_count); cntr_credentials_0++) {
443 0 : ndr_print_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG(ndr, "credentials", &r->credentials[cntr_credentials_0]);
444 : }
445 0 : ndr->depth--;
446 0 : ndr->depth--;
447 : }
448 :
449 0 : _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 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
452 0 : if (ndr_flags & NDR_SCALARS) {
453 0 : NDR_CHECK(ndr_push_align(ndr, 5));
454 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
455 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
456 : }
457 0 : if (ndr_flags & NDR_BUFFERS) {
458 0 : if (r->data) {
459 0 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, r->data));
460 : }
461 : }
462 0 : return NDR_ERR_SUCCESS;
463 : }
464 :
465 0 : _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 0 : TALLOC_CTX *_mem_save_data_0 = NULL;
469 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
470 0 : if (ndr_flags & NDR_SCALARS) {
471 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
472 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
473 0 : if (_ptr_data) {
474 0 : NDR_PULL_ALLOC(ndr, r->data);
475 : } else {
476 0 : r->data = NULL;
477 : }
478 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
479 : }
480 0 : if (ndr_flags & NDR_BUFFERS) {
481 0 : if (r->data) {
482 0 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
483 0 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
484 0 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_DATA(ndr, NDR_SCALARS|NDR_BUFFERS, r->data));
485 0 : 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 0 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_DATA_CTR(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_DATA_CTR *r)
497 : {
498 0 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_DATA_CTR");
499 0 : if (r == NULL) { ndr_print_null(ndr); return; }
500 0 : ndr->depth++;
501 0 : ndr_print_ptr(ndr, "data", r->data);
502 0 : ndr->depth++;
503 0 : if (r->data) {
504 0 : ndr_print_PAC_CREDENTIAL_DATA(ndr, "data", r->data);
505 : }
506 0 : ndr->depth--;
507 0 : ndr->depth--;
508 : }
509 :
510 0 : _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 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
513 0 : if (ndr_flags & NDR_SCALARS) {
514 0 : NDR_CHECK(ndr_push_align(ndr, 1));
515 : {
516 : struct ndr_push *_ndr_ctr;
517 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_ctr, 0xFFFFFC01, -1));
518 0 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_DATA_CTR(_ndr_ctr, NDR_SCALARS|NDR_BUFFERS, &r->ctr));
519 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_ctr, 0xFFFFFC01, -1));
520 : }
521 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
522 : }
523 0 : if (ndr_flags & NDR_BUFFERS) {
524 : }
525 0 : return NDR_ERR_SUCCESS;
526 : }
527 :
528 0 : _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 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
531 0 : if (ndr_flags & NDR_SCALARS) {
532 0 : NDR_CHECK(ndr_pull_align(ndr, 1));
533 : {
534 : struct ndr_pull *_ndr_ctr;
535 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_ctr, 0xFFFFFC01, -1));
536 0 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_DATA_CTR(_ndr_ctr, NDR_SCALARS|NDR_BUFFERS, &r->ctr));
537 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_ctr, 0xFFFFFC01, -1));
538 : }
539 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
540 : }
541 0 : if (ndr_flags & NDR_BUFFERS) {
542 : }
543 0 : 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 0 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_DATA_NDR(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_DATA_NDR *r)
552 : {
553 0 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_DATA_NDR");
554 0 : if (r == NULL) { ndr_print_null(ndr); return; }
555 0 : ndr->depth++;
556 0 : ndr_print_PAC_CREDENTIAL_DATA_CTR(ndr, "ctr", &r->ctr);
557 0 : ndr->depth--;
558 : }
559 :
560 0 : _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 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
563 0 : if (ndr_flags & NDR_SCALARS) {
564 0 : NDR_CHECK(ndr_push_align(ndr, 4));
565 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
566 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->encryption_type));
567 : {
568 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
569 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
570 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->encrypted_data));
571 0 : ndr->flags = _flags_save_DATA_BLOB;
572 : }
573 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
574 : }
575 0 : if (ndr_flags & NDR_BUFFERS) {
576 : }
577 0 : return NDR_ERR_SUCCESS;
578 : }
579 :
580 0 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CREDENTIAL_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_CREDENTIAL_INFO *r)
581 : {
582 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
583 0 : if (ndr_flags & NDR_SCALARS) {
584 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
585 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
586 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->encryption_type));
587 : {
588 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
589 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
590 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->encrypted_data));
591 0 : ndr->flags = _flags_save_DATA_BLOB;
592 : }
593 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
594 : }
595 0 : if (ndr_flags & NDR_BUFFERS) {
596 : }
597 0 : 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 0 : _PUBLIC_ void ndr_print_PAC_CREDENTIAL_INFO(struct ndr_print *ndr, const char *name, const struct PAC_CREDENTIAL_INFO *r)
606 : {
607 0 : ndr_print_struct(ndr, name, "PAC_CREDENTIAL_INFO");
608 0 : if (r == NULL) { ndr_print_null(ndr); return; }
609 0 : ndr->depth++;
610 0 : ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->version);
611 0 : ndr_print_uint32(ndr, "encryption_type", r->encryption_type);
612 : {
613 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
614 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
615 0 : ndr_print_DATA_BLOB(ndr, "encrypted_data", r->encrypted_data);
616 0 : ndr->flags = _flags_save_DATA_BLOB;
617 : }
618 0 : ndr->depth--;
619 : }
620 :
621 84 : 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 84 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
625 84 : if (ndr_flags & NDR_SCALARS) {
626 84 : NDR_CHECK(ndr_push_align(ndr, 5));
627 84 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->proxy_target));
628 84 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_transited_services));
629 84 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->transited_services));
630 84 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
631 : }
632 84 : if (ndr_flags & NDR_BUFFERS) {
633 84 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->proxy_target));
634 84 : if (r->transited_services) {
635 84 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->num_transited_services));
636 240 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (r->num_transited_services); cntr_transited_services_1++) {
637 156 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_SCALARS, &r->transited_services[cntr_transited_services_1]));
638 : }
639 240 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (r->num_transited_services); cntr_transited_services_1++) {
640 156 : NDR_CHECK(ndr_push_lsa_String(ndr, NDR_BUFFERS, &r->transited_services[cntr_transited_services_1]));
641 : }
642 : }
643 : }
644 84 : return NDR_ERR_SUCCESS;
645 : }
646 :
647 80 : 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 80 : uint32_t size_transited_services_1 = 0;
651 : uint32_t cntr_transited_services_1;
652 80 : TALLOC_CTX *_mem_save_transited_services_0 = NULL;
653 80 : TALLOC_CTX *_mem_save_transited_services_1 = NULL;
654 80 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
655 80 : if (ndr_flags & NDR_SCALARS) {
656 80 : NDR_CHECK(ndr_pull_align(ndr, 5));
657 80 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->proxy_target));
658 80 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_transited_services));
659 80 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_transited_services));
660 80 : if (_ptr_transited_services) {
661 80 : NDR_PULL_ALLOC(ndr, r->transited_services);
662 : } else {
663 0 : r->transited_services = NULL;
664 : }
665 80 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
666 : }
667 80 : if (ndr_flags & NDR_BUFFERS) {
668 80 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->proxy_target));
669 80 : if (r->transited_services) {
670 80 : _mem_save_transited_services_0 = NDR_PULL_GET_MEM_CTX(ndr);
671 80 : NDR_PULL_SET_MEM_CTX(ndr, r->transited_services, 0);
672 80 : NDR_CHECK(ndr_pull_array_size(ndr, &r->transited_services));
673 80 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->transited_services, &size_transited_services_1));
674 80 : NDR_PULL_ALLOC_N(ndr, r->transited_services, size_transited_services_1);
675 80 : _mem_save_transited_services_1 = NDR_PULL_GET_MEM_CTX(ndr);
676 80 : NDR_PULL_SET_MEM_CTX(ndr, r->transited_services, 0);
677 176 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (size_transited_services_1); cntr_transited_services_1++) {
678 96 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_SCALARS, &r->transited_services[cntr_transited_services_1]));
679 : }
680 176 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (size_transited_services_1); cntr_transited_services_1++) {
681 96 : NDR_CHECK(ndr_pull_lsa_String(ndr, NDR_BUFFERS, &r->transited_services[cntr_transited_services_1]));
682 : }
683 80 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transited_services_1, 0);
684 80 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transited_services_0, 0);
685 : }
686 80 : if (r->transited_services) {
687 80 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->transited_services, r->num_transited_services));
688 : }
689 80 : for (cntr_transited_services_1 = 0; cntr_transited_services_1 < (size_transited_services_1); cntr_transited_services_1++) {
690 : }
691 : }
692 80 : 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 19985 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_FLAGS(struct ndr_push *ndr, int ndr_flags, uint32_t r)
718 : {
719 19985 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
720 19985 : return NDR_ERR_SUCCESS;
721 : }
722 :
723 67593 : 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 67593 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
727 67593 : *r = v;
728 67593 : return NDR_ERR_SUCCESS;
729 : }
730 :
731 0 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r)
732 : {
733 0 : ndr_print_uint32(ndr, name, r);
734 0 : ndr->depth++;
735 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_UPN_DNS_FLAG_CONSTRUCTED", PAC_UPN_DNS_FLAG_CONSTRUCTED, r);
736 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID", PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID, r);
737 0 : ndr->depth--;
738 0 : }
739 :
740 39970 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(struct ndr_push *ndr, int ndr_flags, const struct PAC_UPN_DNS_INFO_SAM_NAME_AND_SID *r)
741 : {
742 39970 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
743 39970 : if (ndr_flags & NDR_SCALARS) {
744 19985 : NDR_CHECK(ndr_push_align(ndr, 5));
745 19985 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->samaccountname)));
746 : {
747 19985 : uint32_t _flags_save_string = ndr->flags;
748 19985 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
749 19985 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->samaccountname));
750 19985 : ndr->flags = _flags_save_string;
751 : }
752 19985 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_dom_sid(r->objectsid, ndr->flags)));
753 19985 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->objectsid));
754 19985 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
755 : }
756 39970 : if (ndr_flags & NDR_BUFFERS) {
757 : {
758 19985 : uint32_t _flags_save_string = ndr->flags;
759 19985 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
760 19985 : if (r->samaccountname) {
761 19985 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->samaccountname));
762 : {
763 : struct ndr_push *_ndr_samaccountname;
764 19985 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_samaccountname, 0, 2 * strlen_m(r->samaccountname)));
765 19985 : NDR_CHECK(ndr_push_string(_ndr_samaccountname, NDR_SCALARS, r->samaccountname));
766 19985 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_samaccountname, 0, 2 * strlen_m(r->samaccountname)));
767 : }
768 : }
769 19985 : ndr->flags = _flags_save_string;
770 : }
771 19985 : if (r->objectsid) {
772 19985 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->objectsid));
773 : {
774 : struct ndr_push *_ndr_objectsid;
775 19985 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_objectsid, 0, ndr_size_dom_sid(r->objectsid, ndr->flags)));
776 19985 : NDR_CHECK(ndr_push_dom_sid(_ndr_objectsid, NDR_SCALARS, r->objectsid));
777 19985 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_objectsid, 0, ndr_size_dom_sid(r->objectsid, ndr->flags)));
778 : }
779 : }
780 : }
781 39970 : return NDR_ERR_SUCCESS;
782 : }
783 :
784 135186 : static enum ndr_err_code ndr_pull_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(struct ndr_pull *ndr, int ndr_flags, struct PAC_UPN_DNS_INFO_SAM_NAME_AND_SID *r)
785 : {
786 : uint16_t _ptr_samaccountname;
787 135186 : TALLOC_CTX *_mem_save_samaccountname_0 = NULL;
788 : uint16_t _ptr_objectsid;
789 135186 : TALLOC_CTX *_mem_save_objectsid_0 = NULL;
790 135186 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
791 135186 : if (ndr_flags & NDR_SCALARS) {
792 67593 : NDR_CHECK(ndr_pull_align(ndr, 5));
793 67593 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->samaccountname_size));
794 : {
795 67593 : uint32_t _flags_save_string = ndr->flags;
796 67593 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
797 67593 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_samaccountname));
798 67593 : if (_ptr_samaccountname) {
799 67593 : NDR_PULL_ALLOC(ndr, r->samaccountname);
800 67593 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->samaccountname, _ptr_samaccountname));
801 : } else {
802 0 : r->samaccountname = NULL;
803 : }
804 67593 : ndr->flags = _flags_save_string;
805 : }
806 67593 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->objectsid_size));
807 67593 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_objectsid));
808 67593 : if (_ptr_objectsid) {
809 67593 : NDR_PULL_ALLOC(ndr, r->objectsid);
810 67593 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->objectsid, _ptr_objectsid));
811 : } else {
812 0 : r->objectsid = NULL;
813 : }
814 67593 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
815 : }
816 135186 : if (ndr_flags & NDR_BUFFERS) {
817 : {
818 67593 : uint32_t _flags_save_string = ndr->flags;
819 67593 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
820 67593 : if (r->samaccountname) {
821 : uint32_t _relative_save_offset;
822 67593 : _relative_save_offset = ndr->offset;
823 67593 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->samaccountname));
824 67593 : _mem_save_samaccountname_0 = NDR_PULL_GET_MEM_CTX(ndr);
825 67593 : NDR_PULL_SET_MEM_CTX(ndr, r->samaccountname, 0);
826 : {
827 : struct ndr_pull *_ndr_samaccountname;
828 67593 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_samaccountname, 0, r->samaccountname_size));
829 67593 : NDR_CHECK(ndr_pull_string(_ndr_samaccountname, NDR_SCALARS, &r->samaccountname));
830 67593 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_samaccountname, 0, r->samaccountname_size));
831 : }
832 67593 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_samaccountname_0, 0);
833 67593 : if (ndr->offset > ndr->relative_highest_offset) {
834 67593 : ndr->relative_highest_offset = ndr->offset;
835 : }
836 67593 : ndr->offset = _relative_save_offset;
837 : }
838 67593 : ndr->flags = _flags_save_string;
839 : }
840 67593 : if (r->objectsid) {
841 : uint32_t _relative_save_offset;
842 67593 : _relative_save_offset = ndr->offset;
843 67593 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->objectsid));
844 67593 : _mem_save_objectsid_0 = NDR_PULL_GET_MEM_CTX(ndr);
845 67593 : NDR_PULL_SET_MEM_CTX(ndr, r->objectsid, 0);
846 : {
847 : struct ndr_pull *_ndr_objectsid;
848 67593 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_objectsid, 0, r->objectsid_size));
849 67593 : NDR_CHECK(ndr_pull_dom_sid(_ndr_objectsid, NDR_SCALARS, r->objectsid));
850 67593 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_objectsid, 0, r->objectsid_size));
851 : }
852 67593 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objectsid_0, 0);
853 67593 : if (ndr->offset > ndr->relative_highest_offset) {
854 67593 : ndr->relative_highest_offset = ndr->offset;
855 : }
856 67593 : ndr->offset = _relative_save_offset;
857 : }
858 : }
859 135186 : return NDR_ERR_SUCCESS;
860 : }
861 :
862 0 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(struct ndr_print *ndr, const char *name, const struct PAC_UPN_DNS_INFO_SAM_NAME_AND_SID *r)
863 : {
864 0 : ndr_print_struct(ndr, name, "PAC_UPN_DNS_INFO_SAM_NAME_AND_SID");
865 0 : if (r == NULL) { ndr_print_null(ndr); return; }
866 0 : ndr->depth++;
867 0 : ndr_print_uint16(ndr, "samaccountname_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->samaccountname):r->samaccountname_size);
868 : {
869 0 : uint32_t _flags_save_string = ndr->flags;
870 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
871 0 : ndr_print_ptr(ndr, "samaccountname", r->samaccountname);
872 0 : ndr->depth++;
873 0 : if (r->samaccountname) {
874 0 : ndr_print_string(ndr, "samaccountname", r->samaccountname);
875 : }
876 0 : ndr->depth--;
877 0 : ndr->flags = _flags_save_string;
878 : }
879 0 : ndr_print_uint16(ndr, "objectsid_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_dom_sid(r->objectsid, ndr->flags):r->objectsid_size);
880 0 : ndr_print_ptr(ndr, "objectsid", r->objectsid);
881 0 : ndr->depth++;
882 0 : if (r->objectsid) {
883 0 : ndr_print_dom_sid(ndr, "objectsid", r->objectsid);
884 : }
885 0 : ndr->depth--;
886 0 : ndr->depth--;
887 : }
888 :
889 39970 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_INFO_EX(struct ndr_push *ndr, int ndr_flags, const union PAC_UPN_DNS_INFO_EX *r)
890 : {
891 : uint32_t level;
892 39970 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
893 39970 : if (ndr_flags & NDR_SCALARS) {
894 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
895 19985 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
896 19985 : NDR_CHECK(ndr_push_union_align(ndr, 5));
897 19985 : switch (level) {
898 19985 : case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID: {
899 19985 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_SCALARS, &r->sam_name_and_sid));
900 19985 : break; }
901 :
902 0 : default: {
903 0 : break; }
904 :
905 : }
906 19862 : }
907 39970 : if (ndr_flags & NDR_BUFFERS) {
908 19985 : if (!(ndr_flags & NDR_SCALARS)) {
909 : /* We didn't get it above, and the token is not needed after this. */
910 19985 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
911 : }
912 19985 : switch (level) {
913 19985 : case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID:
914 19985 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_BUFFERS, &r->sam_name_and_sid));
915 19985 : break;
916 :
917 0 : default:
918 0 : break;
919 :
920 : }
921 19862 : }
922 39970 : return NDR_ERR_SUCCESS;
923 : }
924 :
925 135186 : static enum ndr_err_code ndr_pull_PAC_UPN_DNS_INFO_EX(struct ndr_pull *ndr, int ndr_flags, union PAC_UPN_DNS_INFO_EX *r)
926 : {
927 : uint32_t level;
928 135186 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
929 135186 : if (ndr_flags & NDR_SCALARS) {
930 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
931 67593 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
932 67593 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
933 67593 : switch (level) {
934 67593 : case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID: {
935 67593 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_SCALARS, &r->sam_name_and_sid));
936 67593 : break; }
937 :
938 0 : default: {
939 0 : break; }
940 :
941 : }
942 61666 : }
943 135186 : if (ndr_flags & NDR_BUFFERS) {
944 67593 : if (!(ndr_flags & NDR_SCALARS)) {
945 : /* We didn't get it above, and the token is not needed after this. */
946 67593 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
947 : }
948 67593 : switch (level) {
949 67593 : case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID:
950 67593 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_BUFFERS, &r->sam_name_and_sid));
951 67593 : break;
952 :
953 0 : default:
954 0 : break;
955 :
956 : }
957 61666 : }
958 135186 : return NDR_ERR_SUCCESS;
959 : }
960 :
961 0 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_INFO_EX(struct ndr_print *ndr, const char *name, const union PAC_UPN_DNS_INFO_EX *r)
962 : {
963 : uint32_t level;
964 0 : level = ndr_print_steal_switch_value(ndr, r);
965 0 : ndr_print_union(ndr, name, level, "PAC_UPN_DNS_INFO_EX");
966 0 : switch (level) {
967 0 : case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID:
968 0 : ndr_print_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, "sam_name_and_sid", &r->sam_name_and_sid);
969 0 : break;
970 :
971 0 : default:
972 0 : break;
973 :
974 : }
975 0 : }
976 :
977 39970 : 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)
978 : {
979 39970 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
980 39970 : if (ndr_flags & NDR_SCALARS) {
981 19985 : NDR_CHECK(ndr_push_align(ndr, 5));
982 19985 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->upn_name)));
983 : {
984 19985 : uint32_t _flags_save_string = ndr->flags;
985 19985 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
986 19985 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->upn_name));
987 19985 : ndr->flags = _flags_save_string;
988 : }
989 19985 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->dns_domain_name)));
990 : {
991 19985 : uint32_t _flags_save_string = ndr->flags;
992 19985 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
993 19985 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->dns_domain_name));
994 19985 : ndr->flags = _flags_save_string;
995 : }
996 19985 : NDR_CHECK(ndr_push_PAC_UPN_DNS_FLAGS(ndr, NDR_SCALARS, r->flags));
997 19985 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
998 19985 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_EX(ndr, NDR_SCALARS, &r->ex));
999 19985 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1000 : }
1001 39970 : if (ndr_flags & NDR_BUFFERS) {
1002 : {
1003 19985 : uint32_t _flags_save_string = ndr->flags;
1004 19985 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1005 19985 : if (r->upn_name) {
1006 19985 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->upn_name));
1007 : {
1008 : struct ndr_push *_ndr_upn_name;
1009 19985 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_upn_name, 0, 2 * strlen_m(r->upn_name)));
1010 19985 : NDR_CHECK(ndr_push_string(_ndr_upn_name, NDR_SCALARS, r->upn_name));
1011 19985 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_upn_name, 0, 2 * strlen_m(r->upn_name)));
1012 : }
1013 : }
1014 19985 : ndr->flags = _flags_save_string;
1015 : }
1016 : {
1017 19985 : uint32_t _flags_save_string = ndr->flags;
1018 19985 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1019 19985 : if (r->dns_domain_name) {
1020 19985 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->dns_domain_name));
1021 : {
1022 : struct ndr_push *_ndr_dns_domain_name;
1023 19985 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_dns_domain_name, 0, 2 * strlen_m(r->dns_domain_name)));
1024 19985 : NDR_CHECK(ndr_push_string(_ndr_dns_domain_name, NDR_SCALARS, r->dns_domain_name));
1025 19985 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_dns_domain_name, 0, 2 * strlen_m(r->dns_domain_name)));
1026 : }
1027 : }
1028 19985 : ndr->flags = _flags_save_string;
1029 : }
1030 19985 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
1031 19985 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_EX(ndr, NDR_BUFFERS, &r->ex));
1032 : }
1033 39970 : return NDR_ERR_SUCCESS;
1034 : }
1035 :
1036 135186 : static enum ndr_err_code ndr_pull_PAC_UPN_DNS_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_UPN_DNS_INFO *r)
1037 : {
1038 : uint16_t _ptr_upn_name;
1039 135186 : TALLOC_CTX *_mem_save_upn_name_0 = NULL;
1040 : uint16_t _ptr_dns_domain_name;
1041 135186 : TALLOC_CTX *_mem_save_dns_domain_name_0 = NULL;
1042 135186 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1043 135186 : if (ndr_flags & NDR_SCALARS) {
1044 67593 : NDR_CHECK(ndr_pull_align(ndr, 5));
1045 67593 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->upn_name_size));
1046 : {
1047 67593 : uint32_t _flags_save_string = ndr->flags;
1048 67593 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1049 67593 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_upn_name));
1050 67593 : if (_ptr_upn_name) {
1051 67593 : NDR_PULL_ALLOC(ndr, r->upn_name);
1052 67593 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->upn_name, _ptr_upn_name));
1053 : } else {
1054 0 : r->upn_name = NULL;
1055 : }
1056 67593 : ndr->flags = _flags_save_string;
1057 : }
1058 67593 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->dns_domain_name_size));
1059 : {
1060 67593 : uint32_t _flags_save_string = ndr->flags;
1061 67593 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1062 67593 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_dns_domain_name));
1063 67593 : if (_ptr_dns_domain_name) {
1064 67593 : NDR_PULL_ALLOC(ndr, r->dns_domain_name);
1065 67593 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dns_domain_name, _ptr_dns_domain_name));
1066 : } else {
1067 0 : r->dns_domain_name = NULL;
1068 : }
1069 67593 : ndr->flags = _flags_save_string;
1070 : }
1071 67593 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_FLAGS(ndr, NDR_SCALARS, &r->flags));
1072 67593 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
1073 67593 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_EX(ndr, NDR_SCALARS, &r->ex));
1074 67593 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1075 : }
1076 135186 : if (ndr_flags & NDR_BUFFERS) {
1077 : {
1078 67593 : uint32_t _flags_save_string = ndr->flags;
1079 67593 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1080 67593 : if (r->upn_name) {
1081 : uint32_t _relative_save_offset;
1082 67593 : _relative_save_offset = ndr->offset;
1083 67593 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->upn_name));
1084 67593 : _mem_save_upn_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1085 67593 : NDR_PULL_SET_MEM_CTX(ndr, r->upn_name, 0);
1086 : {
1087 : struct ndr_pull *_ndr_upn_name;
1088 67593 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_upn_name, 0, r->upn_name_size));
1089 67593 : NDR_CHECK(ndr_pull_string(_ndr_upn_name, NDR_SCALARS, &r->upn_name));
1090 67593 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_upn_name, 0, r->upn_name_size));
1091 : }
1092 67593 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_upn_name_0, 0);
1093 67593 : if (ndr->offset > ndr->relative_highest_offset) {
1094 67593 : ndr->relative_highest_offset = ndr->offset;
1095 : }
1096 67593 : ndr->offset = _relative_save_offset;
1097 : }
1098 67593 : ndr->flags = _flags_save_string;
1099 : }
1100 : {
1101 67593 : uint32_t _flags_save_string = ndr->flags;
1102 67593 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1103 67593 : if (r->dns_domain_name) {
1104 : uint32_t _relative_save_offset;
1105 67593 : _relative_save_offset = ndr->offset;
1106 67593 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_domain_name));
1107 67593 : _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1108 67593 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
1109 : {
1110 : struct ndr_pull *_ndr_dns_domain_name;
1111 67593 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_dns_domain_name, 0, r->dns_domain_name_size));
1112 67593 : NDR_CHECK(ndr_pull_string(_ndr_dns_domain_name, NDR_SCALARS, &r->dns_domain_name));
1113 67593 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_dns_domain_name, 0, r->dns_domain_name_size));
1114 : }
1115 67593 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
1116 67593 : if (ndr->offset > ndr->relative_highest_offset) {
1117 67593 : ndr->relative_highest_offset = ndr->offset;
1118 : }
1119 67593 : ndr->offset = _relative_save_offset;
1120 : }
1121 67593 : ndr->flags = _flags_save_string;
1122 : }
1123 67593 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
1124 67593 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_EX(ndr, NDR_BUFFERS, &r->ex));
1125 : }
1126 135186 : return NDR_ERR_SUCCESS;
1127 : }
1128 :
1129 0 : _PUBLIC_ void ndr_print_PAC_UPN_DNS_INFO(struct ndr_print *ndr, const char *name, const struct PAC_UPN_DNS_INFO *r)
1130 : {
1131 0 : ndr_print_struct(ndr, name, "PAC_UPN_DNS_INFO");
1132 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1133 0 : ndr->depth++;
1134 0 : ndr_print_uint16(ndr, "upn_name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2 * strlen_m(r->upn_name):r->upn_name_size);
1135 : {
1136 0 : uint32_t _flags_save_string = ndr->flags;
1137 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1138 0 : ndr_print_ptr(ndr, "upn_name", r->upn_name);
1139 0 : ndr->depth++;
1140 0 : if (r->upn_name) {
1141 0 : ndr_print_string(ndr, "upn_name", r->upn_name);
1142 : }
1143 0 : ndr->depth--;
1144 0 : ndr->flags = _flags_save_string;
1145 : }
1146 0 : 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);
1147 : {
1148 0 : uint32_t _flags_save_string = ndr->flags;
1149 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1150 0 : ndr_print_ptr(ndr, "dns_domain_name", r->dns_domain_name);
1151 0 : ndr->depth++;
1152 0 : if (r->dns_domain_name) {
1153 0 : ndr_print_string(ndr, "dns_domain_name", r->dns_domain_name);
1154 : }
1155 0 : ndr->depth--;
1156 0 : ndr->flags = _flags_save_string;
1157 : }
1158 0 : ndr_print_PAC_UPN_DNS_FLAGS(ndr, "flags", r->flags);
1159 0 : ndr_print_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID);
1160 0 : ndr_print_PAC_UPN_DNS_INFO_EX(ndr, "ex", &r->ex);
1161 0 : ndr->depth--;
1162 : }
1163 :
1164 17603 : static enum ndr_err_code ndr_push_PAC_ATTRIBUTE_INFO_FLAGS(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1165 : {
1166 17603 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1167 17603 : return NDR_ERR_SUCCESS;
1168 : }
1169 :
1170 15209 : static enum ndr_err_code ndr_pull_PAC_ATTRIBUTE_INFO_FLAGS(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
1171 : {
1172 : uint32_t v;
1173 15209 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1174 15209 : *r = v;
1175 15209 : return NDR_ERR_SUCCESS;
1176 : }
1177 :
1178 0 : _PUBLIC_ void ndr_print_PAC_ATTRIBUTE_INFO_FLAGS(struct ndr_print *ndr, const char *name, uint32_t r)
1179 : {
1180 0 : ndr_print_uint32(ndr, name, r);
1181 0 : ndr->depth++;
1182 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_ATTRIBUTE_FLAG_PAC_WAS_REQUESTED", PAC_ATTRIBUTE_FLAG_PAC_WAS_REQUESTED, r);
1183 0 : ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY", PAC_ATTRIBUTE_FLAG_PAC_WAS_GIVEN_IMPLICITLY, r);
1184 0 : ndr->depth--;
1185 0 : }
1186 :
1187 17603 : static enum ndr_err_code ndr_push_PAC_ATTRIBUTES_INFO(struct ndr_push *ndr, int ndr_flags, const struct PAC_ATTRIBUTES_INFO *r)
1188 : {
1189 17603 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1190 17603 : if (ndr_flags & NDR_SCALARS) {
1191 17603 : NDR_CHECK(ndr_push_align(ndr, 4));
1192 17603 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags_length));
1193 17603 : NDR_CHECK(ndr_push_PAC_ATTRIBUTE_INFO_FLAGS(ndr, NDR_SCALARS, r->flags));
1194 17603 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1195 : }
1196 17603 : if (ndr_flags & NDR_BUFFERS) {
1197 : }
1198 17603 : return NDR_ERR_SUCCESS;
1199 : }
1200 :
1201 15209 : static enum ndr_err_code ndr_pull_PAC_ATTRIBUTES_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_ATTRIBUTES_INFO *r)
1202 : {
1203 15209 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1204 15209 : if (ndr_flags & NDR_SCALARS) {
1205 15209 : NDR_CHECK(ndr_pull_align(ndr, 4));
1206 15209 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_length));
1207 15209 : NDR_CHECK(ndr_pull_PAC_ATTRIBUTE_INFO_FLAGS(ndr, NDR_SCALARS, &r->flags));
1208 15209 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1209 : }
1210 15209 : if (ndr_flags & NDR_BUFFERS) {
1211 : }
1212 15209 : return NDR_ERR_SUCCESS;
1213 : }
1214 :
1215 0 : _PUBLIC_ void ndr_print_PAC_ATTRIBUTES_INFO(struct ndr_print *ndr, const char *name, const struct PAC_ATTRIBUTES_INFO *r)
1216 : {
1217 0 : ndr_print_struct(ndr, name, "PAC_ATTRIBUTES_INFO");
1218 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1219 0 : ndr->depth++;
1220 0 : ndr_print_uint32(ndr, "flags_length", r->flags_length);
1221 0 : ndr_print_PAC_ATTRIBUTE_INFO_FLAGS(ndr, "flags", r->flags);
1222 0 : ndr->depth--;
1223 : }
1224 :
1225 17650 : static enum ndr_err_code ndr_push_PAC_REQUESTER_SID(struct ndr_push *ndr, int ndr_flags, const struct PAC_REQUESTER_SID *r)
1226 : {
1227 17650 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1228 17650 : if (ndr_flags & NDR_SCALARS) {
1229 17650 : NDR_CHECK(ndr_push_align(ndr, 4));
1230 17650 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sid));
1231 17650 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1232 : }
1233 17650 : if (ndr_flags & NDR_BUFFERS) {
1234 : }
1235 17650 : return NDR_ERR_SUCCESS;
1236 : }
1237 :
1238 36416 : static enum ndr_err_code ndr_pull_PAC_REQUESTER_SID(struct ndr_pull *ndr, int ndr_flags, struct PAC_REQUESTER_SID *r)
1239 : {
1240 36416 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1241 36416 : if (ndr_flags & NDR_SCALARS) {
1242 36416 : NDR_CHECK(ndr_pull_align(ndr, 4));
1243 36416 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sid));
1244 36416 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1245 : }
1246 36416 : if (ndr_flags & NDR_BUFFERS) {
1247 : }
1248 36416 : return NDR_ERR_SUCCESS;
1249 : }
1250 :
1251 0 : _PUBLIC_ void ndr_print_PAC_REQUESTER_SID(struct ndr_print *ndr, const char *name, const struct PAC_REQUESTER_SID *r)
1252 : {
1253 0 : ndr_print_struct(ndr, name, "PAC_REQUESTER_SID");
1254 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1255 0 : ndr->depth++;
1256 0 : ndr_print_dom_sid(ndr, "sid", &r->sid);
1257 0 : ndr->depth--;
1258 : }
1259 :
1260 55953 : _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)
1261 : {
1262 55953 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1263 55953 : if (ndr_flags & NDR_SCALARS) {
1264 55953 : NDR_CHECK(ndr_push_align(ndr, 5));
1265 55953 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
1266 55953 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1267 : }
1268 55953 : if (ndr_flags & NDR_BUFFERS) {
1269 55953 : if (r->info) {
1270 55953 : NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
1271 : }
1272 : }
1273 55953 : return NDR_ERR_SUCCESS;
1274 : }
1275 :
1276 67928 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_LOGON_INFO_CTR(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO_CTR *r)
1277 : {
1278 : uint32_t _ptr_info;
1279 67928 : TALLOC_CTX *_mem_save_info_0 = NULL;
1280 67928 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1281 67928 : if (ndr_flags & NDR_SCALARS) {
1282 67928 : NDR_CHECK(ndr_pull_align(ndr, 5));
1283 67928 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
1284 67928 : if (_ptr_info) {
1285 67928 : NDR_PULL_ALLOC(ndr, r->info);
1286 : } else {
1287 0 : r->info = NULL;
1288 : }
1289 67928 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1290 : }
1291 67928 : if (ndr_flags & NDR_BUFFERS) {
1292 67928 : if (r->info) {
1293 67928 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1294 67928 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
1295 67928 : NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
1296 67928 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
1297 : }
1298 : }
1299 67928 : return NDR_ERR_SUCCESS;
1300 : }
1301 :
1302 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)
1303 : {
1304 0 : ndr_print_PAC_LOGON_INFO_CTR(ndr, name, r);
1305 0 : }
1306 :
1307 0 : _PUBLIC_ void ndr_print_PAC_LOGON_INFO_CTR(struct ndr_print *ndr, const char *name, const struct PAC_LOGON_INFO_CTR *r)
1308 : {
1309 0 : ndr_print_struct(ndr, name, "PAC_LOGON_INFO_CTR");
1310 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1311 0 : ndr->depth++;
1312 0 : ndr_print_ptr(ndr, "info", r->info);
1313 0 : ndr->depth++;
1314 0 : if (r->info) {
1315 0 : ndr_print_PAC_LOGON_INFO(ndr, "info", r->info);
1316 : }
1317 0 : ndr->depth--;
1318 0 : ndr->depth--;
1319 : }
1320 :
1321 84 : _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)
1322 : {
1323 84 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1324 84 : if (ndr_flags & NDR_SCALARS) {
1325 84 : NDR_CHECK(ndr_push_align(ndr, 5));
1326 84 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
1327 84 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1328 : }
1329 84 : if (ndr_flags & NDR_BUFFERS) {
1330 84 : if (r->info) {
1331 84 : NDR_CHECK(ndr_push_PAC_CONSTRAINED_DELEGATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
1332 : }
1333 : }
1334 84 : return NDR_ERR_SUCCESS;
1335 : }
1336 :
1337 80 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_pull *ndr, int ndr_flags, struct PAC_CONSTRAINED_DELEGATION_CTR *r)
1338 : {
1339 : uint32_t _ptr_info;
1340 80 : TALLOC_CTX *_mem_save_info_0 = NULL;
1341 80 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1342 80 : if (ndr_flags & NDR_SCALARS) {
1343 80 : NDR_CHECK(ndr_pull_align(ndr, 5));
1344 80 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
1345 80 : if (_ptr_info) {
1346 80 : NDR_PULL_ALLOC(ndr, r->info);
1347 : } else {
1348 0 : r->info = NULL;
1349 : }
1350 80 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1351 : }
1352 80 : if (ndr_flags & NDR_BUFFERS) {
1353 80 : if (r->info) {
1354 80 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1355 80 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
1356 80 : NDR_CHECK(ndr_pull_PAC_CONSTRAINED_DELEGATION(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
1357 80 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
1358 : }
1359 : }
1360 80 : return NDR_ERR_SUCCESS;
1361 : }
1362 :
1363 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)
1364 : {
1365 0 : ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(ndr, name, r);
1366 0 : }
1367 :
1368 0 : _PUBLIC_ void ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(struct ndr_print *ndr, const char *name, const struct PAC_CONSTRAINED_DELEGATION_CTR *r)
1369 : {
1370 0 : ndr_print_struct(ndr, name, "PAC_CONSTRAINED_DELEGATION_CTR");
1371 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1372 0 : ndr->depth++;
1373 0 : ndr_print_ptr(ndr, "info", r->info);
1374 0 : ndr->depth++;
1375 0 : if (r->info) {
1376 0 : ndr_print_PAC_CONSTRAINED_DELEGATION(ndr, "info", r->info);
1377 : }
1378 0 : ndr->depth--;
1379 0 : ndr->depth--;
1380 : }
1381 :
1382 46978 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_TYPE(struct ndr_push *ndr, int ndr_flags, enum PAC_TYPE r)
1383 : {
1384 46978 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1385 46978 : return NDR_ERR_SUCCESS;
1386 : }
1387 :
1388 88791 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_TYPE(struct ndr_pull *ndr, int ndr_flags, enum PAC_TYPE *r)
1389 : {
1390 : uint32_t v;
1391 88791 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1392 88791 : *r = v;
1393 88791 : return NDR_ERR_SUCCESS;
1394 : }
1395 :
1396 0 : _PUBLIC_ void ndr_print_PAC_TYPE(struct ndr_print *ndr, const char *name, enum PAC_TYPE r)
1397 : {
1398 0 : const char *val = NULL;
1399 :
1400 0 : switch (r) {
1401 0 : case PAC_TYPE_LOGON_INFO: val = "PAC_TYPE_LOGON_INFO"; break;
1402 0 : case PAC_TYPE_CREDENTIAL_INFO: val = "PAC_TYPE_CREDENTIAL_INFO"; break;
1403 0 : case PAC_TYPE_SRV_CHECKSUM: val = "PAC_TYPE_SRV_CHECKSUM"; break;
1404 0 : case PAC_TYPE_KDC_CHECKSUM: val = "PAC_TYPE_KDC_CHECKSUM"; break;
1405 0 : case PAC_TYPE_LOGON_NAME: val = "PAC_TYPE_LOGON_NAME"; break;
1406 0 : case PAC_TYPE_CONSTRAINED_DELEGATION: val = "PAC_TYPE_CONSTRAINED_DELEGATION"; break;
1407 0 : case PAC_TYPE_UPN_DNS_INFO: val = "PAC_TYPE_UPN_DNS_INFO"; break;
1408 0 : case PAC_TYPE_CLIENT_CLAIMS_INFO: val = "PAC_TYPE_CLIENT_CLAIMS_INFO"; break;
1409 0 : case PAC_TYPE_DEVICE_INFO: val = "PAC_TYPE_DEVICE_INFO"; break;
1410 0 : case PAC_TYPE_DEVICE_CLAIMS_INFO: val = "PAC_TYPE_DEVICE_CLAIMS_INFO"; break;
1411 0 : case PAC_TYPE_TICKET_CHECKSUM: val = "PAC_TYPE_TICKET_CHECKSUM"; break;
1412 0 : case PAC_TYPE_ATTRIBUTES_INFO: val = "PAC_TYPE_ATTRIBUTES_INFO"; break;
1413 0 : case PAC_TYPE_REQUESTER_SID: val = "PAC_TYPE_REQUESTER_SID"; break;
1414 0 : case PAC_TYPE_FULL_CHECKSUM: val = "PAC_TYPE_FULL_CHECKSUM"; break;
1415 : }
1416 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
1417 0 : }
1418 :
1419 44699 : static enum ndr_err_code ndr_push_DATA_BLOB_REM(struct ndr_push *ndr, int ndr_flags, const struct DATA_BLOB_REM *r)
1420 : {
1421 44699 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1422 44699 : if (ndr_flags & NDR_SCALARS) {
1423 44699 : NDR_CHECK(ndr_push_align(ndr, 4));
1424 : {
1425 44699 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1426 44699 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1427 44699 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining));
1428 44699 : ndr->flags = _flags_save_DATA_BLOB;
1429 : }
1430 44699 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1431 : }
1432 44699 : if (ndr_flags & NDR_BUFFERS) {
1433 : }
1434 44699 : return NDR_ERR_SUCCESS;
1435 : }
1436 :
1437 35830 : static enum ndr_err_code ndr_pull_DATA_BLOB_REM(struct ndr_pull *ndr, int ndr_flags, struct DATA_BLOB_REM *r)
1438 : {
1439 35830 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1440 35830 : if (ndr_flags & NDR_SCALARS) {
1441 35830 : NDR_CHECK(ndr_pull_align(ndr, 4));
1442 : {
1443 35830 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1444 35830 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1445 35830 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining));
1446 35830 : ndr->flags = _flags_save_DATA_BLOB;
1447 : }
1448 35830 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1449 : }
1450 35830 : if (ndr_flags & NDR_BUFFERS) {
1451 : }
1452 35830 : return NDR_ERR_SUCCESS;
1453 : }
1454 :
1455 0 : _PUBLIC_ void ndr_print_DATA_BLOB_REM(struct ndr_print *ndr, const char *name, const struct DATA_BLOB_REM *r)
1456 : {
1457 0 : ndr_print_struct(ndr, name, "DATA_BLOB_REM");
1458 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1459 0 : ndr->depth++;
1460 : {
1461 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1462 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1463 0 : ndr_print_DATA_BLOB(ndr, "remaining", r->remaining);
1464 0 : ndr->flags = _flags_save_DATA_BLOB;
1465 : }
1466 0 : ndr->depth--;
1467 : }
1468 :
1469 115205 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_INFO(struct ndr_push *ndr, int ndr_flags, const union PAC_INFO *r)
1470 : {
1471 : uint32_t level;
1472 115205 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1473 115205 : if (ndr_flags & NDR_SCALARS) {
1474 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1475 115205 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1476 115205 : NDR_CHECK(ndr_push_union_align(ndr, 5));
1477 115205 : switch (level) {
1478 55953 : case PAC_TYPE_LOGON_INFO: {
1479 55830 : {
1480 : struct ndr_push *_ndr_logon_info;
1481 55953 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
1482 55953 : NDR_CHECK(ndr_push_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
1483 55953 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
1484 : }
1485 55953 : break; }
1486 :
1487 0 : case PAC_TYPE_CREDENTIAL_INFO: {
1488 0 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_INFO(ndr, NDR_SCALARS, &r->credential_info));
1489 0 : break; }
1490 :
1491 951 : case PAC_TYPE_SRV_CHECKSUM: {
1492 951 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
1493 951 : break; }
1494 :
1495 939 : case PAC_TYPE_KDC_CHECKSUM: {
1496 939 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
1497 939 : break; }
1498 :
1499 975 : case PAC_TYPE_LOGON_NAME: {
1500 975 : NDR_CHECK(ndr_push_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
1501 975 : break; }
1502 :
1503 84 : case PAC_TYPE_CONSTRAINED_DELEGATION: {
1504 78 : {
1505 : struct ndr_push *_ndr_constrained_delegation;
1506 84 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_constrained_delegation, 0xFFFFFC01, -1));
1507 84 : NDR_CHECK(ndr_push_PAC_CONSTRAINED_DELEGATION_CTR(_ndr_constrained_delegation, NDR_SCALARS|NDR_BUFFERS, &r->constrained_delegation));
1508 84 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_constrained_delegation, 0xFFFFFC01, -1));
1509 : }
1510 84 : break; }
1511 :
1512 19985 : case PAC_TYPE_UPN_DNS_INFO: {
1513 19985 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO(ndr, NDR_SCALARS, &r->upn_dns_info));
1514 19985 : break; }
1515 :
1516 531 : case PAC_TYPE_TICKET_CHECKSUM: {
1517 531 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->ticket_checksum));
1518 531 : break; }
1519 :
1520 17603 : case PAC_TYPE_ATTRIBUTES_INFO: {
1521 17603 : NDR_CHECK(ndr_push_PAC_ATTRIBUTES_INFO(ndr, NDR_SCALARS, &r->attributes_info));
1522 17603 : break; }
1523 :
1524 17650 : case PAC_TYPE_REQUESTER_SID: {
1525 17650 : NDR_CHECK(ndr_push_PAC_REQUESTER_SID(ndr, NDR_SCALARS, &r->requester_sid));
1526 17650 : break; }
1527 :
1528 534 : case PAC_TYPE_FULL_CHECKSUM: {
1529 534 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->full_checksum));
1530 534 : break; }
1531 :
1532 0 : default: {
1533 0 : {
1534 : struct ndr_push *_ndr_unknown;
1535 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_unknown, 0, -1));
1536 0 : NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
1537 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_unknown, 0, -1));
1538 : }
1539 0 : break; }
1540 :
1541 : }
1542 0 : }
1543 115205 : if (ndr_flags & NDR_BUFFERS) {
1544 115205 : if (!(ndr_flags & NDR_SCALARS)) {
1545 : /* We didn't get it above, and the token is not needed after this. */
1546 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1547 : }
1548 115205 : switch (level) {
1549 55953 : case PAC_TYPE_LOGON_INFO:
1550 55953 : break;
1551 :
1552 0 : case PAC_TYPE_CREDENTIAL_INFO:
1553 0 : break;
1554 :
1555 951 : case PAC_TYPE_SRV_CHECKSUM:
1556 951 : break;
1557 :
1558 939 : case PAC_TYPE_KDC_CHECKSUM:
1559 939 : break;
1560 :
1561 975 : case PAC_TYPE_LOGON_NAME:
1562 975 : break;
1563 :
1564 84 : case PAC_TYPE_CONSTRAINED_DELEGATION:
1565 84 : break;
1566 :
1567 19985 : case PAC_TYPE_UPN_DNS_INFO:
1568 19985 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO(ndr, NDR_BUFFERS, &r->upn_dns_info));
1569 19985 : break;
1570 :
1571 531 : case PAC_TYPE_TICKET_CHECKSUM:
1572 531 : break;
1573 :
1574 17603 : case PAC_TYPE_ATTRIBUTES_INFO:
1575 17603 : break;
1576 :
1577 17650 : case PAC_TYPE_REQUESTER_SID:
1578 17650 : break;
1579 :
1580 534 : case PAC_TYPE_FULL_CHECKSUM:
1581 534 : break;
1582 :
1583 0 : default:
1584 0 : break;
1585 :
1586 : }
1587 0 : }
1588 115205 : return NDR_ERR_SUCCESS;
1589 : }
1590 :
1591 221760 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_INFO(struct ndr_pull *ndr, int ndr_flags, union PAC_INFO *r)
1592 : {
1593 : uint32_t level;
1594 221760 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1595 221760 : if (ndr_flags & NDR_SCALARS) {
1596 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1597 221760 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1598 221760 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
1599 221760 : switch (level) {
1600 67928 : case PAC_TYPE_LOGON_INFO: {
1601 61824 : {
1602 : struct ndr_pull *_ndr_logon_info;
1603 67928 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
1604 67928 : NDR_CHECK(ndr_pull_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
1605 67928 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
1606 : }
1607 67928 : break; }
1608 :
1609 0 : case PAC_TYPE_CREDENTIAL_INFO: {
1610 0 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_INFO(ndr, NDR_SCALARS, &r->credential_info));
1611 0 : break; }
1612 :
1613 8842 : case PAC_TYPE_SRV_CHECKSUM: {
1614 8842 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
1615 8842 : break; }
1616 :
1617 8842 : case PAC_TYPE_KDC_CHECKSUM: {
1618 8842 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
1619 8842 : break; }
1620 :
1621 8842 : case PAC_TYPE_LOGON_NAME: {
1622 8842 : NDR_CHECK(ndr_pull_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
1623 8842 : break; }
1624 :
1625 80 : case PAC_TYPE_CONSTRAINED_DELEGATION: {
1626 80 : {
1627 : struct ndr_pull *_ndr_constrained_delegation;
1628 80 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_constrained_delegation, 0xFFFFFC01, -1));
1629 80 : NDR_CHECK(ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR(_ndr_constrained_delegation, NDR_SCALARS|NDR_BUFFERS, &r->constrained_delegation));
1630 80 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_constrained_delegation, 0xFFFFFC01, -1));
1631 : }
1632 80 : break; }
1633 :
1634 67593 : case PAC_TYPE_UPN_DNS_INFO: {
1635 67593 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO(ndr, NDR_SCALARS, &r->upn_dns_info));
1636 67593 : break; }
1637 :
1638 4004 : case PAC_TYPE_TICKET_CHECKSUM: {
1639 4004 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->ticket_checksum));
1640 4004 : break; }
1641 :
1642 15209 : case PAC_TYPE_ATTRIBUTES_INFO: {
1643 15209 : NDR_CHECK(ndr_pull_PAC_ATTRIBUTES_INFO(ndr, NDR_SCALARS, &r->attributes_info));
1644 15209 : break; }
1645 :
1646 36416 : case PAC_TYPE_REQUESTER_SID: {
1647 36416 : NDR_CHECK(ndr_pull_PAC_REQUESTER_SID(ndr, NDR_SCALARS, &r->requester_sid));
1648 36416 : break; }
1649 :
1650 4004 : case PAC_TYPE_FULL_CHECKSUM: {
1651 4004 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->full_checksum));
1652 4004 : break; }
1653 :
1654 0 : default: {
1655 0 : {
1656 : struct ndr_pull *_ndr_unknown;
1657 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_unknown, 0, -1));
1658 0 : NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
1659 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_unknown, 0, -1));
1660 : }
1661 0 : break; }
1662 :
1663 : }
1664 0 : }
1665 221760 : if (ndr_flags & NDR_BUFFERS) {
1666 221760 : if (!(ndr_flags & NDR_SCALARS)) {
1667 : /* We didn't get it above, and the token is not needed after this. */
1668 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1669 : }
1670 221760 : switch (level) {
1671 67928 : case PAC_TYPE_LOGON_INFO:
1672 67928 : break;
1673 :
1674 0 : case PAC_TYPE_CREDENTIAL_INFO:
1675 0 : break;
1676 :
1677 8842 : case PAC_TYPE_SRV_CHECKSUM:
1678 8842 : break;
1679 :
1680 8842 : case PAC_TYPE_KDC_CHECKSUM:
1681 8842 : break;
1682 :
1683 8842 : case PAC_TYPE_LOGON_NAME:
1684 8842 : break;
1685 :
1686 80 : case PAC_TYPE_CONSTRAINED_DELEGATION:
1687 80 : break;
1688 :
1689 67593 : case PAC_TYPE_UPN_DNS_INFO:
1690 67593 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO(ndr, NDR_BUFFERS, &r->upn_dns_info));
1691 67593 : break;
1692 :
1693 4004 : case PAC_TYPE_TICKET_CHECKSUM:
1694 4004 : break;
1695 :
1696 15209 : case PAC_TYPE_ATTRIBUTES_INFO:
1697 15209 : break;
1698 :
1699 36416 : case PAC_TYPE_REQUESTER_SID:
1700 36416 : break;
1701 :
1702 4004 : case PAC_TYPE_FULL_CHECKSUM:
1703 4004 : break;
1704 :
1705 0 : default:
1706 0 : break;
1707 :
1708 : }
1709 0 : }
1710 221760 : return NDR_ERR_SUCCESS;
1711 : }
1712 :
1713 0 : _PUBLIC_ void ndr_print_PAC_INFO(struct ndr_print *ndr, const char *name, const union PAC_INFO *r)
1714 : {
1715 : uint32_t level;
1716 0 : level = ndr_print_steal_switch_value(ndr, r);
1717 0 : ndr_print_union(ndr, name, level, "PAC_INFO");
1718 0 : switch (level) {
1719 0 : case PAC_TYPE_LOGON_INFO:
1720 0 : ndr_print_PAC_LOGON_INFO_CTR(ndr, "logon_info", &r->logon_info);
1721 0 : break;
1722 :
1723 0 : case PAC_TYPE_CREDENTIAL_INFO:
1724 0 : ndr_print_PAC_CREDENTIAL_INFO(ndr, "credential_info", &r->credential_info);
1725 0 : break;
1726 :
1727 0 : case PAC_TYPE_SRV_CHECKSUM:
1728 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, "srv_cksum", &r->srv_cksum);
1729 0 : break;
1730 :
1731 0 : case PAC_TYPE_KDC_CHECKSUM:
1732 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, "kdc_cksum", &r->kdc_cksum);
1733 0 : break;
1734 :
1735 0 : case PAC_TYPE_LOGON_NAME:
1736 0 : ndr_print_PAC_LOGON_NAME(ndr, "logon_name", &r->logon_name);
1737 0 : break;
1738 :
1739 0 : case PAC_TYPE_CONSTRAINED_DELEGATION:
1740 0 : ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(ndr, "constrained_delegation", &r->constrained_delegation);
1741 0 : break;
1742 :
1743 0 : case PAC_TYPE_UPN_DNS_INFO:
1744 0 : ndr_print_PAC_UPN_DNS_INFO(ndr, "upn_dns_info", &r->upn_dns_info);
1745 0 : break;
1746 :
1747 0 : case PAC_TYPE_TICKET_CHECKSUM:
1748 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, "ticket_checksum", &r->ticket_checksum);
1749 0 : break;
1750 :
1751 0 : case PAC_TYPE_ATTRIBUTES_INFO:
1752 0 : ndr_print_PAC_ATTRIBUTES_INFO(ndr, "attributes_info", &r->attributes_info);
1753 0 : break;
1754 :
1755 0 : case PAC_TYPE_REQUESTER_SID:
1756 0 : ndr_print_PAC_REQUESTER_SID(ndr, "requester_sid", &r->requester_sid);
1757 0 : break;
1758 :
1759 0 : case PAC_TYPE_FULL_CHECKSUM:
1760 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, "full_checksum", &r->full_checksum);
1761 0 : break;
1762 :
1763 0 : default:
1764 0 : ndr_print_DATA_BLOB_REM(ndr, "unknown", &r->unknown);
1765 0 : break;
1766 :
1767 : }
1768 0 : }
1769 :
1770 4558 : _PUBLIC_ size_t ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, int flags)
1771 : {
1772 4558 : return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_PAC_INFO);
1773 : }
1774 :
1775 0 : static void ndr_print_flags_PAC_BUFFER(struct ndr_print *ndr, const char *name, int unused, const struct PAC_BUFFER *r)
1776 : {
1777 0 : ndr_print_PAC_BUFFER(ndr, name, r);
1778 0 : }
1779 :
1780 0 : _PUBLIC_ void ndr_print_PAC_BUFFER(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER *r)
1781 : {
1782 0 : ndr_print_struct(ndr, name, "PAC_BUFFER");
1783 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1784 0 : ndr->depth++;
1785 0 : ndr_print_PAC_TYPE(ndr, "type", r->type);
1786 0 : ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?_ndr_size_PAC_INFO(r->info, r->type, LIBNDR_FLAG_ALIGN8):r->_ndr_size);
1787 : {
1788 0 : uint32_t _flags_save_PAC_INFO = ndr->flags;
1789 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1790 0 : ndr_print_ptr(ndr, "info", r->info);
1791 0 : ndr->depth++;
1792 0 : if (r->info) {
1793 0 : ndr_print_set_switch_value(ndr, r->info, r->type);
1794 0 : ndr_print_PAC_INFO(ndr, "info", r->info);
1795 : }
1796 0 : ndr->depth--;
1797 0 : ndr->flags = _flags_save_PAC_INFO;
1798 : }
1799 0 : ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
1800 0 : ndr->depth--;
1801 : }
1802 :
1803 325 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA *r)
1804 : {
1805 : uint32_t cntr_buffers_0;
1806 325 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1807 325 : if (ndr_flags & NDR_SCALARS) {
1808 325 : NDR_CHECK(ndr_push_align(ndr, 5));
1809 325 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
1810 325 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1811 2604 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
1812 2279 : NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
1813 : }
1814 325 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1815 : }
1816 325 : if (ndr_flags & NDR_BUFFERS) {
1817 2604 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
1818 2279 : NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
1819 : }
1820 : }
1821 325 : return NDR_ERR_SUCCESS;
1822 : }
1823 :
1824 8842 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA *r)
1825 : {
1826 8842 : uint32_t size_buffers_0 = 0;
1827 : uint32_t cntr_buffers_0;
1828 8842 : TALLOC_CTX *_mem_save_buffers_0 = NULL;
1829 8842 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1830 8842 : if (ndr_flags & NDR_SCALARS) {
1831 8842 : NDR_CHECK(ndr_pull_align(ndr, 5));
1832 8842 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
1833 8842 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1834 8842 : size_buffers_0 = r->num_buffers;
1835 8842 : NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
1836 8842 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
1837 8842 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
1838 61803 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
1839 52961 : NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
1840 : }
1841 8842 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
1842 8842 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1843 : }
1844 8842 : if (ndr_flags & NDR_BUFFERS) {
1845 8842 : size_buffers_0 = r->num_buffers;
1846 8842 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
1847 8842 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
1848 61803 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
1849 52961 : NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
1850 : }
1851 8842 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
1852 19340 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
1853 : }
1854 : }
1855 8842 : return NDR_ERR_SUCCESS;
1856 : }
1857 :
1858 0 : static void ndr_print_flags_PAC_DATA(struct ndr_print *ndr, const char *name, int unused, const struct PAC_DATA *r)
1859 : {
1860 0 : ndr_print_PAC_DATA(ndr, name, r);
1861 0 : }
1862 :
1863 0 : _PUBLIC_ void ndr_print_PAC_DATA(struct ndr_print *ndr, const char *name, const struct PAC_DATA *r)
1864 : {
1865 : uint32_t cntr_buffers_0;
1866 0 : ndr_print_struct(ndr, name, "PAC_DATA");
1867 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1868 0 : ndr->depth++;
1869 0 : ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
1870 0 : ndr_print_uint32(ndr, "version", r->version);
1871 0 : ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers);
1872 0 : ndr->depth++;
1873 0 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
1874 0 : ndr_print_PAC_BUFFER(ndr, "buffers", &r->buffers[cntr_buffers_0]);
1875 : }
1876 0 : ndr->depth--;
1877 0 : ndr->depth--;
1878 : }
1879 :
1880 89398 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_BUFFER_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_BUFFER_RAW *r)
1881 : {
1882 89398 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1883 89398 : if (ndr_flags & NDR_SCALARS) {
1884 44699 : NDR_CHECK(ndr_push_align(ndr, 5));
1885 44699 : NDR_CHECK(ndr_push_PAC_TYPE(ndr, NDR_SCALARS, r->type));
1886 44699 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ndr_size));
1887 : {
1888 44699 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1889 44699 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1890 44699 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->info));
1891 44699 : ndr->flags = _flags_save_DATA_BLOB_REM;
1892 : }
1893 44699 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1894 44699 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1895 : }
1896 89398 : if (ndr_flags & NDR_BUFFERS) {
1897 : {
1898 44699 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1899 44699 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1900 44699 : if (r->info) {
1901 44699 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->info));
1902 : {
1903 : struct ndr_push *_ndr_info;
1904 44699 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
1905 44699 : NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
1906 44699 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
1907 : }
1908 44699 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->info));
1909 : }
1910 44699 : ndr->flags = _flags_save_DATA_BLOB_REM;
1911 : }
1912 : }
1913 89398 : return NDR_ERR_SUCCESS;
1914 : }
1915 :
1916 71660 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_BUFFER_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_BUFFER_RAW *r)
1917 : {
1918 : uint32_t _ptr_info;
1919 71660 : TALLOC_CTX *_mem_save_info_0 = NULL;
1920 71660 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1921 71660 : if (ndr_flags & NDR_SCALARS) {
1922 35830 : NDR_CHECK(ndr_pull_align(ndr, 5));
1923 35830 : NDR_CHECK(ndr_pull_PAC_TYPE(ndr, NDR_SCALARS, &r->type));
1924 35830 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ndr_size));
1925 : {
1926 35830 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1927 35830 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1928 35830 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
1929 35830 : if (_ptr_info) {
1930 35830 : NDR_PULL_ALLOC(ndr, r->info);
1931 35830 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->info, _ptr_info));
1932 : } else {
1933 0 : r->info = NULL;
1934 : }
1935 35830 : ndr->flags = _flags_save_DATA_BLOB_REM;
1936 : }
1937 35830 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
1938 35830 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1939 : }
1940 71660 : if (ndr_flags & NDR_BUFFERS) {
1941 : {
1942 35830 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1943 35830 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1944 35830 : if (r->info) {
1945 : uint32_t _relative_save_offset;
1946 35830 : _relative_save_offset = ndr->offset;
1947 35830 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->info));
1948 35830 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1949 35830 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
1950 : {
1951 : struct ndr_pull *_ndr_info;
1952 35830 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
1953 35830 : NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
1954 35830 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
1955 : }
1956 35830 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
1957 35830 : if (ndr->offset > ndr->relative_highest_offset) {
1958 35830 : ndr->relative_highest_offset = ndr->offset;
1959 : }
1960 35830 : ndr->offset = _relative_save_offset;
1961 : }
1962 35830 : ndr->flags = _flags_save_DATA_BLOB_REM;
1963 : }
1964 : }
1965 71660 : return NDR_ERR_SUCCESS;
1966 : }
1967 :
1968 0 : static void ndr_print_flags_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, int unused, const struct PAC_BUFFER_RAW *r)
1969 : {
1970 0 : ndr_print_PAC_BUFFER_RAW(ndr, name, r);
1971 0 : }
1972 :
1973 0 : _PUBLIC_ void ndr_print_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER_RAW *r)
1974 : {
1975 0 : ndr_print_struct(ndr, name, "PAC_BUFFER_RAW");
1976 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1977 0 : ndr->depth++;
1978 0 : ndr_print_PAC_TYPE(ndr, "type", r->type);
1979 0 : ndr_print_uint32(ndr, "ndr_size", r->ndr_size);
1980 : {
1981 0 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
1982 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
1983 0 : ndr_print_ptr(ndr, "info", r->info);
1984 0 : ndr->depth++;
1985 0 : if (r->info) {
1986 0 : ndr_print_DATA_BLOB_REM(ndr, "info", r->info);
1987 : }
1988 0 : ndr->depth--;
1989 0 : ndr->flags = _flags_save_DATA_BLOB_REM;
1990 : }
1991 0 : ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
1992 0 : ndr->depth--;
1993 : }
1994 :
1995 7324 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA_RAW *r)
1996 : {
1997 : uint32_t cntr_buffers_0;
1998 7324 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1999 7324 : if (ndr_flags & NDR_SCALARS) {
2000 7324 : NDR_CHECK(ndr_push_align(ndr, 5));
2001 7324 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
2002 7324 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2003 52023 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
2004 44699 : NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
2005 : }
2006 7324 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2007 : }
2008 7324 : if (ndr_flags & NDR_BUFFERS) {
2009 52023 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
2010 44699 : NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
2011 : }
2012 : }
2013 7324 : return NDR_ERR_SUCCESS;
2014 : }
2015 :
2016 6062 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA_RAW *r)
2017 : {
2018 6062 : uint32_t size_buffers_0 = 0;
2019 : uint32_t cntr_buffers_0;
2020 6062 : TALLOC_CTX *_mem_save_buffers_0 = NULL;
2021 6062 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2022 6062 : if (ndr_flags & NDR_SCALARS) {
2023 6062 : NDR_CHECK(ndr_pull_align(ndr, 5));
2024 6062 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
2025 6062 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2026 6062 : size_buffers_0 = r->num_buffers;
2027 6062 : NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
2028 6062 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
2029 6062 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
2030 41892 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
2031 35830 : NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
2032 : }
2033 6062 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
2034 6062 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2035 : }
2036 6062 : if (ndr_flags & NDR_BUFFERS) {
2037 6062 : size_buffers_0 = r->num_buffers;
2038 6062 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
2039 6062 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
2040 41892 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
2041 35830 : NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
2042 : }
2043 6062 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
2044 15650 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
2045 : }
2046 : }
2047 6062 : return NDR_ERR_SUCCESS;
2048 : }
2049 :
2050 0 : static void ndr_print_flags_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, int unused, const struct PAC_DATA_RAW *r)
2051 : {
2052 0 : ndr_print_PAC_DATA_RAW(ndr, name, r);
2053 0 : }
2054 :
2055 0 : _PUBLIC_ void ndr_print_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, const struct PAC_DATA_RAW *r)
2056 : {
2057 : uint32_t cntr_buffers_0;
2058 0 : ndr_print_struct(ndr, name, "PAC_DATA_RAW");
2059 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2060 0 : ndr->depth++;
2061 0 : ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
2062 0 : ndr_print_uint32(ndr, "version", r->version);
2063 0 : ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers);
2064 0 : ndr->depth++;
2065 0 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
2066 0 : ndr_print_PAC_BUFFER_RAW(ndr, "buffers", &r->buffers[cntr_buffers_0]);
2067 : }
2068 0 : ndr->depth--;
2069 0 : ndr->depth--;
2070 : }
2071 :
2072 72 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_Validate(struct ndr_push *ndr, int ndr_flags, const struct PAC_Validate *r)
2073 : {
2074 72 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2075 72 : if (ndr_flags & NDR_SCALARS) {
2076 72 : NDR_CHECK(ndr_push_align(ndr, 4));
2077 72 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, NETLOGON_GENERIC_KRB5_PAC_VALIDATE));
2078 72 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ChecksumLength));
2079 72 : NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->SignatureType));
2080 72 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SignatureLength));
2081 : {
2082 72 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
2083 72 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2084 72 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->ChecksumAndSignature));
2085 72 : ndr->flags = _flags_save_DATA_BLOB;
2086 : }
2087 72 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2088 : }
2089 72 : if (ndr_flags & NDR_BUFFERS) {
2090 : }
2091 72 : return NDR_ERR_SUCCESS;
2092 : }
2093 :
2094 120 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_Validate(struct ndr_pull *ndr, int ndr_flags, struct PAC_Validate *r)
2095 : {
2096 120 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2097 120 : if (ndr_flags & NDR_SCALARS) {
2098 120 : NDR_CHECK(ndr_pull_align(ndr, 4));
2099 120 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MessageType));
2100 120 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ChecksumLength));
2101 120 : NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->SignatureType));
2102 120 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SignatureLength));
2103 : {
2104 120 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
2105 120 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2106 120 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->ChecksumAndSignature));
2107 120 : ndr->flags = _flags_save_DATA_BLOB;
2108 : }
2109 120 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2110 : }
2111 120 : if (ndr_flags & NDR_BUFFERS) {
2112 : }
2113 120 : return NDR_ERR_SUCCESS;
2114 : }
2115 :
2116 0 : static void ndr_print_flags_PAC_Validate(struct ndr_print *ndr, const char *name, int unused, const struct PAC_Validate *r)
2117 : {
2118 0 : ndr_print_PAC_Validate(ndr, name, r);
2119 0 : }
2120 :
2121 0 : _PUBLIC_ void ndr_print_PAC_Validate(struct ndr_print *ndr, const char *name, const struct PAC_Validate *r)
2122 : {
2123 0 : ndr_print_struct(ndr, name, "PAC_Validate");
2124 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2125 0 : ndr->depth++;
2126 0 : ndr_print_uint32(ndr, "MessageType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NETLOGON_GENERIC_KRB5_PAC_VALIDATE:r->MessageType);
2127 0 : ndr_print_uint32(ndr, "ChecksumLength", r->ChecksumLength);
2128 0 : ndr_print_int32(ndr, "SignatureType", r->SignatureType);
2129 0 : ndr_print_uint32(ndr, "SignatureLength", r->SignatureLength);
2130 : {
2131 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
2132 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2133 0 : ndr_print_DATA_BLOB(ndr, "ChecksumAndSignature", r->ChecksumAndSignature);
2134 0 : ndr->flags = _flags_save_DATA_BLOB;
2135 : }
2136 0 : ndr->depth--;
2137 : }
2138 :
2139 615 : _PUBLIC_ enum ndr_err_code ndr_push_netsamlogoncache_entry(struct ndr_push *ndr, int ndr_flags, const struct netsamlogoncache_entry *r)
2140 : {
2141 615 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2142 615 : if (ndr_flags & NDR_SCALARS) {
2143 615 : NDR_CHECK(ndr_push_align(ndr, 5));
2144 615 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2145 615 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
2146 615 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2147 : }
2148 615 : if (ndr_flags & NDR_BUFFERS) {
2149 615 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
2150 : }
2151 615 : return NDR_ERR_SUCCESS;
2152 : }
2153 :
2154 2121 : _PUBLIC_ enum ndr_err_code ndr_pull_netsamlogoncache_entry(struct ndr_pull *ndr, int ndr_flags, struct netsamlogoncache_entry *r)
2155 : {
2156 2121 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2157 2121 : if (ndr_flags & NDR_SCALARS) {
2158 2121 : NDR_CHECK(ndr_pull_align(ndr, 5));
2159 2121 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2160 2121 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
2161 2121 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2162 : }
2163 2121 : if (ndr_flags & NDR_BUFFERS) {
2164 2121 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
2165 : }
2166 2121 : return NDR_ERR_SUCCESS;
2167 : }
2168 :
2169 0 : static void ndr_print_flags_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, int unused, const struct netsamlogoncache_entry *r)
2170 : {
2171 0 : ndr_print_netsamlogoncache_entry(ndr, name, r);
2172 0 : }
2173 :
2174 0 : _PUBLIC_ void ndr_print_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, const struct netsamlogoncache_entry *r)
2175 : {
2176 0 : ndr_print_struct(ndr, name, "netsamlogoncache_entry");
2177 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2178 0 : ndr->depth++;
2179 0 : ndr_print_time_t(ndr, "timestamp", r->timestamp);
2180 0 : ndr_print_netr_SamInfo3(ndr, "info3", &r->info3);
2181 0 : ndr->depth--;
2182 : }
2183 :
2184 : #ifndef SKIP_NDR_TABLE_krb5pac
2185 : static const struct ndr_interface_public_struct krb5pac_public_structs[] = {
2186 : {
2187 : .name = "PAC_SIGNATURE_DATA",
2188 : .struct_size = sizeof(struct PAC_SIGNATURE_DATA ),
2189 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_SIGNATURE_DATA,
2190 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_SIGNATURE_DATA,
2191 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_SIGNATURE_DATA,
2192 : },
2193 : {
2194 : .name = "PAC_CREDENTIAL_NTLM_SECPKG",
2195 : .struct_size = sizeof(struct PAC_CREDENTIAL_NTLM_SECPKG ),
2196 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_NTLM_SECPKG,
2197 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_NTLM_SECPKG,
2198 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_NTLM_SECPKG,
2199 : },
2200 : {
2201 : .name = "PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG",
2202 : .struct_size = sizeof(struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG ),
2203 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
2204 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
2205 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
2206 : },
2207 : {
2208 : .name = "PAC_CREDENTIAL_DATA",
2209 : .struct_size = sizeof(struct PAC_CREDENTIAL_DATA ),
2210 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA,
2211 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA,
2212 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA,
2213 : },
2214 : {
2215 : .name = "PAC_CREDENTIAL_DATA_CTR",
2216 : .struct_size = sizeof(struct PAC_CREDENTIAL_DATA_CTR ),
2217 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA_CTR,
2218 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA_CTR,
2219 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA_CTR,
2220 : },
2221 : {
2222 : .name = "PAC_CREDENTIAL_DATA_NDR",
2223 : .struct_size = sizeof(struct PAC_CREDENTIAL_DATA_NDR ),
2224 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA_NDR,
2225 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA_NDR,
2226 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA_NDR,
2227 : },
2228 : {
2229 : .name = "PAC_CREDENTIAL_INFO",
2230 : .struct_size = sizeof(struct PAC_CREDENTIAL_INFO ),
2231 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_INFO,
2232 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_INFO,
2233 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_INFO,
2234 : },
2235 : {
2236 : .name = "PAC_LOGON_INFO_CTR",
2237 : .struct_size = sizeof(struct PAC_LOGON_INFO_CTR ),
2238 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_LOGON_INFO_CTR,
2239 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_LOGON_INFO_CTR,
2240 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_LOGON_INFO_CTR,
2241 : },
2242 : {
2243 : .name = "PAC_CONSTRAINED_DELEGATION_CTR",
2244 : .struct_size = sizeof(struct PAC_CONSTRAINED_DELEGATION_CTR ),
2245 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CONSTRAINED_DELEGATION_CTR,
2246 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR,
2247 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CONSTRAINED_DELEGATION_CTR,
2248 : },
2249 : {
2250 : .name = "PAC_BUFFER",
2251 : .struct_size = sizeof(struct PAC_BUFFER ),
2252 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_BUFFER,
2253 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_BUFFER,
2254 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_BUFFER,
2255 : },
2256 : {
2257 : .name = "PAC_DATA",
2258 : .struct_size = sizeof(struct PAC_DATA ),
2259 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_DATA,
2260 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_DATA,
2261 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_DATA,
2262 : },
2263 : {
2264 : .name = "PAC_BUFFER_RAW",
2265 : .struct_size = sizeof(struct PAC_BUFFER_RAW ),
2266 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_BUFFER_RAW,
2267 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_BUFFER_RAW,
2268 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_BUFFER_RAW,
2269 : },
2270 : {
2271 : .name = "PAC_DATA_RAW",
2272 : .struct_size = sizeof(struct PAC_DATA_RAW ),
2273 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_DATA_RAW,
2274 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_DATA_RAW,
2275 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_DATA_RAW,
2276 : },
2277 : {
2278 : .name = "PAC_Validate",
2279 : .struct_size = sizeof(struct PAC_Validate ),
2280 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_Validate,
2281 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_Validate,
2282 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_Validate,
2283 : },
2284 : {
2285 : .name = "netsamlogoncache_entry",
2286 : .struct_size = sizeof(struct netsamlogoncache_entry ),
2287 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netsamlogoncache_entry,
2288 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netsamlogoncache_entry,
2289 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netsamlogoncache_entry,
2290 : },
2291 : { .name = NULL }
2292 : };
2293 :
2294 : static const struct ndr_interface_call krb5pac_calls[] = {
2295 : { .name = NULL }
2296 : };
2297 :
2298 : static const char * const krb5pac_endpoint_strings[] = {
2299 : "ncacn_np:[\\pipe\\krb5pac]",
2300 : };
2301 :
2302 : static const struct ndr_interface_string_array krb5pac_endpoints = {
2303 : .count = 1,
2304 : .names = krb5pac_endpoint_strings
2305 : };
2306 :
2307 : static const char * const krb5pac_authservice_strings[] = {
2308 : "host",
2309 : };
2310 :
2311 : static const struct ndr_interface_string_array krb5pac_authservices = {
2312 : .count = 1,
2313 : .names = krb5pac_authservice_strings
2314 : };
2315 :
2316 :
2317 : const struct ndr_interface_table ndr_table_krb5pac = {
2318 : .name = "krb5pac",
2319 : .syntax_id = {
2320 : {0x12345778,0x1234,0xabcd,{0x00,0x00},{0x00,0x00,0x00,0x00}},
2321 : NDR_KRB5PAC_VERSION
2322 : },
2323 : .helpstring = NDR_KRB5PAC_HELPSTRING,
2324 : .num_calls = 0,
2325 : .calls = krb5pac_calls,
2326 : .num_public_structs = 15,
2327 : .public_structs = krb5pac_public_structs,
2328 : .endpoints = &krb5pac_endpoints,
2329 : .authservices = &krb5pac_authservices
2330 : };
2331 :
2332 : #endif /* SKIP_NDR_TABLE_krb5pac */
|