1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_misc.h"
6 _PUBLIC_ enum ndr_err_code ndr_push_GUID(struct ndr_push *ndr, int ndr_flags, const struct GUID *r)
8 if (ndr_flags & NDR_SCALARS) {
9 NDR_CHECK(ndr_push_align(ndr, 4));
10 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time_low));
11 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->time_mid));
12 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->time_hi_and_version));
13 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->clock_seq, 2));
14 NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->node, 6));
16 if (ndr_flags & NDR_BUFFERS) {
18 return NDR_ERR_SUCCESS;
21 _PUBLIC_ enum ndr_err_code ndr_pull_GUID(struct ndr_pull *ndr, int ndr_flags, struct GUID *r)
23 uint32_t size_clock_seq_0 = 0;
24 uint32_t size_node_0 = 0;
25 if (ndr_flags & NDR_SCALARS) {
26 NDR_CHECK(ndr_pull_align(ndr, 4));
27 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time_low));
28 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_mid));
29 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_hi_and_version));
31 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->clock_seq, size_clock_seq_0));
33 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->node, size_node_0));
35 if (ndr_flags & NDR_BUFFERS) {
37 return NDR_ERR_SUCCESS;
40 _PUBLIC_ size_t ndr_size_GUID(const struct GUID *r, struct smb_iconv_convenience *ic, int flags)
42 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_GUID, ic);
45 _PUBLIC_ enum ndr_err_code ndr_push_ndr_syntax_id(struct ndr_push *ndr, int ndr_flags, const struct ndr_syntax_id *r)
47 if (ndr_flags & NDR_SCALARS) {
48 NDR_CHECK(ndr_push_align(ndr, 4));
49 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->uuid));
50 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->if_version));
52 if (ndr_flags & NDR_BUFFERS) {
54 return NDR_ERR_SUCCESS;
57 _PUBLIC_ enum ndr_err_code ndr_pull_ndr_syntax_id(struct ndr_pull *ndr, int ndr_flags, struct ndr_syntax_id *r)
59 if (ndr_flags & NDR_SCALARS) {
60 NDR_CHECK(ndr_pull_align(ndr, 4));
61 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uuid));
62 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->if_version));
64 if (ndr_flags & NDR_BUFFERS) {
66 return NDR_ERR_SUCCESS;
69 _PUBLIC_ void ndr_print_ndr_syntax_id(struct ndr_print *ndr, const char *name, const struct ndr_syntax_id *r)
71 ndr_print_struct(ndr, name, "ndr_syntax_id");
73 ndr_print_GUID(ndr, "uuid", &r->uuid);
74 ndr_print_uint32(ndr, "if_version", r->if_version);
78 _PUBLIC_ enum ndr_err_code ndr_push_policy_handle(struct ndr_push *ndr, int ndr_flags, const struct policy_handle *r)
80 if (ndr_flags & NDR_SCALARS) {
81 NDR_CHECK(ndr_push_align(ndr, 4));
82 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->handle_type));
83 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->uuid));
85 if (ndr_flags & NDR_BUFFERS) {
87 return NDR_ERR_SUCCESS;
90 _PUBLIC_ enum ndr_err_code ndr_pull_policy_handle(struct ndr_pull *ndr, int ndr_flags, struct policy_handle *r)
92 if (ndr_flags & NDR_SCALARS) {
93 NDR_CHECK(ndr_pull_align(ndr, 4));
94 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->handle_type));
95 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uuid));
97 if (ndr_flags & NDR_BUFFERS) {
99 return NDR_ERR_SUCCESS;
102 _PUBLIC_ void ndr_print_policy_handle(struct ndr_print *ndr, const char *name, const struct policy_handle *r)
104 ndr_print_struct(ndr, name, "policy_handle");
106 ndr_print_uint32(ndr, "handle_type", r->handle_type);
107 ndr_print_GUID(ndr, "uuid", &r->uuid);
111 _PUBLIC_ enum ndr_err_code ndr_push_netr_SchannelType(struct ndr_push *ndr, int ndr_flags, enum netr_SchannelType r)
113 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
114 return NDR_ERR_SUCCESS;
117 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SchannelType(struct ndr_pull *ndr, int ndr_flags, enum netr_SchannelType *r)
120 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
122 return NDR_ERR_SUCCESS;
125 _PUBLIC_ void ndr_print_netr_SchannelType(struct ndr_print *ndr, const char *name, enum netr_SchannelType r)
127 const char *val = NULL;
130 case SEC_CHAN_NULL: val = "SEC_CHAN_NULL"; break;
131 case SEC_CHAN_WKSTA: val = "SEC_CHAN_WKSTA"; break;
132 case SEC_CHAN_DNS_DOMAIN: val = "SEC_CHAN_DNS_DOMAIN"; break;
133 case SEC_CHAN_DOMAIN: val = "SEC_CHAN_DOMAIN"; break;
134 case SEC_CHAN_BDC: val = "SEC_CHAN_BDC"; break;
136 ndr_print_enum(ndr, name, "ENUM", val, r);
139 _PUBLIC_ enum ndr_err_code ndr_push_KRB5_EDATA_NTSTATUS(struct ndr_push *ndr, int ndr_flags, const struct KRB5_EDATA_NTSTATUS *r)
141 if (ndr_flags & NDR_SCALARS) {
142 NDR_CHECK(ndr_push_align(ndr, 4));
143 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->ntstatus));
144 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
145 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
147 if (ndr_flags & NDR_BUFFERS) {
149 return NDR_ERR_SUCCESS;
152 _PUBLIC_ enum ndr_err_code ndr_pull_KRB5_EDATA_NTSTATUS(struct ndr_pull *ndr, int ndr_flags, struct KRB5_EDATA_NTSTATUS *r)
154 if (ndr_flags & NDR_SCALARS) {
155 NDR_CHECK(ndr_pull_align(ndr, 4));
156 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->ntstatus));
157 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
158 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
160 if (ndr_flags & NDR_BUFFERS) {
162 return NDR_ERR_SUCCESS;
165 _PUBLIC_ void ndr_print_KRB5_EDATA_NTSTATUS(struct ndr_print *ndr, const char *name, const struct KRB5_EDATA_NTSTATUS *r)
167 ndr_print_struct(ndr, name, "KRB5_EDATA_NTSTATUS");
169 ndr_print_NTSTATUS(ndr, "ntstatus", r->ntstatus);
170 ndr_print_uint32(ndr, "unknown1", r->unknown1);
171 ndr_print_uint32(ndr, "unknown2", r->unknown2);
175 _PUBLIC_ enum ndr_err_code ndr_push_winreg_Type(struct ndr_push *ndr, int ndr_flags, enum winreg_Type r)
177 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
178 return NDR_ERR_SUCCESS;
181 _PUBLIC_ enum ndr_err_code ndr_pull_winreg_Type(struct ndr_pull *ndr, int ndr_flags, enum winreg_Type *r)
184 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
186 return NDR_ERR_SUCCESS;
189 _PUBLIC_ void ndr_print_winreg_Type(struct ndr_print *ndr, const char *name, enum winreg_Type r)
191 const char *val = NULL;
194 case REG_NONE: val = "REG_NONE"; break;
195 case REG_SZ: val = "REG_SZ"; break;
196 case REG_EXPAND_SZ: val = "REG_EXPAND_SZ"; break;
197 case REG_BINARY: val = "REG_BINARY"; break;
198 case REG_DWORD: val = "REG_DWORD"; break;
199 case REG_DWORD_BIG_ENDIAN: val = "REG_DWORD_BIG_ENDIAN"; break;
200 case REG_LINK: val = "REG_LINK"; break;
201 case REG_MULTI_SZ: val = "REG_MULTI_SZ"; break;
202 case REG_RESOURCE_LIST: val = "REG_RESOURCE_LIST"; break;
203 case REG_FULL_RESOURCE_DESCRIPTOR: val = "REG_FULL_RESOURCE_DESCRIPTOR"; break;
204 case REG_RESOURCE_REQUIREMENTS_LIST: val = "REG_RESOURCE_REQUIREMENTS_LIST"; break;
205 case REG_QWORD: val = "REG_QWORD"; break;
207 ndr_print_enum(ndr, name, "ENUM", val, r);
210 _PUBLIC_ enum ndr_err_code ndr_push_winreg_Data(struct ndr_push *ndr, int ndr_flags, const union winreg_Data *r)
213 uint32_t _flags_save_UNION = ndr->flags;
214 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
215 if (ndr_flags & NDR_SCALARS) {
216 int level = ndr_push_get_switch_value(ndr, r);
223 uint32_t _flags_save_string = ndr->flags;
224 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
225 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
226 ndr->flags = _flags_save_string;
230 case REG_EXPAND_SZ: {
232 uint32_t _flags_save_string = ndr->flags;
233 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
234 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
235 ndr->flags = _flags_save_string;
241 uint32_t _flags_save_DATA_BLOB = ndr->flags;
242 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
243 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
244 ndr->flags = _flags_save_DATA_BLOB;
249 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value));
252 case REG_DWORD_BIG_ENDIAN: {
254 uint32_t _flags_save_uint32 = ndr->flags;
255 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
256 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value));
257 ndr->flags = _flags_save_uint32;
263 uint32_t _flags_save_string_array = ndr->flags;
264 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
265 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
266 ndr->flags = _flags_save_string_array;
272 uint32_t _flags_save_DATA_BLOB = ndr->flags;
273 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
274 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
275 ndr->flags = _flags_save_DATA_BLOB;
281 if (ndr_flags & NDR_BUFFERS) {
282 int level = ndr_push_get_switch_value(ndr, r);
299 case REG_DWORD_BIG_ENDIAN:
310 ndr->flags = _flags_save_UNION;
312 return NDR_ERR_SUCCESS;
315 _PUBLIC_ enum ndr_err_code ndr_pull_winreg_Data(struct ndr_pull *ndr, int ndr_flags, union winreg_Data *r)
319 uint32_t _flags_save_UNION = ndr->flags;
320 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
321 level = ndr_pull_get_switch_value(ndr, r);
322 if (ndr_flags & NDR_SCALARS) {
329 uint32_t _flags_save_string = ndr->flags;
330 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
331 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
332 ndr->flags = _flags_save_string;
336 case REG_EXPAND_SZ: {
338 uint32_t _flags_save_string = ndr->flags;
339 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
340 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
341 ndr->flags = _flags_save_string;
347 uint32_t _flags_save_DATA_BLOB = ndr->flags;
348 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
349 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
350 ndr->flags = _flags_save_DATA_BLOB;
355 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value));
358 case REG_DWORD_BIG_ENDIAN: {
360 uint32_t _flags_save_uint32 = ndr->flags;
361 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
362 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value));
363 ndr->flags = _flags_save_uint32;
369 uint32_t _flags_save_string_array = ndr->flags;
370 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
371 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
372 ndr->flags = _flags_save_string_array;
378 uint32_t _flags_save_DATA_BLOB = ndr->flags;
379 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
380 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
381 ndr->flags = _flags_save_DATA_BLOB;
387 if (ndr_flags & NDR_BUFFERS) {
404 case REG_DWORD_BIG_ENDIAN:
415 ndr->flags = _flags_save_UNION;
417 return NDR_ERR_SUCCESS;
420 _PUBLIC_ void ndr_print_winreg_Data(struct ndr_print *ndr, const char *name, const union winreg_Data *r)
424 uint32_t _flags_save_UNION = ndr->flags;
425 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
426 level = ndr_print_get_switch_value(ndr, r);
427 ndr_print_union(ndr, name, level, "winreg_Data");
433 ndr_print_string(ndr, "string", r->string);
437 ndr_print_string(ndr, "string", r->string);
441 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
445 ndr_print_uint32(ndr, "value", r->value);
448 case REG_DWORD_BIG_ENDIAN:
449 ndr_print_uint32(ndr, "value", r->value);
453 ndr_print_string_array(ndr, "string_array", r->string_array);
457 ndr_print_DATA_BLOB(ndr, "data", r->data);
461 ndr->flags = _flags_save_UNION;