source: vendor/current/source3/librpc/gen_ndr/ndr_dcerpc.c@ 746

Last change on this file since 746 was 746, checked in by Silvan Scherrer, 12 years ago

Samba Server: updated vendor to 3.6.9

File size: 107.2 KB
Line 
1/* parser auto-generated by pidl */
2
3#include "includes.h"
4#include "librpc/gen_ndr/ndr_dcerpc.h"
5
6#include "librpc/gen_ndr/ndr_misc.h"
7static enum ndr_err_code ndr_push_dcerpc_ctx_list(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ctx_list *r)
8{
9 uint32_t cntr_transfer_syntaxes_0;
10 if (ndr_flags & NDR_SCALARS) {
11 NDR_CHECK(ndr_push_align(ndr, 4));
12 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id));
13 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_transfer_syntaxes));
14 NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, &r->abstract_syntax));
15 for (cntr_transfer_syntaxes_0 = 0; cntr_transfer_syntaxes_0 < r->num_transfer_syntaxes; cntr_transfer_syntaxes_0++) {
16 NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, &r->transfer_syntaxes[cntr_transfer_syntaxes_0]));
17 }
18 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
19 }
20 if (ndr_flags & NDR_BUFFERS) {
21 }
22 return NDR_ERR_SUCCESS;
23}
24
25static enum ndr_err_code ndr_pull_dcerpc_ctx_list(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ctx_list *r)
26{
27 uint32_t size_transfer_syntaxes_0 = 0;
28 uint32_t cntr_transfer_syntaxes_0;
29 TALLOC_CTX *_mem_save_transfer_syntaxes_0;
30 if (ndr_flags & NDR_SCALARS) {
31 NDR_CHECK(ndr_pull_align(ndr, 4));
32 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id));
33 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_transfer_syntaxes));
34 NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->abstract_syntax));
35 size_transfer_syntaxes_0 = r->num_transfer_syntaxes;
36 NDR_PULL_ALLOC_N(ndr, r->transfer_syntaxes, size_transfer_syntaxes_0);
37 _mem_save_transfer_syntaxes_0 = NDR_PULL_GET_MEM_CTX(ndr);
38 NDR_PULL_SET_MEM_CTX(ndr, r->transfer_syntaxes, 0);
39 for (cntr_transfer_syntaxes_0 = 0; cntr_transfer_syntaxes_0 < size_transfer_syntaxes_0; cntr_transfer_syntaxes_0++) {
40 NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->transfer_syntaxes[cntr_transfer_syntaxes_0]));
41 }
42 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transfer_syntaxes_0, 0);
43 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
44 }
45 if (ndr_flags & NDR_BUFFERS) {
46 }
47 return NDR_ERR_SUCCESS;
48}
49
50_PUBLIC_ void ndr_print_dcerpc_ctx_list(struct ndr_print *ndr, const char *name, const struct dcerpc_ctx_list *r)
51{
52 uint32_t cntr_transfer_syntaxes_0;
53 ndr_print_struct(ndr, name, "dcerpc_ctx_list");
54 if (r == NULL) { ndr_print_null(ndr); return; }
55 ndr->depth++;
56 ndr_print_uint16(ndr, "context_id", r->context_id);
57 ndr_print_uint8(ndr, "num_transfer_syntaxes", r->num_transfer_syntaxes);
58 ndr_print_ndr_syntax_id(ndr, "abstract_syntax", &r->abstract_syntax);
59 ndr->print(ndr, "%s: ARRAY(%d)", "transfer_syntaxes", (int)r->num_transfer_syntaxes);
60 ndr->depth++;
61 for (cntr_transfer_syntaxes_0=0;cntr_transfer_syntaxes_0<r->num_transfer_syntaxes;cntr_transfer_syntaxes_0++) {
62 ndr_print_ndr_syntax_id(ndr, "transfer_syntaxes", &r->transfer_syntaxes[cntr_transfer_syntaxes_0]);
63 }
64 ndr->depth--;
65 ndr->depth--;
66}
67
68_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_bind(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind *r)
69{
70 uint32_t cntr_ctx_list_0;
71 if (ndr_flags & NDR_SCALARS) {
72 NDR_CHECK(ndr_push_align(ndr, 4));
73 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_xmit_frag));
74 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_recv_frag));
75 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->assoc_group_id));
76 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_contexts));
77 for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_contexts; cntr_ctx_list_0++) {
78 NDR_CHECK(ndr_push_dcerpc_ctx_list(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0]));
79 }
80 {
81 uint32_t _flags_save_DATA_BLOB = ndr->flags;
82 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
83 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
84 ndr->flags = _flags_save_DATA_BLOB;
85 }
86 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
87 }
88 if (ndr_flags & NDR_BUFFERS) {
89 }
90 return NDR_ERR_SUCCESS;
91}
92
93_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_bind(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind *r)
94{
95 uint32_t size_ctx_list_0 = 0;
96 uint32_t cntr_ctx_list_0;
97 TALLOC_CTX *_mem_save_ctx_list_0;
98 if (ndr_flags & NDR_SCALARS) {
99 NDR_CHECK(ndr_pull_align(ndr, 4));
100 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_xmit_frag));
101 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_recv_frag));
102 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->assoc_group_id));
103 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_contexts));
104 size_ctx_list_0 = r->num_contexts;
105 NDR_PULL_ALLOC_N(ndr, r->ctx_list, size_ctx_list_0);
106 _mem_save_ctx_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
107 NDR_PULL_SET_MEM_CTX(ndr, r->ctx_list, 0);
108 for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < size_ctx_list_0; cntr_ctx_list_0++) {
109 NDR_CHECK(ndr_pull_dcerpc_ctx_list(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0]));
110 }
111 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctx_list_0, 0);
112 {
113 uint32_t _flags_save_DATA_BLOB = ndr->flags;
114 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
115 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
116 ndr->flags = _flags_save_DATA_BLOB;
117 }
118 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
119 }
120 if (ndr_flags & NDR_BUFFERS) {
121 }
122 return NDR_ERR_SUCCESS;
123}
124
125_PUBLIC_ void ndr_print_dcerpc_bind(struct ndr_print *ndr, const char *name, const struct dcerpc_bind *r)
126{
127 uint32_t cntr_ctx_list_0;
128 ndr_print_struct(ndr, name, "dcerpc_bind");
129 if (r == NULL) { ndr_print_null(ndr); return; }
130 ndr->depth++;
131 ndr_print_uint16(ndr, "max_xmit_frag", r->max_xmit_frag);
132 ndr_print_uint16(ndr, "max_recv_frag", r->max_recv_frag);
133 ndr_print_uint32(ndr, "assoc_group_id", r->assoc_group_id);
134 ndr_print_uint8(ndr, "num_contexts", r->num_contexts);
135 ndr->print(ndr, "%s: ARRAY(%d)", "ctx_list", (int)r->num_contexts);
136 ndr->depth++;
137 for (cntr_ctx_list_0=0;cntr_ctx_list_0<r->num_contexts;cntr_ctx_list_0++) {
138 ndr_print_dcerpc_ctx_list(ndr, "ctx_list", &r->ctx_list[cntr_ctx_list_0]);
139 }
140 ndr->depth--;
141 ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
142 ndr->depth--;
143}
144
145static enum ndr_err_code ndr_push_dcerpc_empty(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_empty *r)
146{
147 if (ndr_flags & NDR_SCALARS) {
148 NDR_CHECK(ndr_push_align(ndr, 1));
149 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
150 }
151 if (ndr_flags & NDR_BUFFERS) {
152 }
153 return NDR_ERR_SUCCESS;
154}
155
156static enum ndr_err_code ndr_pull_dcerpc_empty(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_empty *r)
157{
158 if (ndr_flags & NDR_SCALARS) {
159 NDR_CHECK(ndr_pull_align(ndr, 1));
160 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
161 }
162 if (ndr_flags & NDR_BUFFERS) {
163 }
164 return NDR_ERR_SUCCESS;
165}
166
167_PUBLIC_ void ndr_print_dcerpc_empty(struct ndr_print *ndr, const char *name, const struct dcerpc_empty *r)
168{
169 ndr_print_struct(ndr, name, "dcerpc_empty");
170 if (r == NULL) { ndr_print_null(ndr); return; }
171 ndr->depth++;
172 ndr->depth--;
173}
174
175static enum ndr_err_code ndr_push_dcerpc_object(struct ndr_push *ndr, int ndr_flags, const union dcerpc_object *r)
176{
177 if (ndr_flags & NDR_SCALARS) {
178 uint32_t level = ndr_push_get_switch_value(ndr, r);
179 NDR_CHECK(ndr_push_union_align(ndr, 4));
180 switch (level) {
181 default: {
182 NDR_CHECK(ndr_push_dcerpc_empty(ndr, NDR_SCALARS, &r->empty));
183 break; }
184
185 case LIBNDR_FLAG_OBJECT_PRESENT: {
186 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->object));
187 break; }
188
189 }
190 }
191 if (ndr_flags & NDR_BUFFERS) {
192 uint32_t level = ndr_push_get_switch_value(ndr, r);
193 switch (level) {
194 default:
195 break;
196
197 case LIBNDR_FLAG_OBJECT_PRESENT:
198 break;
199
200 }
201 }
202 return NDR_ERR_SUCCESS;
203}
204
205static enum ndr_err_code ndr_pull_dcerpc_object(struct ndr_pull *ndr, int ndr_flags, union dcerpc_object *r)
206{
207 uint32_t level;
208 level = ndr_pull_get_switch_value(ndr, r);
209 if (ndr_flags & NDR_SCALARS) {
210 NDR_CHECK(ndr_pull_union_align(ndr, 4));
211 switch (level) {
212 default: {
213 NDR_CHECK(ndr_pull_dcerpc_empty(ndr, NDR_SCALARS, &r->empty));
214 break; }
215
216 case LIBNDR_FLAG_OBJECT_PRESENT: {
217 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->object));
218 break; }
219
220 }
221 }
222 if (ndr_flags & NDR_BUFFERS) {
223 switch (level) {
224 default:
225 break;
226
227 case LIBNDR_FLAG_OBJECT_PRESENT:
228 break;
229
230 }
231 }
232 return NDR_ERR_SUCCESS;
233}
234
235_PUBLIC_ void ndr_print_dcerpc_object(struct ndr_print *ndr, const char *name, const union dcerpc_object *r)
236{
237 uint32_t level;
238 level = ndr_print_get_switch_value(ndr, r);
239 ndr_print_union(ndr, name, level, "dcerpc_object");
240 switch (level) {
241 default:
242 ndr_print_dcerpc_empty(ndr, "empty", &r->empty);
243 break;
244
245 case LIBNDR_FLAG_OBJECT_PRESENT:
246 ndr_print_GUID(ndr, "object", &r->object);
247 break;
248
249 }
250}
251
252static enum ndr_err_code ndr_push_dcerpc_request(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_request *r)
253{
254 if (ndr_flags & NDR_SCALARS) {
255 NDR_CHECK(ndr_push_align(ndr, 4));
256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alloc_hint));
257 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id));
258 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->opnum));
259 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, ndr->flags & LIBNDR_FLAG_OBJECT_PRESENT));
260 NDR_CHECK(ndr_push_dcerpc_object(ndr, NDR_SCALARS, &r->object));
261 {
262 uint32_t _flags_save_DATA_BLOB = ndr->flags;
263 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
264 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
265 ndr->flags = _flags_save_DATA_BLOB;
266 }
267 {
268 uint32_t _flags_save_DATA_BLOB = ndr->flags;
269 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
270 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->stub_and_verifier));
271 ndr->flags = _flags_save_DATA_BLOB;
272 }
273 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
274 }
275 if (ndr_flags & NDR_BUFFERS) {
276 }
277 return NDR_ERR_SUCCESS;
278}
279
280static enum ndr_err_code ndr_pull_dcerpc_request(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_request *r)
281{
282 if (ndr_flags & NDR_SCALARS) {
283 NDR_CHECK(ndr_pull_align(ndr, 4));
284 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alloc_hint));
285 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id));
286 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->opnum));
287 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, ndr->flags & LIBNDR_FLAG_OBJECT_PRESENT));
288 NDR_CHECK(ndr_pull_dcerpc_object(ndr, NDR_SCALARS, &r->object));
289 {
290 uint32_t _flags_save_DATA_BLOB = ndr->flags;
291 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
292 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
293 ndr->flags = _flags_save_DATA_BLOB;
294 }
295 {
296 uint32_t _flags_save_DATA_BLOB = ndr->flags;
297 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
298 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->stub_and_verifier));
299 ndr->flags = _flags_save_DATA_BLOB;
300 }
301 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
302 }
303 if (ndr_flags & NDR_BUFFERS) {
304 }
305 return NDR_ERR_SUCCESS;
306}
307
308_PUBLIC_ void ndr_print_dcerpc_request(struct ndr_print *ndr, const char *name, const struct dcerpc_request *r)
309{
310 ndr_print_struct(ndr, name, "dcerpc_request");
311 if (r == NULL) { ndr_print_null(ndr); return; }
312 ndr->depth++;
313 ndr_print_uint32(ndr, "alloc_hint", r->alloc_hint);
314 ndr_print_uint16(ndr, "context_id", r->context_id);
315 ndr_print_uint16(ndr, "opnum", r->opnum);
316 ndr_print_set_switch_value(ndr, &r->object, ndr->flags & LIBNDR_FLAG_OBJECT_PRESENT);
317 ndr_print_dcerpc_object(ndr, "object", &r->object);
318 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
319 ndr_print_DATA_BLOB(ndr, "stub_and_verifier", r->stub_and_verifier);
320 ndr->depth--;
321}
322
323static enum ndr_err_code ndr_push_dcerpc_ack_ctx(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ack_ctx *r)
324{
325 if (ndr_flags & NDR_SCALARS) {
326 NDR_CHECK(ndr_push_align(ndr, 4));
327 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->result));
328 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reason));
329 NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, &r->syntax));
330 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
331 }
332 if (ndr_flags & NDR_BUFFERS) {
333 }
334 return NDR_ERR_SUCCESS;
335}
336
337static enum ndr_err_code ndr_pull_dcerpc_ack_ctx(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ack_ctx *r)
338{
339 if (ndr_flags & NDR_SCALARS) {
340 NDR_CHECK(ndr_pull_align(ndr, 4));
341 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->result));
342 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reason));
343 NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->syntax));
344 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
345 }
346 if (ndr_flags & NDR_BUFFERS) {
347 }
348 return NDR_ERR_SUCCESS;
349}
350
351_PUBLIC_ void ndr_print_dcerpc_ack_ctx(struct ndr_print *ndr, const char *name, const struct dcerpc_ack_ctx *r)
352{
353 ndr_print_struct(ndr, name, "dcerpc_ack_ctx");
354 if (r == NULL) { ndr_print_null(ndr); return; }
355 ndr->depth++;
356 ndr_print_uint16(ndr, "result", r->result);
357 ndr_print_uint16(ndr, "reason", r->reason);
358 ndr_print_ndr_syntax_id(ndr, "syntax", &r->syntax);
359 ndr->depth--;
360}
361
362static enum ndr_err_code ndr_push_dcerpc_bind_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind_ack *r)
363{
364 uint32_t cntr_ctx_list_0;
365 if (ndr_flags & NDR_SCALARS) {
366 NDR_CHECK(ndr_push_align(ndr, 4));
367 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_xmit_frag));
368 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_recv_frag));
369 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->assoc_group_id));
370 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->secondary_address) + 1));
371 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->secondary_address, strlen(r->secondary_address) + 1, sizeof(uint8_t), CH_DOS));
372 {
373 uint32_t _flags_save_DATA_BLOB = ndr->flags;
374 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
375 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad1));
376 ndr->flags = _flags_save_DATA_BLOB;
377 }
378 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_results));
379 for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_results; cntr_ctx_list_0++) {
380 NDR_CHECK(ndr_push_dcerpc_ack_ctx(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0]));
381 }
382 {
383 uint32_t _flags_save_DATA_BLOB = ndr->flags;
384 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
385 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
386 ndr->flags = _flags_save_DATA_BLOB;
387 }
388 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
389 }
390 if (ndr_flags & NDR_BUFFERS) {
391 }
392 return NDR_ERR_SUCCESS;
393}
394
395static enum ndr_err_code ndr_pull_dcerpc_bind_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind_ack *r)
396{
397 uint32_t size_secondary_address_0 = 0;
398 uint32_t size_ctx_list_0 = 0;
399 uint32_t cntr_ctx_list_0;
400 TALLOC_CTX *_mem_save_ctx_list_0;
401 if (ndr_flags & NDR_SCALARS) {
402 NDR_CHECK(ndr_pull_align(ndr, 4));
403 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_xmit_frag));
404 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_recv_frag));
405 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->assoc_group_id));
406 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->secondary_address_size));
407 size_secondary_address_0 = r->secondary_address_size;
408 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->secondary_address, size_secondary_address_0, sizeof(uint8_t), CH_DOS));
409 {
410 uint32_t _flags_save_DATA_BLOB = ndr->flags;
411 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
412 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad1));
413 ndr->flags = _flags_save_DATA_BLOB;
414 }
415 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_results));
416 size_ctx_list_0 = r->num_results;
417 NDR_PULL_ALLOC_N(ndr, r->ctx_list, size_ctx_list_0);
418 _mem_save_ctx_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
419 NDR_PULL_SET_MEM_CTX(ndr, r->ctx_list, 0);
420 for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < size_ctx_list_0; cntr_ctx_list_0++) {
421 NDR_CHECK(ndr_pull_dcerpc_ack_ctx(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0]));
422 }
423 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctx_list_0, 0);
424 {
425 uint32_t _flags_save_DATA_BLOB = ndr->flags;
426 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
427 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
428 ndr->flags = _flags_save_DATA_BLOB;
429 }
430 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
431 }
432 if (ndr_flags & NDR_BUFFERS) {
433 }
434 return NDR_ERR_SUCCESS;
435}
436
437_PUBLIC_ void ndr_print_dcerpc_bind_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_ack *r)
438{
439 uint32_t cntr_ctx_list_0;
440 ndr_print_struct(ndr, name, "dcerpc_bind_ack");
441 if (r == NULL) { ndr_print_null(ndr); return; }
442 ndr->depth++;
443 ndr_print_uint16(ndr, "max_xmit_frag", r->max_xmit_frag);
444 ndr_print_uint16(ndr, "max_recv_frag", r->max_recv_frag);
445 ndr_print_uint32(ndr, "assoc_group_id", r->assoc_group_id);
446 ndr_print_uint16(ndr, "secondary_address_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->secondary_address) + 1:r->secondary_address_size);
447 ndr_print_string(ndr, "secondary_address", r->secondary_address);
448 ndr_print_DATA_BLOB(ndr, "_pad1", r->_pad1);
449 ndr_print_uint8(ndr, "num_results", r->num_results);
450 ndr->print(ndr, "%s: ARRAY(%d)", "ctx_list", (int)r->num_results);
451 ndr->depth++;
452 for (cntr_ctx_list_0=0;cntr_ctx_list_0<r->num_results;cntr_ctx_list_0++) {
453 ndr_print_dcerpc_ack_ctx(ndr, "ctx_list", &r->ctx_list[cntr_ctx_list_0]);
454 }
455 ndr->depth--;
456 ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
457 ndr->depth--;
458}
459
460static enum ndr_err_code ndr_push_dcerpc_bind_nak_versions(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind_nak_versions *r)
461{
462 uint32_t cntr_versions_0;
463 if (ndr_flags & NDR_SCALARS) {
464 NDR_CHECK(ndr_push_align(ndr, 4));
465 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_versions));
466 for (cntr_versions_0 = 0; cntr_versions_0 < r->num_versions; cntr_versions_0++) {
467 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->versions[cntr_versions_0]));
468 }
469 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
470 }
471 if (ndr_flags & NDR_BUFFERS) {
472 }
473 return NDR_ERR_SUCCESS;
474}
475
476static enum ndr_err_code ndr_pull_dcerpc_bind_nak_versions(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind_nak_versions *r)
477{
478 uint32_t size_versions_0 = 0;
479 uint32_t cntr_versions_0;
480 TALLOC_CTX *_mem_save_versions_0;
481 if (ndr_flags & NDR_SCALARS) {
482 NDR_CHECK(ndr_pull_align(ndr, 4));
483 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_versions));
484 size_versions_0 = r->num_versions;
485 NDR_PULL_ALLOC_N(ndr, r->versions, size_versions_0);
486 _mem_save_versions_0 = NDR_PULL_GET_MEM_CTX(ndr);
487 NDR_PULL_SET_MEM_CTX(ndr, r->versions, 0);
488 for (cntr_versions_0 = 0; cntr_versions_0 < size_versions_0; cntr_versions_0++) {
489 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->versions[cntr_versions_0]));
490 }
491 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_versions_0, 0);
492 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
493 }
494 if (ndr_flags & NDR_BUFFERS) {
495 }
496 return NDR_ERR_SUCCESS;
497}
498
499_PUBLIC_ void ndr_print_dcerpc_bind_nak_versions(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_nak_versions *r)
500{
501 uint32_t cntr_versions_0;
502 ndr_print_struct(ndr, name, "dcerpc_bind_nak_versions");
503 if (r == NULL) { ndr_print_null(ndr); return; }
504 ndr->depth++;
505 ndr_print_uint32(ndr, "num_versions", r->num_versions);
506 ndr->print(ndr, "%s: ARRAY(%d)", "versions", (int)r->num_versions);
507 ndr->depth++;
508 for (cntr_versions_0=0;cntr_versions_0<r->num_versions;cntr_versions_0++) {
509 ndr_print_uint32(ndr, "versions", r->versions[cntr_versions_0]);
510 }
511 ndr->depth--;
512 ndr->depth--;
513}
514
515static enum ndr_err_code ndr_push_dcerpc_bind_nak_versions_ctr(struct ndr_push *ndr, int ndr_flags, const union dcerpc_bind_nak_versions_ctr *r)
516{
517 if (ndr_flags & NDR_SCALARS) {
518 uint32_t level = ndr_push_get_switch_value(ndr, r);
519 NDR_CHECK(ndr_push_union_align(ndr, 4));
520 switch (level) {
521 case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED: {
522 NDR_CHECK(ndr_push_dcerpc_bind_nak_versions(ndr, NDR_SCALARS, &r->v));
523 break; }
524
525 default: {
526 break; }
527
528 }
529 }
530 if (ndr_flags & NDR_BUFFERS) {
531 uint32_t level = ndr_push_get_switch_value(ndr, r);
532 switch (level) {
533 case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED:
534 break;
535
536 default:
537 break;
538
539 }
540 }
541 return NDR_ERR_SUCCESS;
542}
543
544static enum ndr_err_code ndr_pull_dcerpc_bind_nak_versions_ctr(struct ndr_pull *ndr, int ndr_flags, union dcerpc_bind_nak_versions_ctr *r)
545{
546 uint32_t level;
547 level = ndr_pull_get_switch_value(ndr, r);
548 if (ndr_flags & NDR_SCALARS) {
549 NDR_CHECK(ndr_pull_union_align(ndr, 4));
550 switch (level) {
551 case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED: {
552 NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions(ndr, NDR_SCALARS, &r->v));
553 break; }
554
555 default: {
556 break; }
557
558 }
559 }
560 if (ndr_flags & NDR_BUFFERS) {
561 switch (level) {
562 case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED:
563 break;
564
565 default:
566 break;
567
568 }
569 }
570 return NDR_ERR_SUCCESS;
571}
572
573_PUBLIC_ void ndr_print_dcerpc_bind_nak_versions_ctr(struct ndr_print *ndr, const char *name, const union dcerpc_bind_nak_versions_ctr *r)
574{
575 uint32_t level;
576 level = ndr_print_get_switch_value(ndr, r);
577 ndr_print_union(ndr, name, level, "dcerpc_bind_nak_versions_ctr");
578 switch (level) {
579 case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED:
580 ndr_print_dcerpc_bind_nak_versions(ndr, "v", &r->v);
581 break;
582
583 default:
584 break;
585
586 }
587}
588
589static enum ndr_err_code ndr_push_dcerpc_bind_nak(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind_nak *r)
590{
591 if (ndr_flags & NDR_SCALARS) {
592 NDR_CHECK(ndr_push_align(ndr, 4));
593 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reject_reason));
594 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->versions, r->reject_reason));
595 NDR_CHECK(ndr_push_dcerpc_bind_nak_versions_ctr(ndr, NDR_SCALARS, &r->versions));
596 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
597 }
598 if (ndr_flags & NDR_BUFFERS) {
599 NDR_CHECK(ndr_push_dcerpc_bind_nak_versions_ctr(ndr, NDR_BUFFERS, &r->versions));
600 }
601 return NDR_ERR_SUCCESS;
602}
603
604static enum ndr_err_code ndr_pull_dcerpc_bind_nak(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind_nak *r)
605{
606 if (ndr_flags & NDR_SCALARS) {
607 NDR_CHECK(ndr_pull_align(ndr, 4));
608 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reject_reason));
609 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->versions, r->reject_reason));
610 NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions_ctr(ndr, NDR_SCALARS, &r->versions));
611 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
612 }
613 if (ndr_flags & NDR_BUFFERS) {
614 NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions_ctr(ndr, NDR_BUFFERS, &r->versions));
615 }
616 return NDR_ERR_SUCCESS;
617}
618
619_PUBLIC_ void ndr_print_dcerpc_bind_nak(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_nak *r)
620{
621 ndr_print_struct(ndr, name, "dcerpc_bind_nak");
622 if (r == NULL) { ndr_print_null(ndr); return; }
623 ndr->depth++;
624 ndr_print_uint16(ndr, "reject_reason", r->reject_reason);
625 ndr_print_set_switch_value(ndr, &r->versions, r->reject_reason);
626 ndr_print_dcerpc_bind_nak_versions_ctr(ndr, "versions", &r->versions);
627 ndr->depth--;
628}
629
630static enum ndr_err_code ndr_push_dcerpc_response(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_response *r)
631{
632 if (ndr_flags & NDR_SCALARS) {
633 NDR_CHECK(ndr_push_align(ndr, 4));
634 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alloc_hint));
635 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id));
636 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->cancel_count));
637 {
638 uint32_t _flags_save_DATA_BLOB = ndr->flags;
639 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
640 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
641 ndr->flags = _flags_save_DATA_BLOB;
642 }
643 {
644 uint32_t _flags_save_DATA_BLOB = ndr->flags;
645 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
646 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->stub_and_verifier));
647 ndr->flags = _flags_save_DATA_BLOB;
648 }
649 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
650 }
651 if (ndr_flags & NDR_BUFFERS) {
652 }
653 return NDR_ERR_SUCCESS;
654}
655
656static enum ndr_err_code ndr_pull_dcerpc_response(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_response *r)
657{
658 if (ndr_flags & NDR_SCALARS) {
659 NDR_CHECK(ndr_pull_align(ndr, 4));
660 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alloc_hint));
661 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id));
662 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->cancel_count));
663 {
664 uint32_t _flags_save_DATA_BLOB = ndr->flags;
665 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
666 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
667 ndr->flags = _flags_save_DATA_BLOB;
668 }
669 {
670 uint32_t _flags_save_DATA_BLOB = ndr->flags;
671 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
672 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->stub_and_verifier));
673 ndr->flags = _flags_save_DATA_BLOB;
674 }
675 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
676 }
677 if (ndr_flags & NDR_BUFFERS) {
678 }
679 return NDR_ERR_SUCCESS;
680}
681
682_PUBLIC_ void ndr_print_dcerpc_response(struct ndr_print *ndr, const char *name, const struct dcerpc_response *r)
683{
684 ndr_print_struct(ndr, name, "dcerpc_response");
685 if (r == NULL) { ndr_print_null(ndr); return; }
686 ndr->depth++;
687 ndr_print_uint32(ndr, "alloc_hint", r->alloc_hint);
688 ndr_print_uint16(ndr, "context_id", r->context_id);
689 ndr_print_uint8(ndr, "cancel_count", r->cancel_count);
690 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
691 ndr_print_DATA_BLOB(ndr, "stub_and_verifier", r->stub_and_verifier);
692 ndr->depth--;
693}
694
695static enum ndr_err_code ndr_push_dcerpc_nca_status(struct ndr_push *ndr, int ndr_flags, enum dcerpc_nca_status r)
696{
697 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
698 return NDR_ERR_SUCCESS;
699}
700
701static enum ndr_err_code ndr_pull_dcerpc_nca_status(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_nca_status *r)
702{
703 uint32_t v;
704 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
705 *r = v;
706 return NDR_ERR_SUCCESS;
707}
708
709_PUBLIC_ void ndr_print_dcerpc_nca_status(struct ndr_print *ndr, const char *name, enum dcerpc_nca_status r)
710{
711 const char *val = NULL;
712
713 switch (r) {
714 case DCERPC_NCA_S_COMM_FAILURE: val = "DCERPC_NCA_S_COMM_FAILURE"; break;
715 case DCERPC_NCA_S_OP_RNG_ERROR: val = "DCERPC_NCA_S_OP_RNG_ERROR"; break;
716 case DCERPC_NCA_S_UNKNOWN_IF: val = "DCERPC_NCA_S_UNKNOWN_IF"; break;
717 case DCERPC_NCA_S_WRONG_BOOT_TIME: val = "DCERPC_NCA_S_WRONG_BOOT_TIME"; break;
718 case DCERPC_NCA_S_YOU_CRASHED: val = "DCERPC_NCA_S_YOU_CRASHED"; break;
719 case DCERPC_NCA_S_PROTO_ERROR: val = "DCERPC_NCA_S_PROTO_ERROR"; break;
720 case DCERPC_NCA_S_OUT_ARGS_TOO_BIG: val = "DCERPC_NCA_S_OUT_ARGS_TOO_BIG"; break;
721 case DCERPC_NCA_S_SERVER_TOO_BUSY: val = "DCERPC_NCA_S_SERVER_TOO_BUSY"; break;
722 case DCERPC_NCA_S_FAULT_STRING_TOO_LARGE: val = "DCERPC_NCA_S_FAULT_STRING_TOO_LARGE"; break;
723 case DCERPC_NCA_S_UNSUPPORTED_TYPE: val = "DCERPC_NCA_S_UNSUPPORTED_TYPE"; break;
724 case DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO: val = "DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO"; break;
725 case DCERPC_NCA_S_FAULT_ADDR_ERROR: val = "DCERPC_NCA_S_FAULT_ADDR_ERROR"; break;
726 case DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO: val = "DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO"; break;
727 case DCERPC_NCA_S_FAULT_FP_UNDERFLOW: val = "DCERPC_NCA_S_FAULT_FP_UNDERFLOW"; break;
728 case DCERPC_NCA_S_FAULT_FP_OVERRFLOW: val = "DCERPC_NCA_S_FAULT_FP_OVERRFLOW"; break;
729 case DCERPC_NCA_S_FAULT_INVALID_TAG: val = "DCERPC_NCA_S_FAULT_INVALID_TAG"; break;
730 case DCERPC_NCA_S_FAULT_INVALID_BOUND: val = "DCERPC_NCA_S_FAULT_INVALID_BOUND"; break;
731 case DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH: val = "DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH"; break;
732 case DCERPC_NCA_S_FAULT_UNSPEC_REJECT: val = "DCERPC_NCA_S_FAULT_UNSPEC_REJECT"; break;
733 case DCERPC_NCA_S_FAULT_BAD_ACTID: val = "DCERPC_NCA_S_FAULT_BAD_ACTID"; break;
734 case DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED: val = "DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED"; break;
735 case DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED: val = "DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED"; break;
736 case DCERPC_NCA_S_FAULT_CANCEL: val = "DCERPC_NCA_S_FAULT_CANCEL"; break;
737 case DCERPC_NCA_S_FAULT_ILL_INST: val = "DCERPC_NCA_S_FAULT_ILL_INST"; break;
738 case DCERPC_NCA_S_FAULT_FP_ERROR: val = "DCERPC_NCA_S_FAULT_FP_ERROR"; break;
739 case DCERPC_NCA_S_FAULT_INT_OVERFLOW: val = "DCERPC_NCA_S_FAULT_INT_OVERFLOW"; break;
740 case DCERPC_NCA_S_UNUSED_1C000011: val = "DCERPC_NCA_S_UNUSED_1C000011"; break;
741 case DCERPC_NCA_S_FAULT_UNSPEC: val = "DCERPC_NCA_S_FAULT_UNSPEC"; break;
742 case DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE: val = "DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE"; break;
743 case DCERPC_NCA_S_FAULT_PIPE_EMPTY: val = "DCERPC_NCA_S_FAULT_PIPE_EMPTY"; break;
744 case DCERPC_NCA_S_FAULT_PIPE_CLOSED: val = "DCERPC_NCA_S_FAULT_PIPE_CLOSED"; break;
745 case DCERPC_NCA_S_FAULT_PIPE_ORDER: val = "DCERPC_NCA_S_FAULT_PIPE_ORDER"; break;
746 case DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE: val = "DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE"; break;
747 case DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR: val = "DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR"; break;
748 case DCERPC_NCA_S_FAULT_PIPE_MEMORY: val = "DCERPC_NCA_S_FAULT_PIPE_MEMORY"; break;
749 case DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH: val = "DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH"; break;
750 case DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY: val = "DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY"; break;
751 case DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID: val = "DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID"; break;
752 case DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL: val = "DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL"; break;
753 case DCERPC_NCA_S_UNUSED_1C00001E: val = "DCERPC_NCA_S_UNUSED_1C00001E"; break;
754 case DCERPC_NCA_S_INVALID_CHECKSUM: val = "DCERPC_NCA_S_INVALID_CHECKSUM"; break;
755 case DCERPC_NCA_S_INVALID_CRC: val = "DCERPC_NCA_S_INVALID_CRC"; break;
756 case DCERPC_NCA_S_FAULT_USER_DEFINED: val = "DCERPC_NCA_S_FAULT_USER_DEFINED"; break;
757 case DCERPC_NCA_S_FAULT_TX_OPEN_FAILED: val = "DCERPC_NCA_S_FAULT_TX_OPEN_FAILED"; break;
758 case DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR: val = "DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR"; break;
759 case DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND: val = "DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND"; break;
760 case DCERPC_NCA_S_FAULT_NO_CLIENT_STUB: val = "DCERPC_NCA_S_FAULT_NO_CLIENT_STUB"; break;
761 }
762 ndr_print_enum(ndr, name, "ENUM", val, r);
763}
764
765static enum ndr_err_code ndr_push_dcerpc_fault(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_fault *r)
766{
767 if (ndr_flags & NDR_SCALARS) {
768 NDR_CHECK(ndr_push_align(ndr, 4));
769 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alloc_hint));
770 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id));
771 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->cancel_count));
772 NDR_CHECK(ndr_push_dcerpc_nca_status(ndr, NDR_SCALARS, r->status));
773 {
774 uint32_t _flags_save_DATA_BLOB = ndr->flags;
775 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
776 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
777 ndr->flags = _flags_save_DATA_BLOB;
778 }
779 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
780 }
781 if (ndr_flags & NDR_BUFFERS) {
782 }
783 return NDR_ERR_SUCCESS;
784}
785
786static enum ndr_err_code ndr_pull_dcerpc_fault(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_fault *r)
787{
788 if (ndr_flags & NDR_SCALARS) {
789 NDR_CHECK(ndr_pull_align(ndr, 4));
790 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alloc_hint));
791 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id));
792 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->cancel_count));
793 NDR_CHECK(ndr_pull_dcerpc_nca_status(ndr, NDR_SCALARS, &r->status));
794 {
795 uint32_t _flags_save_DATA_BLOB = ndr->flags;
796 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
797 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
798 ndr->flags = _flags_save_DATA_BLOB;
799 }
800 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
801 }
802 if (ndr_flags & NDR_BUFFERS) {
803 }
804 return NDR_ERR_SUCCESS;
805}
806
807_PUBLIC_ void ndr_print_dcerpc_fault(struct ndr_print *ndr, const char *name, const struct dcerpc_fault *r)
808{
809 ndr_print_struct(ndr, name, "dcerpc_fault");
810 if (r == NULL) { ndr_print_null(ndr); return; }
811 ndr->depth++;
812 ndr_print_uint32(ndr, "alloc_hint", r->alloc_hint);
813 ndr_print_uint16(ndr, "context_id", r->context_id);
814 ndr_print_uint8(ndr, "cancel_count", r->cancel_count);
815 ndr_print_dcerpc_nca_status(ndr, "status", r->status);
816 ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
817 ndr->depth--;
818}
819
820static enum ndr_err_code ndr_push_dcerpc_AuthType(struct ndr_push *ndr, int ndr_flags, enum dcerpc_AuthType r)
821{
822 NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
823 return NDR_ERR_SUCCESS;
824}
825
826static enum ndr_err_code ndr_pull_dcerpc_AuthType(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_AuthType *r)
827{
828 uint8_t v;
829 NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
830 *r = v;
831 return NDR_ERR_SUCCESS;
832}
833
834_PUBLIC_ void ndr_print_dcerpc_AuthType(struct ndr_print *ndr, const char *name, enum dcerpc_AuthType r)
835{
836 const char *val = NULL;
837
838 switch (r) {
839 case DCERPC_AUTH_TYPE_NONE: val = "DCERPC_AUTH_TYPE_NONE"; break;
840 case DCERPC_AUTH_TYPE_KRB5_1: val = "DCERPC_AUTH_TYPE_KRB5_1"; break;
841 case DCERPC_AUTH_TYPE_SPNEGO: val = "DCERPC_AUTH_TYPE_SPNEGO"; break;
842 case DCERPC_AUTH_TYPE_NTLMSSP: val = "DCERPC_AUTH_TYPE_NTLMSSP"; break;
843 case DCERPC_AUTH_TYPE_KRB5: val = "DCERPC_AUTH_TYPE_KRB5"; break;
844 case DCERPC_AUTH_TYPE_DPA: val = "DCERPC_AUTH_TYPE_DPA"; break;
845 case DCERPC_AUTH_TYPE_MSN: val = "DCERPC_AUTH_TYPE_MSN"; break;
846 case DCERPC_AUTH_TYPE_DIGEST: val = "DCERPC_AUTH_TYPE_DIGEST"; break;
847 case DCERPC_AUTH_TYPE_SCHANNEL: val = "DCERPC_AUTH_TYPE_SCHANNEL"; break;
848 case DCERPC_AUTH_TYPE_MSMQ: val = "DCERPC_AUTH_TYPE_MSMQ"; break;
849 case DCERPC_AUTH_TYPE_NCALRPC_AS_SYSTEM: val = "DCERPC_AUTH_TYPE_NCALRPC_AS_SYSTEM"; break;
850 }
851 ndr_print_enum(ndr, name, "ENUM", val, r);
852}
853
854static enum ndr_err_code ndr_push_dcerpc_AuthLevel(struct ndr_push *ndr, int ndr_flags, enum dcerpc_AuthLevel r)
855{
856 NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
857 return NDR_ERR_SUCCESS;
858}
859
860static enum ndr_err_code ndr_pull_dcerpc_AuthLevel(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_AuthLevel *r)
861{
862 uint8_t v;
863 NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
864 *r = v;
865 return NDR_ERR_SUCCESS;
866}
867
868_PUBLIC_ void ndr_print_dcerpc_AuthLevel(struct ndr_print *ndr, const char *name, enum dcerpc_AuthLevel r)
869{
870 const char *val = NULL;
871
872 switch (r) {
873 case DCERPC_AUTH_LEVEL_NONE: val = "DCERPC_AUTH_LEVEL_NONE"; break;
874 case DCERPC_AUTH_LEVEL_CONNECT: val = "DCERPC_AUTH_LEVEL_CONNECT"; break;
875 case DCERPC_AUTH_LEVEL_CALL: val = "DCERPC_AUTH_LEVEL_CALL"; break;
876 case DCERPC_AUTH_LEVEL_PACKET: val = "DCERPC_AUTH_LEVEL_PACKET"; break;
877 case DCERPC_AUTH_LEVEL_INTEGRITY: val = "DCERPC_AUTH_LEVEL_INTEGRITY"; break;
878 case DCERPC_AUTH_LEVEL_PRIVACY: val = "DCERPC_AUTH_LEVEL_PRIVACY"; break;
879 }
880 ndr_print_enum(ndr, name, "ENUM", val, r);
881}
882
883_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_auth(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_auth *r)
884{
885 if (ndr_flags & NDR_SCALARS) {
886 NDR_CHECK(ndr_push_align(ndr, 4));
887 NDR_CHECK(ndr_push_dcerpc_AuthType(ndr, NDR_SCALARS, r->auth_type));
888 NDR_CHECK(ndr_push_dcerpc_AuthLevel(ndr, NDR_SCALARS, r->auth_level));
889 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auth_pad_length));
890 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auth_reserved));
891 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_context_id));
892 {
893 uint32_t _flags_save_DATA_BLOB = ndr->flags;
894 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
895 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->credentials));
896 ndr->flags = _flags_save_DATA_BLOB;
897 }
898 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
899 }
900 if (ndr_flags & NDR_BUFFERS) {
901 }
902 return NDR_ERR_SUCCESS;
903}
904
905_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_auth(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_auth *r)
906{
907 if (ndr_flags & NDR_SCALARS) {
908 NDR_CHECK(ndr_pull_align(ndr, 4));
909 NDR_CHECK(ndr_pull_dcerpc_AuthType(ndr, NDR_SCALARS, &r->auth_type));
910 NDR_CHECK(ndr_pull_dcerpc_AuthLevel(ndr, NDR_SCALARS, &r->auth_level));
911 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auth_pad_length));
912 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auth_reserved));
913 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_context_id));
914 {
915 uint32_t _flags_save_DATA_BLOB = ndr->flags;
916 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
917 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->credentials));
918 ndr->flags = _flags_save_DATA_BLOB;
919 }
920 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
921 }
922 if (ndr_flags & NDR_BUFFERS) {
923 }
924 return NDR_ERR_SUCCESS;
925}
926
927_PUBLIC_ void ndr_print_dcerpc_auth(struct ndr_print *ndr, const char *name, const struct dcerpc_auth *r)
928{
929 ndr_print_struct(ndr, name, "dcerpc_auth");
930 if (r == NULL) { ndr_print_null(ndr); return; }
931 ndr->depth++;
932 ndr_print_dcerpc_AuthType(ndr, "auth_type", r->auth_type);
933 ndr_print_dcerpc_AuthLevel(ndr, "auth_level", r->auth_level);
934 ndr_print_uint8(ndr, "auth_pad_length", r->auth_pad_length);
935 ndr_print_uint8(ndr, "auth_reserved", r->auth_reserved);
936 ndr_print_uint32(ndr, "auth_context_id", r->auth_context_id);
937 ndr_print_DATA_BLOB(ndr, "credentials", r->credentials);
938 ndr->depth--;
939}
940
941_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_auth3(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_auth3 *r)
942{
943 if (ndr_flags & NDR_SCALARS) {
944 NDR_CHECK(ndr_push_align(ndr, 4));
945 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
946 {
947 uint32_t _flags_save_DATA_BLOB = ndr->flags;
948 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
949 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
950 ndr->flags = _flags_save_DATA_BLOB;
951 }
952 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
953 }
954 if (ndr_flags & NDR_BUFFERS) {
955 }
956 return NDR_ERR_SUCCESS;
957}
958
959_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_auth3(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_auth3 *r)
960{
961 if (ndr_flags & NDR_SCALARS) {
962 NDR_CHECK(ndr_pull_align(ndr, 4));
963 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
964 {
965 uint32_t _flags_save_DATA_BLOB = ndr->flags;
966 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
967 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
968 ndr->flags = _flags_save_DATA_BLOB;
969 }
970 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
971 }
972 if (ndr_flags & NDR_BUFFERS) {
973 }
974 return NDR_ERR_SUCCESS;
975}
976
977_PUBLIC_ void ndr_print_dcerpc_auth3(struct ndr_print *ndr, const char *name, const struct dcerpc_auth3 *r)
978{
979 ndr_print_struct(ndr, name, "dcerpc_auth3");
980 if (r == NULL) { ndr_print_null(ndr); return; }
981 ndr->depth++;
982 ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
983 ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
984 ndr->depth--;
985}
986
987_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_orphaned(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_orphaned *r)
988{
989 if (ndr_flags & NDR_SCALARS) {
990 NDR_CHECK(ndr_push_align(ndr, 4));
991 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
992 {
993 uint32_t _flags_save_DATA_BLOB = ndr->flags;
994 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
995 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
996 ndr->flags = _flags_save_DATA_BLOB;
997 }
998 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
999 }
1000 if (ndr_flags & NDR_BUFFERS) {
1001 }
1002 return NDR_ERR_SUCCESS;
1003}
1004
1005_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_orphaned(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_orphaned *r)
1006{
1007 if (ndr_flags & NDR_SCALARS) {
1008 NDR_CHECK(ndr_pull_align(ndr, 4));
1009 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
1010 {
1011 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1012 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1013 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
1014 ndr->flags = _flags_save_DATA_BLOB;
1015 }
1016 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1017 }
1018 if (ndr_flags & NDR_BUFFERS) {
1019 }
1020 return NDR_ERR_SUCCESS;
1021}
1022
1023_PUBLIC_ void ndr_print_dcerpc_orphaned(struct ndr_print *ndr, const char *name, const struct dcerpc_orphaned *r)
1024{
1025 ndr_print_struct(ndr, name, "dcerpc_orphaned");
1026 if (r == NULL) { ndr_print_null(ndr); return; }
1027 ndr->depth++;
1028 ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
1029 ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
1030 ndr->depth--;
1031}
1032
1033_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_co_cancel(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_co_cancel *r)
1034{
1035 if (ndr_flags & NDR_SCALARS) {
1036 NDR_CHECK(ndr_push_align(ndr, 4));
1037 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1038 {
1039 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1040 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1041 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
1042 ndr->flags = _flags_save_DATA_BLOB;
1043 }
1044 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1045 }
1046 if (ndr_flags & NDR_BUFFERS) {
1047 }
1048 return NDR_ERR_SUCCESS;
1049}
1050
1051_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_co_cancel(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_co_cancel *r)
1052{
1053 if (ndr_flags & NDR_SCALARS) {
1054 NDR_CHECK(ndr_pull_align(ndr, 4));
1055 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
1056 {
1057 uint32_t _flags_save_DATA_BLOB = ndr->flags;
1058 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1059 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
1060 ndr->flags = _flags_save_DATA_BLOB;
1061 }
1062 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1063 }
1064 if (ndr_flags & NDR_BUFFERS) {
1065 }
1066 return NDR_ERR_SUCCESS;
1067}
1068
1069_PUBLIC_ void ndr_print_dcerpc_co_cancel(struct ndr_print *ndr, const char *name, const struct dcerpc_co_cancel *r)
1070{
1071 ndr_print_struct(ndr, name, "dcerpc_co_cancel");
1072 if (r == NULL) { ndr_print_null(ndr); return; }
1073 ndr->depth++;
1074 ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
1075 ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
1076 ndr->depth--;
1077}
1078
1079_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_cl_cancel(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_cl_cancel *r)
1080{
1081 if (ndr_flags & NDR_SCALARS) {
1082 NDR_CHECK(ndr_push_align(ndr, 4));
1083 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1084 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id));
1085 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1086 }
1087 if (ndr_flags & NDR_BUFFERS) {
1088 }
1089 return NDR_ERR_SUCCESS;
1090}
1091
1092_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_cl_cancel(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_cl_cancel *r)
1093{
1094 if (ndr_flags & NDR_SCALARS) {
1095 NDR_CHECK(ndr_pull_align(ndr, 4));
1096 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1097 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id));
1098 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1099 }
1100 if (ndr_flags & NDR_BUFFERS) {
1101 }
1102 return NDR_ERR_SUCCESS;
1103}
1104
1105_PUBLIC_ void ndr_print_dcerpc_cl_cancel(struct ndr_print *ndr, const char *name, const struct dcerpc_cl_cancel *r)
1106{
1107 ndr_print_struct(ndr, name, "dcerpc_cl_cancel");
1108 if (r == NULL) { ndr_print_null(ndr); return; }
1109 ndr->depth++;
1110 ndr_print_uint32(ndr, "version", r->version);
1111 ndr_print_uint32(ndr, "id", r->id);
1112 ndr->depth--;
1113}
1114
1115_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_cancel_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_cancel_ack *r)
1116{
1117 if (ndr_flags & NDR_SCALARS) {
1118 NDR_CHECK(ndr_push_align(ndr, 4));
1119 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1120 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id));
1121 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->server_is_accepting));
1122 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1123 }
1124 if (ndr_flags & NDR_BUFFERS) {
1125 }
1126 return NDR_ERR_SUCCESS;
1127}
1128
1129_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_cancel_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_cancel_ack *r)
1130{
1131 if (ndr_flags & NDR_SCALARS) {
1132 NDR_CHECK(ndr_pull_align(ndr, 4));
1133 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1134 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id));
1135 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->server_is_accepting));
1136 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1137 }
1138 if (ndr_flags & NDR_BUFFERS) {
1139 }
1140 return NDR_ERR_SUCCESS;
1141}
1142
1143_PUBLIC_ void ndr_print_dcerpc_cancel_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_cancel_ack *r)
1144{
1145 ndr_print_struct(ndr, name, "dcerpc_cancel_ack");
1146 if (r == NULL) { ndr_print_null(ndr); return; }
1147 ndr->depth++;
1148 ndr_print_uint32(ndr, "version", r->version);
1149 ndr_print_uint32(ndr, "id", r->id);
1150 ndr_print_uint32(ndr, "server_is_accepting", r->server_is_accepting);
1151 ndr->depth--;
1152}
1153
1154_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_fack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_fack *r)
1155{
1156 uint32_t cntr_selack_0;
1157 if (ndr_flags & NDR_SCALARS) {
1158 NDR_CHECK(ndr_push_align(ndr, 4));
1159 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1160 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->_pad1));
1161 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->window_size));
1162 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_tdsu));
1163 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_frag_size));
1164 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->serial_no));
1165 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->selack_size));
1166 for (cntr_selack_0 = 0; cntr_selack_0 < r->selack_size; cntr_selack_0++) {
1167 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->selack[cntr_selack_0]));
1168 }
1169 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1170 }
1171 if (ndr_flags & NDR_BUFFERS) {
1172 }
1173 return NDR_ERR_SUCCESS;
1174}
1175
1176_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_fack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_fack *r)
1177{
1178 uint32_t size_selack_0 = 0;
1179 uint32_t cntr_selack_0;
1180 TALLOC_CTX *_mem_save_selack_0;
1181 if (ndr_flags & NDR_SCALARS) {
1182 NDR_CHECK(ndr_pull_align(ndr, 4));
1183 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1184 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->_pad1));
1185 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->window_size));
1186 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_tdsu));
1187 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_frag_size));
1188 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->serial_no));
1189 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->selack_size));
1190 size_selack_0 = r->selack_size;
1191 NDR_PULL_ALLOC_N(ndr, r->selack, size_selack_0);
1192 _mem_save_selack_0 = NDR_PULL_GET_MEM_CTX(ndr);
1193 NDR_PULL_SET_MEM_CTX(ndr, r->selack, 0);
1194 for (cntr_selack_0 = 0; cntr_selack_0 < size_selack_0; cntr_selack_0++) {
1195 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->selack[cntr_selack_0]));
1196 }
1197 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_selack_0, 0);
1198 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1199 }
1200 if (ndr_flags & NDR_BUFFERS) {
1201 }
1202 return NDR_ERR_SUCCESS;
1203}
1204
1205_PUBLIC_ void ndr_print_dcerpc_fack(struct ndr_print *ndr, const char *name, const struct dcerpc_fack *r)
1206{
1207 uint32_t cntr_selack_0;
1208 ndr_print_struct(ndr, name, "dcerpc_fack");
1209 if (r == NULL) { ndr_print_null(ndr); return; }
1210 ndr->depth++;
1211 ndr_print_uint32(ndr, "version", r->version);
1212 ndr_print_uint8(ndr, "_pad1", r->_pad1);
1213 ndr_print_uint16(ndr, "window_size", r->window_size);
1214 ndr_print_uint32(ndr, "max_tdsu", r->max_tdsu);
1215 ndr_print_uint32(ndr, "max_frag_size", r->max_frag_size);
1216 ndr_print_uint16(ndr, "serial_no", r->serial_no);
1217 ndr_print_uint16(ndr, "selack_size", r->selack_size);
1218 ndr->print(ndr, "%s: ARRAY(%d)", "selack", (int)r->selack_size);
1219 ndr->depth++;
1220 for (cntr_selack_0=0;cntr_selack_0<r->selack_size;cntr_selack_0++) {
1221 ndr_print_uint32(ndr, "selack", r->selack[cntr_selack_0]);
1222 }
1223 ndr->depth--;
1224 ndr->depth--;
1225}
1226
1227_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ack *r)
1228{
1229 if (ndr_flags & NDR_SCALARS) {
1230 NDR_CHECK(ndr_push_align(ndr, 1));
1231 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1232 }
1233 if (ndr_flags & NDR_BUFFERS) {
1234 }
1235 return NDR_ERR_SUCCESS;
1236}
1237
1238_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ack *r)
1239{
1240 if (ndr_flags & NDR_SCALARS) {
1241 NDR_CHECK(ndr_pull_align(ndr, 1));
1242 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1243 }
1244 if (ndr_flags & NDR_BUFFERS) {
1245 }
1246 return NDR_ERR_SUCCESS;
1247}
1248
1249_PUBLIC_ void ndr_print_dcerpc_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_ack *r)
1250{
1251 ndr_print_struct(ndr, name, "dcerpc_ack");
1252 if (r == NULL) { ndr_print_null(ndr); return; }
1253 ndr->depth++;
1254 ndr->depth--;
1255}
1256
1257_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_ping(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ping *r)
1258{
1259 if (ndr_flags & NDR_SCALARS) {
1260 NDR_CHECK(ndr_push_align(ndr, 1));
1261 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1262 }
1263 if (ndr_flags & NDR_BUFFERS) {
1264 }
1265 return NDR_ERR_SUCCESS;
1266}
1267
1268_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_ping(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ping *r)
1269{
1270 if (ndr_flags & NDR_SCALARS) {
1271 NDR_CHECK(ndr_pull_align(ndr, 1));
1272 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1273 }
1274 if (ndr_flags & NDR_BUFFERS) {
1275 }
1276 return NDR_ERR_SUCCESS;
1277}
1278
1279_PUBLIC_ void ndr_print_dcerpc_ping(struct ndr_print *ndr, const char *name, const struct dcerpc_ping *r)
1280{
1281 ndr_print_struct(ndr, name, "dcerpc_ping");
1282 if (r == NULL) { ndr_print_null(ndr); return; }
1283 ndr->depth++;
1284 ndr->depth--;
1285}
1286
1287_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_shutdown(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_shutdown *r)
1288{
1289 if (ndr_flags & NDR_SCALARS) {
1290 NDR_CHECK(ndr_push_align(ndr, 1));
1291 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1292 }
1293 if (ndr_flags & NDR_BUFFERS) {
1294 }
1295 return NDR_ERR_SUCCESS;
1296}
1297
1298_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_shutdown(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_shutdown *r)
1299{
1300 if (ndr_flags & NDR_SCALARS) {
1301 NDR_CHECK(ndr_pull_align(ndr, 1));
1302 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1303 }
1304 if (ndr_flags & NDR_BUFFERS) {
1305 }
1306 return NDR_ERR_SUCCESS;
1307}
1308
1309_PUBLIC_ void ndr_print_dcerpc_shutdown(struct ndr_print *ndr, const char *name, const struct dcerpc_shutdown *r)
1310{
1311 ndr_print_struct(ndr, name, "dcerpc_shutdown");
1312 if (r == NULL) { ndr_print_null(ndr); return; }
1313 ndr->depth++;
1314 ndr->depth--;
1315}
1316
1317_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_working(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_working *r)
1318{
1319 if (ndr_flags & NDR_SCALARS) {
1320 NDR_CHECK(ndr_push_align(ndr, 1));
1321 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1322 }
1323 if (ndr_flags & NDR_BUFFERS) {
1324 }
1325 return NDR_ERR_SUCCESS;
1326}
1327
1328_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_working(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_working *r)
1329{
1330 if (ndr_flags & NDR_SCALARS) {
1331 NDR_CHECK(ndr_pull_align(ndr, 1));
1332 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1333 }
1334 if (ndr_flags & NDR_BUFFERS) {
1335 }
1336 return NDR_ERR_SUCCESS;
1337}
1338
1339_PUBLIC_ void ndr_print_dcerpc_working(struct ndr_print *ndr, const char *name, const struct dcerpc_working *r)
1340{
1341 ndr_print_struct(ndr, name, "dcerpc_working");
1342 if (r == NULL) { ndr_print_null(ndr); return; }
1343 ndr->depth++;
1344 ndr->depth--;
1345}
1346
1347_PUBLIC_ enum ndr_err_code ndr_push_RTSCookie(struct ndr_push *ndr, int ndr_flags, const struct RTSCookie *r)
1348{
1349 if (ndr_flags & NDR_SCALARS) {
1350 NDR_CHECK(ndr_push_align(ndr, 4));
1351 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->Cookie));
1352 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1353 }
1354 if (ndr_flags & NDR_BUFFERS) {
1355 }
1356 return NDR_ERR_SUCCESS;
1357}
1358
1359_PUBLIC_ enum ndr_err_code ndr_pull_RTSCookie(struct ndr_pull *ndr, int ndr_flags, struct RTSCookie *r)
1360{
1361 if (ndr_flags & NDR_SCALARS) {
1362 NDR_CHECK(ndr_pull_align(ndr, 4));
1363 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->Cookie));
1364 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1365 }
1366 if (ndr_flags & NDR_BUFFERS) {
1367 }
1368 return NDR_ERR_SUCCESS;
1369}
1370
1371_PUBLIC_ void ndr_print_RTSCookie(struct ndr_print *ndr, const char *name, const struct RTSCookie *r)
1372{
1373 ndr_print_struct(ndr, name, "RTSCookie");
1374 if (r == NULL) { ndr_print_null(ndr); return; }
1375 ndr->depth++;
1376 ndr_print_GUID(ndr, "Cookie", &r->Cookie);
1377 ndr->depth--;
1378}
1379
1380_PUBLIC_ enum ndr_err_code ndr_push_AddressType(struct ndr_push *ndr, int ndr_flags, enum AddressType r)
1381{
1382 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1383 return NDR_ERR_SUCCESS;
1384}
1385
1386_PUBLIC_ enum ndr_err_code ndr_pull_AddressType(struct ndr_pull *ndr, int ndr_flags, enum AddressType *r)
1387{
1388 uint32_t v;
1389 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1390 *r = v;
1391 return NDR_ERR_SUCCESS;
1392}
1393
1394_PUBLIC_ void ndr_print_AddressType(struct ndr_print *ndr, const char *name, enum AddressType r)
1395{
1396 const char *val = NULL;
1397
1398 switch (r) {
1399 case RTS_IPV4: val = "RTS_IPV4"; break;
1400 case RTS_IPV6: val = "RTS_IPV6"; break;
1401 }
1402 ndr_print_enum(ndr, name, "ENUM", val, r);
1403}
1404
1405static enum ndr_err_code ndr_push_ClientAddressType(struct ndr_push *ndr, int ndr_flags, const union ClientAddressType *r)
1406{
1407 if (ndr_flags & NDR_SCALARS) {
1408 uint32_t level = ndr_push_get_switch_value(ndr, r);
1409 NDR_CHECK(ndr_push_union_align(ndr, 4));
1410 switch (level) {
1411 case RTS_IPV4: {
1412 NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->ClientAddressIPV4));
1413 break; }
1414
1415 case RTS_IPV6: {
1416 NDR_CHECK(ndr_push_ipv6address(ndr, NDR_SCALARS, r->ClientAddressIPV6));
1417 break; }
1418
1419 default:
1420 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1421 }
1422 }
1423 if (ndr_flags & NDR_BUFFERS) {
1424 uint32_t level = ndr_push_get_switch_value(ndr, r);
1425 switch (level) {
1426 case RTS_IPV4:
1427 break;
1428
1429 case RTS_IPV6:
1430 break;
1431
1432 default:
1433 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1434 }
1435 }
1436 return NDR_ERR_SUCCESS;
1437}
1438
1439static enum ndr_err_code ndr_pull_ClientAddressType(struct ndr_pull *ndr, int ndr_flags, union ClientAddressType *r)
1440{
1441 uint32_t level;
1442 level = ndr_pull_get_switch_value(ndr, r);
1443 if (ndr_flags & NDR_SCALARS) {
1444 NDR_CHECK(ndr_pull_union_align(ndr, 4));
1445 switch (level) {
1446 case RTS_IPV4: {
1447 NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->ClientAddressIPV4));
1448 break; }
1449
1450 case RTS_IPV6: {
1451 NDR_CHECK(ndr_pull_ipv6address(ndr, NDR_SCALARS, &r->ClientAddressIPV6));
1452 break; }
1453
1454 default:
1455 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1456 }
1457 }
1458 if (ndr_flags & NDR_BUFFERS) {
1459 switch (level) {
1460 case RTS_IPV4:
1461 break;
1462
1463 case RTS_IPV6:
1464 break;
1465
1466 default:
1467 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1468 }
1469 }
1470 return NDR_ERR_SUCCESS;
1471}
1472
1473_PUBLIC_ void ndr_print_ClientAddressType(struct ndr_print *ndr, const char *name, const union ClientAddressType *r)
1474{
1475 uint32_t level;
1476 level = ndr_print_get_switch_value(ndr, r);
1477 ndr_print_union(ndr, name, level, "ClientAddressType");
1478 switch (level) {
1479 case RTS_IPV4:
1480 ndr_print_ipv4address(ndr, "ClientAddressIPV4", r->ClientAddressIPV4);
1481 break;
1482
1483 case RTS_IPV6:
1484 ndr_print_ipv6address(ndr, "ClientAddressIPV6", r->ClientAddressIPV6);
1485 break;
1486
1487 default:
1488 ndr_print_bad_level(ndr, name, level);
1489 }
1490}
1491
1492_PUBLIC_ enum ndr_err_code ndr_push_ClientAddress(struct ndr_push *ndr, int ndr_flags, const struct ClientAddress *r)
1493{
1494 if (ndr_flags & NDR_SCALARS) {
1495 NDR_CHECK(ndr_push_align(ndr, 4));
1496 NDR_CHECK(ndr_push_AddressType(ndr, NDR_SCALARS, r->AddressType));
1497 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ClientAddress, r->AddressType));
1498 NDR_CHECK(ndr_push_ClientAddressType(ndr, NDR_SCALARS, &r->ClientAddress));
1499 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Padding, 12));
1500 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1501 }
1502 if (ndr_flags & NDR_BUFFERS) {
1503 }
1504 return NDR_ERR_SUCCESS;
1505}
1506
1507_PUBLIC_ enum ndr_err_code ndr_pull_ClientAddress(struct ndr_pull *ndr, int ndr_flags, struct ClientAddress *r)
1508{
1509 uint32_t size_Padding_0 = 0;
1510 if (ndr_flags & NDR_SCALARS) {
1511 NDR_CHECK(ndr_pull_align(ndr, 4));
1512 NDR_CHECK(ndr_pull_AddressType(ndr, NDR_SCALARS, &r->AddressType));
1513 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ClientAddress, r->AddressType));
1514 NDR_CHECK(ndr_pull_ClientAddressType(ndr, NDR_SCALARS, &r->ClientAddress));
1515 size_Padding_0 = 12;
1516 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Padding, size_Padding_0));
1517 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1518 }
1519 if (ndr_flags & NDR_BUFFERS) {
1520 }
1521 return NDR_ERR_SUCCESS;
1522}
1523
1524_PUBLIC_ void ndr_print_ClientAddress(struct ndr_print *ndr, const char *name, const struct ClientAddress *r)
1525{
1526 ndr_print_struct(ndr, name, "ClientAddress");
1527 if (r == NULL) { ndr_print_null(ndr); return; }
1528 ndr->depth++;
1529 ndr_print_AddressType(ndr, "AddressType", r->AddressType);
1530 ndr_print_set_switch_value(ndr, &r->ClientAddress, r->AddressType);
1531 ndr_print_ClientAddressType(ndr, "ClientAddress", &r->ClientAddress);
1532 ndr_print_array_uint8(ndr, "Padding", r->Padding, 12);
1533 ndr->depth--;
1534}
1535
1536_PUBLIC_ enum ndr_err_code ndr_push_ForwardDestination(struct ndr_push *ndr, int ndr_flags, enum ForwardDestination r)
1537{
1538 NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1539 return NDR_ERR_SUCCESS;
1540}
1541
1542_PUBLIC_ enum ndr_err_code ndr_pull_ForwardDestination(struct ndr_pull *ndr, int ndr_flags, enum ForwardDestination *r)
1543{
1544 uint32_t v;
1545 NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1546 *r = v;
1547 return NDR_ERR_SUCCESS;
1548}
1549
1550_PUBLIC_ void ndr_print_ForwardDestination(struct ndr_print *ndr, const char *name, enum ForwardDestination r)
1551{
1552 const char *val = NULL;
1553
1554 switch (r) {
1555 case FDClient: val = "FDClient"; break;
1556 case FDInProxy: val = "FDInProxy"; break;
1557 case FDServer: val = "FDServer"; break;
1558 case FDOutProxy: val = "FDOutProxy"; break;
1559 }
1560 ndr_print_enum(ndr, name, "ENUM", val, r);
1561}
1562
1563_PUBLIC_ enum ndr_err_code ndr_push_FlowControlAcknowledgment(struct ndr_push *ndr, int ndr_flags, const struct FlowControlAcknowledgment *r)
1564{
1565 if (ndr_flags & NDR_SCALARS) {
1566 NDR_CHECK(ndr_push_align(ndr, 4));
1567 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BytesReceived));
1568 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->AvailableWindow));
1569 NDR_CHECK(ndr_push_RTSCookie(ndr, NDR_SCALARS, &r->ChannelCookie));
1570 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1571 }
1572 if (ndr_flags & NDR_BUFFERS) {
1573 }
1574 return NDR_ERR_SUCCESS;
1575}
1576
1577_PUBLIC_ enum ndr_err_code ndr_pull_FlowControlAcknowledgment(struct ndr_pull *ndr, int ndr_flags, struct FlowControlAcknowledgment *r)
1578{
1579 if (ndr_flags & NDR_SCALARS) {
1580 NDR_CHECK(ndr_pull_align(ndr, 4));
1581 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BytesReceived));
1582 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->AvailableWindow));
1583 NDR_CHECK(ndr_pull_RTSCookie(ndr, NDR_SCALARS, &r->ChannelCookie));
1584 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1585 }
1586 if (ndr_flags & NDR_BUFFERS) {
1587 }
1588 return NDR_ERR_SUCCESS;
1589}
1590
1591_PUBLIC_ void ndr_print_FlowControlAcknowledgment(struct ndr_print *ndr, const char *name, const struct FlowControlAcknowledgment *r)
1592{
1593 ndr_print_struct(ndr, name, "FlowControlAcknowledgment");
1594 if (r == NULL) { ndr_print_null(ndr); return; }
1595 ndr->depth++;
1596 ndr_print_uint32(ndr, "BytesReceived", r->BytesReceived);
1597 ndr_print_uint32(ndr, "AvailableWindow", r->AvailableWindow);
1598 ndr_print_RTSCookie(ndr, "ChannelCookie", &r->ChannelCookie);
1599 ndr->depth--;
1600}
1601
1602_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_ReceiveWindowSize(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_ReceiveWindowSize *r)
1603{
1604 if (ndr_flags & NDR_SCALARS) {
1605 NDR_CHECK(ndr_push_align(ndr, 4));
1606 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ReceiveWindowSize));
1607 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1608 }
1609 if (ndr_flags & NDR_BUFFERS) {
1610 }
1611 return NDR_ERR_SUCCESS;
1612}
1613
1614_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ReceiveWindowSize(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ReceiveWindowSize *r)
1615{
1616 if (ndr_flags & NDR_SCALARS) {
1617 NDR_CHECK(ndr_pull_align(ndr, 4));
1618 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ReceiveWindowSize));
1619 if (r->ReceiveWindowSize > 0x40000) {
1620 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1621 }
1622 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1623 }
1624 if (ndr_flags & NDR_BUFFERS) {
1625 }
1626 return NDR_ERR_SUCCESS;
1627}
1628
1629_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ReceiveWindowSize(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ReceiveWindowSize *r)
1630{
1631 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ReceiveWindowSize");
1632 if (r == NULL) { ndr_print_null(ndr); return; }
1633 ndr->depth++;
1634 ndr_print_uint32(ndr, "ReceiveWindowSize", r->ReceiveWindowSize);
1635 ndr->depth--;
1636}
1637
1638_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_FlowControlAck(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_FlowControlAck *r)
1639{
1640 if (ndr_flags & NDR_SCALARS) {
1641 NDR_CHECK(ndr_push_align(ndr, 4));
1642 NDR_CHECK(ndr_push_FlowControlAcknowledgment(ndr, NDR_SCALARS, &r->Ack));
1643 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1644 }
1645 if (ndr_flags & NDR_BUFFERS) {
1646 }
1647 return NDR_ERR_SUCCESS;
1648}
1649
1650_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_FlowControlAck(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_FlowControlAck *r)
1651{
1652 if (ndr_flags & NDR_SCALARS) {
1653 NDR_CHECK(ndr_pull_align(ndr, 4));
1654 NDR_CHECK(ndr_pull_FlowControlAcknowledgment(ndr, NDR_SCALARS, &r->Ack));
1655 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1656 }
1657 if (ndr_flags & NDR_BUFFERS) {
1658 }
1659 return NDR_ERR_SUCCESS;
1660}
1661
1662_PUBLIC_ void ndr_print_dcerpc_rts_cmd_FlowControlAck(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_FlowControlAck *r)
1663{
1664 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_FlowControlAck");
1665 if (r == NULL) { ndr_print_null(ndr); return; }
1666 ndr->depth++;
1667 ndr_print_FlowControlAcknowledgment(ndr, "Ack", &r->Ack);
1668 ndr->depth--;
1669}
1670
1671_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_ConnectionTimeout(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_ConnectionTimeout *r)
1672{
1673 if (ndr_flags & NDR_SCALARS) {
1674 NDR_CHECK(ndr_push_align(ndr, 4));
1675 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ConnectionTimeout));
1676 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1677 }
1678 if (ndr_flags & NDR_BUFFERS) {
1679 }
1680 return NDR_ERR_SUCCESS;
1681}
1682
1683_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ConnectionTimeout(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ConnectionTimeout *r)
1684{
1685 if (ndr_flags & NDR_SCALARS) {
1686 NDR_CHECK(ndr_pull_align(ndr, 4));
1687 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ConnectionTimeout));
1688 if (r->ConnectionTimeout > 0xDBBA00) {
1689 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1690 }
1691 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1692 }
1693 if (ndr_flags & NDR_BUFFERS) {
1694 }
1695 return NDR_ERR_SUCCESS;
1696}
1697
1698_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ConnectionTimeout(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ConnectionTimeout *r)
1699{
1700 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ConnectionTimeout");
1701 if (r == NULL) { ndr_print_null(ndr); return; }
1702 ndr->depth++;
1703 ndr_print_uint32(ndr, "ConnectionTimeout", r->ConnectionTimeout);
1704 ndr->depth--;
1705}
1706
1707_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_Cookie(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_Cookie *r)
1708{
1709 if (ndr_flags & NDR_SCALARS) {
1710 NDR_CHECK(ndr_push_align(ndr, 4));
1711 NDR_CHECK(ndr_push_RTSCookie(ndr, NDR_SCALARS, &r->Cookie));
1712 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1713 }
1714 if (ndr_flags & NDR_BUFFERS) {
1715 }
1716 return NDR_ERR_SUCCESS;
1717}
1718
1719_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Cookie(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Cookie *r)
1720{
1721 if (ndr_flags & NDR_SCALARS) {
1722 NDR_CHECK(ndr_pull_align(ndr, 4));
1723 NDR_CHECK(ndr_pull_RTSCookie(ndr, NDR_SCALARS, &r->Cookie));
1724 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1725 }
1726 if (ndr_flags & NDR_BUFFERS) {
1727 }
1728 return NDR_ERR_SUCCESS;
1729}
1730
1731_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Cookie(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Cookie *r)
1732{
1733 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Cookie");
1734 if (r == NULL) { ndr_print_null(ndr); return; }
1735 ndr->depth++;
1736 ndr_print_RTSCookie(ndr, "Cookie", &r->Cookie);
1737 ndr->depth--;
1738}
1739
1740_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_ChannelLifetime(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_ChannelLifetime *r)
1741{
1742 if (ndr_flags & NDR_SCALARS) {
1743 NDR_CHECK(ndr_push_align(ndr, 4));
1744 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ChannelLifetime));
1745 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1746 }
1747 if (ndr_flags & NDR_BUFFERS) {
1748 }
1749 return NDR_ERR_SUCCESS;
1750}
1751
1752_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ChannelLifetime(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ChannelLifetime *r)
1753{
1754 if (ndr_flags & NDR_SCALARS) {
1755 NDR_CHECK(ndr_pull_align(ndr, 4));
1756 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ChannelLifetime));
1757 if (r->ChannelLifetime > 0x80000000) {
1758 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1759 }
1760 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1761 }
1762 if (ndr_flags & NDR_BUFFERS) {
1763 }
1764 return NDR_ERR_SUCCESS;
1765}
1766
1767_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ChannelLifetime(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ChannelLifetime *r)
1768{
1769 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ChannelLifetime");
1770 if (r == NULL) { ndr_print_null(ndr); return; }
1771 ndr->depth++;
1772 ndr_print_uint32(ndr, "ChannelLifetime", r->ChannelLifetime);
1773 ndr->depth--;
1774}
1775
1776_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_ClientKeepalive(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_ClientKeepalive *r)
1777{
1778 if (ndr_flags & NDR_SCALARS) {
1779 NDR_CHECK(ndr_push_align(ndr, 4));
1780 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ClientKeepalive));
1781 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1782 }
1783 if (ndr_flags & NDR_BUFFERS) {
1784 }
1785 return NDR_ERR_SUCCESS;
1786}
1787
1788_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ClientKeepalive(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ClientKeepalive *r)
1789{
1790 if (ndr_flags & NDR_SCALARS) {
1791 NDR_CHECK(ndr_pull_align(ndr, 4));
1792 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ClientKeepalive));
1793 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1794 }
1795 if (ndr_flags & NDR_BUFFERS) {
1796 }
1797 return NDR_ERR_SUCCESS;
1798}
1799
1800_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ClientKeepalive(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ClientKeepalive *r)
1801{
1802 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ClientKeepalive");
1803 if (r == NULL) { ndr_print_null(ndr); return; }
1804 ndr->depth++;
1805 ndr_print_uint32(ndr, "ClientKeepalive", r->ClientKeepalive);
1806 ndr->depth--;
1807}
1808
1809_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_Version(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_Version *r)
1810{
1811 if (ndr_flags & NDR_SCALARS) {
1812 NDR_CHECK(ndr_push_align(ndr, 4));
1813 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Version));
1814 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1815 }
1816 if (ndr_flags & NDR_BUFFERS) {
1817 }
1818 return NDR_ERR_SUCCESS;
1819}
1820
1821_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Version(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Version *r)
1822{
1823 if (ndr_flags & NDR_SCALARS) {
1824 NDR_CHECK(ndr_pull_align(ndr, 4));
1825 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Version));
1826 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1827 }
1828 if (ndr_flags & NDR_BUFFERS) {
1829 }
1830 return NDR_ERR_SUCCESS;
1831}
1832
1833_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Version(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Version *r)
1834{
1835 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Version");
1836 if (r == NULL) { ndr_print_null(ndr); return; }
1837 ndr->depth++;
1838 ndr_print_uint32(ndr, "Version", r->Version);
1839 ndr->depth--;
1840}
1841
1842_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_Empty(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_Empty *r)
1843{
1844 if (ndr_flags & NDR_SCALARS) {
1845 NDR_CHECK(ndr_push_align(ndr, 1));
1846 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1847 }
1848 if (ndr_flags & NDR_BUFFERS) {
1849 }
1850 return NDR_ERR_SUCCESS;
1851}
1852
1853_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Empty(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Empty *r)
1854{
1855 if (ndr_flags & NDR_SCALARS) {
1856 NDR_CHECK(ndr_pull_align(ndr, 1));
1857 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1858 }
1859 if (ndr_flags & NDR_BUFFERS) {
1860 }
1861 return NDR_ERR_SUCCESS;
1862}
1863
1864_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Empty(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Empty *r)
1865{
1866 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Empty");
1867 if (r == NULL) { ndr_print_null(ndr); return; }
1868 ndr->depth++;
1869 ndr->depth--;
1870}
1871
1872_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_Padding(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_Padding *r)
1873{
1874 if (ndr_flags & NDR_SCALARS) {
1875 NDR_CHECK(ndr_push_align(ndr, 4));
1876 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ConformanceCount));
1877 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Padding, r->ConformanceCount));
1878 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1879 }
1880 if (ndr_flags & NDR_BUFFERS) {
1881 }
1882 return NDR_ERR_SUCCESS;
1883}
1884
1885_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Padding(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Padding *r)
1886{
1887 uint32_t size_Padding_0 = 0;
1888 if (ndr_flags & NDR_SCALARS) {
1889 NDR_CHECK(ndr_pull_align(ndr, 4));
1890 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ConformanceCount));
1891 if (r->ConformanceCount > 0xFFFF) {
1892 return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1893 }
1894 size_Padding_0 = r->ConformanceCount;
1895 NDR_PULL_ALLOC_N(ndr, r->Padding, size_Padding_0);
1896 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Padding, size_Padding_0));
1897 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1898 }
1899 if (ndr_flags & NDR_BUFFERS) {
1900 }
1901 return NDR_ERR_SUCCESS;
1902}
1903
1904_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Padding(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Padding *r)
1905{
1906 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Padding");
1907 if (r == NULL) { ndr_print_null(ndr); return; }
1908 ndr->depth++;
1909 ndr_print_uint32(ndr, "ConformanceCount", r->ConformanceCount);
1910 ndr_print_array_uint8(ndr, "Padding", r->Padding, r->ConformanceCount);
1911 ndr->depth--;
1912}
1913
1914_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_NegativeANCE(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_NegativeANCE *r)
1915{
1916 if (ndr_flags & NDR_SCALARS) {
1917 NDR_CHECK(ndr_push_align(ndr, 1));
1918 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1919 }
1920 if (ndr_flags & NDR_BUFFERS) {
1921 }
1922 return NDR_ERR_SUCCESS;
1923}
1924
1925_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_NegativeANCE(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_NegativeANCE *r)
1926{
1927 if (ndr_flags & NDR_SCALARS) {
1928 NDR_CHECK(ndr_pull_align(ndr, 1));
1929 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1930 }
1931 if (ndr_flags & NDR_BUFFERS) {
1932 }
1933 return NDR_ERR_SUCCESS;
1934}
1935
1936_PUBLIC_ void ndr_print_dcerpc_rts_cmd_NegativeANCE(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_NegativeANCE *r)
1937{
1938 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_NegativeANCE");
1939 if (r == NULL) { ndr_print_null(ndr); return; }
1940 ndr->depth++;
1941 ndr->depth--;
1942}
1943
1944_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_ANCE(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_ANCE *r)
1945{
1946 if (ndr_flags & NDR_SCALARS) {
1947 NDR_CHECK(ndr_push_align(ndr, 1));
1948 NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1949 }
1950 if (ndr_flags & NDR_BUFFERS) {
1951 }
1952 return NDR_ERR_SUCCESS;
1953}
1954
1955_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ANCE(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ANCE *r)
1956{
1957 if (ndr_flags & NDR_SCALARS) {
1958 NDR_CHECK(ndr_pull_align(ndr, 1));
1959 NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1960 }
1961 if (ndr_flags & NDR_BUFFERS) {
1962 }
1963 return NDR_ERR_SUCCESS;
1964}
1965
1966_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ANCE(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ANCE *r)
1967{
1968 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ANCE");
1969 if (r == NULL) { ndr_print_null(ndr); return; }
1970 ndr->depth++;
1971 ndr->depth--;
1972}
1973
1974_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_ClientAddress(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_ClientAddress *r)
1975{
1976 if (ndr_flags & NDR_SCALARS) {
1977 NDR_CHECK(ndr_push_align(ndr, 4));
1978 NDR_CHECK(ndr_push_ClientAddress(ndr, NDR_SCALARS, &r->ClientAddress));
1979 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1980 }
1981 if (ndr_flags & NDR_BUFFERS) {
1982 }
1983 return NDR_ERR_SUCCESS;
1984}
1985
1986_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ClientAddress(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ClientAddress *r)
1987{
1988 if (ndr_flags & NDR_SCALARS) {
1989 NDR_CHECK(ndr_pull_align(ndr, 4));
1990 NDR_CHECK(ndr_pull_ClientAddress(ndr, NDR_SCALARS, &r->ClientAddress));
1991 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1992 }
1993 if (ndr_flags & NDR_BUFFERS) {
1994 }
1995 return NDR_ERR_SUCCESS;
1996}
1997
1998_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ClientAddress(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ClientAddress *r)
1999{
2000 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ClientAddress");
2001 if (r == NULL) { ndr_print_null(ndr); return; }
2002 ndr->depth++;
2003 ndr_print_ClientAddress(ndr, "ClientAddress", &r->ClientAddress);
2004 ndr->depth--;
2005}
2006
2007_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_AssociationGroupId(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_AssociationGroupId *r)
2008{
2009 if (ndr_flags & NDR_SCALARS) {
2010 NDR_CHECK(ndr_push_align(ndr, 4));
2011 NDR_CHECK(ndr_push_RTSCookie(ndr, NDR_SCALARS, &r->AssociationGroupId));
2012 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2013 }
2014 if (ndr_flags & NDR_BUFFERS) {
2015 }
2016 return NDR_ERR_SUCCESS;
2017}
2018
2019_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_AssociationGroupId(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_AssociationGroupId *r)
2020{
2021 if (ndr_flags & NDR_SCALARS) {
2022 NDR_CHECK(ndr_pull_align(ndr, 4));
2023 NDR_CHECK(ndr_pull_RTSCookie(ndr, NDR_SCALARS, &r->AssociationGroupId));
2024 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2025 }
2026 if (ndr_flags & NDR_BUFFERS) {
2027 }
2028 return NDR_ERR_SUCCESS;
2029}
2030
2031_PUBLIC_ void ndr_print_dcerpc_rts_cmd_AssociationGroupId(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_AssociationGroupId *r)
2032{
2033 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_AssociationGroupId");
2034 if (r == NULL) { ndr_print_null(ndr); return; }
2035 ndr->depth++;
2036 ndr_print_RTSCookie(ndr, "AssociationGroupId", &r->AssociationGroupId);
2037 ndr->depth--;
2038}
2039
2040_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_Destination(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_Destination *r)
2041{
2042 if (ndr_flags & NDR_SCALARS) {
2043 NDR_CHECK(ndr_push_align(ndr, 4));
2044 NDR_CHECK(ndr_push_ForwardDestination(ndr, NDR_SCALARS, r->ForwardDestination));
2045 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2046 }
2047 if (ndr_flags & NDR_BUFFERS) {
2048 }
2049 return NDR_ERR_SUCCESS;
2050}
2051
2052_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Destination(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Destination *r)
2053{
2054 if (ndr_flags & NDR_SCALARS) {
2055 NDR_CHECK(ndr_pull_align(ndr, 4));
2056 NDR_CHECK(ndr_pull_ForwardDestination(ndr, NDR_SCALARS, &r->ForwardDestination));
2057 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2058 }
2059 if (ndr_flags & NDR_BUFFERS) {
2060 }
2061 return NDR_ERR_SUCCESS;
2062}
2063
2064_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Destination(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Destination *r)
2065{
2066 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Destination");
2067 if (r == NULL) { ndr_print_null(ndr); return; }
2068 ndr->depth++;
2069 ndr_print_ForwardDestination(ndr, "ForwardDestination", r->ForwardDestination);
2070 ndr->depth--;
2071}
2072
2073_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd_PingTrafficSentNotify(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd_PingTrafficSentNotify *r)
2074{
2075 if (ndr_flags & NDR_SCALARS) {
2076 NDR_CHECK(ndr_push_align(ndr, 4));
2077 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PingTrafficSent));
2078 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2079 }
2080 if (ndr_flags & NDR_BUFFERS) {
2081 }
2082 return NDR_ERR_SUCCESS;
2083}
2084
2085_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_PingTrafficSentNotify(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_PingTrafficSentNotify *r)
2086{
2087 if (ndr_flags & NDR_SCALARS) {
2088 NDR_CHECK(ndr_pull_align(ndr, 4));
2089 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PingTrafficSent));
2090 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2091 }
2092 if (ndr_flags & NDR_BUFFERS) {
2093 }
2094 return NDR_ERR_SUCCESS;
2095}
2096
2097_PUBLIC_ void ndr_print_dcerpc_rts_cmd_PingTrafficSentNotify(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_PingTrafficSentNotify *r)
2098{
2099 ndr_print_struct(ndr, name, "dcerpc_rts_cmd_PingTrafficSentNotify");
2100 if (r == NULL) { ndr_print_null(ndr); return; }
2101 ndr->depth++;
2102 ndr_print_uint32(ndr, "PingTrafficSent", r->PingTrafficSent);
2103 ndr->depth--;
2104}
2105
2106static enum ndr_err_code ndr_push_dcerpc_rts_cmds(struct ndr_push *ndr, int ndr_flags, const union dcerpc_rts_cmds *r)
2107{
2108 if (ndr_flags & NDR_SCALARS) {
2109 uint32_t level = ndr_push_get_switch_value(ndr, r);
2110 NDR_CHECK(ndr_push_union_align(ndr, 4));
2111 switch (level) {
2112 case 0x0: {
2113 NDR_CHECK(ndr_push_dcerpc_rts_cmd_ReceiveWindowSize(ndr, NDR_SCALARS, &r->ReceiveWindowSize));
2114 break; }
2115
2116 case 0x1: {
2117 NDR_CHECK(ndr_push_dcerpc_rts_cmd_FlowControlAck(ndr, NDR_SCALARS, &r->FlowControlAck));
2118 break; }
2119
2120 case 0x2: {
2121 NDR_CHECK(ndr_push_dcerpc_rts_cmd_ConnectionTimeout(ndr, NDR_SCALARS, &r->ConnectionTimeout));
2122 break; }
2123
2124 case 0x3: {
2125 NDR_CHECK(ndr_push_dcerpc_rts_cmd_Cookie(ndr, NDR_SCALARS, &r->Cookie));
2126 break; }
2127
2128 case 0x4: {
2129 NDR_CHECK(ndr_push_dcerpc_rts_cmd_ChannelLifetime(ndr, NDR_SCALARS, &r->ChannelLifetime));
2130 break; }
2131
2132 case 0x5: {
2133 NDR_CHECK(ndr_push_dcerpc_rts_cmd_ClientKeepalive(ndr, NDR_SCALARS, &r->ClientKeepalive));
2134 break; }
2135
2136 case 0x6: {
2137 NDR_CHECK(ndr_push_dcerpc_rts_cmd_Version(ndr, NDR_SCALARS, &r->Version));
2138 break; }
2139
2140 case 0x7: {
2141 NDR_CHECK(ndr_push_dcerpc_rts_cmd_Empty(ndr, NDR_SCALARS, &r->Empty));
2142 break; }
2143
2144 case 0x8: {
2145 NDR_CHECK(ndr_push_dcerpc_rts_cmd_Padding(ndr, NDR_SCALARS, &r->Padding));
2146 break; }
2147
2148 case 0x9: {
2149 NDR_CHECK(ndr_push_dcerpc_rts_cmd_NegativeANCE(ndr, NDR_SCALARS, &r->NegativeANCE));
2150 break; }
2151
2152 case 0xA: {
2153 NDR_CHECK(ndr_push_dcerpc_rts_cmd_ANCE(ndr, NDR_SCALARS, &r->ANCE));
2154 break; }
2155
2156 case 0xB: {
2157 NDR_CHECK(ndr_push_dcerpc_rts_cmd_ClientAddress(ndr, NDR_SCALARS, &r->ClientAddress));
2158 break; }
2159
2160 case 0xC: {
2161 NDR_CHECK(ndr_push_dcerpc_rts_cmd_AssociationGroupId(ndr, NDR_SCALARS, &r->AssociationGroupId));
2162 break; }
2163
2164 case 0xD: {
2165 NDR_CHECK(ndr_push_dcerpc_rts_cmd_Destination(ndr, NDR_SCALARS, &r->Destination));
2166 break; }
2167
2168 case 0xE: {
2169 NDR_CHECK(ndr_push_dcerpc_rts_cmd_PingTrafficSentNotify(ndr, NDR_SCALARS, &r->PingTrafficSentNotify));
2170 break; }
2171
2172 default:
2173 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2174 }
2175 }
2176 if (ndr_flags & NDR_BUFFERS) {
2177 uint32_t level = ndr_push_get_switch_value(ndr, r);
2178 switch (level) {
2179 case 0x0:
2180 break;
2181
2182 case 0x1:
2183 break;
2184
2185 case 0x2:
2186 break;
2187
2188 case 0x3:
2189 break;
2190
2191 case 0x4:
2192 break;
2193
2194 case 0x5:
2195 break;
2196
2197 case 0x6:
2198 break;
2199
2200 case 0x7:
2201 break;
2202
2203 case 0x8:
2204 break;
2205
2206 case 0x9:
2207 break;
2208
2209 case 0xA:
2210 break;
2211
2212 case 0xB:
2213 break;
2214
2215 case 0xC:
2216 break;
2217
2218 case 0xD:
2219 break;
2220
2221 case 0xE:
2222 break;
2223
2224 default:
2225 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2226 }
2227 }
2228 return NDR_ERR_SUCCESS;
2229}
2230
2231static enum ndr_err_code ndr_pull_dcerpc_rts_cmds(struct ndr_pull *ndr, int ndr_flags, union dcerpc_rts_cmds *r)
2232{
2233 uint32_t level;
2234 level = ndr_pull_get_switch_value(ndr, r);
2235 if (ndr_flags & NDR_SCALARS) {
2236 NDR_CHECK(ndr_pull_union_align(ndr, 4));
2237 switch (level) {
2238 case 0x0: {
2239 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ReceiveWindowSize(ndr, NDR_SCALARS, &r->ReceiveWindowSize));
2240 break; }
2241
2242 case 0x1: {
2243 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_FlowControlAck(ndr, NDR_SCALARS, &r->FlowControlAck));
2244 break; }
2245
2246 case 0x2: {
2247 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ConnectionTimeout(ndr, NDR_SCALARS, &r->ConnectionTimeout));
2248 break; }
2249
2250 case 0x3: {
2251 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Cookie(ndr, NDR_SCALARS, &r->Cookie));
2252 break; }
2253
2254 case 0x4: {
2255 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ChannelLifetime(ndr, NDR_SCALARS, &r->ChannelLifetime));
2256 break; }
2257
2258 case 0x5: {
2259 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ClientKeepalive(ndr, NDR_SCALARS, &r->ClientKeepalive));
2260 break; }
2261
2262 case 0x6: {
2263 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Version(ndr, NDR_SCALARS, &r->Version));
2264 break; }
2265
2266 case 0x7: {
2267 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Empty(ndr, NDR_SCALARS, &r->Empty));
2268 break; }
2269
2270 case 0x8: {
2271 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Padding(ndr, NDR_SCALARS, &r->Padding));
2272 break; }
2273
2274 case 0x9: {
2275 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_NegativeANCE(ndr, NDR_SCALARS, &r->NegativeANCE));
2276 break; }
2277
2278 case 0xA: {
2279 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ANCE(ndr, NDR_SCALARS, &r->ANCE));
2280 break; }
2281
2282 case 0xB: {
2283 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ClientAddress(ndr, NDR_SCALARS, &r->ClientAddress));
2284 break; }
2285
2286 case 0xC: {
2287 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_AssociationGroupId(ndr, NDR_SCALARS, &r->AssociationGroupId));
2288 break; }
2289
2290 case 0xD: {
2291 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Destination(ndr, NDR_SCALARS, &r->Destination));
2292 break; }
2293
2294 case 0xE: {
2295 NDR_CHECK(ndr_pull_dcerpc_rts_cmd_PingTrafficSentNotify(ndr, NDR_SCALARS, &r->PingTrafficSentNotify));
2296 break; }
2297
2298 default:
2299 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2300 }
2301 }
2302 if (ndr_flags & NDR_BUFFERS) {
2303 switch (level) {
2304 case 0x0:
2305 break;
2306
2307 case 0x1:
2308 break;
2309
2310 case 0x2:
2311 break;
2312
2313 case 0x3:
2314 break;
2315
2316 case 0x4:
2317 break;
2318
2319 case 0x5:
2320 break;
2321
2322 case 0x6:
2323 break;
2324
2325 case 0x7:
2326 break;
2327
2328 case 0x8:
2329 break;
2330
2331 case 0x9:
2332 break;
2333
2334 case 0xA:
2335 break;
2336
2337 case 0xB:
2338 break;
2339
2340 case 0xC:
2341 break;
2342
2343 case 0xD:
2344 break;
2345
2346 case 0xE:
2347 break;
2348
2349 default:
2350 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2351 }
2352 }
2353 return NDR_ERR_SUCCESS;
2354}
2355
2356_PUBLIC_ void ndr_print_dcerpc_rts_cmds(struct ndr_print *ndr, const char *name, const union dcerpc_rts_cmds *r)
2357{
2358 uint32_t level;
2359 level = ndr_print_get_switch_value(ndr, r);
2360 ndr_print_union(ndr, name, level, "dcerpc_rts_cmds");
2361 switch (level) {
2362 case 0x0:
2363 ndr_print_dcerpc_rts_cmd_ReceiveWindowSize(ndr, "ReceiveWindowSize", &r->ReceiveWindowSize);
2364 break;
2365
2366 case 0x1:
2367 ndr_print_dcerpc_rts_cmd_FlowControlAck(ndr, "FlowControlAck", &r->FlowControlAck);
2368 break;
2369
2370 case 0x2:
2371 ndr_print_dcerpc_rts_cmd_ConnectionTimeout(ndr, "ConnectionTimeout", &r->ConnectionTimeout);
2372 break;
2373
2374 case 0x3:
2375 ndr_print_dcerpc_rts_cmd_Cookie(ndr, "Cookie", &r->Cookie);
2376 break;
2377
2378 case 0x4:
2379 ndr_print_dcerpc_rts_cmd_ChannelLifetime(ndr, "ChannelLifetime", &r->ChannelLifetime);
2380 break;
2381
2382 case 0x5:
2383 ndr_print_dcerpc_rts_cmd_ClientKeepalive(ndr, "ClientKeepalive", &r->ClientKeepalive);
2384 break;
2385
2386 case 0x6:
2387 ndr_print_dcerpc_rts_cmd_Version(ndr, "Version", &r->Version);
2388 break;
2389
2390 case 0x7:
2391 ndr_print_dcerpc_rts_cmd_Empty(ndr, "Empty", &r->Empty);
2392 break;
2393
2394 case 0x8:
2395 ndr_print_dcerpc_rts_cmd_Padding(ndr, "Padding", &r->Padding);
2396 break;
2397
2398 case 0x9:
2399 ndr_print_dcerpc_rts_cmd_NegativeANCE(ndr, "NegativeANCE", &r->NegativeANCE);
2400 break;
2401
2402 case 0xA:
2403 ndr_print_dcerpc_rts_cmd_ANCE(ndr, "ANCE", &r->ANCE);
2404 break;
2405
2406 case 0xB:
2407 ndr_print_dcerpc_rts_cmd_ClientAddress(ndr, "ClientAddress", &r->ClientAddress);
2408 break;
2409
2410 case 0xC:
2411 ndr_print_dcerpc_rts_cmd_AssociationGroupId(ndr, "AssociationGroupId", &r->AssociationGroupId);
2412 break;
2413
2414 case 0xD:
2415 ndr_print_dcerpc_rts_cmd_Destination(ndr, "Destination", &r->Destination);
2416 break;
2417
2418 case 0xE:
2419 ndr_print_dcerpc_rts_cmd_PingTrafficSentNotify(ndr, "PingTrafficSentNotify", &r->PingTrafficSentNotify);
2420 break;
2421
2422 default:
2423 ndr_print_bad_level(ndr, name, level);
2424 }
2425}
2426
2427_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd *r)
2428{
2429 if (ndr_flags & NDR_SCALARS) {
2430 NDR_CHECK(ndr_push_align(ndr, 4));
2431 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CommandType));
2432 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->Command, r->CommandType));
2433 NDR_CHECK(ndr_push_dcerpc_rts_cmds(ndr, NDR_SCALARS, &r->Command));
2434 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2435 }
2436 if (ndr_flags & NDR_BUFFERS) {
2437 }
2438 return NDR_ERR_SUCCESS;
2439}
2440
2441_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd *r)
2442{
2443 if (ndr_flags & NDR_SCALARS) {
2444 NDR_CHECK(ndr_pull_align(ndr, 4));
2445 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CommandType));
2446 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->Command, r->CommandType));
2447 NDR_CHECK(ndr_pull_dcerpc_rts_cmds(ndr, NDR_SCALARS, &r->Command));
2448 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2449 }
2450 if (ndr_flags & NDR_BUFFERS) {
2451 }
2452 return NDR_ERR_SUCCESS;
2453}
2454
2455_PUBLIC_ void ndr_print_dcerpc_rts_cmd(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd *r)
2456{
2457 ndr_print_struct(ndr, name, "dcerpc_rts_cmd");
2458 if (r == NULL) { ndr_print_null(ndr); return; }
2459 ndr->depth++;
2460 ndr_print_uint32(ndr, "CommandType", r->CommandType);
2461 ndr_print_set_switch_value(ndr, &r->Command, r->CommandType);
2462 ndr_print_dcerpc_rts_cmds(ndr, "Command", &r->Command);
2463 ndr->depth--;
2464}
2465
2466_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_flags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
2467{
2468 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
2469 return NDR_ERR_SUCCESS;
2470}
2471
2472_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_flags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
2473{
2474 uint16_t v;
2475 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
2476 *r = v;
2477 return NDR_ERR_SUCCESS;
2478}
2479
2480_PUBLIC_ void ndr_print_dcerpc_rts_flags(struct ndr_print *ndr, const char *name, uint16_t r)
2481{
2482 ndr_print_uint16(ndr, name, r);
2483 ndr->depth++;
2484 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_NONE", RTS_FLAG_NONE, r);
2485 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_PING", RTS_FLAG_PING, r);
2486 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_OTHER_CMD", RTS_FLAG_OTHER_CMD, r);
2487 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_RECYCLE_CHANNEL", RTS_FLAG_RECYCLE_CHANNEL, r);
2488 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_IN_CHANNEL", RTS_FLAG_IN_CHANNEL, r);
2489 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_OUT_CHANNEL", RTS_FLAG_OUT_CHANNEL, r);
2490 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_EOF", RTS_FLAG_EOF, r);
2491 ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_ECHO", RTS_FLAG_ECHO, r);
2492 ndr->depth--;
2493}
2494
2495_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts *r)
2496{
2497 uint32_t cntr_Commands_0;
2498 if (ndr_flags & NDR_SCALARS) {
2499 NDR_CHECK(ndr_push_align(ndr, 4));
2500 NDR_CHECK(ndr_push_dcerpc_rts_flags(ndr, NDR_SCALARS, r->Flags));
2501 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->NumberOfCommands));
2502 for (cntr_Commands_0 = 0; cntr_Commands_0 < r->NumberOfCommands; cntr_Commands_0++) {
2503 NDR_CHECK(ndr_push_dcerpc_rts_cmd(ndr, NDR_SCALARS, &r->Commands[cntr_Commands_0]));
2504 }
2505 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2506 }
2507 if (ndr_flags & NDR_BUFFERS) {
2508 }
2509 return NDR_ERR_SUCCESS;
2510}
2511
2512_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts *r)
2513{
2514 uint32_t size_Commands_0 = 0;
2515 uint32_t cntr_Commands_0;
2516 TALLOC_CTX *_mem_save_Commands_0;
2517 if (ndr_flags & NDR_SCALARS) {
2518 NDR_CHECK(ndr_pull_align(ndr, 4));
2519 NDR_CHECK(ndr_pull_dcerpc_rts_flags(ndr, NDR_SCALARS, &r->Flags));
2520 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->NumberOfCommands));
2521 size_Commands_0 = r->NumberOfCommands;
2522 NDR_PULL_ALLOC_N(ndr, r->Commands, size_Commands_0);
2523 _mem_save_Commands_0 = NDR_PULL_GET_MEM_CTX(ndr);
2524 NDR_PULL_SET_MEM_CTX(ndr, r->Commands, 0);
2525 for (cntr_Commands_0 = 0; cntr_Commands_0 < size_Commands_0; cntr_Commands_0++) {
2526 NDR_CHECK(ndr_pull_dcerpc_rts_cmd(ndr, NDR_SCALARS, &r->Commands[cntr_Commands_0]));
2527 }
2528 NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Commands_0, 0);
2529 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2530 }
2531 if (ndr_flags & NDR_BUFFERS) {
2532 }
2533 return NDR_ERR_SUCCESS;
2534}
2535
2536_PUBLIC_ void ndr_print_dcerpc_rts(struct ndr_print *ndr, const char *name, const struct dcerpc_rts *r)
2537{
2538 uint32_t cntr_Commands_0;
2539 ndr_print_struct(ndr, name, "dcerpc_rts");
2540 if (r == NULL) { ndr_print_null(ndr); return; }
2541 ndr->depth++;
2542 ndr_print_dcerpc_rts_flags(ndr, "Flags", r->Flags);
2543 ndr_print_uint16(ndr, "NumberOfCommands", r->NumberOfCommands);
2544 ndr->print(ndr, "%s: ARRAY(%d)", "Commands", (int)r->NumberOfCommands);
2545 ndr->depth++;
2546 for (cntr_Commands_0=0;cntr_Commands_0<r->NumberOfCommands;cntr_Commands_0++) {
2547 ndr_print_dcerpc_rts_cmd(ndr, "Commands", &r->Commands[cntr_Commands_0]);
2548 }
2549 ndr->depth--;
2550 ndr->depth--;
2551}
2552
2553static enum ndr_err_code ndr_push_dcerpc_pkt_type(struct ndr_push *ndr, int ndr_flags, enum dcerpc_pkt_type r)
2554{
2555 NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
2556 return NDR_ERR_SUCCESS;
2557}
2558
2559static enum ndr_err_code ndr_pull_dcerpc_pkt_type(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_pkt_type *r)
2560{
2561 uint8_t v;
2562 NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
2563 *r = v;
2564 return NDR_ERR_SUCCESS;
2565}
2566
2567_PUBLIC_ void ndr_print_dcerpc_pkt_type(struct ndr_print *ndr, const char *name, enum dcerpc_pkt_type r)
2568{
2569 const char *val = NULL;
2570
2571 switch (r) {
2572 case DCERPC_PKT_REQUEST: val = "DCERPC_PKT_REQUEST"; break;
2573 case DCERPC_PKT_PING: val = "DCERPC_PKT_PING"; break;
2574 case DCERPC_PKT_RESPONSE: val = "DCERPC_PKT_RESPONSE"; break;
2575 case DCERPC_PKT_FAULT: val = "DCERPC_PKT_FAULT"; break;
2576 case DCERPC_PKT_WORKING: val = "DCERPC_PKT_WORKING"; break;
2577 case DCERPC_PKT_NOCALL: val = "DCERPC_PKT_NOCALL"; break;
2578 case DCERPC_PKT_REJECT: val = "DCERPC_PKT_REJECT"; break;
2579 case DCERPC_PKT_ACK: val = "DCERPC_PKT_ACK"; break;
2580 case DCERPC_PKT_CL_CANCEL: val = "DCERPC_PKT_CL_CANCEL"; break;
2581 case DCERPC_PKT_FACK: val = "DCERPC_PKT_FACK"; break;
2582 case DCERPC_PKT_CANCEL_ACK: val = "DCERPC_PKT_CANCEL_ACK"; break;
2583 case DCERPC_PKT_BIND: val = "DCERPC_PKT_BIND"; break;
2584 case DCERPC_PKT_BIND_ACK: val = "DCERPC_PKT_BIND_ACK"; break;
2585 case DCERPC_PKT_BIND_NAK: val = "DCERPC_PKT_BIND_NAK"; break;
2586 case DCERPC_PKT_ALTER: val = "DCERPC_PKT_ALTER"; break;
2587 case DCERPC_PKT_ALTER_RESP: val = "DCERPC_PKT_ALTER_RESP"; break;
2588 case DCERPC_PKT_AUTH3: val = "DCERPC_PKT_AUTH3"; break;
2589 case DCERPC_PKT_SHUTDOWN: val = "DCERPC_PKT_SHUTDOWN"; break;
2590 case DCERPC_PKT_CO_CANCEL: val = "DCERPC_PKT_CO_CANCEL"; break;
2591 case DCERPC_PKT_ORPHANED: val = "DCERPC_PKT_ORPHANED"; break;
2592 case DCERPC_PKT_RTS: val = "DCERPC_PKT_RTS"; break;
2593 }
2594 ndr_print_enum(ndr, name, "ENUM", val, r);
2595}
2596
2597static enum ndr_err_code ndr_push_dcerpc_payload(struct ndr_push *ndr, int ndr_flags, const union dcerpc_payload *r)
2598{
2599 if (ndr_flags & NDR_SCALARS) {
2600 uint32_t level = ndr_push_get_switch_value(ndr, r);
2601 NDR_CHECK(ndr_push_union_align(ndr, 4));
2602 switch (level) {
2603 case DCERPC_PKT_REQUEST: {
2604 NDR_CHECK(ndr_push_dcerpc_request(ndr, NDR_SCALARS, &r->request));
2605 break; }
2606
2607 case DCERPC_PKT_PING: {
2608 NDR_CHECK(ndr_push_dcerpc_ping(ndr, NDR_SCALARS, &r->ping));
2609 break; }
2610
2611 case DCERPC_PKT_RESPONSE: {
2612 NDR_CHECK(ndr_push_dcerpc_response(ndr, NDR_SCALARS, &r->response));
2613 break; }
2614
2615 case DCERPC_PKT_FAULT: {
2616 NDR_CHECK(ndr_push_dcerpc_fault(ndr, NDR_SCALARS, &r->fault));
2617 break; }
2618
2619 case DCERPC_PKT_WORKING: {
2620 NDR_CHECK(ndr_push_dcerpc_working(ndr, NDR_SCALARS, &r->working));
2621 break; }
2622
2623 case DCERPC_PKT_NOCALL: {
2624 NDR_CHECK(ndr_push_dcerpc_fack(ndr, NDR_SCALARS, &r->nocall));
2625 break; }
2626
2627 case DCERPC_PKT_REJECT: {
2628 NDR_CHECK(ndr_push_dcerpc_fault(ndr, NDR_SCALARS, &r->reject));
2629 break; }
2630
2631 case DCERPC_PKT_ACK: {
2632 NDR_CHECK(ndr_push_dcerpc_ack(ndr, NDR_SCALARS, &r->ack));
2633 break; }
2634
2635 case DCERPC_PKT_CL_CANCEL: {
2636 NDR_CHECK(ndr_push_dcerpc_cl_cancel(ndr, NDR_SCALARS, &r->cl_cancel));
2637 break; }
2638
2639 case DCERPC_PKT_FACK: {
2640 NDR_CHECK(ndr_push_dcerpc_fack(ndr, NDR_SCALARS, &r->fack));
2641 break; }
2642
2643 case DCERPC_PKT_CANCEL_ACK: {
2644 NDR_CHECK(ndr_push_dcerpc_cancel_ack(ndr, NDR_SCALARS, &r->cancel_ack));
2645 break; }
2646
2647 case DCERPC_PKT_BIND: {
2648 NDR_CHECK(ndr_push_dcerpc_bind(ndr, NDR_SCALARS, &r->bind));
2649 break; }
2650
2651 case DCERPC_PKT_BIND_ACK: {
2652 NDR_CHECK(ndr_push_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->bind_ack));
2653 break; }
2654
2655 case DCERPC_PKT_BIND_NAK: {
2656 NDR_CHECK(ndr_push_dcerpc_bind_nak(ndr, NDR_SCALARS, &r->bind_nak));
2657 break; }
2658
2659 case DCERPC_PKT_ALTER: {
2660 NDR_CHECK(ndr_push_dcerpc_bind(ndr, NDR_SCALARS, &r->alter));
2661 break; }
2662
2663 case DCERPC_PKT_ALTER_RESP: {
2664 NDR_CHECK(ndr_push_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->alter_resp));
2665 break; }
2666
2667 case DCERPC_PKT_SHUTDOWN: {
2668 NDR_CHECK(ndr_push_dcerpc_shutdown(ndr, NDR_SCALARS, &r->shutdown));
2669 break; }
2670
2671 case DCERPC_PKT_CO_CANCEL: {
2672 NDR_CHECK(ndr_push_dcerpc_co_cancel(ndr, NDR_SCALARS, &r->co_cancel));
2673 break; }
2674
2675 case DCERPC_PKT_ORPHANED: {
2676 NDR_CHECK(ndr_push_dcerpc_orphaned(ndr, NDR_SCALARS, &r->orphaned));
2677 break; }
2678
2679 case DCERPC_PKT_AUTH3: {
2680 NDR_CHECK(ndr_push_dcerpc_auth3(ndr, NDR_SCALARS, &r->auth3));
2681 break; }
2682
2683 case DCERPC_PKT_RTS: {
2684 NDR_CHECK(ndr_push_dcerpc_rts(ndr, NDR_SCALARS, &r->rts));
2685 break; }
2686
2687 default:
2688 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2689 }
2690 }
2691 if (ndr_flags & NDR_BUFFERS) {
2692 uint32_t level = ndr_push_get_switch_value(ndr, r);
2693 switch (level) {
2694 case DCERPC_PKT_REQUEST:
2695 break;
2696
2697 case DCERPC_PKT_PING:
2698 break;
2699
2700 case DCERPC_PKT_RESPONSE:
2701 break;
2702
2703 case DCERPC_PKT_FAULT:
2704 break;
2705
2706 case DCERPC_PKT_WORKING:
2707 break;
2708
2709 case DCERPC_PKT_NOCALL:
2710 break;
2711
2712 case DCERPC_PKT_REJECT:
2713 break;
2714
2715 case DCERPC_PKT_ACK:
2716 break;
2717
2718 case DCERPC_PKT_CL_CANCEL:
2719 break;
2720
2721 case DCERPC_PKT_FACK:
2722 break;
2723
2724 case DCERPC_PKT_CANCEL_ACK:
2725 break;
2726
2727 case DCERPC_PKT_BIND:
2728 break;
2729
2730 case DCERPC_PKT_BIND_ACK:
2731 break;
2732
2733 case DCERPC_PKT_BIND_NAK:
2734 NDR_CHECK(ndr_push_dcerpc_bind_nak(ndr, NDR_BUFFERS, &r->bind_nak));
2735 break;
2736
2737 case DCERPC_PKT_ALTER:
2738 break;
2739
2740 case DCERPC_PKT_ALTER_RESP:
2741 break;
2742
2743 case DCERPC_PKT_SHUTDOWN:
2744 break;
2745
2746 case DCERPC_PKT_CO_CANCEL:
2747 break;
2748
2749 case DCERPC_PKT_ORPHANED:
2750 break;
2751
2752 case DCERPC_PKT_AUTH3:
2753 break;
2754
2755 case DCERPC_PKT_RTS:
2756 break;
2757
2758 default:
2759 return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2760 }
2761 }
2762 return NDR_ERR_SUCCESS;
2763}
2764
2765static enum ndr_err_code ndr_pull_dcerpc_payload(struct ndr_pull *ndr, int ndr_flags, union dcerpc_payload *r)
2766{
2767 uint32_t level;
2768 level = ndr_pull_get_switch_value(ndr, r);
2769 if (ndr_flags & NDR_SCALARS) {
2770 NDR_CHECK(ndr_pull_union_align(ndr, 4));
2771 switch (level) {
2772 case DCERPC_PKT_REQUEST: {
2773 NDR_CHECK(ndr_pull_dcerpc_request(ndr, NDR_SCALARS, &r->request));
2774 break; }
2775
2776 case DCERPC_PKT_PING: {
2777 NDR_CHECK(ndr_pull_dcerpc_ping(ndr, NDR_SCALARS, &r->ping));
2778 break; }
2779
2780 case DCERPC_PKT_RESPONSE: {
2781 NDR_CHECK(ndr_pull_dcerpc_response(ndr, NDR_SCALARS, &r->response));
2782 break; }
2783
2784 case DCERPC_PKT_FAULT: {
2785 NDR_CHECK(ndr_pull_dcerpc_fault(ndr, NDR_SCALARS, &r->fault));
2786 break; }
2787
2788 case DCERPC_PKT_WORKING: {
2789 NDR_CHECK(ndr_pull_dcerpc_working(ndr, NDR_SCALARS, &r->working));
2790 break; }
2791
2792 case DCERPC_PKT_NOCALL: {
2793 NDR_CHECK(ndr_pull_dcerpc_fack(ndr, NDR_SCALARS, &r->nocall));
2794 break; }
2795
2796 case DCERPC_PKT_REJECT: {
2797 NDR_CHECK(ndr_pull_dcerpc_fault(ndr, NDR_SCALARS, &r->reject));
2798 break; }
2799
2800 case DCERPC_PKT_ACK: {
2801 NDR_CHECK(ndr_pull_dcerpc_ack(ndr, NDR_SCALARS, &r->ack));
2802 break; }
2803
2804 case DCERPC_PKT_CL_CANCEL: {
2805 NDR_CHECK(ndr_pull_dcerpc_cl_cancel(ndr, NDR_SCALARS, &r->cl_cancel));
2806 break; }
2807
2808 case DCERPC_PKT_FACK: {
2809 NDR_CHECK(ndr_pull_dcerpc_fack(ndr, NDR_SCALARS, &r->fack));
2810 break; }
2811
2812 case DCERPC_PKT_CANCEL_ACK: {
2813 NDR_CHECK(ndr_pull_dcerpc_cancel_ack(ndr, NDR_SCALARS, &r->cancel_ack));
2814 break; }
2815
2816 case DCERPC_PKT_BIND: {
2817 NDR_CHECK(ndr_pull_dcerpc_bind(ndr, NDR_SCALARS, &r->bind));
2818 break; }
2819
2820 case DCERPC_PKT_BIND_ACK: {
2821 NDR_CHECK(ndr_pull_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->bind_ack));
2822 break; }
2823
2824 case DCERPC_PKT_BIND_NAK: {
2825 NDR_CHECK(ndr_pull_dcerpc_bind_nak(ndr, NDR_SCALARS, &r->bind_nak));
2826 break; }
2827
2828 case DCERPC_PKT_ALTER: {
2829 NDR_CHECK(ndr_pull_dcerpc_bind(ndr, NDR_SCALARS, &r->alter));
2830 break; }
2831
2832 case DCERPC_PKT_ALTER_RESP: {
2833 NDR_CHECK(ndr_pull_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->alter_resp));
2834 break; }
2835
2836 case DCERPC_PKT_SHUTDOWN: {
2837 NDR_CHECK(ndr_pull_dcerpc_shutdown(ndr, NDR_SCALARS, &r->shutdown));
2838 break; }
2839
2840 case DCERPC_PKT_CO_CANCEL: {
2841 NDR_CHECK(ndr_pull_dcerpc_co_cancel(ndr, NDR_SCALARS, &r->co_cancel));
2842 break; }
2843
2844 case DCERPC_PKT_ORPHANED: {
2845 NDR_CHECK(ndr_pull_dcerpc_orphaned(ndr, NDR_SCALARS, &r->orphaned));
2846 break; }
2847
2848 case DCERPC_PKT_AUTH3: {
2849 NDR_CHECK(ndr_pull_dcerpc_auth3(ndr, NDR_SCALARS, &r->auth3));
2850 break; }
2851
2852 case DCERPC_PKT_RTS: {
2853 NDR_CHECK(ndr_pull_dcerpc_rts(ndr, NDR_SCALARS, &r->rts));
2854 break; }
2855
2856 default:
2857 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2858 }
2859 }
2860 if (ndr_flags & NDR_BUFFERS) {
2861 switch (level) {
2862 case DCERPC_PKT_REQUEST:
2863 break;
2864
2865 case DCERPC_PKT_PING:
2866 break;
2867
2868 case DCERPC_PKT_RESPONSE:
2869 break;
2870
2871 case DCERPC_PKT_FAULT:
2872 break;
2873
2874 case DCERPC_PKT_WORKING:
2875 break;
2876
2877 case DCERPC_PKT_NOCALL:
2878 break;
2879
2880 case DCERPC_PKT_REJECT:
2881 break;
2882
2883 case DCERPC_PKT_ACK:
2884 break;
2885
2886 case DCERPC_PKT_CL_CANCEL:
2887 break;
2888
2889 case DCERPC_PKT_FACK:
2890 break;
2891
2892 case DCERPC_PKT_CANCEL_ACK:
2893 break;
2894
2895 case DCERPC_PKT_BIND:
2896 break;
2897
2898 case DCERPC_PKT_BIND_ACK:
2899 break;
2900
2901 case DCERPC_PKT_BIND_NAK:
2902 NDR_CHECK(ndr_pull_dcerpc_bind_nak(ndr, NDR_BUFFERS, &r->bind_nak));
2903 break;
2904
2905 case DCERPC_PKT_ALTER:
2906 break;
2907
2908 case DCERPC_PKT_ALTER_RESP:
2909 break;
2910
2911 case DCERPC_PKT_SHUTDOWN:
2912 break;
2913
2914 case DCERPC_PKT_CO_CANCEL:
2915 break;
2916
2917 case DCERPC_PKT_ORPHANED:
2918 break;
2919
2920 case DCERPC_PKT_AUTH3:
2921 break;
2922
2923 case DCERPC_PKT_RTS:
2924 break;
2925
2926 default:
2927 return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2928 }
2929 }
2930 return NDR_ERR_SUCCESS;
2931}
2932
2933_PUBLIC_ void ndr_print_dcerpc_payload(struct ndr_print *ndr, const char *name, const union dcerpc_payload *r)
2934{
2935 uint32_t level;
2936 level = ndr_print_get_switch_value(ndr, r);
2937 ndr_print_union(ndr, name, level, "dcerpc_payload");
2938 switch (level) {
2939 case DCERPC_PKT_REQUEST:
2940 ndr_print_dcerpc_request(ndr, "request", &r->request);
2941 break;
2942
2943 case DCERPC_PKT_PING:
2944 ndr_print_dcerpc_ping(ndr, "ping", &r->ping);
2945 break;
2946
2947 case DCERPC_PKT_RESPONSE:
2948 ndr_print_dcerpc_response(ndr, "response", &r->response);
2949 break;
2950
2951 case DCERPC_PKT_FAULT:
2952 ndr_print_dcerpc_fault(ndr, "fault", &r->fault);
2953 break;
2954
2955 case DCERPC_PKT_WORKING:
2956 ndr_print_dcerpc_working(ndr, "working", &r->working);
2957 break;
2958
2959 case DCERPC_PKT_NOCALL:
2960 ndr_print_dcerpc_fack(ndr, "nocall", &r->nocall);
2961 break;
2962
2963 case DCERPC_PKT_REJECT:
2964 ndr_print_dcerpc_fault(ndr, "reject", &r->reject);
2965 break;
2966
2967 case DCERPC_PKT_ACK:
2968 ndr_print_dcerpc_ack(ndr, "ack", &r->ack);
2969 break;
2970
2971 case DCERPC_PKT_CL_CANCEL:
2972 ndr_print_dcerpc_cl_cancel(ndr, "cl_cancel", &r->cl_cancel);
2973 break;
2974
2975 case DCERPC_PKT_FACK:
2976 ndr_print_dcerpc_fack(ndr, "fack", &r->fack);
2977 break;
2978
2979 case DCERPC_PKT_CANCEL_ACK:
2980 ndr_print_dcerpc_cancel_ack(ndr, "cancel_ack", &r->cancel_ack);
2981 break;
2982
2983 case DCERPC_PKT_BIND:
2984 ndr_print_dcerpc_bind(ndr, "bind", &r->bind);
2985 break;
2986
2987 case DCERPC_PKT_BIND_ACK:
2988 ndr_print_dcerpc_bind_ack(ndr, "bind_ack", &r->bind_ack);
2989 break;
2990
2991 case DCERPC_PKT_BIND_NAK:
2992 ndr_print_dcerpc_bind_nak(ndr, "bind_nak", &r->bind_nak);
2993 break;
2994
2995 case DCERPC_PKT_ALTER:
2996 ndr_print_dcerpc_bind(ndr, "alter", &r->alter);
2997 break;
2998
2999 case DCERPC_PKT_ALTER_RESP:
3000 ndr_print_dcerpc_bind_ack(ndr, "alter_resp", &r->alter_resp);
3001 break;
3002
3003 case DCERPC_PKT_SHUTDOWN:
3004 ndr_print_dcerpc_shutdown(ndr, "shutdown", &r->shutdown);
3005 break;
3006
3007 case DCERPC_PKT_CO_CANCEL:
3008 ndr_print_dcerpc_co_cancel(ndr, "co_cancel", &r->co_cancel);
3009 break;
3010
3011 case DCERPC_PKT_ORPHANED:
3012 ndr_print_dcerpc_orphaned(ndr, "orphaned", &r->orphaned);
3013 break;
3014
3015 case DCERPC_PKT_AUTH3:
3016 ndr_print_dcerpc_auth3(ndr, "auth3", &r->auth3);
3017 break;
3018
3019 case DCERPC_PKT_RTS:
3020 ndr_print_dcerpc_rts(ndr, "rts", &r->rts);
3021 break;
3022
3023 default:
3024 ndr_print_bad_level(ndr, name, level);
3025 }
3026}
3027
3028_PUBLIC_ enum ndr_err_code ndr_push_ncacn_packet(struct ndr_push *ndr, int ndr_flags, const struct ncacn_packet *r)
3029{
3030 if (ndr_flags & NDR_SCALARS) {
3031 NDR_CHECK(ndr_push_align(ndr, 4));
3032 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->rpc_vers));
3033 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->rpc_vers_minor));
3034 NDR_CHECK(ndr_push_dcerpc_pkt_type(ndr, NDR_SCALARS, r->ptype));
3035 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pfc_flags));
3036 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->drep, 4));
3037 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->frag_length));
3038 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->auth_length));
3039 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->call_id));
3040 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->u, r->ptype));
3041 NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
3042 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3043 }
3044 if (ndr_flags & NDR_BUFFERS) {
3045 NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
3046 }
3047 return NDR_ERR_SUCCESS;
3048}
3049
3050_PUBLIC_ enum ndr_err_code ndr_pull_ncacn_packet(struct ndr_pull *ndr, int ndr_flags, struct ncacn_packet *r)
3051{
3052 uint32_t size_drep_0 = 0;
3053 if (ndr_flags & NDR_SCALARS) {
3054 NDR_CHECK(ndr_pull_align(ndr, 4));
3055 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->rpc_vers));
3056 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->rpc_vers_minor));
3057 NDR_CHECK(ndr_pull_dcerpc_pkt_type(ndr, NDR_SCALARS, &r->ptype));
3058 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pfc_flags));
3059 size_drep_0 = 4;
3060 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->drep, size_drep_0));
3061 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->frag_length));
3062 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->auth_length));
3063 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->call_id));
3064 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->u, r->ptype));
3065 NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
3066 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3067 }
3068 if (ndr_flags & NDR_BUFFERS) {
3069 NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
3070 }
3071 return NDR_ERR_SUCCESS;
3072}
3073
3074_PUBLIC_ void ndr_print_ncacn_packet(struct ndr_print *ndr, const char *name, const struct ncacn_packet *r)
3075{
3076 ndr_print_struct(ndr, name, "ncacn_packet");
3077 if (r == NULL) { ndr_print_null(ndr); return; }
3078 ndr->depth++;
3079 ndr_print_uint8(ndr, "rpc_vers", r->rpc_vers);
3080 ndr_print_uint8(ndr, "rpc_vers_minor", r->rpc_vers_minor);
3081 ndr_print_dcerpc_pkt_type(ndr, "ptype", r->ptype);
3082 ndr_print_uint8(ndr, "pfc_flags", r->pfc_flags);
3083 ndr_print_array_uint8(ndr, "drep", r->drep, 4);
3084 ndr_print_uint16(ndr, "frag_length", r->frag_length);
3085 ndr_print_uint16(ndr, "auth_length", r->auth_length);
3086 ndr_print_uint32(ndr, "call_id", r->call_id);
3087 ndr_print_set_switch_value(ndr, &r->u, r->ptype);
3088 ndr_print_dcerpc_payload(ndr, "u", &r->u);
3089 ndr->depth--;
3090}
3091
3092_PUBLIC_ enum ndr_err_code ndr_push_ncadg_packet(struct ndr_push *ndr, int ndr_flags, const struct ncadg_packet *r)
3093{
3094 if (ndr_flags & NDR_SCALARS) {
3095 NDR_CHECK(ndr_push_align(ndr, 4));
3096 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->rpc_vers));
3097 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->ptype));
3098 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pfc_flags));
3099 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->ncadg_flags));
3100 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->drep, 3));
3101 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->serial_high));
3102 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->object));
3103 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->iface));
3104 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->activity));
3105 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->server_boot));
3106 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iface_version));
3107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seq_num));
3108 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->opnum));
3109 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ihint));
3110 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ahint));
3111 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->len));
3112 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->fragnum));
3113 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auth_proto));
3114 NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->serial_low));
3115 NDR_CHECK(ndr_push_set_switch_value(ndr, &r->u, r->ptype));
3116 NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
3117 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3118 }
3119 if (ndr_flags & NDR_BUFFERS) {
3120 NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
3121 }
3122 return NDR_ERR_SUCCESS;
3123}
3124
3125_PUBLIC_ enum ndr_err_code ndr_pull_ncadg_packet(struct ndr_pull *ndr, int ndr_flags, struct ncadg_packet *r)
3126{
3127 uint32_t size_drep_0 = 0;
3128 if (ndr_flags & NDR_SCALARS) {
3129 NDR_CHECK(ndr_pull_align(ndr, 4));
3130 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->rpc_vers));
3131 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->ptype));
3132 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pfc_flags));
3133 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->ncadg_flags));
3134 size_drep_0 = 3;
3135 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->drep, size_drep_0));
3136 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->serial_high));
3137 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->object));
3138 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->iface));
3139 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->activity));
3140 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->server_boot));
3141 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iface_version));
3142 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seq_num));
3143 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->opnum));
3144 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ihint));
3145 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ahint));
3146 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->len));
3147 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->fragnum));
3148 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auth_proto));
3149 NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->serial_low));
3150 NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->u, r->ptype));
3151 NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
3152 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3153 }
3154 if (ndr_flags & NDR_BUFFERS) {
3155 NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
3156 }
3157 return NDR_ERR_SUCCESS;
3158}
3159
3160_PUBLIC_ void ndr_print_ncadg_packet(struct ndr_print *ndr, const char *name, const struct ncadg_packet *r)
3161{
3162 ndr_print_struct(ndr, name, "ncadg_packet");
3163 if (r == NULL) { ndr_print_null(ndr); return; }
3164 ndr->depth++;
3165 ndr_print_uint8(ndr, "rpc_vers", r->rpc_vers);
3166 ndr_print_uint8(ndr, "ptype", r->ptype);
3167 ndr_print_uint8(ndr, "pfc_flags", r->pfc_flags);
3168 ndr_print_uint8(ndr, "ncadg_flags", r->ncadg_flags);
3169 ndr_print_array_uint8(ndr, "drep", r->drep, 3);
3170 ndr_print_uint8(ndr, "serial_high", r->serial_high);
3171 ndr_print_GUID(ndr, "object", &r->object);
3172 ndr_print_GUID(ndr, "iface", &r->iface);
3173 ndr_print_GUID(ndr, "activity", &r->activity);
3174 ndr_print_uint32(ndr, "server_boot", r->server_boot);
3175 ndr_print_uint32(ndr, "iface_version", r->iface_version);
3176 ndr_print_uint32(ndr, "seq_num", r->seq_num);
3177 ndr_print_uint16(ndr, "opnum", r->opnum);
3178 ndr_print_uint16(ndr, "ihint", r->ihint);
3179 ndr_print_uint16(ndr, "ahint", r->ahint);
3180 ndr_print_uint16(ndr, "len", r->len);
3181 ndr_print_uint16(ndr, "fragnum", r->fragnum);
3182 ndr_print_uint8(ndr, "auth_proto", r->auth_proto);
3183 ndr_print_uint8(ndr, "serial_low", r->serial_low);
3184 ndr_print_set_switch_value(ndr, &r->u, r->ptype);
3185 ndr_print_dcerpc_payload(ndr, "u", &r->u);
3186 ndr->depth--;
3187}
3188
Note: See TracBrowser for help on using the repository browser.