1
/* parser auto-generated by pidl */
4
#include "librpc/gen_ndr/ndr_printcap.h"
6
static enum ndr_err_code ndr_push_pcap_printer(struct ndr_push *ndr, int ndr_flags, const struct pcap_printer *r)
8
if (ndr_flags & NDR_SCALARS) {
9
NDR_CHECK(ndr_push_align(ndr, 4));
10
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
11
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info));
13
if (ndr_flags & NDR_BUFFERS) {
15
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
16
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
17
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
18
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
21
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->info, CH_UTF8)));
22
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
23
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->info, CH_UTF8)));
24
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->info, ndr_charset_length(r->info, CH_UTF8), sizeof(uint8_t), CH_UTF8));
27
return NDR_ERR_SUCCESS;
30
static enum ndr_err_code ndr_pull_pcap_printer(struct ndr_pull *ndr, int ndr_flags, struct pcap_printer *r)
33
TALLOC_CTX *_mem_save_name_0;
35
TALLOC_CTX *_mem_save_info_0;
36
if (ndr_flags & NDR_SCALARS) {
37
NDR_CHECK(ndr_pull_align(ndr, 4));
38
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
40
NDR_PULL_ALLOC(ndr, r->name);
44
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_info));
46
NDR_PULL_ALLOC(ndr, r->info);
51
if (ndr_flags & NDR_BUFFERS) {
53
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
54
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
55
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
56
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
57
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
58
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->name), ndr_get_array_length(ndr, &r->name));
60
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t)));
61
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8));
62
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
65
_mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
66
NDR_PULL_SET_MEM_CTX(ndr, r->info, 0);
67
NDR_CHECK(ndr_pull_array_size(ndr, &r->info));
68
NDR_CHECK(ndr_pull_array_length(ndr, &r->info));
69
if (ndr_get_array_length(ndr, &r->info) > ndr_get_array_size(ndr, &r->info)) {
70
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->info), ndr_get_array_length(ndr, &r->info));
72
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->info), sizeof(uint8_t)));
73
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->info, ndr_get_array_length(ndr, &r->info), sizeof(uint8_t), CH_UTF8));
74
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, 0);
77
return NDR_ERR_SUCCESS;
80
_PUBLIC_ void ndr_print_pcap_printer(struct ndr_print *ndr, const char *name, const struct pcap_printer *r)
82
ndr_print_struct(ndr, name, "pcap_printer");
84
ndr_print_ptr(ndr, "name", r->name);
87
ndr_print_string(ndr, "name", r->name);
90
ndr_print_ptr(ndr, "info", r->info);
93
ndr_print_string(ndr, "info", r->info);
99
_PUBLIC_ enum ndr_err_code ndr_push_pcap_data(struct ndr_push *ndr, int ndr_flags, const struct pcap_data *r)
101
uint32_t cntr_printers_0;
102
if (ndr_flags & NDR_SCALARS) {
103
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
104
NDR_CHECK(ndr_push_align(ndr, 4));
105
NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->status));
106
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
107
for (cntr_printers_0 = 0; cntr_printers_0 < r->count; cntr_printers_0++) {
108
NDR_CHECK(ndr_push_pcap_printer(ndr, NDR_SCALARS, &r->printers[cntr_printers_0]));
111
if (ndr_flags & NDR_BUFFERS) {
112
for (cntr_printers_0 = 0; cntr_printers_0 < r->count; cntr_printers_0++) {
113
NDR_CHECK(ndr_push_pcap_printer(ndr, NDR_BUFFERS, &r->printers[cntr_printers_0]));
116
return NDR_ERR_SUCCESS;
119
_PUBLIC_ enum ndr_err_code ndr_pull_pcap_data(struct ndr_pull *ndr, int ndr_flags, struct pcap_data *r)
121
uint32_t cntr_printers_0;
122
TALLOC_CTX *_mem_save_printers_0;
123
if (ndr_flags & NDR_SCALARS) {
124
NDR_CHECK(ndr_pull_array_size(ndr, &r->printers));
125
NDR_CHECK(ndr_pull_align(ndr, 4));
126
NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->status));
127
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->count));
128
NDR_PULL_ALLOC_N(ndr, r->printers, ndr_get_array_size(ndr, &r->printers));
129
_mem_save_printers_0 = NDR_PULL_GET_MEM_CTX(ndr);
130
NDR_PULL_SET_MEM_CTX(ndr, r->printers, 0);
131
for (cntr_printers_0 = 0; cntr_printers_0 < r->count; cntr_printers_0++) {
132
NDR_CHECK(ndr_pull_pcap_printer(ndr, NDR_SCALARS, &r->printers[cntr_printers_0]));
134
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printers_0, 0);
136
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->printers, r->count));
139
if (ndr_flags & NDR_BUFFERS) {
140
_mem_save_printers_0 = NDR_PULL_GET_MEM_CTX(ndr);
141
NDR_PULL_SET_MEM_CTX(ndr, r->printers, 0);
142
for (cntr_printers_0 = 0; cntr_printers_0 < r->count; cntr_printers_0++) {
143
NDR_CHECK(ndr_pull_pcap_printer(ndr, NDR_BUFFERS, &r->printers[cntr_printers_0]));
145
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printers_0, 0);
147
return NDR_ERR_SUCCESS;
150
_PUBLIC_ void ndr_print_pcap_data(struct ndr_print *ndr, const char *name, const struct pcap_data *r)
152
uint32_t cntr_printers_0;
153
ndr_print_struct(ndr, name, "pcap_data");
155
ndr_print_NTSTATUS(ndr, "status", r->status);
156
ndr_print_uint32(ndr, "count", r->count);
157
ndr->print(ndr, "%s: ARRAY(%d)", "printers", (int)r->count);
159
for (cntr_printers_0=0;cntr_printers_0<r->count;cntr_printers_0++) {
161
if (asprintf(&idx_0, "[%d]", cntr_printers_0) != -1) {
162
ndr_print_pcap_printer(ndr, "printers", &r->printers[cntr_printers_0]);