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 112272 : 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 112272 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
129 112272 : if (ndr_flags & NDR_SCALARS) {
130 56136 : NDR_CHECK(ndr_push_align(ndr, 5));
131 56136 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
132 56136 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
133 56136 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
134 : }
135 112272 : if (ndr_flags & NDR_BUFFERS) {
136 56136 : if (r->domain_sid) {
137 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
138 : }
139 56136 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
140 : }
141 112272 : return NDR_ERR_SUCCESS;
142 : }
143 :
144 137048 : 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 137048 : TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
148 137048 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
149 137048 : if (ndr_flags & NDR_SCALARS) {
150 68524 : NDR_CHECK(ndr_pull_align(ndr, 5));
151 68524 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
152 68524 : if (_ptr_domain_sid) {
153 0 : NDR_PULL_ALLOC(ndr, r->domain_sid);
154 : } else {
155 68524 : r->domain_sid = NULL;
156 : }
157 68524 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
158 68524 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
159 : }
160 137048 : if (ndr_flags & NDR_BUFFERS) {
161 68524 : 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 68524 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
168 : }
169 137048 : 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 56136 : 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 56136 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
190 56136 : if (ndr_flags & NDR_SCALARS) {
191 56136 : NDR_CHECK(ndr_push_align(ndr, 5));
192 56136 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
193 56136 : NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->resource_groups));
194 56136 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
195 : }
196 56136 : if (ndr_flags & NDR_BUFFERS) {
197 56136 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
198 56136 : NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->resource_groups));
199 : }
200 56136 : return NDR_ERR_SUCCESS;
201 : }
202 :
203 68524 : static enum ndr_err_code ndr_pull_PAC_LOGON_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_LOGON_INFO *r)
204 : {
205 68524 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
206 68524 : if (ndr_flags & NDR_SCALARS) {
207 68524 : NDR_CHECK(ndr_pull_align(ndr, 5));
208 68524 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
209 68524 : NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->resource_groups));
210 68524 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
211 : }
212 68524 : if (ndr_flags & NDR_BUFFERS) {
213 68524 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
214 68524 : NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->resource_groups));
215 : }
216 68524 : 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 176 : 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 19996 : static enum ndr_err_code ndr_push_PAC_UPN_DNS_FLAGS(struct ndr_push *ndr, int ndr_flags, uint32_t r)
718 : {
719 19996 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
720 19996 : return NDR_ERR_SUCCESS;
721 : }
722 :
723 68189 : 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 68189 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
727 68189 : *r = v;
728 68189 : 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 39992 : 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 39992 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
743 39992 : if (ndr_flags & NDR_SCALARS) {
744 19996 : NDR_CHECK(ndr_push_align(ndr, 5));
745 19996 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->samaccountname)));
746 : {
747 19996 : uint32_t _flags_save_string = ndr->flags;
748 19996 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
749 19996 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->samaccountname));
750 19996 : ndr->flags = _flags_save_string;
751 : }
752 19996 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, ndr_size_dom_sid(r->objectsid, ndr->flags)));
753 19996 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->objectsid));
754 19996 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
755 : }
756 39992 : if (ndr_flags & NDR_BUFFERS) {
757 : {
758 19996 : uint32_t _flags_save_string = ndr->flags;
759 19996 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
760 19996 : if (r->samaccountname) {
761 19996 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->samaccountname));
762 : {
763 : struct ndr_push *_ndr_samaccountname;
764 19996 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_samaccountname, 0, 2 * strlen_m(r->samaccountname)));
765 19996 : NDR_CHECK(ndr_push_string(_ndr_samaccountname, NDR_SCALARS, r->samaccountname));
766 19996 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_samaccountname, 0, 2 * strlen_m(r->samaccountname)));
767 : }
768 : }
769 19996 : ndr->flags = _flags_save_string;
770 : }
771 19996 : if (r->objectsid) {
772 19996 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->objectsid));
773 : {
774 : struct ndr_push *_ndr_objectsid;
775 19996 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_objectsid, 0, ndr_size_dom_sid(r->objectsid, ndr->flags)));
776 19996 : NDR_CHECK(ndr_push_dom_sid(_ndr_objectsid, NDR_SCALARS, r->objectsid));
777 19996 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_objectsid, 0, ndr_size_dom_sid(r->objectsid, ndr->flags)));
778 : }
779 : }
780 : }
781 39992 : return NDR_ERR_SUCCESS;
782 : }
783 :
784 136378 : 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 136378 : TALLOC_CTX *_mem_save_samaccountname_0 = NULL;
788 : uint16_t _ptr_objectsid;
789 136378 : TALLOC_CTX *_mem_save_objectsid_0 = NULL;
790 136378 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
791 136378 : if (ndr_flags & NDR_SCALARS) {
792 68189 : NDR_CHECK(ndr_pull_align(ndr, 5));
793 68189 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->samaccountname_size));
794 : {
795 68189 : uint32_t _flags_save_string = ndr->flags;
796 68189 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
797 68189 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_samaccountname));
798 68189 : if (_ptr_samaccountname) {
799 68189 : NDR_PULL_ALLOC(ndr, r->samaccountname);
800 68189 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->samaccountname, _ptr_samaccountname));
801 : } else {
802 0 : r->samaccountname = NULL;
803 : }
804 68189 : ndr->flags = _flags_save_string;
805 : }
806 68189 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->objectsid_size));
807 68189 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_objectsid));
808 68189 : if (_ptr_objectsid) {
809 68189 : NDR_PULL_ALLOC(ndr, r->objectsid);
810 68189 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->objectsid, _ptr_objectsid));
811 : } else {
812 0 : r->objectsid = NULL;
813 : }
814 68189 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
815 : }
816 136378 : if (ndr_flags & NDR_BUFFERS) {
817 : {
818 68189 : uint32_t _flags_save_string = ndr->flags;
819 68189 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
820 68189 : if (r->samaccountname) {
821 : uint32_t _relative_save_offset;
822 68189 : _relative_save_offset = ndr->offset;
823 68189 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->samaccountname));
824 68189 : _mem_save_samaccountname_0 = NDR_PULL_GET_MEM_CTX(ndr);
825 68189 : NDR_PULL_SET_MEM_CTX(ndr, r->samaccountname, 0);
826 : {
827 : struct ndr_pull *_ndr_samaccountname;
828 68189 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_samaccountname, 0, r->samaccountname_size));
829 68189 : NDR_CHECK(ndr_pull_string(_ndr_samaccountname, NDR_SCALARS, &r->samaccountname));
830 68189 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_samaccountname, 0, r->samaccountname_size));
831 : }
832 68189 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_samaccountname_0, 0);
833 68189 : if (ndr->offset > ndr->relative_highest_offset) {
834 68189 : ndr->relative_highest_offset = ndr->offset;
835 : }
836 68189 : ndr->offset = _relative_save_offset;
837 : }
838 68189 : ndr->flags = _flags_save_string;
839 : }
840 68189 : if (r->objectsid) {
841 : uint32_t _relative_save_offset;
842 68189 : _relative_save_offset = ndr->offset;
843 68189 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->objectsid));
844 68189 : _mem_save_objectsid_0 = NDR_PULL_GET_MEM_CTX(ndr);
845 68189 : NDR_PULL_SET_MEM_CTX(ndr, r->objectsid, 0);
846 : {
847 : struct ndr_pull *_ndr_objectsid;
848 68189 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_objectsid, 0, r->objectsid_size));
849 68189 : NDR_CHECK(ndr_pull_dom_sid(_ndr_objectsid, NDR_SCALARS, r->objectsid));
850 68189 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_objectsid, 0, r->objectsid_size));
851 : }
852 68189 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_objectsid_0, 0);
853 68189 : if (ndr->offset > ndr->relative_highest_offset) {
854 68189 : ndr->relative_highest_offset = ndr->offset;
855 : }
856 68189 : ndr->offset = _relative_save_offset;
857 : }
858 : }
859 136378 : 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 39992 : 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 39992 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
893 39992 : if (ndr_flags & NDR_SCALARS) {
894 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
895 19996 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
896 19996 : NDR_CHECK(ndr_push_union_align(ndr, 5));
897 19996 : switch (level) {
898 19996 : case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID: {
899 19996 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_SCALARS, &r->sam_name_and_sid));
900 19996 : break; }
901 :
902 0 : default: {
903 0 : break; }
904 :
905 : }
906 : }
907 39992 : if (ndr_flags & NDR_BUFFERS) {
908 19996 : if (!(ndr_flags & NDR_SCALARS)) {
909 : /* We didn't get it above, and the token is not needed after this. */
910 19996 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
911 : }
912 19996 : switch (level) {
913 19996 : case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID:
914 19996 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_BUFFERS, &r->sam_name_and_sid));
915 19996 : break;
916 :
917 0 : default:
918 0 : break;
919 :
920 : }
921 : }
922 39992 : return NDR_ERR_SUCCESS;
923 : }
924 :
925 136378 : 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 136378 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
929 136378 : if (ndr_flags & NDR_SCALARS) {
930 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
931 68189 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
932 68189 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
933 68189 : switch (level) {
934 68189 : case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID: {
935 68189 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_SCALARS, &r->sam_name_and_sid));
936 68189 : break; }
937 :
938 0 : default: {
939 0 : break; }
940 :
941 : }
942 : }
943 136378 : if (ndr_flags & NDR_BUFFERS) {
944 68189 : if (!(ndr_flags & NDR_SCALARS)) {
945 : /* We didn't get it above, and the token is not needed after this. */
946 68189 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
947 : }
948 68189 : switch (level) {
949 68189 : case PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID:
950 68189 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_SAM_NAME_AND_SID(ndr, NDR_BUFFERS, &r->sam_name_and_sid));
951 68189 : break;
952 :
953 0 : default:
954 0 : break;
955 :
956 : }
957 : }
958 136378 : 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 39992 : 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 39992 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
980 39992 : if (ndr_flags & NDR_SCALARS) {
981 19996 : NDR_CHECK(ndr_push_align(ndr, 5));
982 19996 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->upn_name)));
983 : {
984 19996 : uint32_t _flags_save_string = ndr->flags;
985 19996 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
986 19996 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->upn_name));
987 19996 : ndr->flags = _flags_save_string;
988 : }
989 19996 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 2 * strlen_m(r->dns_domain_name)));
990 : {
991 19996 : uint32_t _flags_save_string = ndr->flags;
992 19996 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
993 19996 : NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->dns_domain_name));
994 19996 : ndr->flags = _flags_save_string;
995 : }
996 19996 : NDR_CHECK(ndr_push_PAC_UPN_DNS_FLAGS(ndr, NDR_SCALARS, r->flags));
997 19996 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
998 19996 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_EX(ndr, NDR_SCALARS, &r->ex));
999 19996 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1000 : }
1001 39992 : if (ndr_flags & NDR_BUFFERS) {
1002 : {
1003 19996 : uint32_t _flags_save_string = ndr->flags;
1004 19996 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1005 19996 : if (r->upn_name) {
1006 19996 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->upn_name));
1007 : {
1008 : struct ndr_push *_ndr_upn_name;
1009 19996 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_upn_name, 0, 2 * strlen_m(r->upn_name)));
1010 19996 : NDR_CHECK(ndr_push_string(_ndr_upn_name, NDR_SCALARS, r->upn_name));
1011 19996 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_upn_name, 0, 2 * strlen_m(r->upn_name)));
1012 : }
1013 : }
1014 19996 : ndr->flags = _flags_save_string;
1015 : }
1016 : {
1017 19996 : uint32_t _flags_save_string = ndr->flags;
1018 19996 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1019 19996 : if (r->dns_domain_name) {
1020 19996 : NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->dns_domain_name));
1021 : {
1022 : struct ndr_push *_ndr_dns_domain_name;
1023 19996 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_dns_domain_name, 0, 2 * strlen_m(r->dns_domain_name)));
1024 19996 : NDR_CHECK(ndr_push_string(_ndr_dns_domain_name, NDR_SCALARS, r->dns_domain_name));
1025 19996 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_dns_domain_name, 0, 2 * strlen_m(r->dns_domain_name)));
1026 : }
1027 : }
1028 19996 : ndr->flags = _flags_save_string;
1029 : }
1030 19996 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
1031 19996 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO_EX(ndr, NDR_BUFFERS, &r->ex));
1032 : }
1033 39992 : return NDR_ERR_SUCCESS;
1034 : }
1035 :
1036 136378 : 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 136378 : TALLOC_CTX *_mem_save_upn_name_0 = NULL;
1040 : uint16_t _ptr_dns_domain_name;
1041 136378 : TALLOC_CTX *_mem_save_dns_domain_name_0 = NULL;
1042 136378 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1043 136378 : if (ndr_flags & NDR_SCALARS) {
1044 68189 : NDR_CHECK(ndr_pull_align(ndr, 5));
1045 68189 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->upn_name_size));
1046 : {
1047 68189 : uint32_t _flags_save_string = ndr->flags;
1048 68189 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1049 68189 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_upn_name));
1050 68189 : if (_ptr_upn_name) {
1051 68189 : NDR_PULL_ALLOC(ndr, r->upn_name);
1052 68189 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->upn_name, _ptr_upn_name));
1053 : } else {
1054 0 : r->upn_name = NULL;
1055 : }
1056 68189 : ndr->flags = _flags_save_string;
1057 : }
1058 68189 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->dns_domain_name_size));
1059 : {
1060 68189 : uint32_t _flags_save_string = ndr->flags;
1061 68189 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1062 68189 : NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_dns_domain_name));
1063 68189 : if (_ptr_dns_domain_name) {
1064 68189 : NDR_PULL_ALLOC(ndr, r->dns_domain_name);
1065 68189 : 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 68189 : ndr->flags = _flags_save_string;
1070 : }
1071 68189 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_FLAGS(ndr, NDR_SCALARS, &r->flags));
1072 68189 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
1073 68189 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_EX(ndr, NDR_SCALARS, &r->ex));
1074 68189 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1075 : }
1076 136378 : if (ndr_flags & NDR_BUFFERS) {
1077 : {
1078 68189 : uint32_t _flags_save_string = ndr->flags;
1079 68189 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1080 68189 : if (r->upn_name) {
1081 : uint32_t _relative_save_offset;
1082 68189 : _relative_save_offset = ndr->offset;
1083 68189 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->upn_name));
1084 68189 : _mem_save_upn_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1085 68189 : NDR_PULL_SET_MEM_CTX(ndr, r->upn_name, 0);
1086 : {
1087 : struct ndr_pull *_ndr_upn_name;
1088 68189 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_upn_name, 0, r->upn_name_size));
1089 68189 : NDR_CHECK(ndr_pull_string(_ndr_upn_name, NDR_SCALARS, &r->upn_name));
1090 68189 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_upn_name, 0, r->upn_name_size));
1091 : }
1092 68189 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_upn_name_0, 0);
1093 68189 : if (ndr->offset > ndr->relative_highest_offset) {
1094 68189 : ndr->relative_highest_offset = ndr->offset;
1095 : }
1096 68189 : ndr->offset = _relative_save_offset;
1097 : }
1098 68189 : ndr->flags = _flags_save_string;
1099 : }
1100 : {
1101 68189 : uint32_t _flags_save_string = ndr->flags;
1102 68189 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
1103 68189 : if (r->dns_domain_name) {
1104 : uint32_t _relative_save_offset;
1105 68189 : _relative_save_offset = ndr->offset;
1106 68189 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dns_domain_name));
1107 68189 : _mem_save_dns_domain_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1108 68189 : NDR_PULL_SET_MEM_CTX(ndr, r->dns_domain_name, 0);
1109 : {
1110 : struct ndr_pull *_ndr_dns_domain_name;
1111 68189 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_dns_domain_name, 0, r->dns_domain_name_size));
1112 68189 : NDR_CHECK(ndr_pull_string(_ndr_dns_domain_name, NDR_SCALARS, &r->dns_domain_name));
1113 68189 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_dns_domain_name, 0, r->dns_domain_name_size));
1114 : }
1115 68189 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_domain_name_0, 0);
1116 68189 : if (ndr->offset > ndr->relative_highest_offset) {
1117 68189 : ndr->relative_highest_offset = ndr->offset;
1118 : }
1119 68189 : ndr->offset = _relative_save_offset;
1120 : }
1121 68189 : ndr->flags = _flags_save_string;
1122 : }
1123 68189 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ex, r->flags & PAC_UPN_DNS_FLAG_HAS_SAM_NAME_AND_SID));
1124 68189 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO_EX(ndr, NDR_BUFFERS, &r->ex));
1125 : }
1126 136378 : 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 17619 : static enum ndr_err_code ndr_push_PAC_ATTRIBUTE_INFO_FLAGS(struct ndr_push *ndr, int ndr_flags, uint32_t r)
1165 : {
1166 17619 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
1167 17619 : return NDR_ERR_SUCCESS;
1168 : }
1169 :
1170 15222 : 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 15222 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
1174 15222 : *r = v;
1175 15222 : 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 17619 : 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 17619 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1190 17619 : if (ndr_flags & NDR_SCALARS) {
1191 17619 : NDR_CHECK(ndr_push_align(ndr, 4));
1192 17619 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags_length));
1193 17619 : NDR_CHECK(ndr_push_PAC_ATTRIBUTE_INFO_FLAGS(ndr, NDR_SCALARS, r->flags));
1194 17619 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1195 : }
1196 17619 : if (ndr_flags & NDR_BUFFERS) {
1197 : }
1198 17619 : return NDR_ERR_SUCCESS;
1199 : }
1200 :
1201 15222 : static enum ndr_err_code ndr_pull_PAC_ATTRIBUTES_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_ATTRIBUTES_INFO *r)
1202 : {
1203 15222 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1204 15222 : if (ndr_flags & NDR_SCALARS) {
1205 15222 : NDR_CHECK(ndr_pull_align(ndr, 4));
1206 15222 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags_length));
1207 15222 : NDR_CHECK(ndr_pull_PAC_ATTRIBUTE_INFO_FLAGS(ndr, NDR_SCALARS, &r->flags));
1208 15222 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1209 : }
1210 15222 : if (ndr_flags & NDR_BUFFERS) {
1211 : }
1212 15222 : 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 17661 : 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 17661 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1228 17661 : if (ndr_flags & NDR_SCALARS) {
1229 17661 : NDR_CHECK(ndr_push_align(ndr, 4));
1230 17661 : NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sid));
1231 17661 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1232 : }
1233 17661 : if (ndr_flags & NDR_BUFFERS) {
1234 : }
1235 17661 : return NDR_ERR_SUCCESS;
1236 : }
1237 :
1238 36583 : static enum ndr_err_code ndr_pull_PAC_REQUESTER_SID(struct ndr_pull *ndr, int ndr_flags, struct PAC_REQUESTER_SID *r)
1239 : {
1240 36583 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1241 36583 : if (ndr_flags & NDR_SCALARS) {
1242 36583 : NDR_CHECK(ndr_pull_align(ndr, 4));
1243 36583 : NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sid));
1244 36583 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1245 : }
1246 36583 : if (ndr_flags & NDR_BUFFERS) {
1247 : }
1248 36583 : 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 56136 : _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 56136 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1263 56136 : if (ndr_flags & NDR_SCALARS) {
1264 56136 : NDR_CHECK(ndr_push_align(ndr, 5));
1265 56136 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
1266 56136 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1267 : }
1268 56136 : if (ndr_flags & NDR_BUFFERS) {
1269 56136 : if (r->info) {
1270 56136 : NDR_CHECK(ndr_push_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
1271 : }
1272 : }
1273 56136 : return NDR_ERR_SUCCESS;
1274 : }
1275 :
1276 68524 : _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 68524 : TALLOC_CTX *_mem_save_info_0 = NULL;
1280 68524 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1281 68524 : if (ndr_flags & NDR_SCALARS) {
1282 68524 : NDR_CHECK(ndr_pull_align(ndr, 5));
1283 68524 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
1284 68524 : if (_ptr_info) {
1285 68524 : NDR_PULL_ALLOC(ndr, r->info);
1286 : } else {
1287 0 : r->info = NULL;
1288 : }
1289 68524 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1290 : }
1291 68524 : if (ndr_flags & NDR_BUFFERS) {
1292 68524 : if (r->info) {
1293 68524 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1294 68524 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
1295 68524 : NDR_CHECK(ndr_pull_PAC_LOGON_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
1296 68524 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
1297 : }
1298 : }
1299 68524 : 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 0 : static enum ndr_err_code ndr_push_PAC_DEVICE_INFO(struct ndr_push *ndr, int ndr_flags, const struct PAC_DEVICE_INFO *r)
1383 : {
1384 : uint32_t cntr_sids_1;
1385 : uint32_t cntr_domain_groups_1;
1386 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1387 0 : if (ndr_flags & NDR_SCALARS) {
1388 0 : NDR_CHECK(ndr_push_align(ndr, 5));
1389 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rid));
1390 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->primary_gid));
1391 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
1392 0 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1393 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sid_count));
1394 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->sids));
1395 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->domain_group_count));
1396 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_groups));
1397 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1398 : }
1399 0 : if (ndr_flags & NDR_BUFFERS) {
1400 0 : if (r->domain_sid) {
1401 0 : NDR_CHECK(ndr_push_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1402 : }
1403 0 : NDR_CHECK(ndr_push_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1404 0 : if (r->sids) {
1405 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->sid_count));
1406 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->sid_count); cntr_sids_1++) {
1407 0 : NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1408 : }
1409 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->sid_count); cntr_sids_1++) {
1410 0 : NDR_CHECK(ndr_push_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1411 : }
1412 : }
1413 0 : if (r->domain_groups) {
1414 0 : NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->domain_group_count));
1415 0 : for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (r->domain_group_count); cntr_domain_groups_1++) {
1416 0 : NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->domain_groups[cntr_domain_groups_1]));
1417 : }
1418 0 : for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (r->domain_group_count); cntr_domain_groups_1++) {
1419 0 : NDR_CHECK(ndr_push_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->domain_groups[cntr_domain_groups_1]));
1420 : }
1421 : }
1422 : }
1423 0 : return NDR_ERR_SUCCESS;
1424 : }
1425 :
1426 0 : static enum ndr_err_code ndr_pull_PAC_DEVICE_INFO(struct ndr_pull *ndr, int ndr_flags, struct PAC_DEVICE_INFO *r)
1427 : {
1428 : uint32_t _ptr_domain_sid;
1429 0 : TALLOC_CTX *_mem_save_domain_sid_0 = NULL;
1430 : uint32_t _ptr_sids;
1431 0 : uint32_t size_sids_1 = 0;
1432 : uint32_t cntr_sids_1;
1433 0 : TALLOC_CTX *_mem_save_sids_0 = NULL;
1434 0 : TALLOC_CTX *_mem_save_sids_1 = NULL;
1435 : uint32_t _ptr_domain_groups;
1436 0 : uint32_t size_domain_groups_1 = 0;
1437 : uint32_t cntr_domain_groups_1;
1438 0 : TALLOC_CTX *_mem_save_domain_groups_0 = NULL;
1439 0 : TALLOC_CTX *_mem_save_domain_groups_1 = NULL;
1440 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1441 0 : if (ndr_flags & NDR_SCALARS) {
1442 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
1443 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rid));
1444 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->primary_gid));
1445 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
1446 0 : if (_ptr_domain_sid) {
1447 0 : NDR_PULL_ALLOC(ndr, r->domain_sid);
1448 : } else {
1449 0 : r->domain_sid = NULL;
1450 : }
1451 0 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_SCALARS, &r->groups));
1452 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sid_count));
1453 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sids));
1454 0 : if (_ptr_sids) {
1455 0 : NDR_PULL_ALLOC(ndr, r->sids);
1456 : } else {
1457 0 : r->sids = NULL;
1458 : }
1459 0 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->domain_group_count));
1460 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_groups));
1461 0 : if (_ptr_domain_groups) {
1462 0 : NDR_PULL_ALLOC(ndr, r->domain_groups);
1463 : } else {
1464 0 : r->domain_groups = NULL;
1465 : }
1466 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1467 : }
1468 0 : if (ndr_flags & NDR_BUFFERS) {
1469 0 : if (r->domain_sid) {
1470 0 : _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
1471 0 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
1472 0 : NDR_CHECK(ndr_pull_dom_sid2(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
1473 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
1474 : }
1475 0 : NDR_CHECK(ndr_pull_samr_RidWithAttributeArray(ndr, NDR_BUFFERS, &r->groups));
1476 0 : if (r->sids) {
1477 0 : _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr);
1478 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1479 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->sids));
1480 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->sids, &size_sids_1));
1481 0 : NDR_PULL_ALLOC_N(ndr, r->sids, size_sids_1);
1482 0 : _mem_save_sids_1 = NDR_PULL_GET_MEM_CTX(ndr);
1483 0 : NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0);
1484 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
1485 0 : NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_SCALARS, &r->sids[cntr_sids_1]));
1486 : }
1487 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
1488 0 : NDR_CHECK(ndr_pull_netr_SidAttr(ndr, NDR_BUFFERS, &r->sids[cntr_sids_1]));
1489 : }
1490 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_1, 0);
1491 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0);
1492 : }
1493 0 : if (r->domain_groups) {
1494 0 : _mem_save_domain_groups_0 = NDR_PULL_GET_MEM_CTX(ndr);
1495 0 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_groups, 0);
1496 0 : NDR_CHECK(ndr_pull_array_size(ndr, &r->domain_groups));
1497 0 : NDR_CHECK(ndr_get_array_size(ndr, (void*)&r->domain_groups, &size_domain_groups_1));
1498 0 : NDR_PULL_ALLOC_N(ndr, r->domain_groups, size_domain_groups_1);
1499 0 : _mem_save_domain_groups_1 = NDR_PULL_GET_MEM_CTX(ndr);
1500 0 : NDR_PULL_SET_MEM_CTX(ndr, r->domain_groups, 0);
1501 0 : for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (size_domain_groups_1); cntr_domain_groups_1++) {
1502 0 : NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_SCALARS, &r->domain_groups[cntr_domain_groups_1]));
1503 : }
1504 0 : for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (size_domain_groups_1); cntr_domain_groups_1++) {
1505 0 : NDR_CHECK(ndr_pull_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, NDR_BUFFERS, &r->domain_groups[cntr_domain_groups_1]));
1506 : }
1507 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_groups_1, 0);
1508 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_groups_0, 0);
1509 : }
1510 0 : if (r->sids) {
1511 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->sid_count));
1512 : }
1513 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (size_sids_1); cntr_sids_1++) {
1514 : }
1515 0 : if (r->domain_groups) {
1516 0 : NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->domain_groups, r->domain_group_count));
1517 : }
1518 0 : for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (size_domain_groups_1); cntr_domain_groups_1++) {
1519 : }
1520 : }
1521 0 : return NDR_ERR_SUCCESS;
1522 : }
1523 :
1524 0 : _PUBLIC_ void ndr_print_PAC_DEVICE_INFO(struct ndr_print *ndr, const char *name, const struct PAC_DEVICE_INFO *r)
1525 : {
1526 : uint32_t cntr_sids_1;
1527 : uint32_t cntr_domain_groups_1;
1528 0 : ndr_print_struct(ndr, name, "PAC_DEVICE_INFO");
1529 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1530 0 : ndr->depth++;
1531 0 : ndr_print_uint32(ndr, "rid", r->rid);
1532 0 : ndr_print_uint32(ndr, "primary_gid", r->primary_gid);
1533 0 : ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
1534 0 : ndr->depth++;
1535 0 : if (r->domain_sid) {
1536 0 : ndr_print_dom_sid2(ndr, "domain_sid", r->domain_sid);
1537 : }
1538 0 : ndr->depth--;
1539 0 : ndr_print_samr_RidWithAttributeArray(ndr, "groups", &r->groups);
1540 0 : ndr_print_uint32(ndr, "sid_count", r->sid_count);
1541 0 : ndr_print_ptr(ndr, "sids", r->sids);
1542 0 : ndr->depth++;
1543 0 : if (r->sids) {
1544 0 : ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->sid_count);
1545 0 : ndr->depth++;
1546 0 : for (cntr_sids_1 = 0; cntr_sids_1 < (r->sid_count); cntr_sids_1++) {
1547 0 : ndr_print_netr_SidAttr(ndr, "sids", &r->sids[cntr_sids_1]);
1548 : }
1549 0 : ndr->depth--;
1550 : }
1551 0 : ndr->depth--;
1552 0 : ndr_print_uint32(ndr, "domain_group_count", r->domain_group_count);
1553 0 : ndr_print_ptr(ndr, "domain_groups", r->domain_groups);
1554 0 : ndr->depth++;
1555 0 : if (r->domain_groups) {
1556 0 : ndr->print(ndr, "%s: ARRAY(%d)", "domain_groups", (int)r->domain_group_count);
1557 0 : ndr->depth++;
1558 0 : for (cntr_domain_groups_1 = 0; cntr_domain_groups_1 < (r->domain_group_count); cntr_domain_groups_1++) {
1559 0 : ndr_print_PAC_DOMAIN_GROUP_MEMBERSHIP(ndr, "domain_groups", &r->domain_groups[cntr_domain_groups_1]);
1560 : }
1561 0 : ndr->depth--;
1562 : }
1563 0 : ndr->depth--;
1564 0 : ndr->depth--;
1565 : }
1566 :
1567 0 : static enum ndr_err_code ndr_push_PAC_DEVICE_INFO_CTR(struct ndr_push *ndr, int ndr_flags, const struct PAC_DEVICE_INFO_CTR *r)
1568 : {
1569 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1570 0 : if (ndr_flags & NDR_SCALARS) {
1571 0 : NDR_CHECK(ndr_push_align(ndr, 5));
1572 0 : NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
1573 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
1574 : }
1575 0 : if (ndr_flags & NDR_BUFFERS) {
1576 0 : if (r->info) {
1577 0 : NDR_CHECK(ndr_push_PAC_DEVICE_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
1578 : }
1579 : }
1580 0 : return NDR_ERR_SUCCESS;
1581 : }
1582 :
1583 0 : static enum ndr_err_code ndr_pull_PAC_DEVICE_INFO_CTR(struct ndr_pull *ndr, int ndr_flags, struct PAC_DEVICE_INFO_CTR *r)
1584 : {
1585 : uint32_t _ptr_info;
1586 0 : TALLOC_CTX *_mem_save_info_0 = NULL;
1587 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1588 0 : if (ndr_flags & NDR_SCALARS) {
1589 0 : NDR_CHECK(ndr_pull_align(ndr, 5));
1590 0 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
1591 0 : if (_ptr_info) {
1592 0 : NDR_PULL_ALLOC(ndr, r->info);
1593 : } else {
1594 0 : r->info = NULL;
1595 : }
1596 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
1597 : }
1598 0 : if (ndr_flags & NDR_BUFFERS) {
1599 0 : if (r->info) {
1600 0 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
1601 0 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
1602 0 : NDR_CHECK(ndr_pull_PAC_DEVICE_INFO(ndr, NDR_SCALARS|NDR_BUFFERS, r->info));
1603 0 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
1604 : }
1605 : }
1606 0 : return NDR_ERR_SUCCESS;
1607 : }
1608 :
1609 0 : _PUBLIC_ void ndr_print_PAC_DEVICE_INFO_CTR(struct ndr_print *ndr, const char *name, const struct PAC_DEVICE_INFO_CTR *r)
1610 : {
1611 0 : ndr_print_struct(ndr, name, "PAC_DEVICE_INFO_CTR");
1612 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1613 0 : ndr->depth++;
1614 0 : ndr_print_ptr(ndr, "info", r->info);
1615 0 : ndr->depth++;
1616 0 : if (r->info) {
1617 0 : ndr_print_PAC_DEVICE_INFO(ndr, "info", r->info);
1618 : }
1619 0 : ndr->depth--;
1620 0 : ndr->depth--;
1621 : }
1622 :
1623 46978 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_TYPE(struct ndr_push *ndr, int ndr_flags, enum PAC_TYPE r)
1624 : {
1625 46978 : NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1626 46978 : return NDR_ERR_SUCCESS;
1627 : }
1628 :
1629 88791 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_TYPE(struct ndr_pull *ndr, int ndr_flags, enum PAC_TYPE *r)
1630 : {
1631 : uint32_t v;
1632 88791 : NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1633 88791 : *r = v;
1634 88791 : return NDR_ERR_SUCCESS;
1635 : }
1636 :
1637 0 : _PUBLIC_ void ndr_print_PAC_TYPE(struct ndr_print *ndr, const char *name, enum PAC_TYPE r)
1638 : {
1639 0 : const char *val = NULL;
1640 :
1641 0 : switch (r) {
1642 0 : case PAC_TYPE_LOGON_INFO: val = "PAC_TYPE_LOGON_INFO"; break;
1643 0 : case PAC_TYPE_CREDENTIAL_INFO: val = "PAC_TYPE_CREDENTIAL_INFO"; break;
1644 0 : case PAC_TYPE_SRV_CHECKSUM: val = "PAC_TYPE_SRV_CHECKSUM"; break;
1645 0 : case PAC_TYPE_KDC_CHECKSUM: val = "PAC_TYPE_KDC_CHECKSUM"; break;
1646 0 : case PAC_TYPE_LOGON_NAME: val = "PAC_TYPE_LOGON_NAME"; break;
1647 0 : case PAC_TYPE_CONSTRAINED_DELEGATION: val = "PAC_TYPE_CONSTRAINED_DELEGATION"; break;
1648 0 : case PAC_TYPE_UPN_DNS_INFO: val = "PAC_TYPE_UPN_DNS_INFO"; break;
1649 0 : case PAC_TYPE_CLIENT_CLAIMS_INFO: val = "PAC_TYPE_CLIENT_CLAIMS_INFO"; break;
1650 0 : case PAC_TYPE_DEVICE_INFO: val = "PAC_TYPE_DEVICE_INFO"; break;
1651 0 : case PAC_TYPE_DEVICE_CLAIMS_INFO: val = "PAC_TYPE_DEVICE_CLAIMS_INFO"; break;
1652 0 : case PAC_TYPE_TICKET_CHECKSUM: val = "PAC_TYPE_TICKET_CHECKSUM"; break;
1653 0 : case PAC_TYPE_ATTRIBUTES_INFO: val = "PAC_TYPE_ATTRIBUTES_INFO"; break;
1654 0 : case PAC_TYPE_REQUESTER_SID: val = "PAC_TYPE_REQUESTER_SID"; break;
1655 0 : case PAC_TYPE_FULL_CHECKSUM: val = "PAC_TYPE_FULL_CHECKSUM"; break;
1656 : }
1657 0 : ndr_print_enum(ndr, name, "ENUM", val, r);
1658 0 : }
1659 :
1660 44699 : static enum ndr_err_code ndr_push_DATA_BLOB_REM(struct ndr_push *ndr, int ndr_flags, const struct DATA_BLOB_REM *r)
1661 : {
1662 44699 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1663 44699 : if (ndr_flags & NDR_SCALARS) {
1664 44699 : NDR_CHECK(ndr_push_align(ndr, 4));
1665 : {
1666 44699 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1667 44699 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1668 44699 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->remaining));
1669 44699 : ndr->flags = _flags_save_DATA_BLOB;
1670 : }
1671 44699 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1672 : }
1673 44699 : if (ndr_flags & NDR_BUFFERS) {
1674 : }
1675 44699 : return NDR_ERR_SUCCESS;
1676 : }
1677 :
1678 35830 : static enum ndr_err_code ndr_pull_DATA_BLOB_REM(struct ndr_pull *ndr, int ndr_flags, struct DATA_BLOB_REM *r)
1679 : {
1680 35830 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1681 35830 : if (ndr_flags & NDR_SCALARS) {
1682 35830 : NDR_CHECK(ndr_pull_align(ndr, 4));
1683 : {
1684 35830 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1685 35830 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1686 35830 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->remaining));
1687 35830 : ndr->flags = _flags_save_DATA_BLOB;
1688 : }
1689 35830 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1690 : }
1691 35830 : if (ndr_flags & NDR_BUFFERS) {
1692 : }
1693 35830 : return NDR_ERR_SUCCESS;
1694 : }
1695 :
1696 0 : _PUBLIC_ void ndr_print_DATA_BLOB_REM(struct ndr_print *ndr, const char *name, const struct DATA_BLOB_REM *r)
1697 : {
1698 0 : ndr_print_struct(ndr, name, "DATA_BLOB_REM");
1699 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1700 0 : ndr->depth++;
1701 : {
1702 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
1703 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1704 0 : ndr_print_DATA_BLOB(ndr, "remaining", r->remaining);
1705 0 : ndr->flags = _flags_save_DATA_BLOB;
1706 : }
1707 0 : ndr->depth--;
1708 : }
1709 :
1710 115426 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_INFO(struct ndr_push *ndr, int ndr_flags, const union PAC_INFO *r)
1711 : {
1712 : uint32_t level;
1713 115426 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1714 115426 : if (ndr_flags & NDR_SCALARS) {
1715 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1716 115426 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1717 115426 : NDR_CHECK(ndr_push_union_align(ndr, 5));
1718 115426 : switch (level) {
1719 56136 : case PAC_TYPE_LOGON_INFO: {
1720 : {
1721 : struct ndr_push *_ndr_logon_info;
1722 56136 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
1723 56136 : NDR_CHECK(ndr_push_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
1724 56136 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
1725 : }
1726 56136 : break; }
1727 :
1728 0 : case PAC_TYPE_CREDENTIAL_INFO: {
1729 0 : NDR_CHECK(ndr_push_PAC_CREDENTIAL_INFO(ndr, NDR_SCALARS, &r->credential_info));
1730 0 : break; }
1731 :
1732 951 : case PAC_TYPE_SRV_CHECKSUM: {
1733 951 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
1734 951 : break; }
1735 :
1736 939 : case PAC_TYPE_KDC_CHECKSUM: {
1737 939 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
1738 939 : break; }
1739 :
1740 975 : case PAC_TYPE_LOGON_NAME: {
1741 975 : NDR_CHECK(ndr_push_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
1742 975 : break; }
1743 :
1744 84 : case PAC_TYPE_CONSTRAINED_DELEGATION: {
1745 : {
1746 : struct ndr_push *_ndr_constrained_delegation;
1747 84 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_constrained_delegation, 0xFFFFFC01, -1));
1748 84 : NDR_CHECK(ndr_push_PAC_CONSTRAINED_DELEGATION_CTR(_ndr_constrained_delegation, NDR_SCALARS|NDR_BUFFERS, &r->constrained_delegation));
1749 84 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_constrained_delegation, 0xFFFFFC01, -1));
1750 : }
1751 84 : break; }
1752 :
1753 19996 : case PAC_TYPE_UPN_DNS_INFO: {
1754 19996 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO(ndr, NDR_SCALARS, &r->upn_dns_info));
1755 19996 : break; }
1756 :
1757 531 : case PAC_TYPE_TICKET_CHECKSUM: {
1758 531 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->ticket_checksum));
1759 531 : break; }
1760 :
1761 17619 : case PAC_TYPE_ATTRIBUTES_INFO: {
1762 17619 : NDR_CHECK(ndr_push_PAC_ATTRIBUTES_INFO(ndr, NDR_SCALARS, &r->attributes_info));
1763 17619 : break; }
1764 :
1765 17661 : case PAC_TYPE_REQUESTER_SID: {
1766 17661 : NDR_CHECK(ndr_push_PAC_REQUESTER_SID(ndr, NDR_SCALARS, &r->requester_sid));
1767 17661 : break; }
1768 :
1769 0 : case PAC_TYPE_CLIENT_CLAIMS_INFO: {
1770 : {
1771 : struct ndr_push *_ndr_client_claims_info;
1772 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_client_claims_info, 0, -1));
1773 0 : NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_client_claims_info, NDR_SCALARS, &r->client_claims_info));
1774 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_client_claims_info, 0, -1));
1775 : }
1776 0 : break; }
1777 :
1778 0 : case PAC_TYPE_DEVICE_INFO: {
1779 : {
1780 : struct ndr_push *_ndr_device_info;
1781 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_device_info, 0xFFFFFC01, -1));
1782 0 : NDR_CHECK(ndr_push_PAC_DEVICE_INFO_CTR(_ndr_device_info, NDR_SCALARS|NDR_BUFFERS, &r->device_info));
1783 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_device_info, 0xFFFFFC01, -1));
1784 : }
1785 0 : break; }
1786 :
1787 0 : case PAC_TYPE_DEVICE_CLAIMS_INFO: {
1788 : {
1789 : struct ndr_push *_ndr_device_claims_info;
1790 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_device_claims_info, 0, -1));
1791 0 : NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_device_claims_info, NDR_SCALARS, &r->device_claims_info));
1792 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_device_claims_info, 0, -1));
1793 : }
1794 0 : break; }
1795 :
1796 534 : case PAC_TYPE_FULL_CHECKSUM: {
1797 534 : NDR_CHECK(ndr_push_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->full_checksum));
1798 534 : break; }
1799 :
1800 0 : default: {
1801 : {
1802 : struct ndr_push *_ndr_unknown;
1803 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_unknown, 0, -1));
1804 0 : NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
1805 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_unknown, 0, -1));
1806 : }
1807 0 : break; }
1808 :
1809 : }
1810 : }
1811 115426 : if (ndr_flags & NDR_BUFFERS) {
1812 115426 : if (!(ndr_flags & NDR_SCALARS)) {
1813 : /* We didn't get it above, and the token is not needed after this. */
1814 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
1815 : }
1816 115426 : switch (level) {
1817 56136 : case PAC_TYPE_LOGON_INFO:
1818 56136 : break;
1819 :
1820 0 : case PAC_TYPE_CREDENTIAL_INFO:
1821 0 : break;
1822 :
1823 951 : case PAC_TYPE_SRV_CHECKSUM:
1824 951 : break;
1825 :
1826 939 : case PAC_TYPE_KDC_CHECKSUM:
1827 939 : break;
1828 :
1829 975 : case PAC_TYPE_LOGON_NAME:
1830 975 : break;
1831 :
1832 84 : case PAC_TYPE_CONSTRAINED_DELEGATION:
1833 84 : break;
1834 :
1835 19996 : case PAC_TYPE_UPN_DNS_INFO:
1836 19996 : NDR_CHECK(ndr_push_PAC_UPN_DNS_INFO(ndr, NDR_BUFFERS, &r->upn_dns_info));
1837 19996 : break;
1838 :
1839 531 : case PAC_TYPE_TICKET_CHECKSUM:
1840 531 : break;
1841 :
1842 17619 : case PAC_TYPE_ATTRIBUTES_INFO:
1843 17619 : break;
1844 :
1845 17661 : case PAC_TYPE_REQUESTER_SID:
1846 17661 : break;
1847 :
1848 0 : case PAC_TYPE_CLIENT_CLAIMS_INFO:
1849 0 : break;
1850 :
1851 0 : case PAC_TYPE_DEVICE_INFO:
1852 0 : break;
1853 :
1854 0 : case PAC_TYPE_DEVICE_CLAIMS_INFO:
1855 0 : break;
1856 :
1857 534 : case PAC_TYPE_FULL_CHECKSUM:
1858 534 : break;
1859 :
1860 0 : default:
1861 0 : break;
1862 :
1863 : }
1864 : }
1865 115426 : return NDR_ERR_SUCCESS;
1866 : }
1867 :
1868 223132 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_INFO(struct ndr_pull *ndr, int ndr_flags, union PAC_INFO *r)
1869 : {
1870 : uint32_t level;
1871 223132 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1872 223132 : if (ndr_flags & NDR_SCALARS) {
1873 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
1874 223132 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1875 223132 : NDR_CHECK(ndr_pull_union_align(ndr, 5));
1876 223132 : switch (level) {
1877 68524 : case PAC_TYPE_LOGON_INFO: {
1878 : {
1879 : struct ndr_pull *_ndr_logon_info;
1880 68524 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_logon_info, 0xFFFFFC01, -1));
1881 68524 : NDR_CHECK(ndr_pull_PAC_LOGON_INFO_CTR(_ndr_logon_info, NDR_SCALARS|NDR_BUFFERS, &r->logon_info));
1882 68524 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_logon_info, 0xFFFFFC01, -1));
1883 : }
1884 68524 : break; }
1885 :
1886 0 : case PAC_TYPE_CREDENTIAL_INFO: {
1887 0 : NDR_CHECK(ndr_pull_PAC_CREDENTIAL_INFO(ndr, NDR_SCALARS, &r->credential_info));
1888 0 : break; }
1889 :
1890 8842 : case PAC_TYPE_SRV_CHECKSUM: {
1891 8842 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->srv_cksum));
1892 8842 : break; }
1893 :
1894 8842 : case PAC_TYPE_KDC_CHECKSUM: {
1895 8842 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->kdc_cksum));
1896 8842 : break; }
1897 :
1898 8842 : case PAC_TYPE_LOGON_NAME: {
1899 8842 : NDR_CHECK(ndr_pull_PAC_LOGON_NAME(ndr, NDR_SCALARS, &r->logon_name));
1900 8842 : break; }
1901 :
1902 80 : case PAC_TYPE_CONSTRAINED_DELEGATION: {
1903 : {
1904 : struct ndr_pull *_ndr_constrained_delegation;
1905 80 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_constrained_delegation, 0xFFFFFC01, -1));
1906 80 : NDR_CHECK(ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR(_ndr_constrained_delegation, NDR_SCALARS|NDR_BUFFERS, &r->constrained_delegation));
1907 80 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_constrained_delegation, 0xFFFFFC01, -1));
1908 : }
1909 80 : break; }
1910 :
1911 68189 : case PAC_TYPE_UPN_DNS_INFO: {
1912 68189 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO(ndr, NDR_SCALARS, &r->upn_dns_info));
1913 68189 : break; }
1914 :
1915 4004 : case PAC_TYPE_TICKET_CHECKSUM: {
1916 4004 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->ticket_checksum));
1917 4004 : break; }
1918 :
1919 15222 : case PAC_TYPE_ATTRIBUTES_INFO: {
1920 15222 : NDR_CHECK(ndr_pull_PAC_ATTRIBUTES_INFO(ndr, NDR_SCALARS, &r->attributes_info));
1921 15222 : break; }
1922 :
1923 36583 : case PAC_TYPE_REQUESTER_SID: {
1924 36583 : NDR_CHECK(ndr_pull_PAC_REQUESTER_SID(ndr, NDR_SCALARS, &r->requester_sid));
1925 36583 : break; }
1926 :
1927 0 : case PAC_TYPE_CLIENT_CLAIMS_INFO: {
1928 : {
1929 : struct ndr_pull *_ndr_client_claims_info;
1930 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_client_claims_info, 0, -1));
1931 0 : NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_client_claims_info, NDR_SCALARS, &r->client_claims_info));
1932 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_client_claims_info, 0, -1));
1933 : }
1934 0 : break; }
1935 :
1936 0 : case PAC_TYPE_DEVICE_INFO: {
1937 : {
1938 : struct ndr_pull *_ndr_device_info;
1939 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_device_info, 0xFFFFFC01, -1));
1940 0 : NDR_CHECK(ndr_pull_PAC_DEVICE_INFO_CTR(_ndr_device_info, NDR_SCALARS|NDR_BUFFERS, &r->device_info));
1941 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_device_info, 0xFFFFFC01, -1));
1942 : }
1943 0 : break; }
1944 :
1945 0 : case PAC_TYPE_DEVICE_CLAIMS_INFO: {
1946 : {
1947 : struct ndr_pull *_ndr_device_claims_info;
1948 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_device_claims_info, 0, -1));
1949 0 : NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_device_claims_info, NDR_SCALARS, &r->device_claims_info));
1950 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_device_claims_info, 0, -1));
1951 : }
1952 0 : break; }
1953 :
1954 4004 : case PAC_TYPE_FULL_CHECKSUM: {
1955 4004 : NDR_CHECK(ndr_pull_PAC_SIGNATURE_DATA(ndr, NDR_SCALARS, &r->full_checksum));
1956 4004 : break; }
1957 :
1958 0 : default: {
1959 : {
1960 : struct ndr_pull *_ndr_unknown;
1961 0 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_unknown, 0, -1));
1962 0 : NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_unknown, NDR_SCALARS, &r->unknown));
1963 0 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_unknown, 0, -1));
1964 : }
1965 0 : break; }
1966 :
1967 : }
1968 : }
1969 223132 : if (ndr_flags & NDR_BUFFERS) {
1970 223132 : if (!(ndr_flags & NDR_SCALARS)) {
1971 : /* We didn't get it above, and the token is not needed after this. */
1972 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
1973 : }
1974 223132 : switch (level) {
1975 68524 : case PAC_TYPE_LOGON_INFO:
1976 68524 : break;
1977 :
1978 0 : case PAC_TYPE_CREDENTIAL_INFO:
1979 0 : break;
1980 :
1981 8842 : case PAC_TYPE_SRV_CHECKSUM:
1982 8842 : break;
1983 :
1984 8842 : case PAC_TYPE_KDC_CHECKSUM:
1985 8842 : break;
1986 :
1987 8842 : case PAC_TYPE_LOGON_NAME:
1988 8842 : break;
1989 :
1990 80 : case PAC_TYPE_CONSTRAINED_DELEGATION:
1991 80 : break;
1992 :
1993 68189 : case PAC_TYPE_UPN_DNS_INFO:
1994 68189 : NDR_CHECK(ndr_pull_PAC_UPN_DNS_INFO(ndr, NDR_BUFFERS, &r->upn_dns_info));
1995 68189 : break;
1996 :
1997 4004 : case PAC_TYPE_TICKET_CHECKSUM:
1998 4004 : break;
1999 :
2000 15222 : case PAC_TYPE_ATTRIBUTES_INFO:
2001 15222 : break;
2002 :
2003 36583 : case PAC_TYPE_REQUESTER_SID:
2004 36583 : break;
2005 :
2006 0 : case PAC_TYPE_CLIENT_CLAIMS_INFO:
2007 0 : break;
2008 :
2009 0 : case PAC_TYPE_DEVICE_INFO:
2010 0 : break;
2011 :
2012 0 : case PAC_TYPE_DEVICE_CLAIMS_INFO:
2013 0 : break;
2014 :
2015 4004 : case PAC_TYPE_FULL_CHECKSUM:
2016 4004 : break;
2017 :
2018 0 : default:
2019 0 : break;
2020 :
2021 : }
2022 : }
2023 223132 : return NDR_ERR_SUCCESS;
2024 : }
2025 :
2026 0 : _PUBLIC_ void ndr_print_PAC_INFO(struct ndr_print *ndr, const char *name, const union PAC_INFO *r)
2027 : {
2028 : uint32_t level;
2029 0 : level = ndr_print_steal_switch_value(ndr, r);
2030 0 : ndr_print_union(ndr, name, level, "PAC_INFO");
2031 0 : switch (level) {
2032 0 : case PAC_TYPE_LOGON_INFO:
2033 0 : ndr_print_PAC_LOGON_INFO_CTR(ndr, "logon_info", &r->logon_info);
2034 0 : break;
2035 :
2036 0 : case PAC_TYPE_CREDENTIAL_INFO:
2037 0 : ndr_print_PAC_CREDENTIAL_INFO(ndr, "credential_info", &r->credential_info);
2038 0 : break;
2039 :
2040 0 : case PAC_TYPE_SRV_CHECKSUM:
2041 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, "srv_cksum", &r->srv_cksum);
2042 0 : break;
2043 :
2044 0 : case PAC_TYPE_KDC_CHECKSUM:
2045 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, "kdc_cksum", &r->kdc_cksum);
2046 0 : break;
2047 :
2048 0 : case PAC_TYPE_LOGON_NAME:
2049 0 : ndr_print_PAC_LOGON_NAME(ndr, "logon_name", &r->logon_name);
2050 0 : break;
2051 :
2052 0 : case PAC_TYPE_CONSTRAINED_DELEGATION:
2053 0 : ndr_print_PAC_CONSTRAINED_DELEGATION_CTR(ndr, "constrained_delegation", &r->constrained_delegation);
2054 0 : break;
2055 :
2056 0 : case PAC_TYPE_UPN_DNS_INFO:
2057 0 : ndr_print_PAC_UPN_DNS_INFO(ndr, "upn_dns_info", &r->upn_dns_info);
2058 0 : break;
2059 :
2060 0 : case PAC_TYPE_TICKET_CHECKSUM:
2061 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, "ticket_checksum", &r->ticket_checksum);
2062 0 : break;
2063 :
2064 0 : case PAC_TYPE_ATTRIBUTES_INFO:
2065 0 : ndr_print_PAC_ATTRIBUTES_INFO(ndr, "attributes_info", &r->attributes_info);
2066 0 : break;
2067 :
2068 0 : case PAC_TYPE_REQUESTER_SID:
2069 0 : ndr_print_PAC_REQUESTER_SID(ndr, "requester_sid", &r->requester_sid);
2070 0 : break;
2071 :
2072 0 : case PAC_TYPE_CLIENT_CLAIMS_INFO:
2073 0 : ndr_print_DATA_BLOB_REM(ndr, "client_claims_info", &r->client_claims_info);
2074 0 : break;
2075 :
2076 0 : case PAC_TYPE_DEVICE_INFO:
2077 0 : ndr_print_PAC_DEVICE_INFO_CTR(ndr, "device_info", &r->device_info);
2078 0 : break;
2079 :
2080 0 : case PAC_TYPE_DEVICE_CLAIMS_INFO:
2081 0 : ndr_print_DATA_BLOB_REM(ndr, "device_claims_info", &r->device_claims_info);
2082 0 : break;
2083 :
2084 0 : case PAC_TYPE_FULL_CHECKSUM:
2085 0 : ndr_print_PAC_SIGNATURE_DATA(ndr, "full_checksum", &r->full_checksum);
2086 0 : break;
2087 :
2088 0 : default:
2089 0 : ndr_print_DATA_BLOB_REM(ndr, "unknown", &r->unknown);
2090 0 : break;
2091 :
2092 : }
2093 0 : }
2094 :
2095 4558 : _PUBLIC_ size_t ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, int flags)
2096 : {
2097 4558 : return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_PAC_INFO);
2098 : }
2099 :
2100 0 : static void ndr_print_flags_PAC_BUFFER(struct ndr_print *ndr, const char *name, int unused, const struct PAC_BUFFER *r)
2101 : {
2102 0 : ndr_print_PAC_BUFFER(ndr, name, r);
2103 0 : }
2104 :
2105 0 : _PUBLIC_ void ndr_print_PAC_BUFFER(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER *r)
2106 : {
2107 0 : ndr_print_struct(ndr, name, "PAC_BUFFER");
2108 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2109 0 : ndr->depth++;
2110 0 : ndr_print_PAC_TYPE(ndr, "type", r->type);
2111 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);
2112 : {
2113 0 : uint32_t _flags_save_PAC_INFO = ndr->flags;
2114 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
2115 0 : ndr_print_ptr(ndr, "info", r->info);
2116 0 : ndr->depth++;
2117 0 : if (r->info) {
2118 0 : ndr_print_set_switch_value(ndr, r->info, r->type);
2119 0 : ndr_print_PAC_INFO(ndr, "info", r->info);
2120 : }
2121 0 : ndr->depth--;
2122 0 : ndr->flags = _flags_save_PAC_INFO;
2123 : }
2124 0 : ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
2125 0 : ndr->depth--;
2126 : }
2127 :
2128 325 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA *r)
2129 : {
2130 : uint32_t cntr_buffers_0;
2131 325 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2132 325 : if (ndr_flags & NDR_SCALARS) {
2133 325 : NDR_CHECK(ndr_push_align(ndr, 5));
2134 325 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
2135 325 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2136 2604 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
2137 2279 : NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
2138 : }
2139 325 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2140 : }
2141 325 : if (ndr_flags & NDR_BUFFERS) {
2142 2604 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
2143 2279 : NDR_CHECK(ndr_push_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
2144 : }
2145 : }
2146 325 : return NDR_ERR_SUCCESS;
2147 : }
2148 :
2149 8842 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA *r)
2150 : {
2151 8842 : uint32_t size_buffers_0 = 0;
2152 : uint32_t cntr_buffers_0;
2153 8842 : TALLOC_CTX *_mem_save_buffers_0 = NULL;
2154 8842 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2155 8842 : if (ndr_flags & NDR_SCALARS) {
2156 8842 : NDR_CHECK(ndr_pull_align(ndr, 5));
2157 8842 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
2158 8842 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2159 8842 : size_buffers_0 = r->num_buffers;
2160 8842 : NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
2161 8842 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
2162 8842 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
2163 61803 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
2164 52961 : NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
2165 : }
2166 8842 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
2167 8842 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2168 : }
2169 8842 : if (ndr_flags & NDR_BUFFERS) {
2170 8842 : size_buffers_0 = r->num_buffers;
2171 8842 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
2172 8842 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
2173 61803 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
2174 52961 : NDR_CHECK(ndr_pull_PAC_BUFFER(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
2175 : }
2176 8842 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
2177 61803 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
2178 : }
2179 : }
2180 8842 : return NDR_ERR_SUCCESS;
2181 : }
2182 :
2183 0 : static void ndr_print_flags_PAC_DATA(struct ndr_print *ndr, const char *name, int unused, const struct PAC_DATA *r)
2184 : {
2185 0 : ndr_print_PAC_DATA(ndr, name, r);
2186 0 : }
2187 :
2188 0 : _PUBLIC_ void ndr_print_PAC_DATA(struct ndr_print *ndr, const char *name, const struct PAC_DATA *r)
2189 : {
2190 : uint32_t cntr_buffers_0;
2191 0 : ndr_print_struct(ndr, name, "PAC_DATA");
2192 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2193 0 : ndr->depth++;
2194 0 : ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
2195 0 : ndr_print_uint32(ndr, "version", r->version);
2196 0 : ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers);
2197 0 : ndr->depth++;
2198 0 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
2199 0 : ndr_print_PAC_BUFFER(ndr, "buffers", &r->buffers[cntr_buffers_0]);
2200 : }
2201 0 : ndr->depth--;
2202 0 : ndr->depth--;
2203 : }
2204 :
2205 89398 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_BUFFER_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_BUFFER_RAW *r)
2206 : {
2207 89398 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2208 89398 : if (ndr_flags & NDR_SCALARS) {
2209 44699 : NDR_CHECK(ndr_push_align(ndr, 5));
2210 44699 : NDR_CHECK(ndr_push_PAC_TYPE(ndr, NDR_SCALARS, r->type));
2211 44699 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ndr_size));
2212 : {
2213 44699 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
2214 44699 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
2215 44699 : NDR_CHECK(ndr_push_relative_ptr1(ndr, r->info));
2216 44699 : ndr->flags = _flags_save_DATA_BLOB_REM;
2217 : }
2218 44699 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2219 44699 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2220 : }
2221 89398 : if (ndr_flags & NDR_BUFFERS) {
2222 : {
2223 44699 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
2224 44699 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
2225 44699 : if (r->info) {
2226 44699 : NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->info));
2227 : {
2228 : struct ndr_push *_ndr_info;
2229 44699 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
2230 44699 : NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
2231 44699 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
2232 : }
2233 44699 : NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->info));
2234 : }
2235 44699 : ndr->flags = _flags_save_DATA_BLOB_REM;
2236 : }
2237 : }
2238 89398 : return NDR_ERR_SUCCESS;
2239 : }
2240 :
2241 71660 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_BUFFER_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_BUFFER_RAW *r)
2242 : {
2243 : uint32_t _ptr_info;
2244 71660 : TALLOC_CTX *_mem_save_info_0 = NULL;
2245 71660 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2246 71660 : if (ndr_flags & NDR_SCALARS) {
2247 35830 : NDR_CHECK(ndr_pull_align(ndr, 5));
2248 35830 : NDR_CHECK(ndr_pull_PAC_TYPE(ndr, NDR_SCALARS, &r->type));
2249 35830 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ndr_size));
2250 : {
2251 35830 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
2252 35830 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
2253 35830 : NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
2254 35830 : if (_ptr_info) {
2255 35830 : NDR_PULL_ALLOC(ndr, r->info);
2256 35830 : NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->info, _ptr_info));
2257 : } else {
2258 0 : r->info = NULL;
2259 : }
2260 35830 : ndr->flags = _flags_save_DATA_BLOB_REM;
2261 : }
2262 35830 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
2263 35830 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2264 : }
2265 71660 : if (ndr_flags & NDR_BUFFERS) {
2266 : {
2267 35830 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
2268 35830 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
2269 35830 : if (r->info) {
2270 : uint32_t _relative_save_offset;
2271 35830 : _relative_save_offset = ndr->offset;
2272 35830 : NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->info));
2273 35830 : _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
2274 35830 : NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
2275 : {
2276 : struct ndr_pull *_ndr_info;
2277 35830 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
2278 35830 : NDR_CHECK(ndr_pull_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
2279 35830 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
2280 : }
2281 35830 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
2282 35830 : if (ndr->offset > ndr->relative_highest_offset) {
2283 35830 : ndr->relative_highest_offset = ndr->offset;
2284 : }
2285 35830 : ndr->offset = _relative_save_offset;
2286 : }
2287 35830 : ndr->flags = _flags_save_DATA_BLOB_REM;
2288 : }
2289 : }
2290 71660 : return NDR_ERR_SUCCESS;
2291 : }
2292 :
2293 0 : static void ndr_print_flags_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, int unused, const struct PAC_BUFFER_RAW *r)
2294 : {
2295 0 : ndr_print_PAC_BUFFER_RAW(ndr, name, r);
2296 0 : }
2297 :
2298 0 : _PUBLIC_ void ndr_print_PAC_BUFFER_RAW(struct ndr_print *ndr, const char *name, const struct PAC_BUFFER_RAW *r)
2299 : {
2300 0 : ndr_print_struct(ndr, name, "PAC_BUFFER_RAW");
2301 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2302 0 : ndr->depth++;
2303 0 : ndr_print_PAC_TYPE(ndr, "type", r->type);
2304 0 : ndr_print_uint32(ndr, "ndr_size", r->ndr_size);
2305 : {
2306 0 : uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
2307 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
2308 0 : ndr_print_ptr(ndr, "info", r->info);
2309 0 : ndr->depth++;
2310 0 : if (r->info) {
2311 0 : ndr_print_DATA_BLOB_REM(ndr, "info", r->info);
2312 : }
2313 0 : ndr->depth--;
2314 0 : ndr->flags = _flags_save_DATA_BLOB_REM;
2315 : }
2316 0 : ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
2317 0 : ndr->depth--;
2318 : }
2319 :
2320 7324 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_DATA_RAW(struct ndr_push *ndr, int ndr_flags, const struct PAC_DATA_RAW *r)
2321 : {
2322 : uint32_t cntr_buffers_0;
2323 7324 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2324 7324 : if (ndr_flags & NDR_SCALARS) {
2325 7324 : NDR_CHECK(ndr_push_align(ndr, 5));
2326 7324 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_buffers));
2327 7324 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
2328 52023 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
2329 44699 : NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
2330 : }
2331 7324 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2332 : }
2333 7324 : if (ndr_flags & NDR_BUFFERS) {
2334 52023 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
2335 44699 : NDR_CHECK(ndr_push_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
2336 : }
2337 : }
2338 7324 : return NDR_ERR_SUCCESS;
2339 : }
2340 :
2341 6062 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_DATA_RAW(struct ndr_pull *ndr, int ndr_flags, struct PAC_DATA_RAW *r)
2342 : {
2343 6062 : uint32_t size_buffers_0 = 0;
2344 : uint32_t cntr_buffers_0;
2345 6062 : TALLOC_CTX *_mem_save_buffers_0 = NULL;
2346 6062 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2347 6062 : if (ndr_flags & NDR_SCALARS) {
2348 6062 : NDR_CHECK(ndr_pull_align(ndr, 5));
2349 6062 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_buffers));
2350 6062 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
2351 6062 : size_buffers_0 = r->num_buffers;
2352 6062 : NDR_PULL_ALLOC_N(ndr, r->buffers, size_buffers_0);
2353 6062 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
2354 6062 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
2355 41892 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
2356 35830 : NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_SCALARS, &r->buffers[cntr_buffers_0]));
2357 : }
2358 6062 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
2359 6062 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2360 : }
2361 6062 : if (ndr_flags & NDR_BUFFERS) {
2362 6062 : size_buffers_0 = r->num_buffers;
2363 6062 : _mem_save_buffers_0 = NDR_PULL_GET_MEM_CTX(ndr);
2364 6062 : NDR_PULL_SET_MEM_CTX(ndr, r->buffers, 0);
2365 41892 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
2366 35830 : NDR_CHECK(ndr_pull_PAC_BUFFER_RAW(ndr, NDR_BUFFERS, &r->buffers[cntr_buffers_0]));
2367 : }
2368 6062 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffers_0, 0);
2369 41892 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (size_buffers_0); cntr_buffers_0++) {
2370 : }
2371 : }
2372 6062 : return NDR_ERR_SUCCESS;
2373 : }
2374 :
2375 0 : static void ndr_print_flags_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, int unused, const struct PAC_DATA_RAW *r)
2376 : {
2377 0 : ndr_print_PAC_DATA_RAW(ndr, name, r);
2378 0 : }
2379 :
2380 0 : _PUBLIC_ void ndr_print_PAC_DATA_RAW(struct ndr_print *ndr, const char *name, const struct PAC_DATA_RAW *r)
2381 : {
2382 : uint32_t cntr_buffers_0;
2383 0 : ndr_print_struct(ndr, name, "PAC_DATA_RAW");
2384 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2385 0 : ndr->depth++;
2386 0 : ndr_print_uint32(ndr, "num_buffers", r->num_buffers);
2387 0 : ndr_print_uint32(ndr, "version", r->version);
2388 0 : ndr->print(ndr, "%s: ARRAY(%d)", "buffers", (int)r->num_buffers);
2389 0 : ndr->depth++;
2390 0 : for (cntr_buffers_0 = 0; cntr_buffers_0 < (r->num_buffers); cntr_buffers_0++) {
2391 0 : ndr_print_PAC_BUFFER_RAW(ndr, "buffers", &r->buffers[cntr_buffers_0]);
2392 : }
2393 0 : ndr->depth--;
2394 0 : ndr->depth--;
2395 : }
2396 :
2397 72 : _PUBLIC_ enum ndr_err_code ndr_push_PAC_Validate(struct ndr_push *ndr, int ndr_flags, const struct PAC_Validate *r)
2398 : {
2399 72 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2400 72 : if (ndr_flags & NDR_SCALARS) {
2401 72 : NDR_CHECK(ndr_push_align(ndr, 4));
2402 72 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, NETLOGON_GENERIC_KRB5_PAC_VALIDATE));
2403 72 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ChecksumLength));
2404 72 : NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->SignatureType));
2405 72 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->SignatureLength));
2406 : {
2407 72 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
2408 72 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2409 72 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->ChecksumAndSignature));
2410 72 : ndr->flags = _flags_save_DATA_BLOB;
2411 : }
2412 72 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2413 : }
2414 72 : if (ndr_flags & NDR_BUFFERS) {
2415 : }
2416 72 : return NDR_ERR_SUCCESS;
2417 : }
2418 :
2419 120 : _PUBLIC_ enum ndr_err_code ndr_pull_PAC_Validate(struct ndr_pull *ndr, int ndr_flags, struct PAC_Validate *r)
2420 : {
2421 120 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2422 120 : if (ndr_flags & NDR_SCALARS) {
2423 120 : NDR_CHECK(ndr_pull_align(ndr, 4));
2424 120 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->MessageType));
2425 120 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ChecksumLength));
2426 120 : NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->SignatureType));
2427 120 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->SignatureLength));
2428 : {
2429 120 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
2430 120 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2431 120 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->ChecksumAndSignature));
2432 120 : ndr->flags = _flags_save_DATA_BLOB;
2433 : }
2434 120 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2435 : }
2436 120 : if (ndr_flags & NDR_BUFFERS) {
2437 : }
2438 120 : return NDR_ERR_SUCCESS;
2439 : }
2440 :
2441 0 : static void ndr_print_flags_PAC_Validate(struct ndr_print *ndr, const char *name, int unused, const struct PAC_Validate *r)
2442 : {
2443 0 : ndr_print_PAC_Validate(ndr, name, r);
2444 0 : }
2445 :
2446 0 : _PUBLIC_ void ndr_print_PAC_Validate(struct ndr_print *ndr, const char *name, const struct PAC_Validate *r)
2447 : {
2448 0 : ndr_print_struct(ndr, name, "PAC_Validate");
2449 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2450 0 : ndr->depth++;
2451 0 : ndr_print_uint32(ndr, "MessageType", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?NETLOGON_GENERIC_KRB5_PAC_VALIDATE:r->MessageType);
2452 0 : ndr_print_uint32(ndr, "ChecksumLength", r->ChecksumLength);
2453 0 : ndr_print_int32(ndr, "SignatureType", r->SignatureType);
2454 0 : ndr_print_uint32(ndr, "SignatureLength", r->SignatureLength);
2455 : {
2456 0 : uint32_t _flags_save_DATA_BLOB = ndr->flags;
2457 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
2458 0 : ndr_print_DATA_BLOB(ndr, "ChecksumAndSignature", r->ChecksumAndSignature);
2459 0 : ndr->flags = _flags_save_DATA_BLOB;
2460 : }
2461 0 : ndr->depth--;
2462 : }
2463 :
2464 615 : _PUBLIC_ enum ndr_err_code ndr_push_netsamlogoncache_entry(struct ndr_push *ndr, int ndr_flags, const struct netsamlogoncache_entry *r)
2465 : {
2466 615 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
2467 615 : if (ndr_flags & NDR_SCALARS) {
2468 615 : NDR_CHECK(ndr_push_align(ndr, 5));
2469 615 : NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->timestamp));
2470 615 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
2471 615 : NDR_CHECK(ndr_push_trailer_align(ndr, 5));
2472 : }
2473 615 : if (ndr_flags & NDR_BUFFERS) {
2474 615 : NDR_CHECK(ndr_push_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
2475 : }
2476 615 : return NDR_ERR_SUCCESS;
2477 : }
2478 :
2479 1982 : _PUBLIC_ enum ndr_err_code ndr_pull_netsamlogoncache_entry(struct ndr_pull *ndr, int ndr_flags, struct netsamlogoncache_entry *r)
2480 : {
2481 1982 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
2482 1982 : if (ndr_flags & NDR_SCALARS) {
2483 1982 : NDR_CHECK(ndr_pull_align(ndr, 5));
2484 1982 : NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->timestamp));
2485 1982 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_SCALARS, &r->info3));
2486 1982 : NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
2487 : }
2488 1982 : if (ndr_flags & NDR_BUFFERS) {
2489 1982 : NDR_CHECK(ndr_pull_netr_SamInfo3(ndr, NDR_BUFFERS, &r->info3));
2490 : }
2491 1982 : return NDR_ERR_SUCCESS;
2492 : }
2493 :
2494 0 : static void ndr_print_flags_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, int unused, const struct netsamlogoncache_entry *r)
2495 : {
2496 0 : ndr_print_netsamlogoncache_entry(ndr, name, r);
2497 0 : }
2498 :
2499 0 : _PUBLIC_ void ndr_print_netsamlogoncache_entry(struct ndr_print *ndr, const char *name, const struct netsamlogoncache_entry *r)
2500 : {
2501 0 : ndr_print_struct(ndr, name, "netsamlogoncache_entry");
2502 0 : if (r == NULL) { ndr_print_null(ndr); return; }
2503 0 : ndr->depth++;
2504 0 : ndr_print_time_t(ndr, "timestamp", r->timestamp);
2505 0 : ndr_print_netr_SamInfo3(ndr, "info3", &r->info3);
2506 0 : ndr->depth--;
2507 : }
2508 :
2509 : #ifndef SKIP_NDR_TABLE_krb5pac
2510 : static const struct ndr_interface_public_struct krb5pac_public_structs[] = {
2511 : {
2512 : .name = "PAC_SIGNATURE_DATA",
2513 : .struct_size = sizeof(struct PAC_SIGNATURE_DATA ),
2514 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_SIGNATURE_DATA,
2515 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_SIGNATURE_DATA,
2516 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_SIGNATURE_DATA,
2517 : },
2518 : {
2519 : .name = "PAC_CREDENTIAL_NTLM_SECPKG",
2520 : .struct_size = sizeof(struct PAC_CREDENTIAL_NTLM_SECPKG ),
2521 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_NTLM_SECPKG,
2522 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_NTLM_SECPKG,
2523 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_NTLM_SECPKG,
2524 : },
2525 : {
2526 : .name = "PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG",
2527 : .struct_size = sizeof(struct PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG ),
2528 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
2529 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
2530 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_SUPPLEMENTAL_SECPKG,
2531 : },
2532 : {
2533 : .name = "PAC_CREDENTIAL_DATA",
2534 : .struct_size = sizeof(struct PAC_CREDENTIAL_DATA ),
2535 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA,
2536 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA,
2537 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA,
2538 : },
2539 : {
2540 : .name = "PAC_CREDENTIAL_DATA_CTR",
2541 : .struct_size = sizeof(struct PAC_CREDENTIAL_DATA_CTR ),
2542 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA_CTR,
2543 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA_CTR,
2544 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA_CTR,
2545 : },
2546 : {
2547 : .name = "PAC_CREDENTIAL_DATA_NDR",
2548 : .struct_size = sizeof(struct PAC_CREDENTIAL_DATA_NDR ),
2549 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_DATA_NDR,
2550 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_DATA_NDR,
2551 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_DATA_NDR,
2552 : },
2553 : {
2554 : .name = "PAC_CREDENTIAL_INFO",
2555 : .struct_size = sizeof(struct PAC_CREDENTIAL_INFO ),
2556 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CREDENTIAL_INFO,
2557 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CREDENTIAL_INFO,
2558 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CREDENTIAL_INFO,
2559 : },
2560 : {
2561 : .name = "PAC_LOGON_INFO_CTR",
2562 : .struct_size = sizeof(struct PAC_LOGON_INFO_CTR ),
2563 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_LOGON_INFO_CTR,
2564 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_LOGON_INFO_CTR,
2565 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_LOGON_INFO_CTR,
2566 : },
2567 : {
2568 : .name = "PAC_CONSTRAINED_DELEGATION_CTR",
2569 : .struct_size = sizeof(struct PAC_CONSTRAINED_DELEGATION_CTR ),
2570 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_CONSTRAINED_DELEGATION_CTR,
2571 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_CONSTRAINED_DELEGATION_CTR,
2572 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_CONSTRAINED_DELEGATION_CTR,
2573 : },
2574 : {
2575 : .name = "PAC_BUFFER",
2576 : .struct_size = sizeof(struct PAC_BUFFER ),
2577 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_BUFFER,
2578 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_BUFFER,
2579 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_BUFFER,
2580 : },
2581 : {
2582 : .name = "PAC_DATA",
2583 : .struct_size = sizeof(struct PAC_DATA ),
2584 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_DATA,
2585 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_DATA,
2586 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_DATA,
2587 : },
2588 : {
2589 : .name = "PAC_BUFFER_RAW",
2590 : .struct_size = sizeof(struct PAC_BUFFER_RAW ),
2591 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_BUFFER_RAW,
2592 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_BUFFER_RAW,
2593 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_BUFFER_RAW,
2594 : },
2595 : {
2596 : .name = "PAC_DATA_RAW",
2597 : .struct_size = sizeof(struct PAC_DATA_RAW ),
2598 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_DATA_RAW,
2599 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_DATA_RAW,
2600 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_DATA_RAW,
2601 : },
2602 : {
2603 : .name = "PAC_Validate",
2604 : .struct_size = sizeof(struct PAC_Validate ),
2605 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_PAC_Validate,
2606 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_PAC_Validate,
2607 : .ndr_print = (ndr_print_function_t) ndr_print_flags_PAC_Validate,
2608 : },
2609 : {
2610 : .name = "netsamlogoncache_entry",
2611 : .struct_size = sizeof(struct netsamlogoncache_entry ),
2612 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_netsamlogoncache_entry,
2613 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_netsamlogoncache_entry,
2614 : .ndr_print = (ndr_print_function_t) ndr_print_flags_netsamlogoncache_entry,
2615 : },
2616 : { .name = NULL }
2617 : };
2618 :
2619 : static const struct ndr_interface_call krb5pac_calls[] = {
2620 : { .name = NULL }
2621 : };
2622 :
2623 : static const char * const krb5pac_endpoint_strings[] = {
2624 : "ncacn_np:[\\pipe\\krb5pac]",
2625 : };
2626 :
2627 : static const struct ndr_interface_string_array krb5pac_endpoints = {
2628 : .count = 1,
2629 : .names = krb5pac_endpoint_strings
2630 : };
2631 :
2632 : static const char * const krb5pac_authservice_strings[] = {
2633 : "host",
2634 : };
2635 :
2636 : static const struct ndr_interface_string_array krb5pac_authservices = {
2637 : .count = 1,
2638 : .names = krb5pac_authservice_strings
2639 : };
2640 :
2641 :
2642 : const struct ndr_interface_table ndr_table_krb5pac = {
2643 : .name = "krb5pac",
2644 : .syntax_id = {
2645 : {0x12345778,0x1234,0xabcd,{0x00,0x00},{0x00,0x00,0x00,0x00}},
2646 : NDR_KRB5PAC_VERSION
2647 : },
2648 : .helpstring = NDR_KRB5PAC_HELPSTRING,
2649 : .num_calls = 0,
2650 : .calls = krb5pac_calls,
2651 : .num_public_structs = 15,
2652 : .public_structs = krb5pac_public_structs,
2653 : .endpoints = &krb5pac_endpoints,
2654 : .authservices = &krb5pac_authservices
2655 : };
2656 :
2657 : #endif /* SKIP_NDR_TABLE_krb5pac */
|