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 if (ndr_flags & NDR_SCALARS) {
24 NDR_CHECK(ndr_pull_align(ndr, 4));
25 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time_low));
26 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_mid));
27 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->time_hi_and_version));
28 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->clock_seq, 2));
29 NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->node, 6));
31 if (ndr_flags & NDR_BUFFERS) {
33 return NDR_ERR_SUCCESS;
36 _PUBLIC_ size_t ndr_size_GUID(const struct GUID *r, struct smb_iconv_convenience *ic, int flags)
38 return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_GUID, ic);
41 _PUBLIC_ enum ndr_err_code ndr_push_ndr_syntax_id(struct ndr_push *ndr, int ndr_flags, const struct ndr_syntax_id *r)
43 if (ndr_flags & NDR_SCALARS) {
44 NDR_CHECK(ndr_push_align(ndr, 4));
45 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->uuid));
46 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->if_version));
48 if (ndr_flags & NDR_BUFFERS) {
50 return NDR_ERR_SUCCESS;
53 _PUBLIC_ enum ndr_err_code ndr_pull_ndr_syntax_id(struct ndr_pull *ndr, int ndr_flags, struct ndr_syntax_id *r)
55 if (ndr_flags & NDR_SCALARS) {
56 NDR_CHECK(ndr_pull_align(ndr, 4));
57 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uuid));
58 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->if_version));
60 if (ndr_flags & NDR_BUFFERS) {
62 return NDR_ERR_SUCCESS;
65 _PUBLIC_ void ndr_print_ndr_syntax_id(struct ndr_print *ndr, const char *name, const struct ndr_syntax_id *r)
67 ndr_print_struct(ndr, name, "ndr_syntax_id");
69 ndr_print_GUID(ndr, "uuid", &r->uuid);
70 ndr_print_uint32(ndr, "if_version", r->if_version);
74 _PUBLIC_ enum ndr_err_code ndr_push_policy_handle(struct ndr_push *ndr, int ndr_flags, const struct policy_handle *r)
76 if (ndr_flags & NDR_SCALARS) {
77 NDR_CHECK(ndr_push_align(ndr, 4));
78 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->handle_type));
79 NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->uuid));
81 if (ndr_flags & NDR_BUFFERS) {
83 return NDR_ERR_SUCCESS;
86 _PUBLIC_ enum ndr_err_code ndr_pull_policy_handle(struct ndr_pull *ndr, int ndr_flags, struct policy_handle *r)
88 if (ndr_flags & NDR_SCALARS) {
89 NDR_CHECK(ndr_pull_align(ndr, 4));
90 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->handle_type));
91 NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->uuid));
93 if (ndr_flags & NDR_BUFFERS) {
95 return NDR_ERR_SUCCESS;
98 _PUBLIC_ void ndr_print_policy_handle(struct ndr_print *ndr, const char *name, const struct policy_handle *r)
100 ndr_print_struct(ndr, name, "policy_handle");
102 ndr_print_uint32(ndr, "handle_type", r->handle_type);
103 ndr_print_GUID(ndr, "uuid", &r->uuid);
107 _PUBLIC_ enum ndr_err_code ndr_push_netr_SchannelType(struct ndr_push *ndr, int ndr_flags, enum netr_SchannelType r)
109 NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
110 return NDR_ERR_SUCCESS;
113 _PUBLIC_ enum ndr_err_code ndr_pull_netr_SchannelType(struct ndr_pull *ndr, int ndr_flags, enum netr_SchannelType *r)
116 NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
118 return NDR_ERR_SUCCESS;
121 _PUBLIC_ void ndr_print_netr_SchannelType(struct ndr_print *ndr, const char *name, enum netr_SchannelType r)
123 const char *val = NULL;
126 case SEC_CHAN_NULL: val = "SEC_CHAN_NULL"; break;
127 case SEC_CHAN_WKSTA: val = "SEC_CHAN_WKSTA"; break;
128 case SEC_CHAN_DNS_DOMAIN: val = "SEC_CHAN_DNS_DOMAIN"; break;
129 case SEC_CHAN_DOMAIN: val = "SEC_CHAN_DOMAIN"; break;
130 case SEC_CHAN_BDC: val = "SEC_CHAN_BDC"; break;
132 ndr_print_enum(ndr, name, "ENUM", val, r);
135 _PUBLIC_ enum ndr_err_code ndr_push_KRB5_EDATA_NTSTATUS(struct ndr_push *ndr, int ndr_flags, const struct KRB5_EDATA_NTSTATUS *r)
137 if (ndr_flags & NDR_SCALARS) {
138 NDR_CHECK(ndr_push_align(ndr, 4));
139 NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->ntstatus));
140 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown1));
141 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown2));
143 if (ndr_flags & NDR_BUFFERS) {
145 return NDR_ERR_SUCCESS;
148 _PUBLIC_ enum ndr_err_code ndr_pull_KRB5_EDATA_NTSTATUS(struct ndr_pull *ndr, int ndr_flags, struct KRB5_EDATA_NTSTATUS *r)
150 if (ndr_flags & NDR_SCALARS) {
151 NDR_CHECK(ndr_pull_align(ndr, 4));
152 NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->ntstatus));
153 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown1));
154 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->unknown2));
156 if (ndr_flags & NDR_BUFFERS) {
158 return NDR_ERR_SUCCESS;
161 _PUBLIC_ void ndr_print_KRB5_EDATA_NTSTATUS(struct ndr_print *ndr, const char *name, const struct KRB5_EDATA_NTSTATUS *r)
163 ndr_print_struct(ndr, name, "KRB5_EDATA_NTSTATUS");
165 ndr_print_NTSTATUS(ndr, "ntstatus", r->ntstatus);
166 ndr_print_uint32(ndr, "unknown1", r->unknown1);
167 ndr_print_uint32(ndr, "unknown2", r->unknown2);
171 _PUBLIC_ enum ndr_err_code ndr_push_winreg_Type(struct ndr_push *ndr, int ndr_flags, enum winreg_Type r)
173 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
174 return NDR_ERR_SUCCESS;
177 _PUBLIC_ enum ndr_err_code ndr_pull_winreg_Type(struct ndr_pull *ndr, int ndr_flags, enum winreg_Type *r)
180 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
182 return NDR_ERR_SUCCESS;
185 _PUBLIC_ void ndr_print_winreg_Type(struct ndr_print *ndr, const char *name, enum winreg_Type r)
187 const char *val = NULL;
190 case REG_NONE: val = "REG_NONE"; break;
191 case REG_SZ: val = "REG_SZ"; break;
192 case REG_EXPAND_SZ: val = "REG_EXPAND_SZ"; break;
193 case REG_BINARY: val = "REG_BINARY"; break;
194 case REG_DWORD: val = "REG_DWORD"; break;
195 case REG_DWORD_BIG_ENDIAN: val = "REG_DWORD_BIG_ENDIAN"; break;
196 case REG_LINK: val = "REG_LINK"; break;
197 case REG_MULTI_SZ: val = "REG_MULTI_SZ"; break;
198 case REG_RESOURCE_LIST: val = "REG_RESOURCE_LIST"; break;
199 case REG_FULL_RESOURCE_DESCRIPTOR: val = "REG_FULL_RESOURCE_DESCRIPTOR"; break;
200 case REG_RESOURCE_REQUIREMENTS_LIST: val = "REG_RESOURCE_REQUIREMENTS_LIST"; break;
201 case REG_QWORD: val = "REG_QWORD"; break;
203 ndr_print_enum(ndr, name, "ENUM", val, r);
206 _PUBLIC_ enum ndr_err_code ndr_push_winreg_Data(struct ndr_push *ndr, int ndr_flags, const union winreg_Data *r)
209 uint32_t _flags_save_UNION = ndr->flags;
210 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
211 if (ndr_flags & NDR_SCALARS) {
212 int level = ndr_push_get_switch_value(ndr, r);
219 uint32_t _flags_save_string = ndr->flags;
220 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
221 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
222 ndr->flags = _flags_save_string;
226 case REG_EXPAND_SZ: {
228 uint32_t _flags_save_string = ndr->flags;
229 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
230 NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
231 ndr->flags = _flags_save_string;
237 uint32_t _flags_save_DATA_BLOB = ndr->flags;
238 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
239 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->binary));
240 ndr->flags = _flags_save_DATA_BLOB;
245 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value));
248 case REG_DWORD_BIG_ENDIAN: {
250 uint32_t _flags_save_uint32 = ndr->flags;
251 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
252 NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->value));
253 ndr->flags = _flags_save_uint32;
259 uint32_t _flags_save_string_array = ndr->flags;
260 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
261 NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
262 ndr->flags = _flags_save_string_array;
268 uint32_t _flags_save_DATA_BLOB = ndr->flags;
269 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
270 NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->data));
271 ndr->flags = _flags_save_DATA_BLOB;
277 if (ndr_flags & NDR_BUFFERS) {
278 int level = ndr_push_get_switch_value(ndr, r);
295 case REG_DWORD_BIG_ENDIAN:
306 ndr->flags = _flags_save_UNION;
308 return NDR_ERR_SUCCESS;
311 _PUBLIC_ enum ndr_err_code ndr_pull_winreg_Data(struct ndr_pull *ndr, int ndr_flags, union winreg_Data *r)
315 uint32_t _flags_save_UNION = ndr->flags;
316 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
317 level = ndr_pull_get_switch_value(ndr, r);
318 if (ndr_flags & NDR_SCALARS) {
325 uint32_t _flags_save_string = ndr->flags;
326 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
327 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
328 ndr->flags = _flags_save_string;
332 case REG_EXPAND_SZ: {
334 uint32_t _flags_save_string = ndr->flags;
335 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
336 NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
337 ndr->flags = _flags_save_string;
343 uint32_t _flags_save_DATA_BLOB = ndr->flags;
344 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
345 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->binary));
346 ndr->flags = _flags_save_DATA_BLOB;
351 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value));
354 case REG_DWORD_BIG_ENDIAN: {
356 uint32_t _flags_save_uint32 = ndr->flags;
357 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_BIGENDIAN);
358 NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->value));
359 ndr->flags = _flags_save_uint32;
365 uint32_t _flags_save_string_array = ndr->flags;
366 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
367 NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
368 ndr->flags = _flags_save_string_array;
374 uint32_t _flags_save_DATA_BLOB = ndr->flags;
375 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
376 NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->data));
377 ndr->flags = _flags_save_DATA_BLOB;
383 if (ndr_flags & NDR_BUFFERS) {
400 case REG_DWORD_BIG_ENDIAN:
411 ndr->flags = _flags_save_UNION;
413 return NDR_ERR_SUCCESS;
416 _PUBLIC_ void ndr_print_winreg_Data(struct ndr_print *ndr, const char *name, const union winreg_Data *r)
420 uint32_t _flags_save_UNION = ndr->flags;
421 ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
422 level = ndr_print_get_switch_value(ndr, r);
423 ndr_print_union(ndr, name, level, "winreg_Data");
429 ndr_print_string(ndr, "string", r->string);
433 ndr_print_string(ndr, "string", r->string);
437 ndr_print_DATA_BLOB(ndr, "binary", r->binary);
441 ndr_print_uint32(ndr, "value", r->value);
444 case REG_DWORD_BIG_ENDIAN:
445 ndr_print_uint32(ndr, "value", r->value);
449 ndr_print_string_array(ndr, "string_array", r->string_array);
453 ndr_print_DATA_BLOB(ndr, "data", r->data);
457 ndr->flags = _flags_save_UNION;