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;