1
/* parser auto-generated by pidl */
4
#include "librpc/gen_ndr/ndr_dcerpc.h"
6
#include "librpc/gen_ndr/ndr_misc.h"
7
static enum ndr_err_code ndr_push_dcerpc_ctx_list(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ctx_list *r)
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]));
18
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
20
if (ndr_flags & NDR_BUFFERS) {
22
return NDR_ERR_SUCCESS;
25
static enum ndr_err_code ndr_pull_dcerpc_ctx_list(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ctx_list *r)
27
uint32_t cntr_transfer_syntaxes_0;
28
TALLOC_CTX *_mem_save_transfer_syntaxes_0;
29
if (ndr_flags & NDR_SCALARS) {
30
NDR_CHECK(ndr_pull_align(ndr, 4));
31
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id));
32
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_transfer_syntaxes));
33
NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->abstract_syntax));
34
NDR_PULL_ALLOC_N(ndr, r->transfer_syntaxes, r->num_transfer_syntaxes);
35
_mem_save_transfer_syntaxes_0 = NDR_PULL_GET_MEM_CTX(ndr);
36
NDR_PULL_SET_MEM_CTX(ndr, r->transfer_syntaxes, 0);
37
for (cntr_transfer_syntaxes_0 = 0; cntr_transfer_syntaxes_0 < r->num_transfer_syntaxes; cntr_transfer_syntaxes_0++) {
38
NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->transfer_syntaxes[cntr_transfer_syntaxes_0]));
40
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transfer_syntaxes_0, 0);
41
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
43
if (ndr_flags & NDR_BUFFERS) {
45
return NDR_ERR_SUCCESS;
48
_PUBLIC_ void ndr_print_dcerpc_ctx_list(struct ndr_print *ndr, const char *name, const struct dcerpc_ctx_list *r)
50
uint32_t cntr_transfer_syntaxes_0;
51
ndr_print_struct(ndr, name, "dcerpc_ctx_list");
52
if (r == NULL) { ndr_print_null(ndr); return; }
54
ndr_print_uint16(ndr, "context_id", r->context_id);
55
ndr_print_uint8(ndr, "num_transfer_syntaxes", r->num_transfer_syntaxes);
56
ndr_print_ndr_syntax_id(ndr, "abstract_syntax", &r->abstract_syntax);
57
ndr->print(ndr, "%s: ARRAY(%d)", "transfer_syntaxes", (int)r->num_transfer_syntaxes);
59
for (cntr_transfer_syntaxes_0=0;cntr_transfer_syntaxes_0<r->num_transfer_syntaxes;cntr_transfer_syntaxes_0++) {
60
ndr_print_ndr_syntax_id(ndr, "transfer_syntaxes", &r->transfer_syntaxes[cntr_transfer_syntaxes_0]);
66
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_bind(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind *r)
68
uint32_t cntr_ctx_list_0;
69
if (ndr_flags & NDR_SCALARS) {
70
NDR_CHECK(ndr_push_align(ndr, 4));
71
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_xmit_frag));
72
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_recv_frag));
73
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->assoc_group_id));
74
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_contexts));
75
for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_contexts; cntr_ctx_list_0++) {
76
NDR_CHECK(ndr_push_dcerpc_ctx_list(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0]));
79
uint32_t _flags_save_DATA_BLOB = ndr->flags;
80
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
81
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
82
ndr->flags = _flags_save_DATA_BLOB;
84
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
86
if (ndr_flags & NDR_BUFFERS) {
88
return NDR_ERR_SUCCESS;
91
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_bind(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind *r)
93
uint32_t cntr_ctx_list_0;
94
TALLOC_CTX *_mem_save_ctx_list_0;
95
if (ndr_flags & NDR_SCALARS) {
96
NDR_CHECK(ndr_pull_align(ndr, 4));
97
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_xmit_frag));
98
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_recv_frag));
99
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->assoc_group_id));
100
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_contexts));
101
NDR_PULL_ALLOC_N(ndr, r->ctx_list, r->num_contexts);
102
_mem_save_ctx_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
103
NDR_PULL_SET_MEM_CTX(ndr, r->ctx_list, 0);
104
for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_contexts; cntr_ctx_list_0++) {
105
NDR_CHECK(ndr_pull_dcerpc_ctx_list(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0]));
107
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctx_list_0, 0);
109
uint32_t _flags_save_DATA_BLOB = ndr->flags;
110
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
111
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
112
ndr->flags = _flags_save_DATA_BLOB;
114
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
116
if (ndr_flags & NDR_BUFFERS) {
118
return NDR_ERR_SUCCESS;
121
_PUBLIC_ void ndr_print_dcerpc_bind(struct ndr_print *ndr, const char *name, const struct dcerpc_bind *r)
123
uint32_t cntr_ctx_list_0;
124
ndr_print_struct(ndr, name, "dcerpc_bind");
125
if (r == NULL) { ndr_print_null(ndr); return; }
127
ndr_print_uint16(ndr, "max_xmit_frag", r->max_xmit_frag);
128
ndr_print_uint16(ndr, "max_recv_frag", r->max_recv_frag);
129
ndr_print_uint32(ndr, "assoc_group_id", r->assoc_group_id);
130
ndr_print_uint8(ndr, "num_contexts", r->num_contexts);
131
ndr->print(ndr, "%s: ARRAY(%d)", "ctx_list", (int)r->num_contexts);
133
for (cntr_ctx_list_0=0;cntr_ctx_list_0<r->num_contexts;cntr_ctx_list_0++) {
134
ndr_print_dcerpc_ctx_list(ndr, "ctx_list", &r->ctx_list[cntr_ctx_list_0]);
137
ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
141
static enum ndr_err_code ndr_push_dcerpc_empty(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_empty *r)
143
if (ndr_flags & NDR_SCALARS) {
144
NDR_CHECK(ndr_push_align(ndr, 1));
145
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
147
if (ndr_flags & NDR_BUFFERS) {
149
return NDR_ERR_SUCCESS;
152
static enum ndr_err_code ndr_pull_dcerpc_empty(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_empty *r)
154
if (ndr_flags & NDR_SCALARS) {
155
NDR_CHECK(ndr_pull_align(ndr, 1));
156
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
158
if (ndr_flags & NDR_BUFFERS) {
160
return NDR_ERR_SUCCESS;
163
_PUBLIC_ void ndr_print_dcerpc_empty(struct ndr_print *ndr, const char *name, const struct dcerpc_empty *r)
165
ndr_print_struct(ndr, name, "dcerpc_empty");
166
if (r == NULL) { ndr_print_null(ndr); return; }
171
static enum ndr_err_code ndr_push_dcerpc_object(struct ndr_push *ndr, int ndr_flags, const union dcerpc_object *r)
173
if (ndr_flags & NDR_SCALARS) {
174
uint32_t level = ndr_push_get_switch_value(ndr, r);
175
NDR_CHECK(ndr_push_union_align(ndr, 4));
178
NDR_CHECK(ndr_push_dcerpc_empty(ndr, NDR_SCALARS, &r->empty));
181
case LIBNDR_FLAG_OBJECT_PRESENT: {
182
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->object));
187
if (ndr_flags & NDR_BUFFERS) {
188
uint32_t level = ndr_push_get_switch_value(ndr, r);
193
case LIBNDR_FLAG_OBJECT_PRESENT:
198
return NDR_ERR_SUCCESS;
201
static enum ndr_err_code ndr_pull_dcerpc_object(struct ndr_pull *ndr, int ndr_flags, union dcerpc_object *r)
204
level = ndr_pull_get_switch_value(ndr, r);
205
if (ndr_flags & NDR_SCALARS) {
206
NDR_CHECK(ndr_pull_union_align(ndr, 4));
209
NDR_CHECK(ndr_pull_dcerpc_empty(ndr, NDR_SCALARS, &r->empty));
212
case LIBNDR_FLAG_OBJECT_PRESENT: {
213
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->object));
218
if (ndr_flags & NDR_BUFFERS) {
223
case LIBNDR_FLAG_OBJECT_PRESENT:
228
return NDR_ERR_SUCCESS;
231
_PUBLIC_ void ndr_print_dcerpc_object(struct ndr_print *ndr, const char *name, const union dcerpc_object *r)
234
level = ndr_print_get_switch_value(ndr, r);
235
ndr_print_union(ndr, name, level, "dcerpc_object");
238
ndr_print_dcerpc_empty(ndr, "empty", &r->empty);
241
case LIBNDR_FLAG_OBJECT_PRESENT:
242
ndr_print_GUID(ndr, "object", &r->object);
248
static enum ndr_err_code ndr_push_dcerpc_request(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_request *r)
250
if (ndr_flags & NDR_SCALARS) {
251
NDR_CHECK(ndr_push_align(ndr, 4));
252
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alloc_hint));
253
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id));
254
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->opnum));
255
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->object, ndr->flags & LIBNDR_FLAG_OBJECT_PRESENT));
256
NDR_CHECK(ndr_push_dcerpc_object(ndr, NDR_SCALARS, &r->object));
258
uint32_t _flags_save_DATA_BLOB = ndr->flags;
259
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
260
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
261
ndr->flags = _flags_save_DATA_BLOB;
264
uint32_t _flags_save_DATA_BLOB = ndr->flags;
265
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
266
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->stub_and_verifier));
267
ndr->flags = _flags_save_DATA_BLOB;
269
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
271
if (ndr_flags & NDR_BUFFERS) {
273
return NDR_ERR_SUCCESS;
276
static enum ndr_err_code ndr_pull_dcerpc_request(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_request *r)
278
if (ndr_flags & NDR_SCALARS) {
279
NDR_CHECK(ndr_pull_align(ndr, 4));
280
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alloc_hint));
281
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id));
282
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->opnum));
283
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, ndr->flags & LIBNDR_FLAG_OBJECT_PRESENT));
284
NDR_CHECK(ndr_pull_dcerpc_object(ndr, NDR_SCALARS, &r->object));
286
uint32_t _flags_save_DATA_BLOB = ndr->flags;
287
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
288
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
289
ndr->flags = _flags_save_DATA_BLOB;
292
uint32_t _flags_save_DATA_BLOB = ndr->flags;
293
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
294
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->stub_and_verifier));
295
ndr->flags = _flags_save_DATA_BLOB;
297
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
299
if (ndr_flags & NDR_BUFFERS) {
301
return NDR_ERR_SUCCESS;
304
_PUBLIC_ void ndr_print_dcerpc_request(struct ndr_print *ndr, const char *name, const struct dcerpc_request *r)
306
ndr_print_struct(ndr, name, "dcerpc_request");
307
if (r == NULL) { ndr_print_null(ndr); return; }
309
ndr_print_uint32(ndr, "alloc_hint", r->alloc_hint);
310
ndr_print_uint16(ndr, "context_id", r->context_id);
311
ndr_print_uint16(ndr, "opnum", r->opnum);
312
ndr_print_set_switch_value(ndr, &r->object, ndr->flags & LIBNDR_FLAG_OBJECT_PRESENT);
313
ndr_print_dcerpc_object(ndr, "object", &r->object);
314
ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
315
ndr_print_DATA_BLOB(ndr, "stub_and_verifier", r->stub_and_verifier);
319
static enum ndr_err_code ndr_push_dcerpc_ack_ctx(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ack_ctx *r)
321
if (ndr_flags & NDR_SCALARS) {
322
NDR_CHECK(ndr_push_align(ndr, 4));
323
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->result));
324
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reason));
325
NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, &r->syntax));
326
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
328
if (ndr_flags & NDR_BUFFERS) {
330
return NDR_ERR_SUCCESS;
333
static enum ndr_err_code ndr_pull_dcerpc_ack_ctx(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ack_ctx *r)
335
if (ndr_flags & NDR_SCALARS) {
336
NDR_CHECK(ndr_pull_align(ndr, 4));
337
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->result));
338
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reason));
339
NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->syntax));
340
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
342
if (ndr_flags & NDR_BUFFERS) {
344
return NDR_ERR_SUCCESS;
347
_PUBLIC_ void ndr_print_dcerpc_ack_ctx(struct ndr_print *ndr, const char *name, const struct dcerpc_ack_ctx *r)
349
ndr_print_struct(ndr, name, "dcerpc_ack_ctx");
350
if (r == NULL) { ndr_print_null(ndr); return; }
352
ndr_print_uint16(ndr, "result", r->result);
353
ndr_print_uint16(ndr, "reason", r->reason);
354
ndr_print_ndr_syntax_id(ndr, "syntax", &r->syntax);
358
static enum ndr_err_code ndr_push_dcerpc_bind_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind_ack *r)
360
uint32_t cntr_ctx_list_0;
361
if (ndr_flags & NDR_SCALARS) {
362
NDR_CHECK(ndr_push_align(ndr, 4));
363
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_xmit_frag));
364
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->max_recv_frag));
365
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->assoc_group_id));
366
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen(r->secondary_address) + 1));
367
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->secondary_address, strlen(r->secondary_address) + 1, sizeof(uint8_t), CH_DOS));
369
uint32_t _flags_save_DATA_BLOB = ndr->flags;
370
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
371
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad1));
372
ndr->flags = _flags_save_DATA_BLOB;
374
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->num_results));
375
for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_results; cntr_ctx_list_0++) {
376
NDR_CHECK(ndr_push_dcerpc_ack_ctx(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0]));
379
uint32_t _flags_save_DATA_BLOB = ndr->flags;
380
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
381
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
382
ndr->flags = _flags_save_DATA_BLOB;
384
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
386
if (ndr_flags & NDR_BUFFERS) {
388
return NDR_ERR_SUCCESS;
391
static enum ndr_err_code ndr_pull_dcerpc_bind_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind_ack *r)
393
uint32_t cntr_ctx_list_0;
394
TALLOC_CTX *_mem_save_ctx_list_0;
395
if (ndr_flags & NDR_SCALARS) {
396
NDR_CHECK(ndr_pull_align(ndr, 4));
397
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_xmit_frag));
398
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->max_recv_frag));
399
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->assoc_group_id));
400
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->secondary_address_size));
401
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->secondary_address, r->secondary_address_size, sizeof(uint8_t), CH_DOS));
403
uint32_t _flags_save_DATA_BLOB = ndr->flags;
404
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
405
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad1));
406
ndr->flags = _flags_save_DATA_BLOB;
408
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->num_results));
409
NDR_PULL_ALLOC_N(ndr, r->ctx_list, r->num_results);
410
_mem_save_ctx_list_0 = NDR_PULL_GET_MEM_CTX(ndr);
411
NDR_PULL_SET_MEM_CTX(ndr, r->ctx_list, 0);
412
for (cntr_ctx_list_0 = 0; cntr_ctx_list_0 < r->num_results; cntr_ctx_list_0++) {
413
NDR_CHECK(ndr_pull_dcerpc_ack_ctx(ndr, NDR_SCALARS, &r->ctx_list[cntr_ctx_list_0]));
415
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_ctx_list_0, 0);
417
uint32_t _flags_save_DATA_BLOB = ndr->flags;
418
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
419
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
420
ndr->flags = _flags_save_DATA_BLOB;
422
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
424
if (ndr_flags & NDR_BUFFERS) {
426
return NDR_ERR_SUCCESS;
429
_PUBLIC_ void ndr_print_dcerpc_bind_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_ack *r)
431
uint32_t cntr_ctx_list_0;
432
ndr_print_struct(ndr, name, "dcerpc_bind_ack");
433
if (r == NULL) { ndr_print_null(ndr); return; }
435
ndr_print_uint16(ndr, "max_xmit_frag", r->max_xmit_frag);
436
ndr_print_uint16(ndr, "max_recv_frag", r->max_recv_frag);
437
ndr_print_uint32(ndr, "assoc_group_id", r->assoc_group_id);
438
ndr_print_uint16(ndr, "secondary_address_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen(r->secondary_address) + 1:r->secondary_address_size);
439
ndr_print_string(ndr, "secondary_address", r->secondary_address);
440
ndr_print_DATA_BLOB(ndr, "_pad1", r->_pad1);
441
ndr_print_uint8(ndr, "num_results", r->num_results);
442
ndr->print(ndr, "%s: ARRAY(%d)", "ctx_list", (int)r->num_results);
444
for (cntr_ctx_list_0=0;cntr_ctx_list_0<r->num_results;cntr_ctx_list_0++) {
445
ndr_print_dcerpc_ack_ctx(ndr, "ctx_list", &r->ctx_list[cntr_ctx_list_0]);
448
ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
452
static enum ndr_err_code ndr_push_dcerpc_bind_nak_versions(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind_nak_versions *r)
454
uint32_t cntr_versions_0;
455
if (ndr_flags & NDR_SCALARS) {
456
NDR_CHECK(ndr_push_align(ndr, 4));
457
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_versions));
458
for (cntr_versions_0 = 0; cntr_versions_0 < r->num_versions; cntr_versions_0++) {
459
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->versions[cntr_versions_0]));
461
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
463
if (ndr_flags & NDR_BUFFERS) {
465
return NDR_ERR_SUCCESS;
468
static enum ndr_err_code ndr_pull_dcerpc_bind_nak_versions(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind_nak_versions *r)
470
uint32_t cntr_versions_0;
471
TALLOC_CTX *_mem_save_versions_0;
472
if (ndr_flags & NDR_SCALARS) {
473
NDR_CHECK(ndr_pull_align(ndr, 4));
474
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_versions));
475
NDR_PULL_ALLOC_N(ndr, r->versions, r->num_versions);
476
_mem_save_versions_0 = NDR_PULL_GET_MEM_CTX(ndr);
477
NDR_PULL_SET_MEM_CTX(ndr, r->versions, 0);
478
for (cntr_versions_0 = 0; cntr_versions_0 < r->num_versions; cntr_versions_0++) {
479
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->versions[cntr_versions_0]));
481
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_versions_0, 0);
482
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
484
if (ndr_flags & NDR_BUFFERS) {
486
return NDR_ERR_SUCCESS;
489
_PUBLIC_ void ndr_print_dcerpc_bind_nak_versions(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_nak_versions *r)
491
uint32_t cntr_versions_0;
492
ndr_print_struct(ndr, name, "dcerpc_bind_nak_versions");
493
if (r == NULL) { ndr_print_null(ndr); return; }
495
ndr_print_uint32(ndr, "num_versions", r->num_versions);
496
ndr->print(ndr, "%s: ARRAY(%d)", "versions", (int)r->num_versions);
498
for (cntr_versions_0=0;cntr_versions_0<r->num_versions;cntr_versions_0++) {
499
ndr_print_uint32(ndr, "versions", r->versions[cntr_versions_0]);
505
static 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)
507
if (ndr_flags & NDR_SCALARS) {
508
uint32_t level = ndr_push_get_switch_value(ndr, r);
509
NDR_CHECK(ndr_push_union_align(ndr, 4));
511
case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED: {
512
NDR_CHECK(ndr_push_dcerpc_bind_nak_versions(ndr, NDR_SCALARS, &r->v));
520
if (ndr_flags & NDR_BUFFERS) {
521
uint32_t level = ndr_push_get_switch_value(ndr, r);
523
case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED:
531
return NDR_ERR_SUCCESS;
534
static 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)
537
level = ndr_pull_get_switch_value(ndr, r);
538
if (ndr_flags & NDR_SCALARS) {
539
NDR_CHECK(ndr_pull_union_align(ndr, 4));
541
case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED: {
542
NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions(ndr, NDR_SCALARS, &r->v));
550
if (ndr_flags & NDR_BUFFERS) {
552
case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED:
560
return NDR_ERR_SUCCESS;
563
_PUBLIC_ void ndr_print_dcerpc_bind_nak_versions_ctr(struct ndr_print *ndr, const char *name, const union dcerpc_bind_nak_versions_ctr *r)
566
level = ndr_print_get_switch_value(ndr, r);
567
ndr_print_union(ndr, name, level, "dcerpc_bind_nak_versions_ctr");
569
case DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED:
570
ndr_print_dcerpc_bind_nak_versions(ndr, "v", &r->v);
579
static enum ndr_err_code ndr_push_dcerpc_bind_nak(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_bind_nak *r)
581
if (ndr_flags & NDR_SCALARS) {
582
NDR_CHECK(ndr_push_align(ndr, 4));
583
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reject_reason));
584
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->versions, r->reject_reason));
585
NDR_CHECK(ndr_push_dcerpc_bind_nak_versions_ctr(ndr, NDR_SCALARS, &r->versions));
586
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
588
if (ndr_flags & NDR_BUFFERS) {
589
NDR_CHECK(ndr_push_dcerpc_bind_nak_versions_ctr(ndr, NDR_BUFFERS, &r->versions));
591
return NDR_ERR_SUCCESS;
594
static enum ndr_err_code ndr_pull_dcerpc_bind_nak(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_bind_nak *r)
596
if (ndr_flags & NDR_SCALARS) {
597
NDR_CHECK(ndr_pull_align(ndr, 4));
598
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reject_reason));
599
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->versions, r->reject_reason));
600
NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions_ctr(ndr, NDR_SCALARS, &r->versions));
601
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
603
if (ndr_flags & NDR_BUFFERS) {
604
NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions_ctr(ndr, NDR_BUFFERS, &r->versions));
606
return NDR_ERR_SUCCESS;
609
_PUBLIC_ void ndr_print_dcerpc_bind_nak(struct ndr_print *ndr, const char *name, const struct dcerpc_bind_nak *r)
611
ndr_print_struct(ndr, name, "dcerpc_bind_nak");
612
if (r == NULL) { ndr_print_null(ndr); return; }
614
ndr_print_uint16(ndr, "reject_reason", r->reject_reason);
615
ndr_print_set_switch_value(ndr, &r->versions, r->reject_reason);
616
ndr_print_dcerpc_bind_nak_versions_ctr(ndr, "versions", &r->versions);
620
static enum ndr_err_code ndr_push_dcerpc_response(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_response *r)
622
if (ndr_flags & NDR_SCALARS) {
623
NDR_CHECK(ndr_push_align(ndr, 4));
624
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alloc_hint));
625
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id));
626
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->cancel_count));
628
uint32_t _flags_save_DATA_BLOB = ndr->flags;
629
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
630
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
631
ndr->flags = _flags_save_DATA_BLOB;
634
uint32_t _flags_save_DATA_BLOB = ndr->flags;
635
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
636
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->stub_and_verifier));
637
ndr->flags = _flags_save_DATA_BLOB;
639
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
641
if (ndr_flags & NDR_BUFFERS) {
643
return NDR_ERR_SUCCESS;
646
static enum ndr_err_code ndr_pull_dcerpc_response(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_response *r)
648
if (ndr_flags & NDR_SCALARS) {
649
NDR_CHECK(ndr_pull_align(ndr, 4));
650
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alloc_hint));
651
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id));
652
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->cancel_count));
654
uint32_t _flags_save_DATA_BLOB = ndr->flags;
655
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
656
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
657
ndr->flags = _flags_save_DATA_BLOB;
660
uint32_t _flags_save_DATA_BLOB = ndr->flags;
661
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
662
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->stub_and_verifier));
663
ndr->flags = _flags_save_DATA_BLOB;
665
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
667
if (ndr_flags & NDR_BUFFERS) {
669
return NDR_ERR_SUCCESS;
672
_PUBLIC_ void ndr_print_dcerpc_response(struct ndr_print *ndr, const char *name, const struct dcerpc_response *r)
674
ndr_print_struct(ndr, name, "dcerpc_response");
675
if (r == NULL) { ndr_print_null(ndr); return; }
677
ndr_print_uint32(ndr, "alloc_hint", r->alloc_hint);
678
ndr_print_uint16(ndr, "context_id", r->context_id);
679
ndr_print_uint8(ndr, "cancel_count", r->cancel_count);
680
ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
681
ndr_print_DATA_BLOB(ndr, "stub_and_verifier", r->stub_and_verifier);
685
static enum ndr_err_code ndr_push_dcerpc_nca_status(struct ndr_push *ndr, int ndr_flags, enum dcerpc_nca_status r)
687
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
688
return NDR_ERR_SUCCESS;
691
static enum ndr_err_code ndr_pull_dcerpc_nca_status(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_nca_status *r)
694
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
696
return NDR_ERR_SUCCESS;
699
_PUBLIC_ void ndr_print_dcerpc_nca_status(struct ndr_print *ndr, const char *name, enum dcerpc_nca_status r)
701
const char *val = NULL;
704
case DCERPC_NCA_S_COMM_FAILURE: val = "DCERPC_NCA_S_COMM_FAILURE"; break;
705
case DCERPC_NCA_S_OP_RNG_ERROR: val = "DCERPC_NCA_S_OP_RNG_ERROR"; break;
706
case DCERPC_NCA_S_UNKNOWN_IF: val = "DCERPC_NCA_S_UNKNOWN_IF"; break;
707
case DCERPC_NCA_S_WRONG_BOOT_TIME: val = "DCERPC_NCA_S_WRONG_BOOT_TIME"; break;
708
case DCERPC_NCA_S_YOU_CRASHED: val = "DCERPC_NCA_S_YOU_CRASHED"; break;
709
case DCERPC_NCA_S_PROTO_ERROR: val = "DCERPC_NCA_S_PROTO_ERROR"; break;
710
case DCERPC_NCA_S_OUT_ARGS_TOO_BIG: val = "DCERPC_NCA_S_OUT_ARGS_TOO_BIG"; break;
711
case DCERPC_NCA_S_SERVER_TOO_BUSY: val = "DCERPC_NCA_S_SERVER_TOO_BUSY"; break;
712
case DCERPC_NCA_S_FAULT_STRING_TOO_LARGE: val = "DCERPC_NCA_S_FAULT_STRING_TOO_LARGE"; break;
713
case DCERPC_NCA_S_UNSUPPORTED_TYPE: val = "DCERPC_NCA_S_UNSUPPORTED_TYPE"; break;
714
case DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO: val = "DCERPC_NCA_S_FAULT_INT_DIV_BY_ZERO"; break;
715
case DCERPC_NCA_S_FAULT_ADDR_ERROR: val = "DCERPC_NCA_S_FAULT_ADDR_ERROR"; break;
716
case DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO: val = "DCERPC_NCA_S_FAULT_FP_DIV_BY_ZERO"; break;
717
case DCERPC_NCA_S_FAULT_FP_UNDERFLOW: val = "DCERPC_NCA_S_FAULT_FP_UNDERFLOW"; break;
718
case DCERPC_NCA_S_FAULT_FP_OVERRFLOW: val = "DCERPC_NCA_S_FAULT_FP_OVERRFLOW"; break;
719
case DCERPC_NCA_S_FAULT_INVALID_TAG: val = "DCERPC_NCA_S_FAULT_INVALID_TAG"; break;
720
case DCERPC_NCA_S_FAULT_INVALID_BOUND: val = "DCERPC_NCA_S_FAULT_INVALID_BOUND"; break;
721
case DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH: val = "DCERPC_NCA_S_FAULT_RPC_VERSION_MISMATCH"; break;
722
case DCERPC_NCA_S_FAULT_UNSPEC_REJECT: val = "DCERPC_NCA_S_FAULT_UNSPEC_REJECT"; break;
723
case DCERPC_NCA_S_FAULT_BAD_ACTID: val = "DCERPC_NCA_S_FAULT_BAD_ACTID"; break;
724
case DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED: val = "DCERPC_NCA_S_FAULT_WHO_ARE_YOU_FAILED"; break;
725
case DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED: val = "DCERPC_NCA_S_FAULT_MANAGER_NOT_ENTERED"; break;
726
case DCERPC_NCA_S_FAULT_CANCEL: val = "DCERPC_NCA_S_FAULT_CANCEL"; break;
727
case DCERPC_NCA_S_FAULT_ILL_INST: val = "DCERPC_NCA_S_FAULT_ILL_INST"; break;
728
case DCERPC_NCA_S_FAULT_FP_ERROR: val = "DCERPC_NCA_S_FAULT_FP_ERROR"; break;
729
case DCERPC_NCA_S_FAULT_INT_OVERFLOW: val = "DCERPC_NCA_S_FAULT_INT_OVERFLOW"; break;
730
case DCERPC_NCA_S_UNUSED_1C000011: val = "DCERPC_NCA_S_UNUSED_1C000011"; break;
731
case DCERPC_NCA_S_FAULT_UNSPEC: val = "DCERPC_NCA_S_FAULT_UNSPEC"; break;
732
case DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE: val = "DCERPC_NCA_S_FAULT_REMOTE_COMM_FAILURE"; break;
733
case DCERPC_NCA_S_FAULT_PIPE_EMPTY: val = "DCERPC_NCA_S_FAULT_PIPE_EMPTY"; break;
734
case DCERPC_NCA_S_FAULT_PIPE_CLOSED: val = "DCERPC_NCA_S_FAULT_PIPE_CLOSED"; break;
735
case DCERPC_NCA_S_FAULT_PIPE_ORDER: val = "DCERPC_NCA_S_FAULT_PIPE_ORDER"; break;
736
case DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE: val = "DCERPC_NCA_S_FAULT_PIPE_DISCIPLINE"; break;
737
case DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR: val = "DCERPC_NCA_S_FAULT_PIPE_COMM_ERROR"; break;
738
case DCERPC_NCA_S_FAULT_PIPE_MEMORY: val = "DCERPC_NCA_S_FAULT_PIPE_MEMORY"; break;
739
case DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH: val = "DCERPC_NCA_S_FAULT_CONTEXT_MISMATCH"; break;
740
case DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY: val = "DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORY"; break;
741
case DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID: val = "DCERPC_NCA_S_INVALID_PRES_CONTEXT_ID"; break;
742
case DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL: val = "DCERPC_NCA_S_UNSUPPORTED_AUTHN_LEVEL"; break;
743
case DCERPC_NCA_S_UNUSED_1C00001E: val = "DCERPC_NCA_S_UNUSED_1C00001E"; break;
744
case DCERPC_NCA_S_INVALID_CHECKSUM: val = "DCERPC_NCA_S_INVALID_CHECKSUM"; break;
745
case DCERPC_NCA_S_INVALID_CRC: val = "DCERPC_NCA_S_INVALID_CRC"; break;
746
case DCERPC_NCA_S_FAULT_USER_DEFINED: val = "DCERPC_NCA_S_FAULT_USER_DEFINED"; break;
747
case DCERPC_NCA_S_FAULT_TX_OPEN_FAILED: val = "DCERPC_NCA_S_FAULT_TX_OPEN_FAILED"; break;
748
case DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR: val = "DCERPC_NCA_S_FAULT_CODESET_CONV_ERROR"; break;
749
case DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND: val = "DCERPC_NCA_S_FAULT_OBJECT_NOT_FOUND"; break;
750
case DCERPC_NCA_S_FAULT_NO_CLIENT_STUB: val = "DCERPC_NCA_S_FAULT_NO_CLIENT_STUB"; break;
752
ndr_print_enum(ndr, name, "ENUM", val, r);
755
static enum ndr_err_code ndr_push_dcerpc_fault(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_fault *r)
757
if (ndr_flags & NDR_SCALARS) {
758
NDR_CHECK(ndr_push_align(ndr, 4));
759
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->alloc_hint));
760
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->context_id));
761
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->cancel_count));
762
NDR_CHECK(ndr_push_dcerpc_nca_status(ndr, NDR_SCALARS, r->status));
764
uint32_t _flags_save_DATA_BLOB = ndr->flags;
765
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
766
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->_pad));
767
ndr->flags = _flags_save_DATA_BLOB;
769
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
771
if (ndr_flags & NDR_BUFFERS) {
773
return NDR_ERR_SUCCESS;
776
static enum ndr_err_code ndr_pull_dcerpc_fault(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_fault *r)
778
if (ndr_flags & NDR_SCALARS) {
779
NDR_CHECK(ndr_pull_align(ndr, 4));
780
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->alloc_hint));
781
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->context_id));
782
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->cancel_count));
783
NDR_CHECK(ndr_pull_dcerpc_nca_status(ndr, NDR_SCALARS, &r->status));
785
uint32_t _flags_save_DATA_BLOB = ndr->flags;
786
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
787
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->_pad));
788
ndr->flags = _flags_save_DATA_BLOB;
790
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
792
if (ndr_flags & NDR_BUFFERS) {
794
return NDR_ERR_SUCCESS;
797
_PUBLIC_ void ndr_print_dcerpc_fault(struct ndr_print *ndr, const char *name, const struct dcerpc_fault *r)
799
ndr_print_struct(ndr, name, "dcerpc_fault");
800
if (r == NULL) { ndr_print_null(ndr); return; }
802
ndr_print_uint32(ndr, "alloc_hint", r->alloc_hint);
803
ndr_print_uint16(ndr, "context_id", r->context_id);
804
ndr_print_uint8(ndr, "cancel_count", r->cancel_count);
805
ndr_print_dcerpc_nca_status(ndr, "status", r->status);
806
ndr_print_DATA_BLOB(ndr, "_pad", r->_pad);
810
static enum ndr_err_code ndr_push_dcerpc_AuthType(struct ndr_push *ndr, int ndr_flags, enum dcerpc_AuthType r)
812
NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
813
return NDR_ERR_SUCCESS;
816
static enum ndr_err_code ndr_pull_dcerpc_AuthType(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_AuthType *r)
819
NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
821
return NDR_ERR_SUCCESS;
824
_PUBLIC_ void ndr_print_dcerpc_AuthType(struct ndr_print *ndr, const char *name, enum dcerpc_AuthType r)
826
const char *val = NULL;
829
case DCERPC_AUTH_TYPE_NONE: val = "DCERPC_AUTH_TYPE_NONE"; break;
830
case DCERPC_AUTH_TYPE_KRB5_1: val = "DCERPC_AUTH_TYPE_KRB5_1"; break;
831
case DCERPC_AUTH_TYPE_SPNEGO: val = "DCERPC_AUTH_TYPE_SPNEGO"; break;
832
case DCERPC_AUTH_TYPE_NTLMSSP: val = "DCERPC_AUTH_TYPE_NTLMSSP"; break;
833
case DCERPC_AUTH_TYPE_KRB5: val = "DCERPC_AUTH_TYPE_KRB5"; break;
834
case DCERPC_AUTH_TYPE_DPA: val = "DCERPC_AUTH_TYPE_DPA"; break;
835
case DCERPC_AUTH_TYPE_MSN: val = "DCERPC_AUTH_TYPE_MSN"; break;
836
case DCERPC_AUTH_TYPE_DIGEST: val = "DCERPC_AUTH_TYPE_DIGEST"; break;
837
case DCERPC_AUTH_TYPE_SCHANNEL: val = "DCERPC_AUTH_TYPE_SCHANNEL"; break;
838
case DCERPC_AUTH_TYPE_MSMQ: val = "DCERPC_AUTH_TYPE_MSMQ"; break;
839
case DCERPC_AUTH_TYPE_NCALRPC_AS_SYSTEM: val = "DCERPC_AUTH_TYPE_NCALRPC_AS_SYSTEM"; break;
841
ndr_print_enum(ndr, name, "ENUM", val, r);
844
static enum ndr_err_code ndr_push_dcerpc_AuthLevel(struct ndr_push *ndr, int ndr_flags, enum dcerpc_AuthLevel r)
846
NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
847
return NDR_ERR_SUCCESS;
850
static enum ndr_err_code ndr_pull_dcerpc_AuthLevel(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_AuthLevel *r)
853
NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
855
return NDR_ERR_SUCCESS;
858
_PUBLIC_ void ndr_print_dcerpc_AuthLevel(struct ndr_print *ndr, const char *name, enum dcerpc_AuthLevel r)
860
const char *val = NULL;
863
case DCERPC_AUTH_LEVEL_NONE: val = "DCERPC_AUTH_LEVEL_NONE"; break;
864
case DCERPC_AUTH_LEVEL_CONNECT: val = "DCERPC_AUTH_LEVEL_CONNECT"; break;
865
case DCERPC_AUTH_LEVEL_CALL: val = "DCERPC_AUTH_LEVEL_CALL"; break;
866
case DCERPC_AUTH_LEVEL_PACKET: val = "DCERPC_AUTH_LEVEL_PACKET"; break;
867
case DCERPC_AUTH_LEVEL_INTEGRITY: val = "DCERPC_AUTH_LEVEL_INTEGRITY"; break;
868
case DCERPC_AUTH_LEVEL_PRIVACY: val = "DCERPC_AUTH_LEVEL_PRIVACY"; break;
870
ndr_print_enum(ndr, name, "ENUM", val, r);
873
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_auth(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_auth *r)
875
if (ndr_flags & NDR_SCALARS) {
876
NDR_CHECK(ndr_push_align(ndr, 4));
877
NDR_CHECK(ndr_push_dcerpc_AuthType(ndr, NDR_SCALARS, r->auth_type));
878
NDR_CHECK(ndr_push_dcerpc_AuthLevel(ndr, NDR_SCALARS, r->auth_level));
879
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auth_pad_length));
880
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auth_reserved));
881
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->auth_context_id));
883
uint32_t _flags_save_DATA_BLOB = ndr->flags;
884
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
885
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->credentials));
886
ndr->flags = _flags_save_DATA_BLOB;
888
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
890
if (ndr_flags & NDR_BUFFERS) {
892
return NDR_ERR_SUCCESS;
895
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_auth(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_auth *r)
897
if (ndr_flags & NDR_SCALARS) {
898
NDR_CHECK(ndr_pull_align(ndr, 4));
899
NDR_CHECK(ndr_pull_dcerpc_AuthType(ndr, NDR_SCALARS, &r->auth_type));
900
NDR_CHECK(ndr_pull_dcerpc_AuthLevel(ndr, NDR_SCALARS, &r->auth_level));
901
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auth_pad_length));
902
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auth_reserved));
903
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->auth_context_id));
905
uint32_t _flags_save_DATA_BLOB = ndr->flags;
906
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
907
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->credentials));
908
ndr->flags = _flags_save_DATA_BLOB;
910
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
912
if (ndr_flags & NDR_BUFFERS) {
914
return NDR_ERR_SUCCESS;
917
_PUBLIC_ void ndr_print_dcerpc_auth(struct ndr_print *ndr, const char *name, const struct dcerpc_auth *r)
919
ndr_print_struct(ndr, name, "dcerpc_auth");
920
if (r == NULL) { ndr_print_null(ndr); return; }
922
ndr_print_dcerpc_AuthType(ndr, "auth_type", r->auth_type);
923
ndr_print_dcerpc_AuthLevel(ndr, "auth_level", r->auth_level);
924
ndr_print_uint8(ndr, "auth_pad_length", r->auth_pad_length);
925
ndr_print_uint8(ndr, "auth_reserved", r->auth_reserved);
926
ndr_print_uint32(ndr, "auth_context_id", r->auth_context_id);
927
ndr_print_DATA_BLOB(ndr, "credentials", r->credentials);
931
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_auth3(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_auth3 *r)
933
if (ndr_flags & NDR_SCALARS) {
934
NDR_CHECK(ndr_push_align(ndr, 4));
935
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
937
uint32_t _flags_save_DATA_BLOB = ndr->flags;
938
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
939
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
940
ndr->flags = _flags_save_DATA_BLOB;
942
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
944
if (ndr_flags & NDR_BUFFERS) {
946
return NDR_ERR_SUCCESS;
949
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_auth3(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_auth3 *r)
951
if (ndr_flags & NDR_SCALARS) {
952
NDR_CHECK(ndr_pull_align(ndr, 4));
953
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
955
uint32_t _flags_save_DATA_BLOB = ndr->flags;
956
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
957
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
958
ndr->flags = _flags_save_DATA_BLOB;
960
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
962
if (ndr_flags & NDR_BUFFERS) {
964
return NDR_ERR_SUCCESS;
967
_PUBLIC_ void ndr_print_dcerpc_auth3(struct ndr_print *ndr, const char *name, const struct dcerpc_auth3 *r)
969
ndr_print_struct(ndr, name, "dcerpc_auth3");
970
if (r == NULL) { ndr_print_null(ndr); return; }
972
ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
973
ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
977
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_orphaned(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_orphaned *r)
979
if (ndr_flags & NDR_SCALARS) {
980
NDR_CHECK(ndr_push_align(ndr, 4));
981
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
983
uint32_t _flags_save_DATA_BLOB = ndr->flags;
984
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
985
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
986
ndr->flags = _flags_save_DATA_BLOB;
988
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
990
if (ndr_flags & NDR_BUFFERS) {
992
return NDR_ERR_SUCCESS;
995
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_orphaned(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_orphaned *r)
997
if (ndr_flags & NDR_SCALARS) {
998
NDR_CHECK(ndr_pull_align(ndr, 4));
999
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
1001
uint32_t _flags_save_DATA_BLOB = ndr->flags;
1002
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1003
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
1004
ndr->flags = _flags_save_DATA_BLOB;
1006
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1008
if (ndr_flags & NDR_BUFFERS) {
1010
return NDR_ERR_SUCCESS;
1013
_PUBLIC_ void ndr_print_dcerpc_orphaned(struct ndr_print *ndr, const char *name, const struct dcerpc_orphaned *r)
1015
ndr_print_struct(ndr, name, "dcerpc_orphaned");
1016
if (r == NULL) { ndr_print_null(ndr); return; }
1018
ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
1019
ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
1023
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_co_cancel(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_co_cancel *r)
1025
if (ndr_flags & NDR_SCALARS) {
1026
NDR_CHECK(ndr_push_align(ndr, 4));
1027
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1029
uint32_t _flags_save_DATA_BLOB = ndr->flags;
1030
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1031
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->auth_info));
1032
ndr->flags = _flags_save_DATA_BLOB;
1034
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1036
if (ndr_flags & NDR_BUFFERS) {
1038
return NDR_ERR_SUCCESS;
1041
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_co_cancel(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_co_cancel *r)
1043
if (ndr_flags & NDR_SCALARS) {
1044
NDR_CHECK(ndr_pull_align(ndr, 4));
1045
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_pad));
1047
uint32_t _flags_save_DATA_BLOB = ndr->flags;
1048
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
1049
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->auth_info));
1050
ndr->flags = _flags_save_DATA_BLOB;
1052
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1054
if (ndr_flags & NDR_BUFFERS) {
1056
return NDR_ERR_SUCCESS;
1059
_PUBLIC_ void ndr_print_dcerpc_co_cancel(struct ndr_print *ndr, const char *name, const struct dcerpc_co_cancel *r)
1061
ndr_print_struct(ndr, name, "dcerpc_co_cancel");
1062
if (r == NULL) { ndr_print_null(ndr); return; }
1064
ndr_print_uint32(ndr, "_pad", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?0:r->_pad);
1065
ndr_print_DATA_BLOB(ndr, "auth_info", r->auth_info);
1069
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_cl_cancel(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_cl_cancel *r)
1071
if (ndr_flags & NDR_SCALARS) {
1072
NDR_CHECK(ndr_push_align(ndr, 4));
1073
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1074
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id));
1075
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1077
if (ndr_flags & NDR_BUFFERS) {
1079
return NDR_ERR_SUCCESS;
1082
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_cl_cancel(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_cl_cancel *r)
1084
if (ndr_flags & NDR_SCALARS) {
1085
NDR_CHECK(ndr_pull_align(ndr, 4));
1086
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1087
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id));
1088
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1090
if (ndr_flags & NDR_BUFFERS) {
1092
return NDR_ERR_SUCCESS;
1095
_PUBLIC_ void ndr_print_dcerpc_cl_cancel(struct ndr_print *ndr, const char *name, const struct dcerpc_cl_cancel *r)
1097
ndr_print_struct(ndr, name, "dcerpc_cl_cancel");
1098
if (r == NULL) { ndr_print_null(ndr); return; }
1100
ndr_print_uint32(ndr, "version", r->version);
1101
ndr_print_uint32(ndr, "id", r->id);
1105
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_cancel_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_cancel_ack *r)
1107
if (ndr_flags & NDR_SCALARS) {
1108
NDR_CHECK(ndr_push_align(ndr, 4));
1109
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1110
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id));
1111
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->server_is_accepting));
1112
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1114
if (ndr_flags & NDR_BUFFERS) {
1116
return NDR_ERR_SUCCESS;
1119
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_cancel_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_cancel_ack *r)
1121
if (ndr_flags & NDR_SCALARS) {
1122
NDR_CHECK(ndr_pull_align(ndr, 4));
1123
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1124
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id));
1125
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->server_is_accepting));
1126
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1128
if (ndr_flags & NDR_BUFFERS) {
1130
return NDR_ERR_SUCCESS;
1133
_PUBLIC_ void ndr_print_dcerpc_cancel_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_cancel_ack *r)
1135
ndr_print_struct(ndr, name, "dcerpc_cancel_ack");
1136
if (r == NULL) { ndr_print_null(ndr); return; }
1138
ndr_print_uint32(ndr, "version", r->version);
1139
ndr_print_uint32(ndr, "id", r->id);
1140
ndr_print_uint32(ndr, "server_is_accepting", r->server_is_accepting);
1144
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_fack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_fack *r)
1146
uint32_t cntr_selack_0;
1147
if (ndr_flags & NDR_SCALARS) {
1148
NDR_CHECK(ndr_push_align(ndr, 4));
1149
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
1150
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->_pad1));
1151
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->window_size));
1152
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_tdsu));
1153
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->max_frag_size));
1154
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->serial_no));
1155
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->selack_size));
1156
for (cntr_selack_0 = 0; cntr_selack_0 < r->selack_size; cntr_selack_0++) {
1157
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->selack[cntr_selack_0]));
1159
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1161
if (ndr_flags & NDR_BUFFERS) {
1163
return NDR_ERR_SUCCESS;
1166
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_fack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_fack *r)
1168
uint32_t cntr_selack_0;
1169
TALLOC_CTX *_mem_save_selack_0;
1170
if (ndr_flags & NDR_SCALARS) {
1171
NDR_CHECK(ndr_pull_align(ndr, 4));
1172
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
1173
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->_pad1));
1174
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->window_size));
1175
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_tdsu));
1176
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->max_frag_size));
1177
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->serial_no));
1178
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->selack_size));
1179
NDR_PULL_ALLOC_N(ndr, r->selack, r->selack_size);
1180
_mem_save_selack_0 = NDR_PULL_GET_MEM_CTX(ndr);
1181
NDR_PULL_SET_MEM_CTX(ndr, r->selack, 0);
1182
for (cntr_selack_0 = 0; cntr_selack_0 < r->selack_size; cntr_selack_0++) {
1183
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->selack[cntr_selack_0]));
1185
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_selack_0, 0);
1186
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1188
if (ndr_flags & NDR_BUFFERS) {
1190
return NDR_ERR_SUCCESS;
1193
_PUBLIC_ void ndr_print_dcerpc_fack(struct ndr_print *ndr, const char *name, const struct dcerpc_fack *r)
1195
uint32_t cntr_selack_0;
1196
ndr_print_struct(ndr, name, "dcerpc_fack");
1197
if (r == NULL) { ndr_print_null(ndr); return; }
1199
ndr_print_uint32(ndr, "version", r->version);
1200
ndr_print_uint8(ndr, "_pad1", r->_pad1);
1201
ndr_print_uint16(ndr, "window_size", r->window_size);
1202
ndr_print_uint32(ndr, "max_tdsu", r->max_tdsu);
1203
ndr_print_uint32(ndr, "max_frag_size", r->max_frag_size);
1204
ndr_print_uint16(ndr, "serial_no", r->serial_no);
1205
ndr_print_uint16(ndr, "selack_size", r->selack_size);
1206
ndr->print(ndr, "%s: ARRAY(%d)", "selack", (int)r->selack_size);
1208
for (cntr_selack_0=0;cntr_selack_0<r->selack_size;cntr_selack_0++) {
1209
ndr_print_uint32(ndr, "selack", r->selack[cntr_selack_0]);
1215
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_ack(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ack *r)
1217
if (ndr_flags & NDR_SCALARS) {
1218
NDR_CHECK(ndr_push_align(ndr, 1));
1219
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1221
if (ndr_flags & NDR_BUFFERS) {
1223
return NDR_ERR_SUCCESS;
1226
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_ack(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ack *r)
1228
if (ndr_flags & NDR_SCALARS) {
1229
NDR_CHECK(ndr_pull_align(ndr, 1));
1230
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1232
if (ndr_flags & NDR_BUFFERS) {
1234
return NDR_ERR_SUCCESS;
1237
_PUBLIC_ void ndr_print_dcerpc_ack(struct ndr_print *ndr, const char *name, const struct dcerpc_ack *r)
1239
ndr_print_struct(ndr, name, "dcerpc_ack");
1240
if (r == NULL) { ndr_print_null(ndr); return; }
1245
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_ping(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_ping *r)
1247
if (ndr_flags & NDR_SCALARS) {
1248
NDR_CHECK(ndr_push_align(ndr, 1));
1249
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1251
if (ndr_flags & NDR_BUFFERS) {
1253
return NDR_ERR_SUCCESS;
1256
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_ping(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_ping *r)
1258
if (ndr_flags & NDR_SCALARS) {
1259
NDR_CHECK(ndr_pull_align(ndr, 1));
1260
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1262
if (ndr_flags & NDR_BUFFERS) {
1264
return NDR_ERR_SUCCESS;
1267
_PUBLIC_ void ndr_print_dcerpc_ping(struct ndr_print *ndr, const char *name, const struct dcerpc_ping *r)
1269
ndr_print_struct(ndr, name, "dcerpc_ping");
1270
if (r == NULL) { ndr_print_null(ndr); return; }
1275
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_shutdown(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_shutdown *r)
1277
if (ndr_flags & NDR_SCALARS) {
1278
NDR_CHECK(ndr_push_align(ndr, 1));
1279
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1281
if (ndr_flags & NDR_BUFFERS) {
1283
return NDR_ERR_SUCCESS;
1286
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_shutdown(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_shutdown *r)
1288
if (ndr_flags & NDR_SCALARS) {
1289
NDR_CHECK(ndr_pull_align(ndr, 1));
1290
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1292
if (ndr_flags & NDR_BUFFERS) {
1294
return NDR_ERR_SUCCESS;
1297
_PUBLIC_ void ndr_print_dcerpc_shutdown(struct ndr_print *ndr, const char *name, const struct dcerpc_shutdown *r)
1299
ndr_print_struct(ndr, name, "dcerpc_shutdown");
1300
if (r == NULL) { ndr_print_null(ndr); return; }
1305
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_working(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_working *r)
1307
if (ndr_flags & NDR_SCALARS) {
1308
NDR_CHECK(ndr_push_align(ndr, 1));
1309
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1311
if (ndr_flags & NDR_BUFFERS) {
1313
return NDR_ERR_SUCCESS;
1316
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_working(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_working *r)
1318
if (ndr_flags & NDR_SCALARS) {
1319
NDR_CHECK(ndr_pull_align(ndr, 1));
1320
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1322
if (ndr_flags & NDR_BUFFERS) {
1324
return NDR_ERR_SUCCESS;
1327
_PUBLIC_ void ndr_print_dcerpc_working(struct ndr_print *ndr, const char *name, const struct dcerpc_working *r)
1329
ndr_print_struct(ndr, name, "dcerpc_working");
1330
if (r == NULL) { ndr_print_null(ndr); return; }
1335
_PUBLIC_ enum ndr_err_code ndr_push_RTSCookie(struct ndr_push *ndr, int ndr_flags, const struct RTSCookie *r)
1337
if (ndr_flags & NDR_SCALARS) {
1338
NDR_CHECK(ndr_push_align(ndr, 4));
1339
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->Cookie));
1340
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1342
if (ndr_flags & NDR_BUFFERS) {
1344
return NDR_ERR_SUCCESS;
1347
_PUBLIC_ enum ndr_err_code ndr_pull_RTSCookie(struct ndr_pull *ndr, int ndr_flags, struct RTSCookie *r)
1349
if (ndr_flags & NDR_SCALARS) {
1350
NDR_CHECK(ndr_pull_align(ndr, 4));
1351
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->Cookie));
1352
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1354
if (ndr_flags & NDR_BUFFERS) {
1356
return NDR_ERR_SUCCESS;
1359
_PUBLIC_ void ndr_print_RTSCookie(struct ndr_print *ndr, const char *name, const struct RTSCookie *r)
1361
ndr_print_struct(ndr, name, "RTSCookie");
1362
if (r == NULL) { ndr_print_null(ndr); return; }
1364
ndr_print_GUID(ndr, "Cookie", &r->Cookie);
1368
_PUBLIC_ enum ndr_err_code ndr_push_AddressType(struct ndr_push *ndr, int ndr_flags, enum AddressType r)
1370
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1371
return NDR_ERR_SUCCESS;
1374
_PUBLIC_ enum ndr_err_code ndr_pull_AddressType(struct ndr_pull *ndr, int ndr_flags, enum AddressType *r)
1377
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1379
return NDR_ERR_SUCCESS;
1382
_PUBLIC_ void ndr_print_AddressType(struct ndr_print *ndr, const char *name, enum AddressType r)
1384
const char *val = NULL;
1387
case RTS_IPV4: val = "RTS_IPV4"; break;
1388
case RTS_IPV6: val = "RTS_IPV6"; break;
1390
ndr_print_enum(ndr, name, "ENUM", val, r);
1393
static enum ndr_err_code ndr_push_ClientAddressType(struct ndr_push *ndr, int ndr_flags, const union ClientAddressType *r)
1395
if (ndr_flags & NDR_SCALARS) {
1396
uint32_t level = ndr_push_get_switch_value(ndr, r);
1397
NDR_CHECK(ndr_push_union_align(ndr, 4));
1400
NDR_CHECK(ndr_push_ipv4address(ndr, NDR_SCALARS, r->ClientAddressIPV4));
1404
NDR_CHECK(ndr_push_ipv6address(ndr, NDR_SCALARS, r->ClientAddressIPV6));
1408
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1411
if (ndr_flags & NDR_BUFFERS) {
1412
uint32_t level = ndr_push_get_switch_value(ndr, r);
1421
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1424
return NDR_ERR_SUCCESS;
1427
static enum ndr_err_code ndr_pull_ClientAddressType(struct ndr_pull *ndr, int ndr_flags, union ClientAddressType *r)
1430
level = ndr_pull_get_switch_value(ndr, r);
1431
if (ndr_flags & NDR_SCALARS) {
1432
NDR_CHECK(ndr_pull_union_align(ndr, 4));
1435
NDR_CHECK(ndr_pull_ipv4address(ndr, NDR_SCALARS, &r->ClientAddressIPV4));
1439
NDR_CHECK(ndr_pull_ipv6address(ndr, NDR_SCALARS, &r->ClientAddressIPV6));
1443
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1446
if (ndr_flags & NDR_BUFFERS) {
1455
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
1458
return NDR_ERR_SUCCESS;
1461
_PUBLIC_ void ndr_print_ClientAddressType(struct ndr_print *ndr, const char *name, const union ClientAddressType *r)
1464
level = ndr_print_get_switch_value(ndr, r);
1465
ndr_print_union(ndr, name, level, "ClientAddressType");
1468
ndr_print_ipv4address(ndr, "ClientAddressIPV4", r->ClientAddressIPV4);
1472
ndr_print_ipv6address(ndr, "ClientAddressIPV6", r->ClientAddressIPV6);
1476
ndr_print_bad_level(ndr, name, level);
1480
_PUBLIC_ enum ndr_err_code ndr_push_ClientAddress(struct ndr_push *ndr, int ndr_flags, const struct ClientAddress *r)
1482
if (ndr_flags & NDR_SCALARS) {
1483
NDR_CHECK(ndr_push_align(ndr, 4));
1484
NDR_CHECK(ndr_push_AddressType(ndr, NDR_SCALARS, r->AddressType));
1485
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->ClientAddress, r->AddressType));
1486
NDR_CHECK(ndr_push_ClientAddressType(ndr, NDR_SCALARS, &r->ClientAddress));
1487
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Padding, 12));
1488
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1490
if (ndr_flags & NDR_BUFFERS) {
1492
return NDR_ERR_SUCCESS;
1495
_PUBLIC_ enum ndr_err_code ndr_pull_ClientAddress(struct ndr_pull *ndr, int ndr_flags, struct ClientAddress *r)
1497
if (ndr_flags & NDR_SCALARS) {
1498
NDR_CHECK(ndr_pull_align(ndr, 4));
1499
NDR_CHECK(ndr_pull_AddressType(ndr, NDR_SCALARS, &r->AddressType));
1500
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->ClientAddress, r->AddressType));
1501
NDR_CHECK(ndr_pull_ClientAddressType(ndr, NDR_SCALARS, &r->ClientAddress));
1502
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Padding, 12));
1503
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1505
if (ndr_flags & NDR_BUFFERS) {
1507
return NDR_ERR_SUCCESS;
1510
_PUBLIC_ void ndr_print_ClientAddress(struct ndr_print *ndr, const char *name, const struct ClientAddress *r)
1512
ndr_print_struct(ndr, name, "ClientAddress");
1513
if (r == NULL) { ndr_print_null(ndr); return; }
1515
ndr_print_AddressType(ndr, "AddressType", r->AddressType);
1516
ndr_print_set_switch_value(ndr, &r->ClientAddress, r->AddressType);
1517
ndr_print_ClientAddressType(ndr, "ClientAddress", &r->ClientAddress);
1518
ndr_print_array_uint8(ndr, "Padding", r->Padding, 12);
1522
_PUBLIC_ enum ndr_err_code ndr_push_ForwardDestination(struct ndr_push *ndr, int ndr_flags, enum ForwardDestination r)
1524
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
1525
return NDR_ERR_SUCCESS;
1528
_PUBLIC_ enum ndr_err_code ndr_pull_ForwardDestination(struct ndr_pull *ndr, int ndr_flags, enum ForwardDestination *r)
1531
NDR_CHECK(ndr_pull_enum_uint32(ndr, NDR_SCALARS, &v));
1533
return NDR_ERR_SUCCESS;
1536
_PUBLIC_ void ndr_print_ForwardDestination(struct ndr_print *ndr, const char *name, enum ForwardDestination r)
1538
const char *val = NULL;
1541
case FDClient: val = "FDClient"; break;
1542
case FDInProxy: val = "FDInProxy"; break;
1543
case FDServer: val = "FDServer"; break;
1544
case FDOutProxy: val = "FDOutProxy"; break;
1546
ndr_print_enum(ndr, name, "ENUM", val, r);
1549
_PUBLIC_ enum ndr_err_code ndr_push_FlowControlAcknowledgment(struct ndr_push *ndr, int ndr_flags, const struct FlowControlAcknowledgment *r)
1551
if (ndr_flags & NDR_SCALARS) {
1552
NDR_CHECK(ndr_push_align(ndr, 4));
1553
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->BytesReceived));
1554
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->AvailableWindow));
1555
NDR_CHECK(ndr_push_RTSCookie(ndr, NDR_SCALARS, &r->ChannelCookie));
1556
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1558
if (ndr_flags & NDR_BUFFERS) {
1560
return NDR_ERR_SUCCESS;
1563
_PUBLIC_ enum ndr_err_code ndr_pull_FlowControlAcknowledgment(struct ndr_pull *ndr, int ndr_flags, struct FlowControlAcknowledgment *r)
1565
if (ndr_flags & NDR_SCALARS) {
1566
NDR_CHECK(ndr_pull_align(ndr, 4));
1567
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->BytesReceived));
1568
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->AvailableWindow));
1569
NDR_CHECK(ndr_pull_RTSCookie(ndr, NDR_SCALARS, &r->ChannelCookie));
1570
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1572
if (ndr_flags & NDR_BUFFERS) {
1574
return NDR_ERR_SUCCESS;
1577
_PUBLIC_ void ndr_print_FlowControlAcknowledgment(struct ndr_print *ndr, const char *name, const struct FlowControlAcknowledgment *r)
1579
ndr_print_struct(ndr, name, "FlowControlAcknowledgment");
1580
if (r == NULL) { ndr_print_null(ndr); return; }
1582
ndr_print_uint32(ndr, "BytesReceived", r->BytesReceived);
1583
ndr_print_uint32(ndr, "AvailableWindow", r->AvailableWindow);
1584
ndr_print_RTSCookie(ndr, "ChannelCookie", &r->ChannelCookie);
1588
_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)
1590
if (ndr_flags & NDR_SCALARS) {
1591
NDR_CHECK(ndr_push_align(ndr, 4));
1592
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ReceiveWindowSize));
1593
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1595
if (ndr_flags & NDR_BUFFERS) {
1597
return NDR_ERR_SUCCESS;
1600
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ReceiveWindowSize(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ReceiveWindowSize *r)
1602
if (ndr_flags & NDR_SCALARS) {
1603
NDR_CHECK(ndr_pull_align(ndr, 4));
1604
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ReceiveWindowSize));
1605
if (r->ReceiveWindowSize > 0x40000) {
1606
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1608
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1610
if (ndr_flags & NDR_BUFFERS) {
1612
return NDR_ERR_SUCCESS;
1615
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ReceiveWindowSize(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ReceiveWindowSize *r)
1617
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ReceiveWindowSize");
1618
if (r == NULL) { ndr_print_null(ndr); return; }
1620
ndr_print_uint32(ndr, "ReceiveWindowSize", r->ReceiveWindowSize);
1624
_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)
1626
if (ndr_flags & NDR_SCALARS) {
1627
NDR_CHECK(ndr_push_align(ndr, 4));
1628
NDR_CHECK(ndr_push_FlowControlAcknowledgment(ndr, NDR_SCALARS, &r->Ack));
1629
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1631
if (ndr_flags & NDR_BUFFERS) {
1633
return NDR_ERR_SUCCESS;
1636
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_FlowControlAck(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_FlowControlAck *r)
1638
if (ndr_flags & NDR_SCALARS) {
1639
NDR_CHECK(ndr_pull_align(ndr, 4));
1640
NDR_CHECK(ndr_pull_FlowControlAcknowledgment(ndr, NDR_SCALARS, &r->Ack));
1641
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1643
if (ndr_flags & NDR_BUFFERS) {
1645
return NDR_ERR_SUCCESS;
1648
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_FlowControlAck(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_FlowControlAck *r)
1650
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_FlowControlAck");
1651
if (r == NULL) { ndr_print_null(ndr); return; }
1653
ndr_print_FlowControlAcknowledgment(ndr, "Ack", &r->Ack);
1657
_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)
1659
if (ndr_flags & NDR_SCALARS) {
1660
NDR_CHECK(ndr_push_align(ndr, 4));
1661
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ConnectionTimeout));
1662
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1664
if (ndr_flags & NDR_BUFFERS) {
1666
return NDR_ERR_SUCCESS;
1669
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ConnectionTimeout(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ConnectionTimeout *r)
1671
if (ndr_flags & NDR_SCALARS) {
1672
NDR_CHECK(ndr_pull_align(ndr, 4));
1673
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ConnectionTimeout));
1674
if (r->ConnectionTimeout > 0xDBBA00) {
1675
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1677
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1679
if (ndr_flags & NDR_BUFFERS) {
1681
return NDR_ERR_SUCCESS;
1684
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ConnectionTimeout(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ConnectionTimeout *r)
1686
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ConnectionTimeout");
1687
if (r == NULL) { ndr_print_null(ndr); return; }
1689
ndr_print_uint32(ndr, "ConnectionTimeout", r->ConnectionTimeout);
1693
_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)
1695
if (ndr_flags & NDR_SCALARS) {
1696
NDR_CHECK(ndr_push_align(ndr, 4));
1697
NDR_CHECK(ndr_push_RTSCookie(ndr, NDR_SCALARS, &r->Cookie));
1698
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1700
if (ndr_flags & NDR_BUFFERS) {
1702
return NDR_ERR_SUCCESS;
1705
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Cookie(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Cookie *r)
1707
if (ndr_flags & NDR_SCALARS) {
1708
NDR_CHECK(ndr_pull_align(ndr, 4));
1709
NDR_CHECK(ndr_pull_RTSCookie(ndr, NDR_SCALARS, &r->Cookie));
1710
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1712
if (ndr_flags & NDR_BUFFERS) {
1714
return NDR_ERR_SUCCESS;
1717
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Cookie(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Cookie *r)
1719
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Cookie");
1720
if (r == NULL) { ndr_print_null(ndr); return; }
1722
ndr_print_RTSCookie(ndr, "Cookie", &r->Cookie);
1726
_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)
1728
if (ndr_flags & NDR_SCALARS) {
1729
NDR_CHECK(ndr_push_align(ndr, 4));
1730
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ChannelLifetime));
1731
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1733
if (ndr_flags & NDR_BUFFERS) {
1735
return NDR_ERR_SUCCESS;
1738
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ChannelLifetime(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ChannelLifetime *r)
1740
if (ndr_flags & NDR_SCALARS) {
1741
NDR_CHECK(ndr_pull_align(ndr, 4));
1742
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ChannelLifetime));
1743
if (r->ChannelLifetime > 0x80000000) {
1744
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1746
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1748
if (ndr_flags & NDR_BUFFERS) {
1750
return NDR_ERR_SUCCESS;
1753
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ChannelLifetime(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ChannelLifetime *r)
1755
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ChannelLifetime");
1756
if (r == NULL) { ndr_print_null(ndr); return; }
1758
ndr_print_uint32(ndr, "ChannelLifetime", r->ChannelLifetime);
1762
_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)
1764
if (ndr_flags & NDR_SCALARS) {
1765
NDR_CHECK(ndr_push_align(ndr, 4));
1766
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ClientKeepalive));
1767
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1769
if (ndr_flags & NDR_BUFFERS) {
1771
return NDR_ERR_SUCCESS;
1774
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ClientKeepalive(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ClientKeepalive *r)
1776
if (ndr_flags & NDR_SCALARS) {
1777
NDR_CHECK(ndr_pull_align(ndr, 4));
1778
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ClientKeepalive));
1779
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1781
if (ndr_flags & NDR_BUFFERS) {
1783
return NDR_ERR_SUCCESS;
1786
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ClientKeepalive(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ClientKeepalive *r)
1788
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ClientKeepalive");
1789
if (r == NULL) { ndr_print_null(ndr); return; }
1791
ndr_print_uint32(ndr, "ClientKeepalive", r->ClientKeepalive);
1795
_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)
1797
if (ndr_flags & NDR_SCALARS) {
1798
NDR_CHECK(ndr_push_align(ndr, 4));
1799
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->Version));
1800
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1802
if (ndr_flags & NDR_BUFFERS) {
1804
return NDR_ERR_SUCCESS;
1807
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Version(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Version *r)
1809
if (ndr_flags & NDR_SCALARS) {
1810
NDR_CHECK(ndr_pull_align(ndr, 4));
1811
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->Version));
1812
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1814
if (ndr_flags & NDR_BUFFERS) {
1816
return NDR_ERR_SUCCESS;
1819
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Version(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Version *r)
1821
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Version");
1822
if (r == NULL) { ndr_print_null(ndr); return; }
1824
ndr_print_uint32(ndr, "Version", r->Version);
1828
_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)
1830
if (ndr_flags & NDR_SCALARS) {
1831
NDR_CHECK(ndr_push_align(ndr, 1));
1832
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1834
if (ndr_flags & NDR_BUFFERS) {
1836
return NDR_ERR_SUCCESS;
1839
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Empty(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Empty *r)
1841
if (ndr_flags & NDR_SCALARS) {
1842
NDR_CHECK(ndr_pull_align(ndr, 1));
1843
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1845
if (ndr_flags & NDR_BUFFERS) {
1847
return NDR_ERR_SUCCESS;
1850
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Empty(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Empty *r)
1852
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Empty");
1853
if (r == NULL) { ndr_print_null(ndr); return; }
1858
_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)
1860
if (ndr_flags & NDR_SCALARS) {
1861
NDR_CHECK(ndr_push_align(ndr, 4));
1862
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ConformanceCount));
1863
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->Padding, r->ConformanceCount));
1864
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1866
if (ndr_flags & NDR_BUFFERS) {
1868
return NDR_ERR_SUCCESS;
1871
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Padding(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Padding *r)
1873
if (ndr_flags & NDR_SCALARS) {
1874
NDR_CHECK(ndr_pull_align(ndr, 4));
1875
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ConformanceCount));
1876
if (r->ConformanceCount > 0xFFFF) {
1877
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
1879
NDR_PULL_ALLOC_N(ndr, r->Padding, r->ConformanceCount);
1880
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->Padding, r->ConformanceCount));
1881
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1883
if (ndr_flags & NDR_BUFFERS) {
1885
return NDR_ERR_SUCCESS;
1888
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Padding(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Padding *r)
1890
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Padding");
1891
if (r == NULL) { ndr_print_null(ndr); return; }
1893
ndr_print_uint32(ndr, "ConformanceCount", r->ConformanceCount);
1894
ndr_print_array_uint8(ndr, "Padding", r->Padding, r->ConformanceCount);
1898
_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)
1900
if (ndr_flags & NDR_SCALARS) {
1901
NDR_CHECK(ndr_push_align(ndr, 1));
1902
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1904
if (ndr_flags & NDR_BUFFERS) {
1906
return NDR_ERR_SUCCESS;
1909
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_NegativeANCE(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_NegativeANCE *r)
1911
if (ndr_flags & NDR_SCALARS) {
1912
NDR_CHECK(ndr_pull_align(ndr, 1));
1913
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1915
if (ndr_flags & NDR_BUFFERS) {
1917
return NDR_ERR_SUCCESS;
1920
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_NegativeANCE(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_NegativeANCE *r)
1922
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_NegativeANCE");
1923
if (r == NULL) { ndr_print_null(ndr); return; }
1928
_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)
1930
if (ndr_flags & NDR_SCALARS) {
1931
NDR_CHECK(ndr_push_align(ndr, 1));
1932
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
1934
if (ndr_flags & NDR_BUFFERS) {
1936
return NDR_ERR_SUCCESS;
1939
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ANCE(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ANCE *r)
1941
if (ndr_flags & NDR_SCALARS) {
1942
NDR_CHECK(ndr_pull_align(ndr, 1));
1943
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
1945
if (ndr_flags & NDR_BUFFERS) {
1947
return NDR_ERR_SUCCESS;
1950
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ANCE(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ANCE *r)
1952
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ANCE");
1953
if (r == NULL) { ndr_print_null(ndr); return; }
1958
_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)
1960
if (ndr_flags & NDR_SCALARS) {
1961
NDR_CHECK(ndr_push_align(ndr, 4));
1962
NDR_CHECK(ndr_push_ClientAddress(ndr, NDR_SCALARS, &r->ClientAddress));
1963
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1965
if (ndr_flags & NDR_BUFFERS) {
1967
return NDR_ERR_SUCCESS;
1970
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_ClientAddress(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_ClientAddress *r)
1972
if (ndr_flags & NDR_SCALARS) {
1973
NDR_CHECK(ndr_pull_align(ndr, 4));
1974
NDR_CHECK(ndr_pull_ClientAddress(ndr, NDR_SCALARS, &r->ClientAddress));
1975
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
1977
if (ndr_flags & NDR_BUFFERS) {
1979
return NDR_ERR_SUCCESS;
1982
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_ClientAddress(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_ClientAddress *r)
1984
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_ClientAddress");
1985
if (r == NULL) { ndr_print_null(ndr); return; }
1987
ndr_print_ClientAddress(ndr, "ClientAddress", &r->ClientAddress);
1991
_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)
1993
if (ndr_flags & NDR_SCALARS) {
1994
NDR_CHECK(ndr_push_align(ndr, 4));
1995
NDR_CHECK(ndr_push_RTSCookie(ndr, NDR_SCALARS, &r->AssociationGroupId));
1996
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
1998
if (ndr_flags & NDR_BUFFERS) {
2000
return NDR_ERR_SUCCESS;
2003
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_AssociationGroupId(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_AssociationGroupId *r)
2005
if (ndr_flags & NDR_SCALARS) {
2006
NDR_CHECK(ndr_pull_align(ndr, 4));
2007
NDR_CHECK(ndr_pull_RTSCookie(ndr, NDR_SCALARS, &r->AssociationGroupId));
2008
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2010
if (ndr_flags & NDR_BUFFERS) {
2012
return NDR_ERR_SUCCESS;
2015
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_AssociationGroupId(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_AssociationGroupId *r)
2017
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_AssociationGroupId");
2018
if (r == NULL) { ndr_print_null(ndr); return; }
2020
ndr_print_RTSCookie(ndr, "AssociationGroupId", &r->AssociationGroupId);
2024
_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)
2026
if (ndr_flags & NDR_SCALARS) {
2027
NDR_CHECK(ndr_push_align(ndr, 4));
2028
NDR_CHECK(ndr_push_ForwardDestination(ndr, NDR_SCALARS, r->ForwardDestination));
2029
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2031
if (ndr_flags & NDR_BUFFERS) {
2033
return NDR_ERR_SUCCESS;
2036
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_Destination(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_Destination *r)
2038
if (ndr_flags & NDR_SCALARS) {
2039
NDR_CHECK(ndr_pull_align(ndr, 4));
2040
NDR_CHECK(ndr_pull_ForwardDestination(ndr, NDR_SCALARS, &r->ForwardDestination));
2041
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2043
if (ndr_flags & NDR_BUFFERS) {
2045
return NDR_ERR_SUCCESS;
2048
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_Destination(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_Destination *r)
2050
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_Destination");
2051
if (r == NULL) { ndr_print_null(ndr); return; }
2053
ndr_print_ForwardDestination(ndr, "ForwardDestination", r->ForwardDestination);
2057
_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)
2059
if (ndr_flags & NDR_SCALARS) {
2060
NDR_CHECK(ndr_push_align(ndr, 4));
2061
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->PingTrafficSent));
2062
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2064
if (ndr_flags & NDR_BUFFERS) {
2066
return NDR_ERR_SUCCESS;
2069
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd_PingTrafficSentNotify(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd_PingTrafficSentNotify *r)
2071
if (ndr_flags & NDR_SCALARS) {
2072
NDR_CHECK(ndr_pull_align(ndr, 4));
2073
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->PingTrafficSent));
2074
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2076
if (ndr_flags & NDR_BUFFERS) {
2078
return NDR_ERR_SUCCESS;
2081
_PUBLIC_ void ndr_print_dcerpc_rts_cmd_PingTrafficSentNotify(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd_PingTrafficSentNotify *r)
2083
ndr_print_struct(ndr, name, "dcerpc_rts_cmd_PingTrafficSentNotify");
2084
if (r == NULL) { ndr_print_null(ndr); return; }
2086
ndr_print_uint32(ndr, "PingTrafficSent", r->PingTrafficSent);
2090
static enum ndr_err_code ndr_push_dcerpc_rts_cmds(struct ndr_push *ndr, int ndr_flags, const union dcerpc_rts_cmds *r)
2092
if (ndr_flags & NDR_SCALARS) {
2093
uint32_t level = ndr_push_get_switch_value(ndr, r);
2094
NDR_CHECK(ndr_push_union_align(ndr, 4));
2097
NDR_CHECK(ndr_push_dcerpc_rts_cmd_ReceiveWindowSize(ndr, NDR_SCALARS, &r->ReceiveWindowSize));
2101
NDR_CHECK(ndr_push_dcerpc_rts_cmd_FlowControlAck(ndr, NDR_SCALARS, &r->FlowControlAck));
2105
NDR_CHECK(ndr_push_dcerpc_rts_cmd_ConnectionTimeout(ndr, NDR_SCALARS, &r->ConnectionTimeout));
2109
NDR_CHECK(ndr_push_dcerpc_rts_cmd_Cookie(ndr, NDR_SCALARS, &r->Cookie));
2113
NDR_CHECK(ndr_push_dcerpc_rts_cmd_ChannelLifetime(ndr, NDR_SCALARS, &r->ChannelLifetime));
2117
NDR_CHECK(ndr_push_dcerpc_rts_cmd_ClientKeepalive(ndr, NDR_SCALARS, &r->ClientKeepalive));
2121
NDR_CHECK(ndr_push_dcerpc_rts_cmd_Version(ndr, NDR_SCALARS, &r->Version));
2125
NDR_CHECK(ndr_push_dcerpc_rts_cmd_Empty(ndr, NDR_SCALARS, &r->Empty));
2129
NDR_CHECK(ndr_push_dcerpc_rts_cmd_Padding(ndr, NDR_SCALARS, &r->Padding));
2133
NDR_CHECK(ndr_push_dcerpc_rts_cmd_NegativeANCE(ndr, NDR_SCALARS, &r->NegativeANCE));
2137
NDR_CHECK(ndr_push_dcerpc_rts_cmd_ANCE(ndr, NDR_SCALARS, &r->ANCE));
2141
NDR_CHECK(ndr_push_dcerpc_rts_cmd_ClientAddress(ndr, NDR_SCALARS, &r->ClientAddress));
2145
NDR_CHECK(ndr_push_dcerpc_rts_cmd_AssociationGroupId(ndr, NDR_SCALARS, &r->AssociationGroupId));
2149
NDR_CHECK(ndr_push_dcerpc_rts_cmd_Destination(ndr, NDR_SCALARS, &r->Destination));
2153
NDR_CHECK(ndr_push_dcerpc_rts_cmd_PingTrafficSentNotify(ndr, NDR_SCALARS, &r->PingTrafficSentNotify));
2157
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2160
if (ndr_flags & NDR_BUFFERS) {
2161
uint32_t level = ndr_push_get_switch_value(ndr, r);
2209
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2212
return NDR_ERR_SUCCESS;
2215
static enum ndr_err_code ndr_pull_dcerpc_rts_cmds(struct ndr_pull *ndr, int ndr_flags, union dcerpc_rts_cmds *r)
2218
level = ndr_pull_get_switch_value(ndr, r);
2219
if (ndr_flags & NDR_SCALARS) {
2220
NDR_CHECK(ndr_pull_union_align(ndr, 4));
2223
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ReceiveWindowSize(ndr, NDR_SCALARS, &r->ReceiveWindowSize));
2227
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_FlowControlAck(ndr, NDR_SCALARS, &r->FlowControlAck));
2231
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ConnectionTimeout(ndr, NDR_SCALARS, &r->ConnectionTimeout));
2235
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Cookie(ndr, NDR_SCALARS, &r->Cookie));
2239
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ChannelLifetime(ndr, NDR_SCALARS, &r->ChannelLifetime));
2243
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ClientKeepalive(ndr, NDR_SCALARS, &r->ClientKeepalive));
2247
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Version(ndr, NDR_SCALARS, &r->Version));
2251
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Empty(ndr, NDR_SCALARS, &r->Empty));
2255
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Padding(ndr, NDR_SCALARS, &r->Padding));
2259
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_NegativeANCE(ndr, NDR_SCALARS, &r->NegativeANCE));
2263
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ANCE(ndr, NDR_SCALARS, &r->ANCE));
2267
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_ClientAddress(ndr, NDR_SCALARS, &r->ClientAddress));
2271
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_AssociationGroupId(ndr, NDR_SCALARS, &r->AssociationGroupId));
2275
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_Destination(ndr, NDR_SCALARS, &r->Destination));
2279
NDR_CHECK(ndr_pull_dcerpc_rts_cmd_PingTrafficSentNotify(ndr, NDR_SCALARS, &r->PingTrafficSentNotify));
2283
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2286
if (ndr_flags & NDR_BUFFERS) {
2334
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2337
return NDR_ERR_SUCCESS;
2340
_PUBLIC_ void ndr_print_dcerpc_rts_cmds(struct ndr_print *ndr, const char *name, const union dcerpc_rts_cmds *r)
2343
level = ndr_print_get_switch_value(ndr, r);
2344
ndr_print_union(ndr, name, level, "dcerpc_rts_cmds");
2347
ndr_print_dcerpc_rts_cmd_ReceiveWindowSize(ndr, "ReceiveWindowSize", &r->ReceiveWindowSize);
2351
ndr_print_dcerpc_rts_cmd_FlowControlAck(ndr, "FlowControlAck", &r->FlowControlAck);
2355
ndr_print_dcerpc_rts_cmd_ConnectionTimeout(ndr, "ConnectionTimeout", &r->ConnectionTimeout);
2359
ndr_print_dcerpc_rts_cmd_Cookie(ndr, "Cookie", &r->Cookie);
2363
ndr_print_dcerpc_rts_cmd_ChannelLifetime(ndr, "ChannelLifetime", &r->ChannelLifetime);
2367
ndr_print_dcerpc_rts_cmd_ClientKeepalive(ndr, "ClientKeepalive", &r->ClientKeepalive);
2371
ndr_print_dcerpc_rts_cmd_Version(ndr, "Version", &r->Version);
2375
ndr_print_dcerpc_rts_cmd_Empty(ndr, "Empty", &r->Empty);
2379
ndr_print_dcerpc_rts_cmd_Padding(ndr, "Padding", &r->Padding);
2383
ndr_print_dcerpc_rts_cmd_NegativeANCE(ndr, "NegativeANCE", &r->NegativeANCE);
2387
ndr_print_dcerpc_rts_cmd_ANCE(ndr, "ANCE", &r->ANCE);
2391
ndr_print_dcerpc_rts_cmd_ClientAddress(ndr, "ClientAddress", &r->ClientAddress);
2395
ndr_print_dcerpc_rts_cmd_AssociationGroupId(ndr, "AssociationGroupId", &r->AssociationGroupId);
2399
ndr_print_dcerpc_rts_cmd_Destination(ndr, "Destination", &r->Destination);
2403
ndr_print_dcerpc_rts_cmd_PingTrafficSentNotify(ndr, "PingTrafficSentNotify", &r->PingTrafficSentNotify);
2407
ndr_print_bad_level(ndr, name, level);
2411
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_cmd(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts_cmd *r)
2413
if (ndr_flags & NDR_SCALARS) {
2414
NDR_CHECK(ndr_push_align(ndr, 4));
2415
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->CommandType));
2416
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->Command, r->CommandType));
2417
NDR_CHECK(ndr_push_dcerpc_rts_cmds(ndr, NDR_SCALARS, &r->Command));
2418
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2420
if (ndr_flags & NDR_BUFFERS) {
2422
return NDR_ERR_SUCCESS;
2425
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_cmd(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts_cmd *r)
2427
if (ndr_flags & NDR_SCALARS) {
2428
NDR_CHECK(ndr_pull_align(ndr, 4));
2429
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->CommandType));
2430
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->Command, r->CommandType));
2431
NDR_CHECK(ndr_pull_dcerpc_rts_cmds(ndr, NDR_SCALARS, &r->Command));
2432
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2434
if (ndr_flags & NDR_BUFFERS) {
2436
return NDR_ERR_SUCCESS;
2439
_PUBLIC_ void ndr_print_dcerpc_rts_cmd(struct ndr_print *ndr, const char *name, const struct dcerpc_rts_cmd *r)
2441
ndr_print_struct(ndr, name, "dcerpc_rts_cmd");
2442
if (r == NULL) { ndr_print_null(ndr); return; }
2444
ndr_print_uint32(ndr, "CommandType", r->CommandType);
2445
ndr_print_set_switch_value(ndr, &r->Command, r->CommandType);
2446
ndr_print_dcerpc_rts_cmds(ndr, "Command", &r->Command);
2450
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts_flags(struct ndr_push *ndr, int ndr_flags, uint16_t r)
2452
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
2453
return NDR_ERR_SUCCESS;
2456
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts_flags(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
2459
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
2461
return NDR_ERR_SUCCESS;
2464
_PUBLIC_ void ndr_print_dcerpc_rts_flags(struct ndr_print *ndr, const char *name, uint16_t r)
2466
ndr_print_uint16(ndr, name, r);
2468
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_NONE", RTS_FLAG_NONE, r);
2469
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_PING", RTS_FLAG_PING, r);
2470
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_OTHER_CMD", RTS_FLAG_OTHER_CMD, r);
2471
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_RECYCLE_CHANNEL", RTS_FLAG_RECYCLE_CHANNEL, r);
2472
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_IN_CHANNEL", RTS_FLAG_IN_CHANNEL, r);
2473
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_OUT_CHANNEL", RTS_FLAG_OUT_CHANNEL, r);
2474
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_EOF", RTS_FLAG_EOF, r);
2475
ndr_print_bitmap_flag(ndr, sizeof(uint16_t), "RTS_FLAG_ECHO", RTS_FLAG_ECHO, r);
2479
_PUBLIC_ enum ndr_err_code ndr_push_dcerpc_rts(struct ndr_push *ndr, int ndr_flags, const struct dcerpc_rts *r)
2481
uint32_t cntr_Commands_0;
2482
if (ndr_flags & NDR_SCALARS) {
2483
NDR_CHECK(ndr_push_align(ndr, 4));
2484
NDR_CHECK(ndr_push_dcerpc_rts_flags(ndr, NDR_SCALARS, r->Flags));
2485
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->NumberOfCommands));
2486
for (cntr_Commands_0 = 0; cntr_Commands_0 < r->NumberOfCommands; cntr_Commands_0++) {
2487
NDR_CHECK(ndr_push_dcerpc_rts_cmd(ndr, NDR_SCALARS, &r->Commands[cntr_Commands_0]));
2489
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
2491
if (ndr_flags & NDR_BUFFERS) {
2493
return NDR_ERR_SUCCESS;
2496
_PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_rts(struct ndr_pull *ndr, int ndr_flags, struct dcerpc_rts *r)
2498
uint32_t cntr_Commands_0;
2499
TALLOC_CTX *_mem_save_Commands_0;
2500
if (ndr_flags & NDR_SCALARS) {
2501
NDR_CHECK(ndr_pull_align(ndr, 4));
2502
NDR_CHECK(ndr_pull_dcerpc_rts_flags(ndr, NDR_SCALARS, &r->Flags));
2503
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->NumberOfCommands));
2504
NDR_PULL_ALLOC_N(ndr, r->Commands, r->NumberOfCommands);
2505
_mem_save_Commands_0 = NDR_PULL_GET_MEM_CTX(ndr);
2506
NDR_PULL_SET_MEM_CTX(ndr, r->Commands, 0);
2507
for (cntr_Commands_0 = 0; cntr_Commands_0 < r->NumberOfCommands; cntr_Commands_0++) {
2508
NDR_CHECK(ndr_pull_dcerpc_rts_cmd(ndr, NDR_SCALARS, &r->Commands[cntr_Commands_0]));
2510
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_Commands_0, 0);
2511
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
2513
if (ndr_flags & NDR_BUFFERS) {
2515
return NDR_ERR_SUCCESS;
2518
_PUBLIC_ void ndr_print_dcerpc_rts(struct ndr_print *ndr, const char *name, const struct dcerpc_rts *r)
2520
uint32_t cntr_Commands_0;
2521
ndr_print_struct(ndr, name, "dcerpc_rts");
2522
if (r == NULL) { ndr_print_null(ndr); return; }
2524
ndr_print_dcerpc_rts_flags(ndr, "Flags", r->Flags);
2525
ndr_print_uint16(ndr, "NumberOfCommands", r->NumberOfCommands);
2526
ndr->print(ndr, "%s: ARRAY(%d)", "Commands", (int)r->NumberOfCommands);
2528
for (cntr_Commands_0=0;cntr_Commands_0<r->NumberOfCommands;cntr_Commands_0++) {
2529
ndr_print_dcerpc_rts_cmd(ndr, "Commands", &r->Commands[cntr_Commands_0]);
2535
static enum ndr_err_code ndr_push_dcerpc_pkt_type(struct ndr_push *ndr, int ndr_flags, enum dcerpc_pkt_type r)
2537
NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
2538
return NDR_ERR_SUCCESS;
2541
static enum ndr_err_code ndr_pull_dcerpc_pkt_type(struct ndr_pull *ndr, int ndr_flags, enum dcerpc_pkt_type *r)
2544
NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
2546
return NDR_ERR_SUCCESS;
2549
_PUBLIC_ void ndr_print_dcerpc_pkt_type(struct ndr_print *ndr, const char *name, enum dcerpc_pkt_type r)
2551
const char *val = NULL;
2554
case DCERPC_PKT_REQUEST: val = "DCERPC_PKT_REQUEST"; break;
2555
case DCERPC_PKT_PING: val = "DCERPC_PKT_PING"; break;
2556
case DCERPC_PKT_RESPONSE: val = "DCERPC_PKT_RESPONSE"; break;
2557
case DCERPC_PKT_FAULT: val = "DCERPC_PKT_FAULT"; break;
2558
case DCERPC_PKT_WORKING: val = "DCERPC_PKT_WORKING"; break;
2559
case DCERPC_PKT_NOCALL: val = "DCERPC_PKT_NOCALL"; break;
2560
case DCERPC_PKT_REJECT: val = "DCERPC_PKT_REJECT"; break;
2561
case DCERPC_PKT_ACK: val = "DCERPC_PKT_ACK"; break;
2562
case DCERPC_PKT_CL_CANCEL: val = "DCERPC_PKT_CL_CANCEL"; break;
2563
case DCERPC_PKT_FACK: val = "DCERPC_PKT_FACK"; break;
2564
case DCERPC_PKT_CANCEL_ACK: val = "DCERPC_PKT_CANCEL_ACK"; break;
2565
case DCERPC_PKT_BIND: val = "DCERPC_PKT_BIND"; break;
2566
case DCERPC_PKT_BIND_ACK: val = "DCERPC_PKT_BIND_ACK"; break;
2567
case DCERPC_PKT_BIND_NAK: val = "DCERPC_PKT_BIND_NAK"; break;
2568
case DCERPC_PKT_ALTER: val = "DCERPC_PKT_ALTER"; break;
2569
case DCERPC_PKT_ALTER_RESP: val = "DCERPC_PKT_ALTER_RESP"; break;
2570
case DCERPC_PKT_AUTH3: val = "DCERPC_PKT_AUTH3"; break;
2571
case DCERPC_PKT_SHUTDOWN: val = "DCERPC_PKT_SHUTDOWN"; break;
2572
case DCERPC_PKT_CO_CANCEL: val = "DCERPC_PKT_CO_CANCEL"; break;
2573
case DCERPC_PKT_ORPHANED: val = "DCERPC_PKT_ORPHANED"; break;
2574
case DCERPC_PKT_RTS: val = "DCERPC_PKT_RTS"; break;
2576
ndr_print_enum(ndr, name, "ENUM", val, r);
2579
static enum ndr_err_code ndr_push_dcerpc_payload(struct ndr_push *ndr, int ndr_flags, const union dcerpc_payload *r)
2581
if (ndr_flags & NDR_SCALARS) {
2582
uint32_t level = ndr_push_get_switch_value(ndr, r);
2583
NDR_CHECK(ndr_push_union_align(ndr, 4));
2585
case DCERPC_PKT_REQUEST: {
2586
NDR_CHECK(ndr_push_dcerpc_request(ndr, NDR_SCALARS, &r->request));
2589
case DCERPC_PKT_PING: {
2590
NDR_CHECK(ndr_push_dcerpc_ping(ndr, NDR_SCALARS, &r->ping));
2593
case DCERPC_PKT_RESPONSE: {
2594
NDR_CHECK(ndr_push_dcerpc_response(ndr, NDR_SCALARS, &r->response));
2597
case DCERPC_PKT_FAULT: {
2598
NDR_CHECK(ndr_push_dcerpc_fault(ndr, NDR_SCALARS, &r->fault));
2601
case DCERPC_PKT_WORKING: {
2602
NDR_CHECK(ndr_push_dcerpc_working(ndr, NDR_SCALARS, &r->working));
2605
case DCERPC_PKT_NOCALL: {
2606
NDR_CHECK(ndr_push_dcerpc_fack(ndr, NDR_SCALARS, &r->nocall));
2609
case DCERPC_PKT_REJECT: {
2610
NDR_CHECK(ndr_push_dcerpc_fault(ndr, NDR_SCALARS, &r->reject));
2613
case DCERPC_PKT_ACK: {
2614
NDR_CHECK(ndr_push_dcerpc_ack(ndr, NDR_SCALARS, &r->ack));
2617
case DCERPC_PKT_CL_CANCEL: {
2618
NDR_CHECK(ndr_push_dcerpc_cl_cancel(ndr, NDR_SCALARS, &r->cl_cancel));
2621
case DCERPC_PKT_FACK: {
2622
NDR_CHECK(ndr_push_dcerpc_fack(ndr, NDR_SCALARS, &r->fack));
2625
case DCERPC_PKT_CANCEL_ACK: {
2626
NDR_CHECK(ndr_push_dcerpc_cancel_ack(ndr, NDR_SCALARS, &r->cancel_ack));
2629
case DCERPC_PKT_BIND: {
2630
NDR_CHECK(ndr_push_dcerpc_bind(ndr, NDR_SCALARS, &r->bind));
2633
case DCERPC_PKT_BIND_ACK: {
2634
NDR_CHECK(ndr_push_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->bind_ack));
2637
case DCERPC_PKT_BIND_NAK: {
2638
NDR_CHECK(ndr_push_dcerpc_bind_nak(ndr, NDR_SCALARS, &r->bind_nak));
2641
case DCERPC_PKT_ALTER: {
2642
NDR_CHECK(ndr_push_dcerpc_bind(ndr, NDR_SCALARS, &r->alter));
2645
case DCERPC_PKT_ALTER_RESP: {
2646
NDR_CHECK(ndr_push_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->alter_resp));
2649
case DCERPC_PKT_SHUTDOWN: {
2650
NDR_CHECK(ndr_push_dcerpc_shutdown(ndr, NDR_SCALARS, &r->shutdown));
2653
case DCERPC_PKT_CO_CANCEL: {
2654
NDR_CHECK(ndr_push_dcerpc_co_cancel(ndr, NDR_SCALARS, &r->co_cancel));
2657
case DCERPC_PKT_ORPHANED: {
2658
NDR_CHECK(ndr_push_dcerpc_orphaned(ndr, NDR_SCALARS, &r->orphaned));
2661
case DCERPC_PKT_AUTH3: {
2662
NDR_CHECK(ndr_push_dcerpc_auth3(ndr, NDR_SCALARS, &r->auth3));
2665
case DCERPC_PKT_RTS: {
2666
NDR_CHECK(ndr_push_dcerpc_rts(ndr, NDR_SCALARS, &r->rts));
2670
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2673
if (ndr_flags & NDR_BUFFERS) {
2674
uint32_t level = ndr_push_get_switch_value(ndr, r);
2676
case DCERPC_PKT_REQUEST:
2679
case DCERPC_PKT_PING:
2682
case DCERPC_PKT_RESPONSE:
2685
case DCERPC_PKT_FAULT:
2688
case DCERPC_PKT_WORKING:
2691
case DCERPC_PKT_NOCALL:
2694
case DCERPC_PKT_REJECT:
2697
case DCERPC_PKT_ACK:
2700
case DCERPC_PKT_CL_CANCEL:
2703
case DCERPC_PKT_FACK:
2706
case DCERPC_PKT_CANCEL_ACK:
2709
case DCERPC_PKT_BIND:
2712
case DCERPC_PKT_BIND_ACK:
2715
case DCERPC_PKT_BIND_NAK:
2716
NDR_CHECK(ndr_push_dcerpc_bind_nak(ndr, NDR_BUFFERS, &r->bind_nak));
2719
case DCERPC_PKT_ALTER:
2722
case DCERPC_PKT_ALTER_RESP:
2725
case DCERPC_PKT_SHUTDOWN:
2728
case DCERPC_PKT_CO_CANCEL:
2731
case DCERPC_PKT_ORPHANED:
2734
case DCERPC_PKT_AUTH3:
2737
case DCERPC_PKT_RTS:
2741
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2744
return NDR_ERR_SUCCESS;
2747
static enum ndr_err_code ndr_pull_dcerpc_payload(struct ndr_pull *ndr, int ndr_flags, union dcerpc_payload *r)
2750
level = ndr_pull_get_switch_value(ndr, r);
2751
if (ndr_flags & NDR_SCALARS) {
2752
NDR_CHECK(ndr_pull_union_align(ndr, 4));
2754
case DCERPC_PKT_REQUEST: {
2755
NDR_CHECK(ndr_pull_dcerpc_request(ndr, NDR_SCALARS, &r->request));
2758
case DCERPC_PKT_PING: {
2759
NDR_CHECK(ndr_pull_dcerpc_ping(ndr, NDR_SCALARS, &r->ping));
2762
case DCERPC_PKT_RESPONSE: {
2763
NDR_CHECK(ndr_pull_dcerpc_response(ndr, NDR_SCALARS, &r->response));
2766
case DCERPC_PKT_FAULT: {
2767
NDR_CHECK(ndr_pull_dcerpc_fault(ndr, NDR_SCALARS, &r->fault));
2770
case DCERPC_PKT_WORKING: {
2771
NDR_CHECK(ndr_pull_dcerpc_working(ndr, NDR_SCALARS, &r->working));
2774
case DCERPC_PKT_NOCALL: {
2775
NDR_CHECK(ndr_pull_dcerpc_fack(ndr, NDR_SCALARS, &r->nocall));
2778
case DCERPC_PKT_REJECT: {
2779
NDR_CHECK(ndr_pull_dcerpc_fault(ndr, NDR_SCALARS, &r->reject));
2782
case DCERPC_PKT_ACK: {
2783
NDR_CHECK(ndr_pull_dcerpc_ack(ndr, NDR_SCALARS, &r->ack));
2786
case DCERPC_PKT_CL_CANCEL: {
2787
NDR_CHECK(ndr_pull_dcerpc_cl_cancel(ndr, NDR_SCALARS, &r->cl_cancel));
2790
case DCERPC_PKT_FACK: {
2791
NDR_CHECK(ndr_pull_dcerpc_fack(ndr, NDR_SCALARS, &r->fack));
2794
case DCERPC_PKT_CANCEL_ACK: {
2795
NDR_CHECK(ndr_pull_dcerpc_cancel_ack(ndr, NDR_SCALARS, &r->cancel_ack));
2798
case DCERPC_PKT_BIND: {
2799
NDR_CHECK(ndr_pull_dcerpc_bind(ndr, NDR_SCALARS, &r->bind));
2802
case DCERPC_PKT_BIND_ACK: {
2803
NDR_CHECK(ndr_pull_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->bind_ack));
2806
case DCERPC_PKT_BIND_NAK: {
2807
NDR_CHECK(ndr_pull_dcerpc_bind_nak(ndr, NDR_SCALARS, &r->bind_nak));
2810
case DCERPC_PKT_ALTER: {
2811
NDR_CHECK(ndr_pull_dcerpc_bind(ndr, NDR_SCALARS, &r->alter));
2814
case DCERPC_PKT_ALTER_RESP: {
2815
NDR_CHECK(ndr_pull_dcerpc_bind_ack(ndr, NDR_SCALARS, &r->alter_resp));
2818
case DCERPC_PKT_SHUTDOWN: {
2819
NDR_CHECK(ndr_pull_dcerpc_shutdown(ndr, NDR_SCALARS, &r->shutdown));
2822
case DCERPC_PKT_CO_CANCEL: {
2823
NDR_CHECK(ndr_pull_dcerpc_co_cancel(ndr, NDR_SCALARS, &r->co_cancel));
2826
case DCERPC_PKT_ORPHANED: {
2827
NDR_CHECK(ndr_pull_dcerpc_orphaned(ndr, NDR_SCALARS, &r->orphaned));
2830
case DCERPC_PKT_AUTH3: {
2831
NDR_CHECK(ndr_pull_dcerpc_auth3(ndr, NDR_SCALARS, &r->auth3));
2834
case DCERPC_PKT_RTS: {
2835
NDR_CHECK(ndr_pull_dcerpc_rts(ndr, NDR_SCALARS, &r->rts));
2839
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2842
if (ndr_flags & NDR_BUFFERS) {
2844
case DCERPC_PKT_REQUEST:
2847
case DCERPC_PKT_PING:
2850
case DCERPC_PKT_RESPONSE:
2853
case DCERPC_PKT_FAULT:
2856
case DCERPC_PKT_WORKING:
2859
case DCERPC_PKT_NOCALL:
2862
case DCERPC_PKT_REJECT:
2865
case DCERPC_PKT_ACK:
2868
case DCERPC_PKT_CL_CANCEL:
2871
case DCERPC_PKT_FACK:
2874
case DCERPC_PKT_CANCEL_ACK:
2877
case DCERPC_PKT_BIND:
2880
case DCERPC_PKT_BIND_ACK:
2883
case DCERPC_PKT_BIND_NAK:
2884
NDR_CHECK(ndr_pull_dcerpc_bind_nak(ndr, NDR_BUFFERS, &r->bind_nak));
2887
case DCERPC_PKT_ALTER:
2890
case DCERPC_PKT_ALTER_RESP:
2893
case DCERPC_PKT_SHUTDOWN:
2896
case DCERPC_PKT_CO_CANCEL:
2899
case DCERPC_PKT_ORPHANED:
2902
case DCERPC_PKT_AUTH3:
2905
case DCERPC_PKT_RTS:
2909
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u at %s", level, __location__);
2912
return NDR_ERR_SUCCESS;
2915
_PUBLIC_ void ndr_print_dcerpc_payload(struct ndr_print *ndr, const char *name, const union dcerpc_payload *r)
2918
level = ndr_print_get_switch_value(ndr, r);
2919
ndr_print_union(ndr, name, level, "dcerpc_payload");
2921
case DCERPC_PKT_REQUEST:
2922
ndr_print_dcerpc_request(ndr, "request", &r->request);
2925
case DCERPC_PKT_PING:
2926
ndr_print_dcerpc_ping(ndr, "ping", &r->ping);
2929
case DCERPC_PKT_RESPONSE:
2930
ndr_print_dcerpc_response(ndr, "response", &r->response);
2933
case DCERPC_PKT_FAULT:
2934
ndr_print_dcerpc_fault(ndr, "fault", &r->fault);
2937
case DCERPC_PKT_WORKING:
2938
ndr_print_dcerpc_working(ndr, "working", &r->working);
2941
case DCERPC_PKT_NOCALL:
2942
ndr_print_dcerpc_fack(ndr, "nocall", &r->nocall);
2945
case DCERPC_PKT_REJECT:
2946
ndr_print_dcerpc_fault(ndr, "reject", &r->reject);
2949
case DCERPC_PKT_ACK:
2950
ndr_print_dcerpc_ack(ndr, "ack", &r->ack);
2953
case DCERPC_PKT_CL_CANCEL:
2954
ndr_print_dcerpc_cl_cancel(ndr, "cl_cancel", &r->cl_cancel);
2957
case DCERPC_PKT_FACK:
2958
ndr_print_dcerpc_fack(ndr, "fack", &r->fack);
2961
case DCERPC_PKT_CANCEL_ACK:
2962
ndr_print_dcerpc_cancel_ack(ndr, "cancel_ack", &r->cancel_ack);
2965
case DCERPC_PKT_BIND:
2966
ndr_print_dcerpc_bind(ndr, "bind", &r->bind);
2969
case DCERPC_PKT_BIND_ACK:
2970
ndr_print_dcerpc_bind_ack(ndr, "bind_ack", &r->bind_ack);
2973
case DCERPC_PKT_BIND_NAK:
2974
ndr_print_dcerpc_bind_nak(ndr, "bind_nak", &r->bind_nak);
2977
case DCERPC_PKT_ALTER:
2978
ndr_print_dcerpc_bind(ndr, "alter", &r->alter);
2981
case DCERPC_PKT_ALTER_RESP:
2982
ndr_print_dcerpc_bind_ack(ndr, "alter_resp", &r->alter_resp);
2985
case DCERPC_PKT_SHUTDOWN:
2986
ndr_print_dcerpc_shutdown(ndr, "shutdown", &r->shutdown);
2989
case DCERPC_PKT_CO_CANCEL:
2990
ndr_print_dcerpc_co_cancel(ndr, "co_cancel", &r->co_cancel);
2993
case DCERPC_PKT_ORPHANED:
2994
ndr_print_dcerpc_orphaned(ndr, "orphaned", &r->orphaned);
2997
case DCERPC_PKT_AUTH3:
2998
ndr_print_dcerpc_auth3(ndr, "auth3", &r->auth3);
3001
case DCERPC_PKT_RTS:
3002
ndr_print_dcerpc_rts(ndr, "rts", &r->rts);
3006
ndr_print_bad_level(ndr, name, level);
3010
_PUBLIC_ enum ndr_err_code ndr_push_ncacn_packet(struct ndr_push *ndr, int ndr_flags, const struct ncacn_packet *r)
3012
if (ndr_flags & NDR_SCALARS) {
3013
NDR_CHECK(ndr_push_align(ndr, 4));
3014
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->rpc_vers));
3015
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->rpc_vers_minor));
3016
NDR_CHECK(ndr_push_dcerpc_pkt_type(ndr, NDR_SCALARS, r->ptype));
3017
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pfc_flags));
3018
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->drep, 4));
3019
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->frag_length));
3020
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->auth_length));
3021
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->call_id));
3022
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->u, r->ptype));
3023
NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
3024
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3026
if (ndr_flags & NDR_BUFFERS) {
3027
NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
3029
return NDR_ERR_SUCCESS;
3032
_PUBLIC_ enum ndr_err_code ndr_pull_ncacn_packet(struct ndr_pull *ndr, int ndr_flags, struct ncacn_packet *r)
3034
if (ndr_flags & NDR_SCALARS) {
3035
NDR_CHECK(ndr_pull_align(ndr, 4));
3036
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->rpc_vers));
3037
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->rpc_vers_minor));
3038
NDR_CHECK(ndr_pull_dcerpc_pkt_type(ndr, NDR_SCALARS, &r->ptype));
3039
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pfc_flags));
3040
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->drep, 4));
3041
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->frag_length));
3042
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->auth_length));
3043
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->call_id));
3044
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->u, r->ptype));
3045
NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
3046
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3048
if (ndr_flags & NDR_BUFFERS) {
3049
NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
3051
return NDR_ERR_SUCCESS;
3054
_PUBLIC_ void ndr_print_ncacn_packet(struct ndr_print *ndr, const char *name, const struct ncacn_packet *r)
3056
ndr_print_struct(ndr, name, "ncacn_packet");
3057
if (r == NULL) { ndr_print_null(ndr); return; }
3059
ndr_print_uint8(ndr, "rpc_vers", r->rpc_vers);
3060
ndr_print_uint8(ndr, "rpc_vers_minor", r->rpc_vers_minor);
3061
ndr_print_dcerpc_pkt_type(ndr, "ptype", r->ptype);
3062
ndr_print_uint8(ndr, "pfc_flags", r->pfc_flags);
3063
ndr_print_array_uint8(ndr, "drep", r->drep, 4);
3064
ndr_print_uint16(ndr, "frag_length", r->frag_length);
3065
ndr_print_uint16(ndr, "auth_length", r->auth_length);
3066
ndr_print_uint32(ndr, "call_id", r->call_id);
3067
ndr_print_set_switch_value(ndr, &r->u, r->ptype);
3068
ndr_print_dcerpc_payload(ndr, "u", &r->u);
3072
_PUBLIC_ enum ndr_err_code ndr_push_ncadg_packet(struct ndr_push *ndr, int ndr_flags, const struct ncadg_packet *r)
3074
if (ndr_flags & NDR_SCALARS) {
3075
NDR_CHECK(ndr_push_align(ndr, 4));
3076
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->rpc_vers));
3077
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->ptype));
3078
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->pfc_flags));
3079
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->ncadg_flags));
3080
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->drep, 3));
3081
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->serial_high));
3082
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->object));
3083
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->iface));
3084
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->activity));
3085
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->server_boot));
3086
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->iface_version));
3087
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->seq_num));
3088
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->opnum));
3089
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ihint));
3090
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->ahint));
3091
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->len));
3092
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->fragnum));
3093
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->auth_proto));
3094
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->serial_low));
3095
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->u, r->ptype));
3096
NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
3097
NDR_CHECK(ndr_push_trailer_align(ndr, 4));
3099
if (ndr_flags & NDR_BUFFERS) {
3100
NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
3102
return NDR_ERR_SUCCESS;
3105
_PUBLIC_ enum ndr_err_code ndr_pull_ncadg_packet(struct ndr_pull *ndr, int ndr_flags, struct ncadg_packet *r)
3107
if (ndr_flags & NDR_SCALARS) {
3108
NDR_CHECK(ndr_pull_align(ndr, 4));
3109
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->rpc_vers));
3110
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->ptype));
3111
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->pfc_flags));
3112
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->ncadg_flags));
3113
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->drep, 3));
3114
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->serial_high));
3115
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->object));
3116
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->iface));
3117
NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->activity));
3118
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->server_boot));
3119
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->iface_version));
3120
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->seq_num));
3121
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->opnum));
3122
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ihint));
3123
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->ahint));
3124
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->len));
3125
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->fragnum));
3126
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->auth_proto));
3127
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->serial_low));
3128
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->u, r->ptype));
3129
NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
3130
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
3132
if (ndr_flags & NDR_BUFFERS) {
3133
NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
3135
return NDR_ERR_SUCCESS;
3138
_PUBLIC_ void ndr_print_ncadg_packet(struct ndr_print *ndr, const char *name, const struct ncadg_packet *r)
3140
ndr_print_struct(ndr, name, "ncadg_packet");
3141
if (r == NULL) { ndr_print_null(ndr); return; }
3143
ndr_print_uint8(ndr, "rpc_vers", r->rpc_vers);
3144
ndr_print_uint8(ndr, "ptype", r->ptype);
3145
ndr_print_uint8(ndr, "pfc_flags", r->pfc_flags);
3146
ndr_print_uint8(ndr, "ncadg_flags", r->ncadg_flags);
3147
ndr_print_array_uint8(ndr, "drep", r->drep, 3);
3148
ndr_print_uint8(ndr, "serial_high", r->serial_high);
3149
ndr_print_GUID(ndr, "object", &r->object);
3150
ndr_print_GUID(ndr, "iface", &r->iface);
3151
ndr_print_GUID(ndr, "activity", &r->activity);
3152
ndr_print_uint32(ndr, "server_boot", r->server_boot);
3153
ndr_print_uint32(ndr, "iface_version", r->iface_version);
3154
ndr_print_uint32(ndr, "seq_num", r->seq_num);
3155
ndr_print_uint16(ndr, "opnum", r->opnum);
3156
ndr_print_uint16(ndr, "ihint", r->ihint);
3157
ndr_print_uint16(ndr, "ahint", r->ahint);
3158
ndr_print_uint16(ndr, "len", r->len);
3159
ndr_print_uint16(ndr, "fragnum", r->fragnum);
3160
ndr_print_uint8(ndr, "auth_proto", r->auth_proto);
3161
ndr_print_uint8(ndr, "serial_low", r->serial_low);
3162
ndr_print_set_switch_value(ndr, &r->u, r->ptype);
3163
ndr_print_dcerpc_payload(ndr, "u", &r->u);