1 /* parser auto-generated by pidl */
4 #include "bin/default/librpc/gen_ndr/ndr_preg.h"
6 #include "librpc/gen_ndr/ndr_misc.h"
7 _PUBLIC_ enum ndr_err_code ndr_push_preg_entry(struct ndr_push *ndr, int ndr_flags, const struct preg_entry *r)
9 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
10 if (ndr_flags & NDR_SCALARS) {
11 NDR_CHECK(ndr_push_align(ndr, 4));
12 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "[", 2, sizeof(uint8_t), CH_DOS));
14 uint32_t _flags_save_string = ndr->flags;
15 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->keyname));
17 ndr->flags = _flags_save_string;
19 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, ";", 2, sizeof(uint8_t), CH_DOS));
21 uint32_t _flags_save_string = ndr->flags;
22 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
23 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->valuename));
24 ndr->flags = _flags_save_string;
26 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, ";", 2, sizeof(uint8_t), CH_DOS));
27 NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type));
28 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, ";", 2, sizeof(uint8_t), CH_DOS));
29 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
30 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, ";", 2, sizeof(uint8_t), CH_DOS));
31 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->size));
32 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "]", 2, sizeof(uint8_t), CH_DOS));
33 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
35 if (ndr_flags & NDR_BUFFERS) {
37 return NDR_ERR_SUCCESS;
40 _PUBLIC_ enum ndr_err_code ndr_pull_preg_entry(struct ndr_pull *ndr, int ndr_flags, struct preg_entry *r)
42 uint32_t size__opening_bracket_0 = 0;
43 uint32_t size__sep1_0 = 0;
44 uint32_t size__sep2_0 = 0;
45 uint32_t size__sep3_0 = 0;
46 uint32_t size__sep4_0 = 0;
47 uint32_t size_data_0 = 0;
48 uint32_t size__closing_bracket_0 = 0;
49 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
50 if (ndr_flags & NDR_SCALARS) {
51 NDR_CHECK(ndr_pull_align(ndr, 4));
52 size__opening_bracket_0 = 2;
53 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->_opening_bracket, size__opening_bracket_0, sizeof(uint8_t), CH_DOS));
55 uint32_t _flags_save_string = ndr->flags;
56 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
57 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->keyname));
58 ndr->flags = _flags_save_string;
61 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->_sep1, size__sep1_0, sizeof(uint8_t), CH_DOS));
63 uint32_t _flags_save_string = ndr->flags;
64 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
65 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->valuename));
66 ndr->flags = _flags_save_string;
69 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->_sep2, size__sep2_0, sizeof(uint8_t), CH_DOS));
70 NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->type));
72 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->_sep3, size__sep3_0, sizeof(uint8_t), CH_DOS));
73 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
75 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->_sep4, size__sep4_0, sizeof(uint8_t), CH_DOS));
76 size_data_0 = r->size;
77 NDR_PULL_ALLOC_N(ndr, r->data, size_data_0);
78 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, size_data_0));
79 size__closing_bracket_0 = 2;
80 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->_closing_bracket, size__closing_bracket_0, sizeof(uint8_t), CH_DOS));
81 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
83 if (ndr_flags & NDR_BUFFERS) {
85 return NDR_ERR_SUCCESS;
88 _PUBLIC_ void ndr_print_preg_entry(struct ndr_print *ndr, const char *name, const struct preg_entry *r)
90 ndr_print_struct(ndr, name, "preg_entry");
91 if (r == NULL) { ndr_print_null(ndr); return; }
93 ndr_print_string(ndr, "keyname", r->keyname);
94 ndr_print_string(ndr, "valuename", r->valuename);
95 ndr_print_winreg_Type(ndr, "type", r->type);
96 ndr_print_uint32(ndr, "size", r->size);
97 ndr_print_array_uint8(ndr, "data", r->data, r->size);
101 _PUBLIC_ enum ndr_err_code ndr_push_preg_header(struct ndr_push *ndr, int ndr_flags, const struct preg_header *r)
103 NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
104 if (ndr_flags & NDR_SCALARS) {
105 NDR_CHECK(ndr_push_align(ndr, 4));
106 NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, "PReg", 4, sizeof(uint8_t), CH_DOS));
107 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 1));
108 NDR_CHECK(ndr_push_trailer_align(ndr, 4));
110 if (ndr_flags & NDR_BUFFERS) {
112 return NDR_ERR_SUCCESS;
115 _PUBLIC_ enum ndr_err_code ndr_pull_preg_header(struct ndr_pull *ndr, int ndr_flags, struct preg_header *r)
117 uint32_t size_signature_0 = 0;
118 NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
119 if (ndr_flags & NDR_SCALARS) {
120 NDR_CHECK(ndr_pull_align(ndr, 4));
121 size_signature_0 = 4;
122 NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->signature, size_signature_0, sizeof(uint8_t), CH_DOS));
123 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
124 NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
126 if (ndr_flags & NDR_BUFFERS) {
128 return NDR_ERR_SUCCESS;
131 _PUBLIC_ void ndr_print_preg_header(struct ndr_print *ndr, const char *name, const struct preg_header *r)
133 ndr_print_struct(ndr, name, "preg_header");
134 if (r == NULL) { ndr_print_null(ndr); return; }
136 ndr_print_string(ndr, "signature", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?"PReg":r->signature);
137 ndr_print_uint32(ndr, "version", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?1:r->version);
141 _PUBLIC_ void ndr_print_preg_file(struct ndr_print *ndr, const char *name, const struct preg_file *r)
143 uint32_t cntr_entries_0;
144 ndr_print_struct(ndr, name, "preg_file");
145 if (r == NULL) { ndr_print_null(ndr); return; }
147 uint32_t _flags_save_STRUCT = ndr->flags;
148 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NOALIGN);
150 ndr_print_preg_header(ndr, "header", &r->header);
151 ndr_print_uint32(ndr, "num_entries", r->num_entries);
152 ndr->print(ndr, "%s: ARRAY(%d)", "entries", (int)r->num_entries);
154 for (cntr_entries_0=0;cntr_entries_0<r->num_entries;cntr_entries_0++) {
155 ndr_print_preg_entry(ndr, "entries", &r->entries[cntr_entries_0]);
159 ndr->flags = _flags_save_STRUCT;
163 static enum ndr_err_code ndr_push_decode_preg_file(struct ndr_push *ndr, int flags, const struct decode_preg_file *r)
165 NDR_PUSH_CHECK_FN_FLAGS(ndr, flags);
166 if (flags & NDR_IN) {
167 NDR_CHECK(ndr_push_preg_file(ndr, NDR_SCALARS, &r->in.file));
169 if (flags & NDR_OUT) {
171 return NDR_ERR_SUCCESS;
174 static enum ndr_err_code ndr_pull_decode_preg_file(struct ndr_pull *ndr, int flags, struct decode_preg_file *r)
176 NDR_PULL_CHECK_FN_FLAGS(ndr, flags);
177 if (flags & NDR_IN) {
178 NDR_CHECK(ndr_pull_preg_file(ndr, NDR_SCALARS, &r->in.file));
180 if (flags & NDR_OUT) {
182 return NDR_ERR_SUCCESS;
185 _PUBLIC_ void ndr_print_decode_preg_file(struct ndr_print *ndr, const char *name, int flags, const struct decode_preg_file *r)
187 ndr_print_struct(ndr, name, "decode_preg_file");
188 if (r == NULL) { ndr_print_null(ndr); return; }
190 if (flags & NDR_SET_VALUES) {
191 ndr->flags |= LIBNDR_PRINT_SET_VALUES;
193 if (flags & NDR_IN) {
194 ndr_print_struct(ndr, "in", "decode_preg_file");
196 ndr_print_preg_file(ndr, "file", &r->in.file);
199 if (flags & NDR_OUT) {
200 ndr_print_struct(ndr, "out", "decode_preg_file");
207 static const struct ndr_interface_call preg_calls[] = {
210 sizeof(struct decode_preg_file),
211 (ndr_push_flags_fn_t) ndr_push_decode_preg_file,
212 (ndr_pull_flags_fn_t) ndr_pull_decode_preg_file,
213 (ndr_print_function_t) ndr_print_decode_preg_file,
217 { NULL, 0, NULL, NULL, NULL }
220 static const char * const preg_endpoint_strings[] = {
221 "ncacn_np:[\\pipe\\preg]",
224 static const struct ndr_interface_string_array preg_endpoints = {
226 .names = preg_endpoint_strings
229 static const char * const preg_authservice_strings[] = {
233 static const struct ndr_interface_string_array preg_authservices = {
235 .names = preg_authservice_strings
239 const struct ndr_interface_table ndr_table_preg = {
242 {0x67655250,0x0000,0x0000,{0x00,0x00},{0x00,0x00,0x00,0x00}},
245 .helpstring = NDR_PREG_HELPSTRING,
248 .endpoints = &preg_endpoints,
249 .authservices = &preg_authservices