Line data Source code
1 : /* parser auto-generated by pidl */
2 :
3 : #include "includes.h"
4 : #include "bin/default/librpc/gen_ndr/ndr_krb5ccache.h"
5 :
6 105 : static enum ndr_err_code ndr_push_PRINCIPAL(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct PRINCIPAL *r)
7 : {
8 6 : uint32_t cntr_components_0;
9 105 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10 105 : if (ndr_flags & NDR_SCALARS) {
11 105 : NDR_CHECK(ndr_push_align(ndr, 4));
12 105 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->name_type));
13 105 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->component_count));
14 : {
15 105 : libndr_flags _flags_save_string = ndr->flags;
16 105 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
17 105 : NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->realm));
18 105 : ndr->flags = _flags_save_string;
19 : }
20 : {
21 105 : libndr_flags _flags_save_string = ndr->flags;
22 105 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
23 251 : for (cntr_components_0 = 0; cntr_components_0 < (r->component_count); cntr_components_0++) {
24 140 : NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->components[cntr_components_0]));
25 : }
26 105 : ndr->flags = _flags_save_string;
27 : }
28 105 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
29 : }
30 105 : if (ndr_flags & NDR_BUFFERS) {
31 6 : }
32 105 : return NDR_ERR_SUCCESS;
33 : }
34 :
35 12 : static enum ndr_err_code ndr_pull_PRINCIPAL(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct PRINCIPAL *r)
36 : {
37 12 : uint32_t size_components_0 = 0;
38 12 : uint32_t cntr_components_0;
39 12 : TALLOC_CTX *_mem_save_components_0 = NULL;
40 12 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
41 12 : if (ndr_flags & NDR_SCALARS) {
42 12 : NDR_CHECK(ndr_pull_align(ndr, 4));
43 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->name_type));
44 12 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->component_count));
45 : {
46 12 : libndr_flags _flags_save_string = ndr->flags;
47 12 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
48 12 : NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->realm));
49 12 : ndr->flags = _flags_save_string;
50 : }
51 : {
52 12 : libndr_flags _flags_save_string = ndr->flags;
53 12 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
54 12 : size_components_0 = r->component_count;
55 12 : NDR_PULL_ALLOC_N(ndr, r->components, size_components_0);
56 12 : _mem_save_components_0 = NDR_PULL_GET_MEM_CTX(ndr);
57 12 : NDR_PULL_SET_MEM_CTX(ndr, r->components, 0);
58 28 : for (cntr_components_0 = 0; cntr_components_0 < (size_components_0); cntr_components_0++) {
59 16 : NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->components[cntr_components_0]));
60 : }
61 12 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_components_0, 0);
62 12 : ndr->flags = _flags_save_string;
63 : }
64 12 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
65 : }
66 12 : if (ndr_flags & NDR_BUFFERS) {
67 12 : }
68 12 : return NDR_ERR_SUCCESS;
69 : }
70 :
71 12 : _PUBLIC_ void ndr_print_PRINCIPAL(struct ndr_print *ndr, const char *name, const struct PRINCIPAL *r)
72 : {
73 12 : uint32_t cntr_components_0;
74 12 : ndr_print_struct(ndr, name, "PRINCIPAL");
75 12 : if (r == NULL) { ndr_print_null(ndr); return; }
76 12 : ndr->depth++;
77 12 : ndr_print_uint32(ndr, "name_type", r->name_type);
78 12 : ndr_print_uint32(ndr, "component_count", r->component_count);
79 : {
80 12 : libndr_flags _flags_save_string = ndr->flags;
81 12 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
82 12 : ndr_print_string(ndr, "realm", r->realm);
83 12 : ndr->flags = _flags_save_string;
84 : }
85 : {
86 12 : libndr_flags _flags_save_string = ndr->flags;
87 12 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
88 12 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "components", (uint32_t)(r->component_count));
89 12 : ndr->depth++;
90 28 : for (cntr_components_0 = 0; cntr_components_0 < (r->component_count); cntr_components_0++) {
91 16 : ndr_print_string(ndr, "components", r->components[cntr_components_0]);
92 : }
93 12 : ndr->depth--;
94 12 : ndr->flags = _flags_save_string;
95 : }
96 12 : ndr->depth--;
97 : }
98 :
99 35 : static enum ndr_err_code ndr_push_KEYBLOCK(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYBLOCK *r)
100 : {
101 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
102 35 : if (ndr_flags & NDR_SCALARS) {
103 35 : NDR_CHECK(ndr_push_align(ndr, 4));
104 35 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->enctype));
105 35 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
106 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
107 : }
108 35 : if (ndr_flags & NDR_BUFFERS) {
109 2 : }
110 35 : return NDR_ERR_SUCCESS;
111 : }
112 :
113 4 : static enum ndr_err_code ndr_pull_KEYBLOCK(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYBLOCK *r)
114 : {
115 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
116 4 : if (ndr_flags & NDR_SCALARS) {
117 4 : NDR_CHECK(ndr_pull_align(ndr, 4));
118 4 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->enctype));
119 4 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
120 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
121 : }
122 4 : if (ndr_flags & NDR_BUFFERS) {
123 4 : }
124 4 : return NDR_ERR_SUCCESS;
125 : }
126 :
127 4 : _PUBLIC_ void ndr_print_KEYBLOCK(struct ndr_print *ndr, const char *name, const struct KEYBLOCK *r)
128 : {
129 4 : ndr_print_struct(ndr, name, "KEYBLOCK");
130 4 : if (r == NULL) { ndr_print_null(ndr); return; }
131 4 : ndr->depth++;
132 4 : ndr_print_uint16(ndr, "enctype", r->enctype);
133 4 : ndr_print_DATA_BLOB(ndr, "data", r->data);
134 4 : ndr->depth--;
135 : }
136 :
137 0 : static enum ndr_err_code ndr_push_ADDRESS(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct ADDRESS *r)
138 : {
139 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
140 0 : if (ndr_flags & NDR_SCALARS) {
141 0 : NDR_CHECK(ndr_push_align(ndr, 4));
142 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->addrtype));
143 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
144 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
145 : }
146 0 : if (ndr_flags & NDR_BUFFERS) {
147 0 : }
148 0 : return NDR_ERR_SUCCESS;
149 : }
150 :
151 0 : static enum ndr_err_code ndr_pull_ADDRESS(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct ADDRESS *r)
152 : {
153 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
154 0 : if (ndr_flags & NDR_SCALARS) {
155 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
156 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->addrtype));
157 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
158 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
159 : }
160 0 : if (ndr_flags & NDR_BUFFERS) {
161 0 : }
162 0 : return NDR_ERR_SUCCESS;
163 : }
164 :
165 0 : _PUBLIC_ void ndr_print_ADDRESS(struct ndr_print *ndr, const char *name, const struct ADDRESS *r)
166 : {
167 0 : ndr_print_struct(ndr, name, "ADDRESS");
168 0 : if (r == NULL) { ndr_print_null(ndr); return; }
169 0 : ndr->depth++;
170 0 : ndr_print_uint16(ndr, "addrtype", r->addrtype);
171 0 : ndr_print_DATA_BLOB(ndr, "data", r->data);
172 0 : ndr->depth--;
173 : }
174 :
175 35 : static enum ndr_err_code ndr_push_ADDRESSES(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct ADDRESSES *r)
176 : {
177 2 : uint32_t cntr_data_0;
178 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
179 35 : if (ndr_flags & NDR_SCALARS) {
180 35 : NDR_CHECK(ndr_push_align(ndr, 4));
181 35 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
182 35 : for (cntr_data_0 = 0; cntr_data_0 < (r->count); cntr_data_0++) {
183 0 : NDR_CHECK(ndr_push_ADDRESS(ndr, NDR_SCALARS, &r->data[cntr_data_0]));
184 : }
185 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
186 : }
187 35 : if (ndr_flags & NDR_BUFFERS) {
188 2 : }
189 35 : return NDR_ERR_SUCCESS;
190 : }
191 :
192 4 : static enum ndr_err_code ndr_pull_ADDRESSES(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct ADDRESSES *r)
193 : {
194 4 : uint32_t size_data_0 = 0;
195 4 : uint32_t cntr_data_0;
196 4 : TALLOC_CTX *_mem_save_data_0 = NULL;
197 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
198 4 : if (ndr_flags & NDR_SCALARS) {
199 4 : NDR_CHECK(ndr_pull_align(ndr, 4));
200 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
201 4 : size_data_0 = r->count;
202 4 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_0);
203 4 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
204 4 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
205 4 : for (cntr_data_0 = 0; cntr_data_0 < (size_data_0); cntr_data_0++) {
206 0 : NDR_CHECK(ndr_pull_ADDRESS(ndr, NDR_SCALARS, &r->data[cntr_data_0]));
207 : }
208 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
209 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
210 : }
211 4 : if (ndr_flags & NDR_BUFFERS) {
212 4 : }
213 4 : return NDR_ERR_SUCCESS;
214 : }
215 :
216 4 : _PUBLIC_ void ndr_print_ADDRESSES(struct ndr_print *ndr, const char *name, const struct ADDRESSES *r)
217 : {
218 4 : uint32_t cntr_data_0;
219 4 : ndr_print_struct(ndr, name, "ADDRESSES");
220 4 : if (r == NULL) { ndr_print_null(ndr); return; }
221 4 : ndr->depth++;
222 4 : ndr_print_uint32(ndr, "count", r->count);
223 4 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "data", (uint32_t)(r->count));
224 4 : ndr->depth++;
225 4 : for (cntr_data_0 = 0; cntr_data_0 < (r->count); cntr_data_0++) {
226 0 : ndr_print_ADDRESS(ndr, "data", &r->data[cntr_data_0]);
227 : }
228 4 : ndr->depth--;
229 4 : ndr->depth--;
230 : }
231 :
232 0 : static enum ndr_err_code ndr_push_AUTHDATUM(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct AUTHDATUM *r)
233 : {
234 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
235 0 : if (ndr_flags & NDR_SCALARS) {
236 0 : NDR_CHECK(ndr_push_align(ndr, 4));
237 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ad_type));
238 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
239 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
240 : }
241 0 : if (ndr_flags & NDR_BUFFERS) {
242 0 : }
243 0 : return NDR_ERR_SUCCESS;
244 : }
245 :
246 0 : static enum ndr_err_code ndr_pull_AUTHDATUM(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct AUTHDATUM *r)
247 : {
248 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
249 0 : if (ndr_flags & NDR_SCALARS) {
250 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
251 0 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ad_type));
252 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
253 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
254 : }
255 0 : if (ndr_flags & NDR_BUFFERS) {
256 0 : }
257 0 : return NDR_ERR_SUCCESS;
258 : }
259 :
260 0 : _PUBLIC_ void ndr_print_AUTHDATUM(struct ndr_print *ndr, const char *name, const struct AUTHDATUM *r)
261 : {
262 0 : ndr_print_struct(ndr, name, "AUTHDATUM");
263 0 : if (r == NULL) { ndr_print_null(ndr); return; }
264 0 : ndr->depth++;
265 0 : ndr_print_uint16(ndr, "ad_type", r->ad_type);
266 0 : ndr_print_DATA_BLOB(ndr, "data", r->data);
267 0 : ndr->depth--;
268 : }
269 :
270 35 : static enum ndr_err_code ndr_push_AUTHDATA(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct AUTHDATA *r)
271 : {
272 2 : uint32_t cntr_data_0;
273 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
274 35 : if (ndr_flags & NDR_SCALARS) {
275 35 : NDR_CHECK(ndr_push_align(ndr, 4));
276 35 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
277 35 : for (cntr_data_0 = 0; cntr_data_0 < (r->count); cntr_data_0++) {
278 0 : NDR_CHECK(ndr_push_AUTHDATUM(ndr, NDR_SCALARS, &r->data[cntr_data_0]));
279 : }
280 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
281 : }
282 35 : if (ndr_flags & NDR_BUFFERS) {
283 2 : }
284 35 : return NDR_ERR_SUCCESS;
285 : }
286 :
287 4 : static enum ndr_err_code ndr_pull_AUTHDATA(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct AUTHDATA *r)
288 : {
289 4 : uint32_t size_data_0 = 0;
290 4 : uint32_t cntr_data_0;
291 4 : TALLOC_CTX *_mem_save_data_0 = NULL;
292 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
293 4 : if (ndr_flags & NDR_SCALARS) {
294 4 : NDR_CHECK(ndr_pull_align(ndr, 4));
295 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
296 4 : size_data_0 = r->count;
297 4 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_0);
298 4 : _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
299 4 : NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
300 4 : for (cntr_data_0 = 0; cntr_data_0 < (size_data_0); cntr_data_0++) {
301 0 : NDR_CHECK(ndr_pull_AUTHDATUM(ndr, NDR_SCALARS, &r->data[cntr_data_0]));
302 : }
303 4 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
304 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
305 : }
306 4 : if (ndr_flags & NDR_BUFFERS) {
307 4 : }
308 4 : return NDR_ERR_SUCCESS;
309 : }
310 :
311 4 : _PUBLIC_ void ndr_print_AUTHDATA(struct ndr_print *ndr, const char *name, const struct AUTHDATA *r)
312 : {
313 4 : uint32_t cntr_data_0;
314 4 : ndr_print_struct(ndr, name, "AUTHDATA");
315 4 : if (r == NULL) { ndr_print_null(ndr); return; }
316 4 : ndr->depth++;
317 4 : ndr_print_uint32(ndr, "count", r->count);
318 4 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "data", (uint32_t)(r->count));
319 4 : ndr->depth++;
320 4 : for (cntr_data_0 = 0; cntr_data_0 < (r->count); cntr_data_0++) {
321 0 : ndr_print_AUTHDATUM(ndr, "data", &r->data[cntr_data_0]);
322 : }
323 4 : ndr->depth--;
324 4 : ndr->depth--;
325 : }
326 :
327 35 : static enum ndr_err_code ndr_push_CREDENTIAL(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct CREDENTIAL *r)
328 : {
329 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
330 35 : if (ndr_flags & NDR_SCALARS) {
331 35 : NDR_CHECK(ndr_push_align(ndr, 4));
332 35 : NDR_CHECK(ndr_push_PRINCIPAL(ndr, NDR_SCALARS, &r->client));
333 35 : NDR_CHECK(ndr_push_PRINCIPAL(ndr, NDR_SCALARS, &r->server));
334 35 : NDR_CHECK(ndr_push_KEYBLOCK(ndr, NDR_SCALARS, &r->keyblock));
335 35 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->authtime));
336 35 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->starttime));
337 35 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->endtime));
338 35 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->renew_till));
339 35 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->is_skey));
340 35 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ticket_flags));
341 35 : NDR_CHECK(ndr_push_ADDRESSES(ndr, NDR_SCALARS, &r->addresses));
342 35 : NDR_CHECK(ndr_push_AUTHDATA(ndr, NDR_SCALARS, &r->authdata));
343 35 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->ticket));
344 35 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->second_ticket));
345 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
346 : }
347 35 : if (ndr_flags & NDR_BUFFERS) {
348 2 : }
349 35 : return NDR_ERR_SUCCESS;
350 : }
351 :
352 4 : static enum ndr_err_code ndr_pull_CREDENTIAL(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct CREDENTIAL *r)
353 : {
354 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
355 4 : if (ndr_flags & NDR_SCALARS) {
356 4 : NDR_CHECK(ndr_pull_align(ndr, 4));
357 4 : NDR_CHECK(ndr_pull_PRINCIPAL(ndr, NDR_SCALARS, &r->client));
358 4 : NDR_CHECK(ndr_pull_PRINCIPAL(ndr, NDR_SCALARS, &r->server));
359 4 : NDR_CHECK(ndr_pull_KEYBLOCK(ndr, NDR_SCALARS, &r->keyblock));
360 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->authtime));
361 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->starttime));
362 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->endtime));
363 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->renew_till));
364 4 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->is_skey));
365 4 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ticket_flags));
366 4 : NDR_CHECK(ndr_pull_ADDRESSES(ndr, NDR_SCALARS, &r->addresses));
367 4 : NDR_CHECK(ndr_pull_AUTHDATA(ndr, NDR_SCALARS, &r->authdata));
368 4 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->ticket));
369 4 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->second_ticket));
370 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
371 : }
372 4 : if (ndr_flags & NDR_BUFFERS) {
373 4 : }
374 4 : return NDR_ERR_SUCCESS;
375 : }
376 :
377 4 : _PUBLIC_ void ndr_print_CREDENTIAL(struct ndr_print *ndr, const char *name, const struct CREDENTIAL *r)
378 : {
379 4 : ndr_print_struct(ndr, name, "CREDENTIAL");
380 4 : if (r == NULL) { ndr_print_null(ndr); return; }
381 4 : ndr->depth++;
382 4 : ndr_print_PRINCIPAL(ndr, "client", &r->client);
383 4 : ndr_print_PRINCIPAL(ndr, "server", &r->server);
384 4 : ndr_print_KEYBLOCK(ndr, "keyblock", &r->keyblock);
385 4 : ndr_print_uint32(ndr, "authtime", r->authtime);
386 4 : ndr_print_uint32(ndr, "starttime", r->starttime);
387 4 : ndr_print_uint32(ndr, "endtime", r->endtime);
388 4 : ndr_print_uint32(ndr, "renew_till", r->renew_till);
389 4 : ndr_print_uint8(ndr, "is_skey", r->is_skey);
390 4 : ndr_print_uint32(ndr, "ticket_flags", r->ticket_flags);
391 4 : ndr_print_ADDRESSES(ndr, "addresses", &r->addresses);
392 4 : ndr_print_AUTHDATA(ndr, "authdata", &r->authdata);
393 4 : ndr_print_DATA_BLOB(ndr, "ticket", r->ticket);
394 4 : ndr_print_DATA_BLOB(ndr, "second_ticket", r->second_ticket);
395 4 : ndr->depth--;
396 : }
397 :
398 35 : static enum ndr_err_code ndr_push_DELTATIME_TAG(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct DELTATIME_TAG *r)
399 : {
400 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
401 35 : if (ndr_flags & NDR_SCALARS) {
402 35 : NDR_CHECK(ndr_push_align(ndr, 4));
403 35 : NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, 0));
404 35 : NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, 0));
405 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
406 : }
407 35 : if (ndr_flags & NDR_BUFFERS) {
408 2 : }
409 35 : return NDR_ERR_SUCCESS;
410 : }
411 :
412 4 : static enum ndr_err_code ndr_pull_DELTATIME_TAG(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct DELTATIME_TAG *r)
413 : {
414 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
415 4 : if (ndr_flags & NDR_SCALARS) {
416 4 : NDR_CHECK(ndr_pull_align(ndr, 4));
417 4 : NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->kdc_sec_offset));
418 4 : NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->kdc_usec_offset));
419 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
420 : }
421 4 : if (ndr_flags & NDR_BUFFERS) {
422 4 : }
423 4 : return NDR_ERR_SUCCESS;
424 : }
425 :
426 4 : _PUBLIC_ void ndr_print_DELTATIME_TAG(struct ndr_print *ndr, const char *name, const struct DELTATIME_TAG *r)
427 : {
428 4 : ndr_print_struct(ndr, name, "DELTATIME_TAG");
429 4 : if (r == NULL) { ndr_print_null(ndr); return; }
430 4 : ndr->depth++;
431 4 : ndr_print_int32(ndr, "kdc_sec_offset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->kdc_sec_offset);
432 4 : ndr_print_int32(ndr, "kdc_usec_offset", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->kdc_usec_offset);
433 4 : ndr->depth--;
434 : }
435 :
436 35 : static enum ndr_err_code ndr_push_FIELD(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union FIELD *r)
437 : {
438 2 : uint32_t level;
439 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
440 35 : if (ndr_flags & NDR_SCALARS) {
441 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
442 35 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
443 35 : NDR_CHECK(ndr_push_union_align(ndr, 4));
444 35 : switch (level) {
445 35 : case 1: {
446 35 : NDR_CHECK(ndr_push_DELTATIME_TAG(ndr, NDR_SCALARS, &r->deltatime_tag));
447 33 : break; }
448 :
449 0 : default:
450 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32, level);
451 : }
452 : }
453 35 : if (ndr_flags & NDR_BUFFERS) {
454 0 : if (!(ndr_flags & NDR_SCALARS)) {
455 : /* We didn't get it above, and the token is not needed after this. */
456 0 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
457 : }
458 0 : switch (level) {
459 0 : case 1:
460 0 : break;
461 :
462 0 : default:
463 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32, level);
464 : }
465 : }
466 33 : return NDR_ERR_SUCCESS;
467 : }
468 :
469 4 : static enum ndr_err_code ndr_pull_FIELD(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union FIELD *r)
470 : {
471 4 : uint32_t level;
472 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
473 4 : if (ndr_flags & NDR_SCALARS) {
474 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
475 4 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
476 4 : NDR_CHECK(ndr_pull_union_align(ndr, 4));
477 4 : switch (level) {
478 4 : case 1: {
479 4 : NDR_CHECK(ndr_pull_DELTATIME_TAG(ndr, NDR_SCALARS, &r->deltatime_tag));
480 0 : break; }
481 :
482 0 : default:
483 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" at %s", level, __location__);
484 : }
485 : }
486 4 : if (ndr_flags & NDR_BUFFERS) {
487 0 : if (!(ndr_flags & NDR_SCALARS)) {
488 : /* We didn't get it above, and the token is not needed after this. */
489 0 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
490 : }
491 0 : switch (level) {
492 0 : case 1:
493 0 : break;
494 :
495 0 : default:
496 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" at %s", level, __location__);
497 : }
498 : }
499 0 : return NDR_ERR_SUCCESS;
500 : }
501 :
502 4 : _PUBLIC_ void ndr_print_FIELD(struct ndr_print *ndr, const char *name, const union FIELD *r)
503 : {
504 4 : uint32_t level;
505 4 : level = ndr_print_steal_switch_value(ndr, r);
506 4 : ndr_print_union(ndr, name, level, "FIELD");
507 4 : switch (level) {
508 4 : case 1:
509 4 : ndr_print_DELTATIME_TAG(ndr, "deltatime_tag", &r->deltatime_tag);
510 4 : break;
511 :
512 0 : default:
513 0 : ndr_print_bad_level(ndr, name, level);
514 : }
515 4 : }
516 :
517 35 : static enum ndr_err_code ndr_push_V4TAG(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct V4TAG *r)
518 : {
519 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
520 35 : if (ndr_flags & NDR_SCALARS) {
521 35 : NDR_CHECK(ndr_push_align(ndr, 2));
522 35 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 1));
523 : {
524 2 : struct ndr_push *_ndr_field;
525 35 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_field, 2, -1));
526 35 : NDR_CHECK(ndr_push_set_switch_value(_ndr_field, &r->field, 1));
527 35 : NDR_CHECK(ndr_push_FIELD(_ndr_field, NDR_SCALARS, &r->field));
528 35 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_field, 2, -1));
529 : }
530 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 2));
531 : }
532 35 : if (ndr_flags & NDR_BUFFERS) {
533 2 : }
534 35 : return NDR_ERR_SUCCESS;
535 : }
536 :
537 4 : static enum ndr_err_code ndr_pull_V4TAG(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct V4TAG *r)
538 : {
539 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
540 4 : if (ndr_flags & NDR_SCALARS) {
541 4 : NDR_CHECK(ndr_pull_align(ndr, 2));
542 4 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->tag));
543 : {
544 4 : struct ndr_pull *_ndr_field;
545 4 : ssize_t sub_size = -1;
546 4 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_field, 2, sub_size));
547 4 : NDR_CHECK(ndr_pull_set_switch_value(_ndr_field, &r->field, r->tag));
548 4 : NDR_CHECK(ndr_pull_FIELD(_ndr_field, NDR_SCALARS, &r->field));
549 4 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_field, 2, sub_size));
550 : }
551 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
552 : }
553 4 : if (ndr_flags & NDR_BUFFERS) {
554 4 : }
555 4 : return NDR_ERR_SUCCESS;
556 : }
557 :
558 4 : _PUBLIC_ void ndr_print_V4TAG(struct ndr_print *ndr, const char *name, const struct V4TAG *r)
559 : {
560 4 : ndr_print_struct(ndr, name, "V4TAG");
561 4 : if (r == NULL) { ndr_print_null(ndr); return; }
562 4 : ndr->depth++;
563 4 : ndr_print_uint16(ndr, "tag", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->tag);
564 4 : ndr_print_set_switch_value(ndr, &r->field, r->tag);
565 4 : ndr_print_FIELD(ndr, "field", &r->field);
566 4 : ndr->depth--;
567 : }
568 :
569 35 : static enum ndr_err_code ndr_push_V4TAGS(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct V4TAGS *r)
570 : {
571 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
572 35 : if (ndr_flags & NDR_SCALARS) {
573 35 : NDR_CHECK(ndr_push_align(ndr, 4));
574 35 : NDR_CHECK(ndr_push_V4TAG(ndr, NDR_SCALARS, &r->tag));
575 : {
576 35 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
577 35 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
578 35 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_tags));
579 35 : ndr->flags = _flags_save_DATA_BLOB;
580 : }
581 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
582 : }
583 35 : if (ndr_flags & NDR_BUFFERS) {
584 2 : }
585 35 : return NDR_ERR_SUCCESS;
586 : }
587 :
588 4 : static enum ndr_err_code ndr_pull_V4TAGS(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct V4TAGS *r)
589 : {
590 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
591 4 : if (ndr_flags & NDR_SCALARS) {
592 4 : NDR_CHECK(ndr_pull_align(ndr, 4));
593 4 : NDR_CHECK(ndr_pull_V4TAG(ndr, NDR_SCALARS, &r->tag));
594 : {
595 4 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
596 4 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
597 4 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_tags));
598 4 : ndr->flags = _flags_save_DATA_BLOB;
599 : }
600 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
601 : }
602 4 : if (ndr_flags & NDR_BUFFERS) {
603 4 : }
604 4 : return NDR_ERR_SUCCESS;
605 : }
606 :
607 4 : _PUBLIC_ void ndr_print_V4TAGS(struct ndr_print *ndr, const char *name, const struct V4TAGS *r)
608 : {
609 4 : ndr_print_struct(ndr, name, "V4TAGS");
610 4 : if (r == NULL) { ndr_print_null(ndr); return; }
611 4 : ndr->depth++;
612 4 : ndr_print_V4TAG(ndr, "tag", &r->tag);
613 : {
614 4 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
615 4 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
616 4 : ndr_print_DATA_BLOB(ndr, "further_tags", r->further_tags);
617 4 : ndr->flags = _flags_save_DATA_BLOB;
618 : }
619 4 : ndr->depth--;
620 : }
621 :
622 35 : static enum ndr_err_code ndr_push_V4HEADER(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct V4HEADER *r)
623 : {
624 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
625 35 : if (ndr_flags & NDR_SCALARS) {
626 35 : NDR_CHECK(ndr_push_align(ndr, 1));
627 : {
628 2 : struct ndr_push *_ndr_v4tags;
629 35 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_v4tags, 2, -1));
630 35 : NDR_CHECK(ndr_push_V4TAGS(_ndr_v4tags, NDR_SCALARS, &r->v4tags));
631 35 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_v4tags, 2, -1));
632 : }
633 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 1));
634 : }
635 35 : if (ndr_flags & NDR_BUFFERS) {
636 2 : }
637 35 : return NDR_ERR_SUCCESS;
638 : }
639 :
640 4 : static enum ndr_err_code ndr_pull_V4HEADER(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct V4HEADER *r)
641 : {
642 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
643 4 : if (ndr_flags & NDR_SCALARS) {
644 4 : NDR_CHECK(ndr_pull_align(ndr, 1));
645 : {
646 4 : struct ndr_pull *_ndr_v4tags;
647 4 : ssize_t sub_size = -1;
648 4 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_v4tags, 2, sub_size));
649 4 : NDR_CHECK(ndr_pull_V4TAGS(_ndr_v4tags, NDR_SCALARS, &r->v4tags));
650 4 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_v4tags, 2, sub_size));
651 : }
652 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
653 : }
654 4 : if (ndr_flags & NDR_BUFFERS) {
655 4 : }
656 4 : return NDR_ERR_SUCCESS;
657 : }
658 :
659 4 : _PUBLIC_ void ndr_print_V4HEADER(struct ndr_print *ndr, const char *name, const struct V4HEADER *r)
660 : {
661 4 : ndr_print_struct(ndr, name, "V4HEADER");
662 4 : if (r == NULL) { ndr_print_null(ndr); return; }
663 4 : ndr->depth++;
664 4 : ndr_print_V4TAGS(ndr, "v4tags", &r->v4tags);
665 4 : ndr->depth--;
666 : }
667 :
668 70 : static enum ndr_err_code ndr_push_OPTIONAL_HEADER(struct ndr_push *ndr, ndr_flags_type ndr_flags, const union OPTIONAL_HEADER *r)
669 : {
670 4 : uint32_t level;
671 70 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
672 70 : if (ndr_flags & NDR_SCALARS) {
673 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
674 35 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
675 35 : NDR_CHECK(ndr_push_union_align(ndr, 1));
676 35 : switch (level) {
677 0 : case 3: {
678 0 : break; }
679 :
680 35 : case 4: {
681 35 : NDR_CHECK(ndr_push_V4HEADER(ndr, NDR_SCALARS, &r->v4header));
682 33 : break; }
683 :
684 0 : default:
685 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32, level);
686 : }
687 : }
688 70 : if (ndr_flags & NDR_BUFFERS) {
689 35 : if (!(ndr_flags & NDR_SCALARS)) {
690 : /* We didn't get it above, and the token is not needed after this. */
691 35 : NDR_CHECK(ndr_push_steal_switch_value(ndr, r, &level));
692 : }
693 35 : switch (level) {
694 0 : case 3:
695 0 : break;
696 :
697 33 : case 4:
698 33 : break;
699 :
700 0 : default:
701 0 : return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32, level);
702 : }
703 : }
704 66 : return NDR_ERR_SUCCESS;
705 : }
706 :
707 8 : static enum ndr_err_code ndr_pull_OPTIONAL_HEADER(struct ndr_pull *ndr, ndr_flags_type ndr_flags, union OPTIONAL_HEADER *r)
708 : {
709 8 : uint32_t level;
710 8 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
711 8 : if (ndr_flags & NDR_SCALARS) {
712 : /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
713 4 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
714 4 : NDR_CHECK(ndr_pull_union_align(ndr, 1));
715 4 : switch (level) {
716 0 : case 3: {
717 0 : break; }
718 :
719 4 : case 4: {
720 4 : NDR_CHECK(ndr_pull_V4HEADER(ndr, NDR_SCALARS, &r->v4header));
721 0 : break; }
722 :
723 0 : default:
724 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" at %s", level, __location__);
725 : }
726 : }
727 8 : if (ndr_flags & NDR_BUFFERS) {
728 4 : if (!(ndr_flags & NDR_SCALARS)) {
729 : /* We didn't get it above, and the token is not needed after this. */
730 4 : NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
731 : }
732 4 : switch (level) {
733 0 : case 3:
734 0 : break;
735 :
736 0 : case 4:
737 0 : break;
738 :
739 0 : default:
740 0 : return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %"PRIu32" at %s", level, __location__);
741 : }
742 : }
743 0 : return NDR_ERR_SUCCESS;
744 : }
745 :
746 4 : _PUBLIC_ void ndr_print_OPTIONAL_HEADER(struct ndr_print *ndr, const char *name, const union OPTIONAL_HEADER *r)
747 : {
748 4 : uint32_t level;
749 4 : level = ndr_print_steal_switch_value(ndr, r);
750 4 : ndr_print_union(ndr, name, level, "OPTIONAL_HEADER");
751 4 : switch (level) {
752 0 : case 3:
753 0 : break;
754 :
755 4 : case 4:
756 4 : ndr_print_V4HEADER(ndr, "v4header", &r->v4header);
757 4 : break;
758 :
759 0 : default:
760 0 : ndr_print_bad_level(ndr, name, level);
761 : }
762 4 : }
763 :
764 35 : _PUBLIC_ enum ndr_err_code ndr_push_CCACHE(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct CCACHE *r)
765 : {
766 : {
767 35 : libndr_flags _flags_save_STRUCT = ndr->flags;
768 35 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
769 35 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
770 35 : if (ndr_flags & NDR_SCALARS) {
771 35 : NDR_CHECK(ndr_push_align(ndr, 4));
772 35 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 5));
773 35 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 4));
774 35 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->optional_header, 4));
775 35 : NDR_CHECK(ndr_push_OPTIONAL_HEADER(ndr, NDR_SCALARS, &r->optional_header));
776 35 : NDR_CHECK(ndr_push_PRINCIPAL(ndr, NDR_SCALARS, &r->principal));
777 35 : NDR_CHECK(ndr_push_CREDENTIAL(ndr, NDR_SCALARS, &r->cred));
778 : {
779 35 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
780 35 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
781 35 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_creds));
782 35 : ndr->flags = _flags_save_DATA_BLOB;
783 : }
784 35 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
785 : }
786 35 : if (ndr_flags & NDR_BUFFERS) {
787 35 : NDR_CHECK(ndr_push_set_switch_value(ndr, &r->optional_header, 4));
788 35 : NDR_CHECK(ndr_push_OPTIONAL_HEADER(ndr, NDR_BUFFERS, &r->optional_header));
789 : }
790 35 : ndr->flags = _flags_save_STRUCT;
791 : }
792 35 : return NDR_ERR_SUCCESS;
793 : }
794 :
795 4 : _PUBLIC_ enum ndr_err_code ndr_pull_CCACHE(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct CCACHE *r)
796 : {
797 : {
798 4 : libndr_flags _flags_save_STRUCT = ndr->flags;
799 4 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
800 4 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
801 4 : if (ndr_flags & NDR_SCALARS) {
802 4 : NDR_CHECK(ndr_pull_align(ndr, 4));
803 4 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pvno));
804 4 : if (r->pvno < 5 || r->pvno > 5) {
805 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value (%"PRIu8") out of range (%"PRIu8" - %"PRIu8")", (uint8_t)(r->pvno), (uint8_t)(5), (uint8_t)(5));
806 : }
807 4 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version));
808 4 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->optional_header, r->version));
809 4 : NDR_CHECK(ndr_pull_OPTIONAL_HEADER(ndr, NDR_SCALARS, &r->optional_header));
810 4 : NDR_CHECK(ndr_pull_PRINCIPAL(ndr, NDR_SCALARS, &r->principal));
811 4 : NDR_CHECK(ndr_pull_CREDENTIAL(ndr, NDR_SCALARS, &r->cred));
812 : {
813 4 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
814 4 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
815 4 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_creds));
816 4 : ndr->flags = _flags_save_DATA_BLOB;
817 : }
818 4 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
819 : }
820 4 : if (ndr_flags & NDR_BUFFERS) {
821 4 : NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->optional_header, r->version));
822 4 : NDR_CHECK(ndr_pull_OPTIONAL_HEADER(ndr, NDR_BUFFERS, &r->optional_header));
823 : }
824 4 : ndr->flags = _flags_save_STRUCT;
825 : }
826 4 : return NDR_ERR_SUCCESS;
827 : }
828 :
829 4 : static void ndr_print_flags_CCACHE(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct CCACHE *r)
830 : {
831 4 : ndr_print_CCACHE(ndr, name, r);
832 4 : }
833 :
834 4 : _PUBLIC_ void ndr_print_CCACHE(struct ndr_print *ndr, const char *name, const struct CCACHE *r)
835 : {
836 4 : ndr_print_struct(ndr, name, "CCACHE");
837 4 : if (r == NULL) { ndr_print_null(ndr); return; }
838 : {
839 4 : libndr_flags _flags_save_STRUCT = ndr->flags;
840 4 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
841 4 : ndr->depth++;
842 4 : ndr_print_uint8(ndr, "pvno", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?5:r->pvno);
843 4 : ndr_print_uint8(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?4:r->version);
844 4 : ndr_print_set_switch_value(ndr, &r->optional_header, r->version);
845 4 : ndr_print_OPTIONAL_HEADER(ndr, "optional_header", &r->optional_header);
846 4 : ndr_print_PRINCIPAL(ndr, "principal", &r->principal);
847 4 : ndr_print_CREDENTIAL(ndr, "cred", &r->cred);
848 : {
849 4 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
850 4 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
851 4 : ndr_print_DATA_BLOB(ndr, "further_creds", r->further_creds);
852 4 : ndr->flags = _flags_save_DATA_BLOB;
853 : }
854 4 : ndr->depth--;
855 4 : ndr->flags = _flags_save_STRUCT;
856 : }
857 : }
858 :
859 0 : _PUBLIC_ enum ndr_err_code ndr_push_MULTIPLE_CREDENTIALS(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct MULTIPLE_CREDENTIALS *r)
860 : {
861 : {
862 0 : libndr_flags _flags_save_STRUCT = ndr->flags;
863 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
864 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
865 0 : if (ndr_flags & NDR_SCALARS) {
866 0 : NDR_CHECK(ndr_push_align(ndr, 4));
867 0 : NDR_CHECK(ndr_push_CREDENTIAL(ndr, NDR_SCALARS, &r->cred));
868 : {
869 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
870 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
871 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_creds));
872 0 : ndr->flags = _flags_save_DATA_BLOB;
873 : }
874 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
875 : }
876 0 : if (ndr_flags & NDR_BUFFERS) {
877 0 : }
878 0 : ndr->flags = _flags_save_STRUCT;
879 : }
880 0 : return NDR_ERR_SUCCESS;
881 : }
882 :
883 0 : _PUBLIC_ enum ndr_err_code ndr_pull_MULTIPLE_CREDENTIALS(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct MULTIPLE_CREDENTIALS *r)
884 : {
885 : {
886 0 : libndr_flags _flags_save_STRUCT = ndr->flags;
887 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
888 0 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
889 0 : if (ndr_flags & NDR_SCALARS) {
890 0 : NDR_CHECK(ndr_pull_align(ndr, 4));
891 0 : NDR_CHECK(ndr_pull_CREDENTIAL(ndr, NDR_SCALARS, &r->cred));
892 : {
893 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
894 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
895 0 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_creds));
896 0 : ndr->flags = _flags_save_DATA_BLOB;
897 : }
898 0 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
899 : }
900 0 : if (ndr_flags & NDR_BUFFERS) {
901 0 : }
902 0 : ndr->flags = _flags_save_STRUCT;
903 : }
904 0 : return NDR_ERR_SUCCESS;
905 : }
906 :
907 0 : static void ndr_print_flags_MULTIPLE_CREDENTIALS(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct MULTIPLE_CREDENTIALS *r)
908 : {
909 0 : ndr_print_MULTIPLE_CREDENTIALS(ndr, name, r);
910 0 : }
911 :
912 0 : _PUBLIC_ void ndr_print_MULTIPLE_CREDENTIALS(struct ndr_print *ndr, const char *name, const struct MULTIPLE_CREDENTIALS *r)
913 : {
914 0 : ndr_print_struct(ndr, name, "MULTIPLE_CREDENTIALS");
915 0 : if (r == NULL) { ndr_print_null(ndr); return; }
916 : {
917 0 : libndr_flags _flags_save_STRUCT = ndr->flags;
918 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
919 0 : ndr->depth++;
920 0 : ndr_print_CREDENTIAL(ndr, "cred", &r->cred);
921 : {
922 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
923 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
924 0 : ndr_print_DATA_BLOB(ndr, "further_creds", r->further_creds);
925 0 : ndr->flags = _flags_save_DATA_BLOB;
926 : }
927 0 : ndr->depth--;
928 0 : ndr->flags = _flags_save_STRUCT;
929 : }
930 : }
931 :
932 0 : static enum ndr_err_code ndr_push_KEYTAB_KEYBLOCK(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYTAB_KEYBLOCK *r)
933 : {
934 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
935 0 : if (ndr_flags & NDR_SCALARS) {
936 0 : NDR_CHECK(ndr_push_align(ndr, 2));
937 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->length));
938 0 : NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->length));
939 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 2));
940 : }
941 0 : if (ndr_flags & NDR_BUFFERS) {
942 0 : }
943 0 : return NDR_ERR_SUCCESS;
944 : }
945 :
946 185 : static enum ndr_err_code ndr_pull_KEYTAB_KEYBLOCK(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYTAB_KEYBLOCK *r)
947 : {
948 185 : uint32_t size_data_0 = 0;
949 185 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
950 185 : if (ndr_flags & NDR_SCALARS) {
951 185 : NDR_CHECK(ndr_pull_align(ndr, 2));
952 185 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
953 185 : size_data_0 = r->length;
954 185 : NDR_PULL_ALLOC_N(ndr, r->data, size_data_0);
955 185 : NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
956 185 : NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
957 : }
958 185 : if (ndr_flags & NDR_BUFFERS) {
959 1 : }
960 185 : return NDR_ERR_SUCCESS;
961 : }
962 :
963 1 : _PUBLIC_ void ndr_print_KEYTAB_KEYBLOCK(struct ndr_print *ndr, const char *name, const struct KEYTAB_KEYBLOCK *r)
964 : {
965 1 : ndr_print_struct(ndr, name, "KEYTAB_KEYBLOCK");
966 1 : if (r == NULL) { ndr_print_null(ndr); return; }
967 1 : ndr->depth++;
968 1 : ndr_print_uint16(ndr, "length", r->length);
969 1 : ndr_print_array_uint8(ndr, "data", r->data, r->length);
970 1 : ndr->depth--;
971 : }
972 :
973 0 : static enum ndr_err_code ndr_push_KEYTAB_PRINCIPAL(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYTAB_PRINCIPAL *r)
974 : {
975 0 : uint32_t cntr_components_0;
976 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
977 0 : if (ndr_flags & NDR_SCALARS) {
978 0 : NDR_CHECK(ndr_push_align(ndr, 4));
979 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->component_count));
980 : {
981 0 : libndr_flags _flags_save_string = ndr->flags;
982 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
983 0 : NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->realm));
984 0 : ndr->flags = _flags_save_string;
985 : }
986 : {
987 0 : libndr_flags _flags_save_string = ndr->flags;
988 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
989 0 : for (cntr_components_0 = 0; cntr_components_0 < (r->component_count); cntr_components_0++) {
990 0 : NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->components[cntr_components_0]));
991 : }
992 0 : ndr->flags = _flags_save_string;
993 : }
994 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->name_type));
995 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
996 : }
997 0 : if (ndr_flags & NDR_BUFFERS) {
998 0 : }
999 0 : return NDR_ERR_SUCCESS;
1000 : }
1001 :
1002 185 : static enum ndr_err_code ndr_pull_KEYTAB_PRINCIPAL(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYTAB_PRINCIPAL *r)
1003 : {
1004 185 : uint32_t size_components_0 = 0;
1005 1 : uint32_t cntr_components_0;
1006 185 : TALLOC_CTX *_mem_save_components_0 = NULL;
1007 185 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1008 185 : if (ndr_flags & NDR_SCALARS) {
1009 185 : NDR_CHECK(ndr_pull_align(ndr, 4));
1010 185 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->component_count));
1011 : {
1012 185 : libndr_flags _flags_save_string = ndr->flags;
1013 185 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
1014 185 : NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->realm));
1015 185 : ndr->flags = _flags_save_string;
1016 : }
1017 : {
1018 185 : libndr_flags _flags_save_string = ndr->flags;
1019 185 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
1020 185 : size_components_0 = r->component_count;
1021 185 : NDR_PULL_ALLOC_N(ndr, r->components, size_components_0);
1022 185 : _mem_save_components_0 = NDR_PULL_GET_MEM_CTX(ndr);
1023 185 : NDR_PULL_SET_MEM_CTX(ndr, r->components, 0);
1024 371 : for (cntr_components_0 = 0; cntr_components_0 < (size_components_0); cntr_components_0++) {
1025 186 : NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->components[cntr_components_0]));
1026 : }
1027 185 : NDR_PULL_SET_MEM_CTX(ndr, _mem_save_components_0, 0);
1028 185 : ndr->flags = _flags_save_string;
1029 : }
1030 185 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->name_type));
1031 185 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1032 : }
1033 185 : if (ndr_flags & NDR_BUFFERS) {
1034 1 : }
1035 185 : return NDR_ERR_SUCCESS;
1036 : }
1037 :
1038 1 : _PUBLIC_ void ndr_print_KEYTAB_PRINCIPAL(struct ndr_print *ndr, const char *name, const struct KEYTAB_PRINCIPAL *r)
1039 : {
1040 1 : uint32_t cntr_components_0;
1041 1 : ndr_print_struct(ndr, name, "KEYTAB_PRINCIPAL");
1042 1 : if (r == NULL) { ndr_print_null(ndr); return; }
1043 1 : ndr->depth++;
1044 1 : ndr_print_uint16(ndr, "component_count", r->component_count);
1045 : {
1046 1 : libndr_flags _flags_save_string = ndr->flags;
1047 1 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
1048 1 : ndr_print_string(ndr, "realm", r->realm);
1049 1 : ndr->flags = _flags_save_string;
1050 : }
1051 : {
1052 1 : libndr_flags _flags_save_string = ndr->flags;
1053 1 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_SIZE2|LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_UTF8);
1054 1 : ndr->print(ndr, "%s: ARRAY(%"PRIu32")", "components", (uint32_t)(r->component_count));
1055 1 : ndr->depth++;
1056 3 : for (cntr_components_0 = 0; cntr_components_0 < (r->component_count); cntr_components_0++) {
1057 2 : ndr_print_string(ndr, "components", r->components[cntr_components_0]);
1058 : }
1059 1 : ndr->depth--;
1060 1 : ndr->flags = _flags_save_string;
1061 : }
1062 1 : ndr_print_uint32(ndr, "name_type", r->name_type);
1063 1 : ndr->depth--;
1064 : }
1065 :
1066 0 : static enum ndr_err_code ndr_push_KEYTAB_ENTRY(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYTAB_ENTRY *r)
1067 : {
1068 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1069 0 : if (ndr_flags & NDR_SCALARS) {
1070 0 : NDR_CHECK(ndr_push_align(ndr, 4));
1071 0 : NDR_CHECK(ndr_push_KEYTAB_PRINCIPAL(ndr, NDR_SCALARS, &r->principal));
1072 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->timestamp));
1073 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->key_version));
1074 0 : NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->enctype));
1075 0 : NDR_CHECK(ndr_push_KEYTAB_KEYBLOCK(ndr, NDR_SCALARS, &r->key));
1076 0 : NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->full_key_version));
1077 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1078 : }
1079 0 : if (ndr_flags & NDR_BUFFERS) {
1080 0 : }
1081 0 : return NDR_ERR_SUCCESS;
1082 : }
1083 :
1084 185 : static enum ndr_err_code ndr_pull_KEYTAB_ENTRY(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYTAB_ENTRY *r)
1085 : {
1086 185 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1087 185 : if (ndr_flags & NDR_SCALARS) {
1088 185 : NDR_CHECK(ndr_pull_align(ndr, 4));
1089 185 : NDR_CHECK(ndr_pull_KEYTAB_PRINCIPAL(ndr, NDR_SCALARS, &r->principal));
1090 185 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->timestamp));
1091 185 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->key_version));
1092 185 : NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->enctype));
1093 185 : NDR_CHECK(ndr_pull_KEYTAB_KEYBLOCK(ndr, NDR_SCALARS, &r->key));
1094 185 : NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->full_key_version));
1095 185 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1096 : }
1097 185 : if (ndr_flags & NDR_BUFFERS) {
1098 1 : }
1099 185 : return NDR_ERR_SUCCESS;
1100 : }
1101 :
1102 1 : _PUBLIC_ void ndr_print_KEYTAB_ENTRY(struct ndr_print *ndr, const char *name, const struct KEYTAB_ENTRY *r)
1103 : {
1104 1 : ndr_print_struct(ndr, name, "KEYTAB_ENTRY");
1105 1 : if (r == NULL) { ndr_print_null(ndr); return; }
1106 1 : ndr->depth++;
1107 1 : ndr_print_KEYTAB_PRINCIPAL(ndr, "principal", &r->principal);
1108 1 : ndr_print_uint32(ndr, "timestamp", r->timestamp);
1109 1 : ndr_print_uint8(ndr, "key_version", r->key_version);
1110 1 : ndr_print_uint16(ndr, "enctype", r->enctype);
1111 1 : ndr_print_KEYTAB_KEYBLOCK(ndr, "key", &r->key);
1112 1 : ndr_print_uint32(ndr, "full_key_version", r->full_key_version);
1113 1 : ndr->depth--;
1114 : }
1115 :
1116 0 : _PUBLIC_ enum ndr_err_code ndr_push_KEYTAB(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct KEYTAB *r)
1117 : {
1118 : {
1119 0 : libndr_flags _flags_save_STRUCT = ndr->flags;
1120 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1121 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1122 0 : if (ndr_flags & NDR_SCALARS) {
1123 0 : NDR_CHECK(ndr_push_align(ndr, 4));
1124 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 5));
1125 0 : NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, 2));
1126 : {
1127 0 : struct ndr_push *_ndr_entry;
1128 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_entry, 4, -1));
1129 0 : NDR_CHECK(ndr_push_KEYTAB_ENTRY(_ndr_entry, NDR_SCALARS, &r->entry));
1130 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_entry, 4, -1));
1131 : }
1132 : {
1133 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
1134 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1135 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_entry));
1136 0 : ndr->flags = _flags_save_DATA_BLOB;
1137 : }
1138 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1139 : }
1140 0 : if (ndr_flags & NDR_BUFFERS) {
1141 0 : }
1142 0 : ndr->flags = _flags_save_STRUCT;
1143 : }
1144 0 : return NDR_ERR_SUCCESS;
1145 : }
1146 :
1147 17 : _PUBLIC_ enum ndr_err_code ndr_pull_KEYTAB(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct KEYTAB *r)
1148 : {
1149 : {
1150 17 : libndr_flags _flags_save_STRUCT = ndr->flags;
1151 17 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1152 17 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1153 17 : if (ndr_flags & NDR_SCALARS) {
1154 17 : NDR_CHECK(ndr_pull_align(ndr, 4));
1155 17 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pvno));
1156 17 : if (r->pvno < 5 || r->pvno > 5) {
1157 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value (%"PRIu8") out of range (%"PRIu8" - %"PRIu8")", (uint8_t)(r->pvno), (uint8_t)(5), (uint8_t)(5));
1158 : }
1159 17 : NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->version));
1160 17 : if (r->version < 2 || r->version > 2) {
1161 0 : return ndr_pull_error(ndr, NDR_ERR_RANGE, "value (%"PRIu8") out of range (%"PRIu8" - %"PRIu8")", (uint8_t)(r->version), (uint8_t)(2), (uint8_t)(2));
1162 : }
1163 : {
1164 1 : struct ndr_pull *_ndr_entry;
1165 17 : ssize_t sub_size = -1;
1166 17 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_entry, 4, sub_size));
1167 17 : NDR_CHECK(ndr_pull_KEYTAB_ENTRY(_ndr_entry, NDR_SCALARS, &r->entry));
1168 17 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_entry, 4, sub_size));
1169 : }
1170 : {
1171 17 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
1172 17 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1173 17 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_entry));
1174 17 : ndr->flags = _flags_save_DATA_BLOB;
1175 : }
1176 17 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1177 : }
1178 17 : if (ndr_flags & NDR_BUFFERS) {
1179 1 : }
1180 17 : ndr->flags = _flags_save_STRUCT;
1181 : }
1182 17 : return NDR_ERR_SUCCESS;
1183 : }
1184 :
1185 1 : static void ndr_print_flags_KEYTAB(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct KEYTAB *r)
1186 : {
1187 1 : ndr_print_KEYTAB(ndr, name, r);
1188 1 : }
1189 :
1190 1 : _PUBLIC_ void ndr_print_KEYTAB(struct ndr_print *ndr, const char *name, const struct KEYTAB *r)
1191 : {
1192 1 : ndr_print_struct(ndr, name, "KEYTAB");
1193 1 : if (r == NULL) { ndr_print_null(ndr); return; }
1194 : {
1195 1 : libndr_flags _flags_save_STRUCT = ndr->flags;
1196 1 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1197 1 : ndr->depth++;
1198 1 : ndr_print_uint8(ndr, "pvno", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?5:r->pvno);
1199 1 : ndr_print_uint8(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?2:r->version);
1200 1 : ndr_print_KEYTAB_ENTRY(ndr, "entry", &r->entry);
1201 : {
1202 1 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
1203 1 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1204 1 : ndr_print_DATA_BLOB(ndr, "further_entry", r->further_entry);
1205 1 : ndr->flags = _flags_save_DATA_BLOB;
1206 : }
1207 1 : ndr->depth--;
1208 1 : ndr->flags = _flags_save_STRUCT;
1209 : }
1210 : }
1211 :
1212 0 : _PUBLIC_ enum ndr_err_code ndr_push_MULTIPLE_KEYTAB_ENTRIES(struct ndr_push *ndr, ndr_flags_type ndr_flags, const struct MULTIPLE_KEYTAB_ENTRIES *r)
1213 : {
1214 : {
1215 0 : libndr_flags _flags_save_STRUCT = ndr->flags;
1216 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1217 0 : NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
1218 0 : if (ndr_flags & NDR_SCALARS) {
1219 0 : NDR_CHECK(ndr_push_align(ndr, 4));
1220 : {
1221 0 : struct ndr_push *_ndr_entry;
1222 0 : NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_entry, 4, -1));
1223 0 : NDR_CHECK(ndr_push_KEYTAB_ENTRY(_ndr_entry, NDR_SCALARS, &r->entry));
1224 0 : NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_entry, 4, -1));
1225 : }
1226 : {
1227 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
1228 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1229 0 : NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->further_entry));
1230 0 : ndr->flags = _flags_save_DATA_BLOB;
1231 : }
1232 0 : NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1233 : }
1234 0 : if (ndr_flags & NDR_BUFFERS) {
1235 0 : }
1236 0 : ndr->flags = _flags_save_STRUCT;
1237 : }
1238 0 : return NDR_ERR_SUCCESS;
1239 : }
1240 :
1241 168 : _PUBLIC_ enum ndr_err_code ndr_pull_MULTIPLE_KEYTAB_ENTRIES(struct ndr_pull *ndr, ndr_flags_type ndr_flags, struct MULTIPLE_KEYTAB_ENTRIES *r)
1242 : {
1243 : {
1244 168 : libndr_flags _flags_save_STRUCT = ndr->flags;
1245 168 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1246 168 : NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
1247 168 : if (ndr_flags & NDR_SCALARS) {
1248 168 : NDR_CHECK(ndr_pull_align(ndr, 4));
1249 : {
1250 0 : struct ndr_pull *_ndr_entry;
1251 168 : ssize_t sub_size = -1;
1252 168 : NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_entry, 4, sub_size));
1253 168 : NDR_CHECK(ndr_pull_KEYTAB_ENTRY(_ndr_entry, NDR_SCALARS, &r->entry));
1254 168 : NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_entry, 4, sub_size));
1255 : }
1256 : {
1257 168 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
1258 168 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1259 168 : NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->further_entry));
1260 168 : ndr->flags = _flags_save_DATA_BLOB;
1261 : }
1262 168 : NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1263 : }
1264 168 : if (ndr_flags & NDR_BUFFERS) {
1265 0 : }
1266 168 : ndr->flags = _flags_save_STRUCT;
1267 : }
1268 168 : return NDR_ERR_SUCCESS;
1269 : }
1270 :
1271 0 : static void ndr_print_flags_MULTIPLE_KEYTAB_ENTRIES(struct ndr_print *ndr, const char *name, ndr_flags_type unused, const struct MULTIPLE_KEYTAB_ENTRIES *r)
1272 : {
1273 0 : ndr_print_MULTIPLE_KEYTAB_ENTRIES(ndr, name, r);
1274 0 : }
1275 :
1276 0 : _PUBLIC_ void ndr_print_MULTIPLE_KEYTAB_ENTRIES(struct ndr_print *ndr, const char *name, const struct MULTIPLE_KEYTAB_ENTRIES *r)
1277 : {
1278 0 : ndr_print_struct(ndr, name, "MULTIPLE_KEYTAB_ENTRIES");
1279 0 : if (r == NULL) { ndr_print_null(ndr); return; }
1280 : {
1281 0 : libndr_flags _flags_save_STRUCT = ndr->flags;
1282 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN|LIBNDR_FLAG_BIGENDIAN|LIBNDR_PRINT_ARRAY_HEX);
1283 0 : ndr->depth++;
1284 0 : ndr_print_KEYTAB_ENTRY(ndr, "entry", &r->entry);
1285 : {
1286 0 : libndr_flags _flags_save_DATA_BLOB = ndr->flags;
1287 0 : ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1288 0 : ndr_print_DATA_BLOB(ndr, "further_entry", r->further_entry);
1289 0 : ndr->flags = _flags_save_DATA_BLOB;
1290 : }
1291 0 : ndr->depth--;
1292 0 : ndr->flags = _flags_save_STRUCT;
1293 : }
1294 : }
1295 :
1296 : #ifndef SKIP_NDR_TABLE_krb5ccache
1297 : static const struct ndr_interface_public_struct krb5ccache_public_structs[] = {
1298 : {
1299 : .name = "CCACHE",
1300 : .struct_size = sizeof(struct CCACHE ),
1301 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_CCACHE,
1302 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_CCACHE,
1303 : .ndr_print = (ndr_print_function_t) ndr_print_flags_CCACHE,
1304 : },
1305 : {
1306 : .name = "MULTIPLE_CREDENTIALS",
1307 : .struct_size = sizeof(struct MULTIPLE_CREDENTIALS ),
1308 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_MULTIPLE_CREDENTIALS,
1309 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_MULTIPLE_CREDENTIALS,
1310 : .ndr_print = (ndr_print_function_t) ndr_print_flags_MULTIPLE_CREDENTIALS,
1311 : },
1312 : {
1313 : .name = "KEYTAB",
1314 : .struct_size = sizeof(struct KEYTAB ),
1315 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_KEYTAB,
1316 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_KEYTAB,
1317 : .ndr_print = (ndr_print_function_t) ndr_print_flags_KEYTAB,
1318 : },
1319 : {
1320 : .name = "MULTIPLE_KEYTAB_ENTRIES",
1321 : .struct_size = sizeof(struct MULTIPLE_KEYTAB_ENTRIES ),
1322 : .ndr_push = (ndr_push_flags_fn_t) ndr_push_MULTIPLE_KEYTAB_ENTRIES,
1323 : .ndr_pull = (ndr_pull_flags_fn_t) ndr_pull_MULTIPLE_KEYTAB_ENTRIES,
1324 : .ndr_print = (ndr_print_function_t) ndr_print_flags_MULTIPLE_KEYTAB_ENTRIES,
1325 : },
1326 : { .name = NULL }
1327 : };
1328 :
1329 : static const struct ndr_interface_call krb5ccache_calls[] = {
1330 : { .name = NULL }
1331 : };
1332 :
1333 : static const char * const krb5ccache_endpoint_strings[] = {
1334 : "ncacn_np:[\\pipe\\krb5ccache]",
1335 : };
1336 :
1337 : static const struct ndr_interface_string_array krb5ccache_endpoints = {
1338 : .count = 1,
1339 : .names = krb5ccache_endpoint_strings
1340 : };
1341 :
1342 : static const char * const krb5ccache_authservice_strings[] = {
1343 : "host",
1344 : };
1345 :
1346 : static const struct ndr_interface_string_array krb5ccache_authservices = {
1347 : .count = 1,
1348 : .names = krb5ccache_authservice_strings
1349 : };
1350 :
1351 :
1352 : const struct ndr_interface_table ndr_table_krb5ccache = {
1353 : .name = "krb5ccache",
1354 : .syntax_id = {
1355 : {0x1702b695,0x99ca,0x4f32,{0x93,0xe4},{0x1e,0x1c,0x4d,0x5d,0xdb,0x53}},
1356 : NDR_KRB5CCACHE_VERSION
1357 : },
1358 : .helpstring = NDR_KRB5CCACHE_HELPSTRING,
1359 : .num_calls = 0,
1360 : .calls = krb5ccache_calls,
1361 : .num_public_structs = 4,
1362 : .public_structs = krb5ccache_public_structs,
1363 : .endpoints = &krb5ccache_endpoints,
1364 : .authservices = &krb5ccache_authservices
1365 : };
1366 :
1367 : #endif /* SKIP_NDR_TABLE_krb5ccache */
|