1
/* parser auto-generated by pidl */
4
#include "../librpc/gen_ndr/ndr_winreg.h"
6
#include "librpc/gen_ndr/ndr_lsa.h"
7
#include "librpc/gen_ndr/ndr_security.h"
8
#include "librpc/gen_ndr/ndr_misc.h"
9
static enum ndr_err_code ndr_push_winreg_AccessMask(struct ndr_push *ndr, int ndr_flags, uint32_t r)
11
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
12
return NDR_ERR_SUCCESS;
15
static enum ndr_err_code ndr_pull_winreg_AccessMask(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
18
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
20
return NDR_ERR_SUCCESS;
23
_PUBLIC_ void ndr_print_winreg_AccessMask(struct ndr_print *ndr, const char *name, uint32_t r)
25
ndr_print_uint32(ndr, name, r);
27
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_QUERY_VALUE", KEY_QUERY_VALUE, r);
28
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_SET_VALUE", KEY_SET_VALUE, r);
29
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_CREATE_SUB_KEY", KEY_CREATE_SUB_KEY, r);
30
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_ENUMERATE_SUB_KEYS", KEY_ENUMERATE_SUB_KEYS, r);
31
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_NOTIFY", KEY_NOTIFY, r);
32
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_CREATE_LINK", KEY_CREATE_LINK, r);
33
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_WOW64_64KEY", KEY_WOW64_64KEY, r);
34
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "KEY_WOW64_32KEY", KEY_WOW64_32KEY, r);
38
_PUBLIC_ enum ndr_err_code ndr_push_winreg_String(struct ndr_push *ndr, int ndr_flags, const struct winreg_String *r)
40
if (ndr_flags & NDR_SCALARS) {
41
NDR_CHECK(ndr_push_align(ndr, 4));
42
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2));
43
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2));
44
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
46
if (ndr_flags & NDR_BUFFERS) {
48
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
49
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
50
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF16)));
51
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
54
return NDR_ERR_SUCCESS;
57
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_String(struct ndr_pull *ndr, int ndr_flags, struct winreg_String *r)
60
TALLOC_CTX *_mem_save_name_0;
61
if (ndr_flags & NDR_SCALARS) {
62
NDR_CHECK(ndr_pull_align(ndr, 4));
63
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_len));
64
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->name_size));
65
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
67
NDR_PULL_ALLOC(ndr, r->name);
72
if (ndr_flags & NDR_BUFFERS) {
74
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
75
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
76
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
77
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
78
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
79
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));
81
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t)));
82
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
83
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
86
return NDR_ERR_SUCCESS;
89
_PUBLIC_ void ndr_print_winreg_String(struct ndr_print *ndr, const char *name, const struct winreg_String *r)
91
ndr_print_struct(ndr, name, "winreg_String");
93
ndr_print_uint16(ndr, "name_len", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name) * 2:r->name_len);
94
ndr_print_uint16(ndr, "name_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name) * 2:r->name_size);
95
ndr_print_ptr(ndr, "name", r->name);
98
ndr_print_string(ndr, "name", r->name);
104
static enum ndr_err_code ndr_push_KeySecurityData(struct ndr_push *ndr, int ndr_flags, const struct KeySecurityData *r)
106
if (ndr_flags & NDR_SCALARS) {
107
NDR_CHECK(ndr_push_align(ndr, 4));
108
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data));
109
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
110
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
112
if (ndr_flags & NDR_BUFFERS) {
114
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
115
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
116
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->len));
117
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->data, r->len));
120
return NDR_ERR_SUCCESS;
123
static enum ndr_err_code ndr_pull_KeySecurityData(struct ndr_pull *ndr, int ndr_flags, struct KeySecurityData *r)
126
TALLOC_CTX *_mem_save_data_0;
127
if (ndr_flags & NDR_SCALARS) {
128
NDR_CHECK(ndr_pull_align(ndr, 4));
129
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
131
NDR_PULL_ALLOC(ndr, r->data);
135
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
136
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->len));
138
if (ndr_flags & NDR_BUFFERS) {
140
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
141
NDR_PULL_SET_MEM_CTX(ndr, r->data, 0);
142
NDR_CHECK(ndr_pull_array_size(ndr, &r->data));
143
NDR_CHECK(ndr_pull_array_length(ndr, &r->data));
144
if (ndr_get_array_length(ndr, &r->data) > ndr_get_array_size(ndr, &r->data)) {
145
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->data), ndr_get_array_length(ndr, &r->data));
147
NDR_PULL_ALLOC_N(ndr, r->data, ndr_get_array_size(ndr, &r->data));
148
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->data, ndr_get_array_length(ndr, &r->data)));
149
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
152
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->data, r->size));
155
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->data, r->len));
158
return NDR_ERR_SUCCESS;
161
_PUBLIC_ void ndr_print_KeySecurityData(struct ndr_print *ndr, const char *name, const struct KeySecurityData *r)
163
ndr_print_struct(ndr, name, "KeySecurityData");
165
ndr_print_ptr(ndr, "data", r->data);
168
ndr_print_array_uint8(ndr, "data", r->data, r->len);
171
ndr_print_uint32(ndr, "size", r->size);
172
ndr_print_uint32(ndr, "len", r->len);
176
static enum ndr_err_code ndr_push_winreg_SecBuf(struct ndr_push *ndr, int ndr_flags, const struct winreg_SecBuf *r)
178
if (ndr_flags & NDR_SCALARS) {
179
NDR_CHECK(ndr_push_align(ndr, 4));
180
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
181
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS, &r->sd));
182
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->inherit));
184
if (ndr_flags & NDR_BUFFERS) {
185
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_BUFFERS, &r->sd));
187
return NDR_ERR_SUCCESS;
190
static enum ndr_err_code ndr_pull_winreg_SecBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_SecBuf *r)
192
if (ndr_flags & NDR_SCALARS) {
193
NDR_CHECK(ndr_pull_align(ndr, 4));
194
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
195
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS, &r->sd));
196
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->inherit));
198
if (ndr_flags & NDR_BUFFERS) {
199
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_BUFFERS, &r->sd));
201
return NDR_ERR_SUCCESS;
204
_PUBLIC_ void ndr_print_winreg_SecBuf(struct ndr_print *ndr, const char *name, const struct winreg_SecBuf *r)
206
ndr_print_struct(ndr, name, "winreg_SecBuf");
208
ndr_print_uint32(ndr, "length", r->length);
209
ndr_print_KeySecurityData(ndr, "sd", &r->sd);
210
ndr_print_uint8(ndr, "inherit", r->inherit);
214
static enum ndr_err_code ndr_push_winreg_CreateAction(struct ndr_push *ndr, int ndr_flags, enum winreg_CreateAction r)
216
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
217
return NDR_ERR_SUCCESS;
220
static enum ndr_err_code ndr_pull_winreg_CreateAction(struct ndr_pull *ndr, int ndr_flags, enum winreg_CreateAction *r)
223
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
225
return NDR_ERR_SUCCESS;
228
_PUBLIC_ void ndr_print_winreg_CreateAction(struct ndr_print *ndr, const char *name, enum winreg_CreateAction r)
230
const char *val = NULL;
233
case REG_ACTION_NONE: val = "REG_ACTION_NONE"; break;
234
case REG_CREATED_NEW_KEY: val = "REG_CREATED_NEW_KEY"; break;
235
case REG_OPENED_EXISTING_KEY: val = "REG_OPENED_EXISTING_KEY"; break;
237
ndr_print_enum(ndr, name, "ENUM", val, r);
240
static enum ndr_err_code ndr_push_winreg_StringBuf(struct ndr_push *ndr, int ndr_flags, const struct winreg_StringBuf *r)
242
if (ndr_flags & NDR_SCALARS) {
243
NDR_CHECK(ndr_push_align(ndr, 4));
244
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term_null(r->name) * 2));
245
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
246
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
248
if (ndr_flags & NDR_BUFFERS) {
250
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
251
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
252
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m_term_null(r->name) * 2 / 2));
253
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, strlen_m_term_null(r->name) * 2 / 2, sizeof(uint16_t), CH_UTF16));
256
return NDR_ERR_SUCCESS;
259
static enum ndr_err_code ndr_pull_winreg_StringBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_StringBuf *r)
262
TALLOC_CTX *_mem_save_name_0;
263
if (ndr_flags & NDR_SCALARS) {
264
NDR_CHECK(ndr_pull_align(ndr, 4));
265
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
266
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
267
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
269
NDR_PULL_ALLOC(ndr, r->name);
274
if (ndr_flags & NDR_BUFFERS) {
276
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
277
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
278
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
279
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
280
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
281
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));
283
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
284
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
287
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->name, r->size / 2));
290
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->name, r->length / 2));
293
return NDR_ERR_SUCCESS;
296
_PUBLIC_ void ndr_print_winreg_StringBuf(struct ndr_print *ndr, const char *name, const struct winreg_StringBuf *r)
298
ndr_print_struct(ndr, name, "winreg_StringBuf");
300
ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term_null(r->name) * 2:r->length);
301
ndr_print_uint16(ndr, "size", r->size);
302
ndr_print_ptr(ndr, "name", r->name);
305
ndr_print_string(ndr, "name", r->name);
311
static enum ndr_err_code ndr_push_winreg_ValNameBuf(struct ndr_push *ndr, int ndr_flags, const struct winreg_ValNameBuf *r)
313
if (ndr_flags & NDR_SCALARS) {
314
NDR_CHECK(ndr_push_align(ndr, 4));
315
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2));
316
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
317
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
319
if (ndr_flags & NDR_BUFFERS) {
321
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size / 2));
322
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
323
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, strlen_m_term(r->name) * 2 / 2));
324
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, strlen_m_term(r->name) * 2 / 2, sizeof(uint16_t), CH_UTF16));
327
return NDR_ERR_SUCCESS;
330
static enum ndr_err_code ndr_pull_winreg_ValNameBuf(struct ndr_pull *ndr, int ndr_flags, struct winreg_ValNameBuf *r)
333
TALLOC_CTX *_mem_save_name_0;
334
if (ndr_flags & NDR_SCALARS) {
335
NDR_CHECK(ndr_pull_align(ndr, 4));
336
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
337
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
338
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
340
NDR_PULL_ALLOC(ndr, r->name);
345
if (ndr_flags & NDR_BUFFERS) {
347
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
348
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
349
NDR_CHECK(ndr_pull_array_size(ndr, &r->name));
350
NDR_CHECK(ndr_pull_array_length(ndr, &r->name));
351
if (ndr_get_array_length(ndr, &r->name) > ndr_get_array_size(ndr, &r->name)) {
352
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));
354
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint16_t), CH_UTF16));
355
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
358
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->name, r->size / 2));
361
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->name, r->length / 2));
364
return NDR_ERR_SUCCESS;
367
_PUBLIC_ void ndr_print_winreg_ValNameBuf(struct ndr_print *ndr, const char *name, const struct winreg_ValNameBuf *r)
369
ndr_print_struct(ndr, name, "winreg_ValNameBuf");
371
ndr_print_uint16(ndr, "length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?strlen_m_term(r->name) * 2:r->length);
372
ndr_print_uint16(ndr, "size", r->size);
373
ndr_print_ptr(ndr, "name", r->name);
376
ndr_print_string(ndr, "name", r->name);
382
_PUBLIC_ enum ndr_err_code ndr_push_winreg_NotifyChangeType(struct ndr_push *ndr, int ndr_flags, uint32_t r)
384
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
385
return NDR_ERR_SUCCESS;
388
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_NotifyChangeType(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
391
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
393
return NDR_ERR_SUCCESS;
396
_PUBLIC_ void ndr_print_winreg_NotifyChangeType(struct ndr_print *ndr, const char *name, uint32_t r)
398
ndr_print_uint32(ndr, name, r);
400
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_NAME", REG_NOTIFY_CHANGE_NAME, r);
401
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_ATTRIBUTES", REG_NOTIFY_CHANGE_ATTRIBUTES, r);
402
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_LAST_SET", REG_NOTIFY_CHANGE_LAST_SET, r);
403
ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "REG_NOTIFY_CHANGE_SECURITY", REG_NOTIFY_CHANGE_SECURITY, r);
407
static enum ndr_err_code ndr_push_KeySecurityAttribute(struct ndr_push *ndr, int ndr_flags, const struct KeySecurityAttribute *r)
409
if (ndr_flags & NDR_SCALARS) {
410
NDR_CHECK(ndr_push_align(ndr, 4));
411
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data_size));
412
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS, &r->sec_data));
413
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->inherit));
415
if (ndr_flags & NDR_BUFFERS) {
416
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_BUFFERS, &r->sec_data));
418
return NDR_ERR_SUCCESS;
421
static enum ndr_err_code ndr_pull_KeySecurityAttribute(struct ndr_pull *ndr, int ndr_flags, struct KeySecurityAttribute *r)
423
if (ndr_flags & NDR_SCALARS) {
424
NDR_CHECK(ndr_pull_align(ndr, 4));
425
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_size));
426
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS, &r->sec_data));
427
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->inherit));
429
if (ndr_flags & NDR_BUFFERS) {
430
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_BUFFERS, &r->sec_data));
432
return NDR_ERR_SUCCESS;
435
_PUBLIC_ void ndr_print_KeySecurityAttribute(struct ndr_print *ndr, const char *name, const struct KeySecurityAttribute *r)
437
ndr_print_struct(ndr, name, "KeySecurityAttribute");
439
ndr_print_uint32(ndr, "data_size", r->data_size);
440
ndr_print_KeySecurityData(ndr, "sec_data", &r->sec_data);
441
ndr_print_uint8(ndr, "inherit", r->inherit);
445
static enum ndr_err_code ndr_push_QueryMultipleValue(struct ndr_push *ndr, int ndr_flags, const struct QueryMultipleValue *r)
447
if (ndr_flags & NDR_SCALARS) {
448
NDR_CHECK(ndr_push_align(ndr, 4));
449
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
450
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type));
451
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->offset));
452
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->length));
454
if (ndr_flags & NDR_BUFFERS) {
456
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->name));
459
return NDR_ERR_SUCCESS;
462
static enum ndr_err_code ndr_pull_QueryMultipleValue(struct ndr_pull *ndr, int ndr_flags, struct QueryMultipleValue *r)
465
TALLOC_CTX *_mem_save_name_0;
466
if (ndr_flags & NDR_SCALARS) {
467
NDR_CHECK(ndr_pull_align(ndr, 4));
468
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
470
NDR_PULL_ALLOC(ndr, r->name);
474
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->type));
475
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->offset));
476
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
478
if (ndr_flags & NDR_BUFFERS) {
480
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
481
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
482
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->name));
483
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
486
return NDR_ERR_SUCCESS;
489
_PUBLIC_ void ndr_print_QueryMultipleValue(struct ndr_print *ndr, const char *name, const struct QueryMultipleValue *r)
491
ndr_print_struct(ndr, name, "QueryMultipleValue");
493
ndr_print_ptr(ndr, "name", r->name);
496
ndr_print_winreg_String(ndr, "name", r->name);
499
ndr_print_winreg_Type(ndr, "type", r->type);
500
ndr_print_uint32(ndr, "offset", r->offset);
501
ndr_print_uint32(ndr, "length", r->length);
505
static enum ndr_err_code ndr_push_winreg_OpenHKCR(struct ndr_push *ndr, int flags, const struct winreg_OpenHKCR *r)
507
if (flags & NDR_IN) {
508
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
509
if (r->in.system_name) {
510
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
512
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
514
if (flags & NDR_OUT) {
515
if (r->out.handle == NULL) {
516
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
518
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
519
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
521
return NDR_ERR_SUCCESS;
524
static enum ndr_err_code ndr_pull_winreg_OpenHKCR(struct ndr_pull *ndr, int flags, struct winreg_OpenHKCR *r)
526
uint32_t _ptr_system_name;
527
TALLOC_CTX *_mem_save_system_name_0;
528
TALLOC_CTX *_mem_save_handle_0;
529
if (flags & NDR_IN) {
532
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
533
if (_ptr_system_name) {
534
NDR_PULL_ALLOC(ndr, r->in.system_name);
536
r->in.system_name = NULL;
538
if (r->in.system_name) {
539
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
540
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
541
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
542
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
544
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
545
NDR_PULL_ALLOC(ndr, r->out.handle);
546
ZERO_STRUCTP(r->out.handle);
548
if (flags & NDR_OUT) {
549
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
550
NDR_PULL_ALLOC(ndr, r->out.handle);
552
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
553
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
554
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
555
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
556
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
558
return NDR_ERR_SUCCESS;
561
_PUBLIC_ void ndr_print_winreg_OpenHKCR(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCR *r)
563
ndr_print_struct(ndr, name, "winreg_OpenHKCR");
565
if (flags & NDR_SET_VALUES) {
566
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
568
if (flags & NDR_IN) {
569
ndr_print_struct(ndr, "in", "winreg_OpenHKCR");
571
ndr_print_ptr(ndr, "system_name", r->in.system_name);
573
if (r->in.system_name) {
574
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
577
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
580
if (flags & NDR_OUT) {
581
ndr_print_struct(ndr, "out", "winreg_OpenHKCR");
583
ndr_print_ptr(ndr, "handle", r->out.handle);
585
ndr_print_policy_handle(ndr, "handle", r->out.handle);
587
ndr_print_WERROR(ndr, "result", r->out.result);
593
static enum ndr_err_code ndr_push_winreg_OpenHKCU(struct ndr_push *ndr, int flags, const struct winreg_OpenHKCU *r)
595
if (flags & NDR_IN) {
596
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
597
if (r->in.system_name) {
598
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
600
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
602
if (flags & NDR_OUT) {
603
if (r->out.handle == NULL) {
604
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
606
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
607
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
609
return NDR_ERR_SUCCESS;
612
static enum ndr_err_code ndr_pull_winreg_OpenHKCU(struct ndr_pull *ndr, int flags, struct winreg_OpenHKCU *r)
614
uint32_t _ptr_system_name;
615
TALLOC_CTX *_mem_save_system_name_0;
616
TALLOC_CTX *_mem_save_handle_0;
617
if (flags & NDR_IN) {
620
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
621
if (_ptr_system_name) {
622
NDR_PULL_ALLOC(ndr, r->in.system_name);
624
r->in.system_name = NULL;
626
if (r->in.system_name) {
627
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
628
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
629
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
630
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
632
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
633
NDR_PULL_ALLOC(ndr, r->out.handle);
634
ZERO_STRUCTP(r->out.handle);
636
if (flags & NDR_OUT) {
637
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
638
NDR_PULL_ALLOC(ndr, r->out.handle);
640
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
641
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
642
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
643
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
644
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
646
return NDR_ERR_SUCCESS;
649
_PUBLIC_ void ndr_print_winreg_OpenHKCU(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCU *r)
651
ndr_print_struct(ndr, name, "winreg_OpenHKCU");
653
if (flags & NDR_SET_VALUES) {
654
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
656
if (flags & NDR_IN) {
657
ndr_print_struct(ndr, "in", "winreg_OpenHKCU");
659
ndr_print_ptr(ndr, "system_name", r->in.system_name);
661
if (r->in.system_name) {
662
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
665
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
668
if (flags & NDR_OUT) {
669
ndr_print_struct(ndr, "out", "winreg_OpenHKCU");
671
ndr_print_ptr(ndr, "handle", r->out.handle);
673
ndr_print_policy_handle(ndr, "handle", r->out.handle);
675
ndr_print_WERROR(ndr, "result", r->out.result);
681
_PUBLIC_ enum ndr_err_code ndr_push_winreg_OpenHKLM(struct ndr_push *ndr, int flags, const struct winreg_OpenHKLM *r)
683
if (flags & NDR_IN) {
684
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
685
if (r->in.system_name) {
686
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
688
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
690
if (flags & NDR_OUT) {
691
if (r->out.handle == NULL) {
692
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
694
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
695
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
697
return NDR_ERR_SUCCESS;
700
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_OpenHKLM(struct ndr_pull *ndr, int flags, struct winreg_OpenHKLM *r)
702
uint32_t _ptr_system_name;
703
TALLOC_CTX *_mem_save_system_name_0;
704
TALLOC_CTX *_mem_save_handle_0;
705
if (flags & NDR_IN) {
708
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
709
if (_ptr_system_name) {
710
NDR_PULL_ALLOC(ndr, r->in.system_name);
712
r->in.system_name = NULL;
714
if (r->in.system_name) {
715
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
716
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
717
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
718
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
720
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
721
NDR_PULL_ALLOC(ndr, r->out.handle);
722
ZERO_STRUCTP(r->out.handle);
724
if (flags & NDR_OUT) {
725
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
726
NDR_PULL_ALLOC(ndr, r->out.handle);
728
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
729
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
730
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
731
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
732
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
734
return NDR_ERR_SUCCESS;
737
_PUBLIC_ void ndr_print_winreg_OpenHKLM(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKLM *r)
739
ndr_print_struct(ndr, name, "winreg_OpenHKLM");
741
if (flags & NDR_SET_VALUES) {
742
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
744
if (flags & NDR_IN) {
745
ndr_print_struct(ndr, "in", "winreg_OpenHKLM");
747
ndr_print_ptr(ndr, "system_name", r->in.system_name);
749
if (r->in.system_name) {
750
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
753
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
756
if (flags & NDR_OUT) {
757
ndr_print_struct(ndr, "out", "winreg_OpenHKLM");
759
ndr_print_ptr(ndr, "handle", r->out.handle);
761
ndr_print_policy_handle(ndr, "handle", r->out.handle);
763
ndr_print_WERROR(ndr, "result", r->out.result);
769
static enum ndr_err_code ndr_push_winreg_OpenHKPD(struct ndr_push *ndr, int flags, const struct winreg_OpenHKPD *r)
771
if (flags & NDR_IN) {
772
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
773
if (r->in.system_name) {
774
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
776
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
778
if (flags & NDR_OUT) {
779
if (r->out.handle == NULL) {
780
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
782
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
783
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
785
return NDR_ERR_SUCCESS;
788
static enum ndr_err_code ndr_pull_winreg_OpenHKPD(struct ndr_pull *ndr, int flags, struct winreg_OpenHKPD *r)
790
uint32_t _ptr_system_name;
791
TALLOC_CTX *_mem_save_system_name_0;
792
TALLOC_CTX *_mem_save_handle_0;
793
if (flags & NDR_IN) {
796
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
797
if (_ptr_system_name) {
798
NDR_PULL_ALLOC(ndr, r->in.system_name);
800
r->in.system_name = NULL;
802
if (r->in.system_name) {
803
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
804
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
805
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
806
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
808
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
809
NDR_PULL_ALLOC(ndr, r->out.handle);
810
ZERO_STRUCTP(r->out.handle);
812
if (flags & NDR_OUT) {
813
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
814
NDR_PULL_ALLOC(ndr, r->out.handle);
816
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
817
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
818
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
819
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
820
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
822
return NDR_ERR_SUCCESS;
825
_PUBLIC_ void ndr_print_winreg_OpenHKPD(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPD *r)
827
ndr_print_struct(ndr, name, "winreg_OpenHKPD");
829
if (flags & NDR_SET_VALUES) {
830
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
832
if (flags & NDR_IN) {
833
ndr_print_struct(ndr, "in", "winreg_OpenHKPD");
835
ndr_print_ptr(ndr, "system_name", r->in.system_name);
837
if (r->in.system_name) {
838
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
841
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
844
if (flags & NDR_OUT) {
845
ndr_print_struct(ndr, "out", "winreg_OpenHKPD");
847
ndr_print_ptr(ndr, "handle", r->out.handle);
849
ndr_print_policy_handle(ndr, "handle", r->out.handle);
851
ndr_print_WERROR(ndr, "result", r->out.result);
857
static enum ndr_err_code ndr_push_winreg_OpenHKU(struct ndr_push *ndr, int flags, const struct winreg_OpenHKU *r)
859
if (flags & NDR_IN) {
860
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
861
if (r->in.system_name) {
862
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
864
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
866
if (flags & NDR_OUT) {
867
if (r->out.handle == NULL) {
868
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
870
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
871
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
873
return NDR_ERR_SUCCESS;
876
static enum ndr_err_code ndr_pull_winreg_OpenHKU(struct ndr_pull *ndr, int flags, struct winreg_OpenHKU *r)
878
uint32_t _ptr_system_name;
879
TALLOC_CTX *_mem_save_system_name_0;
880
TALLOC_CTX *_mem_save_handle_0;
881
if (flags & NDR_IN) {
884
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
885
if (_ptr_system_name) {
886
NDR_PULL_ALLOC(ndr, r->in.system_name);
888
r->in.system_name = NULL;
890
if (r->in.system_name) {
891
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
892
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
893
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
894
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
896
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
897
NDR_PULL_ALLOC(ndr, r->out.handle);
898
ZERO_STRUCTP(r->out.handle);
900
if (flags & NDR_OUT) {
901
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
902
NDR_PULL_ALLOC(ndr, r->out.handle);
904
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
905
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
906
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
907
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
908
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
910
return NDR_ERR_SUCCESS;
913
_PUBLIC_ void ndr_print_winreg_OpenHKU(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKU *r)
915
ndr_print_struct(ndr, name, "winreg_OpenHKU");
917
if (flags & NDR_SET_VALUES) {
918
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
920
if (flags & NDR_IN) {
921
ndr_print_struct(ndr, "in", "winreg_OpenHKU");
923
ndr_print_ptr(ndr, "system_name", r->in.system_name);
925
if (r->in.system_name) {
926
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
929
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
932
if (flags & NDR_OUT) {
933
ndr_print_struct(ndr, "out", "winreg_OpenHKU");
935
ndr_print_ptr(ndr, "handle", r->out.handle);
937
ndr_print_policy_handle(ndr, "handle", r->out.handle);
939
ndr_print_WERROR(ndr, "result", r->out.result);
945
_PUBLIC_ enum ndr_err_code ndr_push_winreg_CloseKey(struct ndr_push *ndr, int flags, const struct winreg_CloseKey *r)
947
if (flags & NDR_IN) {
948
if (r->in.handle == NULL) {
949
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
951
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
953
if (flags & NDR_OUT) {
954
if (r->out.handle == NULL) {
955
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
957
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
958
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
960
return NDR_ERR_SUCCESS;
963
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_CloseKey(struct ndr_pull *ndr, int flags, struct winreg_CloseKey *r)
965
TALLOC_CTX *_mem_save_handle_0;
966
if (flags & NDR_IN) {
969
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
970
NDR_PULL_ALLOC(ndr, r->in.handle);
972
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
973
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
974
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
975
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
976
NDR_PULL_ALLOC(ndr, r->out.handle);
977
*r->out.handle = *r->in.handle;
979
if (flags & NDR_OUT) {
980
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
981
NDR_PULL_ALLOC(ndr, r->out.handle);
983
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
984
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
985
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
986
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
987
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
989
return NDR_ERR_SUCCESS;
992
_PUBLIC_ void ndr_print_winreg_CloseKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_CloseKey *r)
994
ndr_print_struct(ndr, name, "winreg_CloseKey");
996
if (flags & NDR_SET_VALUES) {
997
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
999
if (flags & NDR_IN) {
1000
ndr_print_struct(ndr, "in", "winreg_CloseKey");
1002
ndr_print_ptr(ndr, "handle", r->in.handle);
1004
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1008
if (flags & NDR_OUT) {
1009
ndr_print_struct(ndr, "out", "winreg_CloseKey");
1011
ndr_print_ptr(ndr, "handle", r->out.handle);
1013
ndr_print_policy_handle(ndr, "handle", r->out.handle);
1015
ndr_print_WERROR(ndr, "result", r->out.result);
1021
_PUBLIC_ enum ndr_err_code ndr_push_winreg_CreateKey(struct ndr_push *ndr, int flags, const struct winreg_CreateKey *r)
1023
if (flags & NDR_IN) {
1024
if (r->in.handle == NULL) {
1025
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1027
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1028
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
1029
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyclass));
1030
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.options));
1031
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
1032
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.secdesc));
1033
if (r->in.secdesc) {
1034
NDR_CHECK(ndr_push_winreg_SecBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc));
1036
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.action_taken));
1037
if (r->in.action_taken) {
1038
NDR_CHECK(ndr_push_winreg_CreateAction(ndr, NDR_SCALARS, *r->in.action_taken));
1041
if (flags & NDR_OUT) {
1042
if (r->out.new_handle == NULL) {
1043
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1045
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.new_handle));
1046
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.action_taken));
1047
if (r->out.action_taken) {
1048
NDR_CHECK(ndr_push_winreg_CreateAction(ndr, NDR_SCALARS, *r->out.action_taken));
1050
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1052
return NDR_ERR_SUCCESS;
1055
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_CreateKey(struct ndr_pull *ndr, int flags, struct winreg_CreateKey *r)
1057
uint32_t _ptr_secdesc;
1058
uint32_t _ptr_action_taken;
1059
TALLOC_CTX *_mem_save_handle_0;
1060
TALLOC_CTX *_mem_save_secdesc_0;
1061
TALLOC_CTX *_mem_save_new_handle_0;
1062
TALLOC_CTX *_mem_save_action_taken_0;
1063
if (flags & NDR_IN) {
1064
ZERO_STRUCT(r->out);
1066
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1067
NDR_PULL_ALLOC(ndr, r->in.handle);
1069
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1070
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1071
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1072
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1073
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
1074
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyclass));
1075
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.options));
1076
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
1077
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
1079
NDR_PULL_ALLOC(ndr, r->in.secdesc);
1081
r->in.secdesc = NULL;
1083
if (r->in.secdesc) {
1084
_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
1085
NDR_PULL_SET_MEM_CTX(ndr, r->in.secdesc, 0);
1086
NDR_CHECK(ndr_pull_winreg_SecBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.secdesc));
1087
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
1089
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_action_taken));
1090
if (_ptr_action_taken) {
1091
NDR_PULL_ALLOC(ndr, r->in.action_taken);
1093
r->in.action_taken = NULL;
1095
if (r->in.action_taken) {
1096
_mem_save_action_taken_0 = NDR_PULL_GET_MEM_CTX(ndr);
1097
NDR_PULL_SET_MEM_CTX(ndr, r->in.action_taken, 0);
1098
NDR_CHECK(ndr_pull_winreg_CreateAction(ndr, NDR_SCALARS, r->in.action_taken));
1099
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_action_taken_0, 0);
1101
NDR_PULL_ALLOC(ndr, r->out.new_handle);
1102
ZERO_STRUCTP(r->out.new_handle);
1104
if (flags & NDR_OUT) {
1105
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1106
NDR_PULL_ALLOC(ndr, r->out.new_handle);
1108
_mem_save_new_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1109
NDR_PULL_SET_MEM_CTX(ndr, r->out.new_handle, LIBNDR_FLAG_REF_ALLOC);
1110
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.new_handle));
1111
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_new_handle_0, LIBNDR_FLAG_REF_ALLOC);
1112
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_action_taken));
1113
if (_ptr_action_taken) {
1114
NDR_PULL_ALLOC(ndr, r->out.action_taken);
1116
r->out.action_taken = NULL;
1118
if (r->out.action_taken) {
1119
_mem_save_action_taken_0 = NDR_PULL_GET_MEM_CTX(ndr);
1120
NDR_PULL_SET_MEM_CTX(ndr, r->out.action_taken, 0);
1121
NDR_CHECK(ndr_pull_winreg_CreateAction(ndr, NDR_SCALARS, r->out.action_taken));
1122
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_action_taken_0, 0);
1124
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1126
return NDR_ERR_SUCCESS;
1129
_PUBLIC_ void ndr_print_winreg_CreateKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_CreateKey *r)
1131
ndr_print_struct(ndr, name, "winreg_CreateKey");
1133
if (flags & NDR_SET_VALUES) {
1134
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1136
if (flags & NDR_IN) {
1137
ndr_print_struct(ndr, "in", "winreg_CreateKey");
1139
ndr_print_ptr(ndr, "handle", r->in.handle);
1141
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1143
ndr_print_winreg_String(ndr, "name", &r->in.name);
1144
ndr_print_winreg_String(ndr, "keyclass", &r->in.keyclass);
1145
ndr_print_uint32(ndr, "options", r->in.options);
1146
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
1147
ndr_print_ptr(ndr, "secdesc", r->in.secdesc);
1149
if (r->in.secdesc) {
1150
ndr_print_winreg_SecBuf(ndr, "secdesc", r->in.secdesc);
1153
ndr_print_ptr(ndr, "action_taken", r->in.action_taken);
1155
if (r->in.action_taken) {
1156
ndr_print_winreg_CreateAction(ndr, "action_taken", *r->in.action_taken);
1161
if (flags & NDR_OUT) {
1162
ndr_print_struct(ndr, "out", "winreg_CreateKey");
1164
ndr_print_ptr(ndr, "new_handle", r->out.new_handle);
1166
ndr_print_policy_handle(ndr, "new_handle", r->out.new_handle);
1168
ndr_print_ptr(ndr, "action_taken", r->out.action_taken);
1170
if (r->out.action_taken) {
1171
ndr_print_winreg_CreateAction(ndr, "action_taken", *r->out.action_taken);
1174
ndr_print_WERROR(ndr, "result", r->out.result);
1180
_PUBLIC_ enum ndr_err_code ndr_push_winreg_DeleteKey(struct ndr_push *ndr, int flags, const struct winreg_DeleteKey *r)
1182
if (flags & NDR_IN) {
1183
if (r->in.handle == NULL) {
1184
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1186
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1187
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.key));
1189
if (flags & NDR_OUT) {
1190
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1192
return NDR_ERR_SUCCESS;
1195
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_DeleteKey(struct ndr_pull *ndr, int flags, struct winreg_DeleteKey *r)
1197
TALLOC_CTX *_mem_save_handle_0;
1198
if (flags & NDR_IN) {
1199
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1200
NDR_PULL_ALLOC(ndr, r->in.handle);
1202
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1203
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1204
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1205
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1206
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.key));
1208
if (flags & NDR_OUT) {
1209
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1211
return NDR_ERR_SUCCESS;
1214
_PUBLIC_ void ndr_print_winreg_DeleteKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteKey *r)
1216
ndr_print_struct(ndr, name, "winreg_DeleteKey");
1218
if (flags & NDR_SET_VALUES) {
1219
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1221
if (flags & NDR_IN) {
1222
ndr_print_struct(ndr, "in", "winreg_DeleteKey");
1224
ndr_print_ptr(ndr, "handle", r->in.handle);
1226
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1228
ndr_print_winreg_String(ndr, "key", &r->in.key);
1231
if (flags & NDR_OUT) {
1232
ndr_print_struct(ndr, "out", "winreg_DeleteKey");
1234
ndr_print_WERROR(ndr, "result", r->out.result);
1240
static enum ndr_err_code ndr_push_winreg_DeleteValue(struct ndr_push *ndr, int flags, const struct winreg_DeleteValue *r)
1242
if (flags & NDR_IN) {
1243
if (r->in.handle == NULL) {
1244
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1246
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1247
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.value));
1249
if (flags & NDR_OUT) {
1250
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1252
return NDR_ERR_SUCCESS;
1255
static enum ndr_err_code ndr_pull_winreg_DeleteValue(struct ndr_pull *ndr, int flags, struct winreg_DeleteValue *r)
1257
TALLOC_CTX *_mem_save_handle_0;
1258
if (flags & NDR_IN) {
1259
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1260
NDR_PULL_ALLOC(ndr, r->in.handle);
1262
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1263
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1264
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1265
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1266
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.value));
1268
if (flags & NDR_OUT) {
1269
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1271
return NDR_ERR_SUCCESS;
1274
_PUBLIC_ void ndr_print_winreg_DeleteValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_DeleteValue *r)
1276
ndr_print_struct(ndr, name, "winreg_DeleteValue");
1278
if (flags & NDR_SET_VALUES) {
1279
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1281
if (flags & NDR_IN) {
1282
ndr_print_struct(ndr, "in", "winreg_DeleteValue");
1284
ndr_print_ptr(ndr, "handle", r->in.handle);
1286
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1288
ndr_print_winreg_String(ndr, "value", &r->in.value);
1291
if (flags & NDR_OUT) {
1292
ndr_print_struct(ndr, "out", "winreg_DeleteValue");
1294
ndr_print_WERROR(ndr, "result", r->out.result);
1300
_PUBLIC_ enum ndr_err_code ndr_push_winreg_EnumKey(struct ndr_push *ndr, int flags, const struct winreg_EnumKey *r)
1302
if (flags & NDR_IN) {
1303
if (r->in.handle == NULL) {
1304
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1306
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1307
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index));
1308
if (r->in.name == NULL) {
1309
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1311
NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
1312
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.keyclass));
1313
if (r->in.keyclass) {
1314
NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyclass));
1316
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.last_changed_time));
1317
if (r->in.last_changed_time) {
1318
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, *r->in.last_changed_time));
1321
if (flags & NDR_OUT) {
1322
if (r->out.name == NULL) {
1323
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1325
NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1326
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.keyclass));
1327
if (r->out.keyclass) {
1328
NDR_CHECK(ndr_push_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.keyclass));
1330
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.last_changed_time));
1331
if (r->out.last_changed_time) {
1332
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, *r->out.last_changed_time));
1334
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1336
return NDR_ERR_SUCCESS;
1339
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_EnumKey(struct ndr_pull *ndr, int flags, struct winreg_EnumKey *r)
1341
uint32_t _ptr_keyclass;
1342
uint32_t _ptr_last_changed_time;
1343
TALLOC_CTX *_mem_save_handle_0;
1344
TALLOC_CTX *_mem_save_name_0;
1345
TALLOC_CTX *_mem_save_keyclass_0;
1346
TALLOC_CTX *_mem_save_last_changed_time_0;
1347
if (flags & NDR_IN) {
1348
ZERO_STRUCT(r->out);
1350
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1351
NDR_PULL_ALLOC(ndr, r->in.handle);
1353
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1354
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1355
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1356
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1357
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index));
1358
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1359
NDR_PULL_ALLOC(ndr, r->in.name);
1361
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1362
NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
1363
NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
1364
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1365
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyclass));
1366
if (_ptr_keyclass) {
1367
NDR_PULL_ALLOC(ndr, r->in.keyclass);
1369
r->in.keyclass = NULL;
1371
if (r->in.keyclass) {
1372
_mem_save_keyclass_0 = NDR_PULL_GET_MEM_CTX(ndr);
1373
NDR_PULL_SET_MEM_CTX(ndr, r->in.keyclass, 0);
1374
NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyclass));
1375
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyclass_0, 0);
1377
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_last_changed_time));
1378
if (_ptr_last_changed_time) {
1379
NDR_PULL_ALLOC(ndr, r->in.last_changed_time);
1381
r->in.last_changed_time = NULL;
1383
if (r->in.last_changed_time) {
1384
_mem_save_last_changed_time_0 = NDR_PULL_GET_MEM_CTX(ndr);
1385
NDR_PULL_SET_MEM_CTX(ndr, r->in.last_changed_time, 0);
1386
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, r->in.last_changed_time));
1387
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_last_changed_time_0, 0);
1389
NDR_PULL_ALLOC(ndr, r->out.name);
1390
*r->out.name = *r->in.name;
1392
if (flags & NDR_OUT) {
1393
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1394
NDR_PULL_ALLOC(ndr, r->out.name);
1396
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1397
NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
1398
NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1399
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1400
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyclass));
1401
if (_ptr_keyclass) {
1402
NDR_PULL_ALLOC(ndr, r->out.keyclass);
1404
r->out.keyclass = NULL;
1406
if (r->out.keyclass) {
1407
_mem_save_keyclass_0 = NDR_PULL_GET_MEM_CTX(ndr);
1408
NDR_PULL_SET_MEM_CTX(ndr, r->out.keyclass, 0);
1409
NDR_CHECK(ndr_pull_winreg_StringBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.keyclass));
1410
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyclass_0, 0);
1412
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_last_changed_time));
1413
if (_ptr_last_changed_time) {
1414
NDR_PULL_ALLOC(ndr, r->out.last_changed_time);
1416
r->out.last_changed_time = NULL;
1418
if (r->out.last_changed_time) {
1419
_mem_save_last_changed_time_0 = NDR_PULL_GET_MEM_CTX(ndr);
1420
NDR_PULL_SET_MEM_CTX(ndr, r->out.last_changed_time, 0);
1421
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, r->out.last_changed_time));
1422
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_last_changed_time_0, 0);
1424
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1426
return NDR_ERR_SUCCESS;
1429
_PUBLIC_ void ndr_print_winreg_EnumKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_EnumKey *r)
1431
ndr_print_struct(ndr, name, "winreg_EnumKey");
1433
if (flags & NDR_SET_VALUES) {
1434
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1436
if (flags & NDR_IN) {
1437
ndr_print_struct(ndr, "in", "winreg_EnumKey");
1439
ndr_print_ptr(ndr, "handle", r->in.handle);
1441
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1443
ndr_print_uint32(ndr, "enum_index", r->in.enum_index);
1444
ndr_print_ptr(ndr, "name", r->in.name);
1446
ndr_print_winreg_StringBuf(ndr, "name", r->in.name);
1448
ndr_print_ptr(ndr, "keyclass", r->in.keyclass);
1450
if (r->in.keyclass) {
1451
ndr_print_winreg_StringBuf(ndr, "keyclass", r->in.keyclass);
1454
ndr_print_ptr(ndr, "last_changed_time", r->in.last_changed_time);
1456
if (r->in.last_changed_time) {
1457
ndr_print_NTTIME(ndr, "last_changed_time", *r->in.last_changed_time);
1462
if (flags & NDR_OUT) {
1463
ndr_print_struct(ndr, "out", "winreg_EnumKey");
1465
ndr_print_ptr(ndr, "name", r->out.name);
1467
ndr_print_winreg_StringBuf(ndr, "name", r->out.name);
1469
ndr_print_ptr(ndr, "keyclass", r->out.keyclass);
1471
if (r->out.keyclass) {
1472
ndr_print_winreg_StringBuf(ndr, "keyclass", r->out.keyclass);
1475
ndr_print_ptr(ndr, "last_changed_time", r->out.last_changed_time);
1477
if (r->out.last_changed_time) {
1478
ndr_print_NTTIME(ndr, "last_changed_time", *r->out.last_changed_time);
1481
ndr_print_WERROR(ndr, "result", r->out.result);
1487
_PUBLIC_ enum ndr_err_code ndr_push_winreg_EnumValue(struct ndr_push *ndr, int flags, const struct winreg_EnumValue *r)
1489
if (flags & NDR_IN) {
1490
if (r->in.handle == NULL) {
1491
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1493
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1494
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.enum_index));
1495
if (r->in.name == NULL) {
1496
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1498
NDR_CHECK(ndr_push_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
1499
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.type));
1501
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->in.type));
1503
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.value));
1505
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.size));
1506
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1507
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.length));
1508
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.value, *r->in.length));
1510
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.size));
1512
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.size));
1514
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.length));
1516
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.length));
1519
if (flags & NDR_OUT) {
1520
if (r->out.name == NULL) {
1521
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1523
NDR_CHECK(ndr_push_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1524
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.type));
1526
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
1528
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.value));
1530
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.size));
1531
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
1532
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.length));
1533
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.value, *r->out.length));
1535
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.size));
1537
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.size));
1539
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.length));
1540
if (r->out.length) {
1541
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.length));
1543
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1545
return NDR_ERR_SUCCESS;
1548
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_EnumValue(struct ndr_pull *ndr, int flags, struct winreg_EnumValue *r)
1551
uint32_t _ptr_value;
1553
uint32_t _ptr_length;
1554
TALLOC_CTX *_mem_save_handle_0;
1555
TALLOC_CTX *_mem_save_name_0;
1556
TALLOC_CTX *_mem_save_type_0;
1557
TALLOC_CTX *_mem_save_value_0;
1558
TALLOC_CTX *_mem_save_size_0;
1559
TALLOC_CTX *_mem_save_length_0;
1560
if (flags & NDR_IN) {
1561
ZERO_STRUCT(r->out);
1563
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1564
NDR_PULL_ALLOC(ndr, r->in.handle);
1566
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1567
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1568
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1569
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1570
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.enum_index));
1571
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1572
NDR_PULL_ALLOC(ndr, r->in.name);
1574
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1575
NDR_PULL_SET_MEM_CTX(ndr, r->in.name, LIBNDR_FLAG_REF_ALLOC);
1576
NDR_CHECK(ndr_pull_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.name));
1577
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1578
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type));
1580
NDR_PULL_ALLOC(ndr, r->in.type);
1585
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
1586
NDR_PULL_SET_MEM_CTX(ndr, r->in.type, 0);
1587
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->in.type));
1588
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0);
1590
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
1592
NDR_PULL_ALLOC(ndr, r->in.value);
1597
_mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
1598
NDR_PULL_SET_MEM_CTX(ndr, r->in.value, 0);
1599
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.value));
1600
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.value));
1601
if (ndr_get_array_length(ndr, &r->in.value) > ndr_get_array_size(ndr, &r->in.value)) {
1602
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.value), ndr_get_array_length(ndr, &r->in.value));
1604
NDR_PULL_ALLOC_N(ndr, r->in.value, ndr_get_array_size(ndr, &r->in.value));
1605
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.value, ndr_get_array_length(ndr, &r->in.value)));
1606
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
1608
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_size));
1610
NDR_PULL_ALLOC(ndr, r->in.size);
1615
_mem_save_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
1616
NDR_PULL_SET_MEM_CTX(ndr, r->in.size, 0);
1617
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.size));
1618
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_size_0, 0);
1620
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_length));
1622
NDR_PULL_ALLOC(ndr, r->in.length);
1624
r->in.length = NULL;
1627
_mem_save_length_0 = NDR_PULL_GET_MEM_CTX(ndr);
1628
NDR_PULL_SET_MEM_CTX(ndr, r->in.length, 0);
1629
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.length));
1630
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_length_0, 0);
1632
NDR_PULL_ALLOC(ndr, r->out.name);
1633
*r->out.name = *r->in.name;
1635
if (r->in.size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()");
1636
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.value, *r->in.size));
1639
if (r->in.length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()");
1640
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.value, *r->in.length));
1643
if (flags & NDR_OUT) {
1644
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1645
NDR_PULL_ALLOC(ndr, r->out.name);
1647
_mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
1648
NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC);
1649
NDR_CHECK(ndr_pull_winreg_ValNameBuf(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
1650
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC);
1651
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type));
1653
NDR_PULL_ALLOC(ndr, r->out.type);
1658
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
1659
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, 0);
1660
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
1661
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0);
1663
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value));
1665
NDR_PULL_ALLOC(ndr, r->out.value);
1667
r->out.value = NULL;
1670
_mem_save_value_0 = NDR_PULL_GET_MEM_CTX(ndr);
1671
NDR_PULL_SET_MEM_CTX(ndr, r->out.value, 0);
1672
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.value));
1673
NDR_CHECK(ndr_pull_array_length(ndr, &r->out.value));
1674
if (ndr_get_array_length(ndr, &r->out.value) > ndr_get_array_size(ndr, &r->out.value)) {
1675
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.value), ndr_get_array_length(ndr, &r->out.value));
1677
NDR_PULL_ALLOC_N(ndr, r->out.value, ndr_get_array_size(ndr, &r->out.value));
1678
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.value, ndr_get_array_length(ndr, &r->out.value)));
1679
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_0, 0);
1681
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_size));
1683
NDR_PULL_ALLOC(ndr, r->out.size);
1688
_mem_save_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
1689
NDR_PULL_SET_MEM_CTX(ndr, r->out.size, 0);
1690
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.size));
1691
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_size_0, 0);
1693
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_length));
1695
NDR_PULL_ALLOC(ndr, r->out.length);
1697
r->out.length = NULL;
1699
if (r->out.length) {
1700
_mem_save_length_0 = NDR_PULL_GET_MEM_CTX(ndr);
1701
NDR_PULL_SET_MEM_CTX(ndr, r->out.length, 0);
1702
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.length));
1703
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_length_0, 0);
1705
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1707
if (r->out.size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()");
1708
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.value, *r->out.size));
1711
if (r->out.length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()");
1712
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.value, *r->out.length));
1715
return NDR_ERR_SUCCESS;
1718
_PUBLIC_ void ndr_print_winreg_EnumValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_EnumValue *r)
1720
ndr_print_struct(ndr, name, "winreg_EnumValue");
1722
if (flags & NDR_SET_VALUES) {
1723
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1725
if (flags & NDR_IN) {
1726
ndr_print_struct(ndr, "in", "winreg_EnumValue");
1728
ndr_print_ptr(ndr, "handle", r->in.handle);
1730
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1732
ndr_print_uint32(ndr, "enum_index", r->in.enum_index);
1733
ndr_print_ptr(ndr, "name", r->in.name);
1735
ndr_print_winreg_ValNameBuf(ndr, "name", r->in.name);
1737
ndr_print_ptr(ndr, "type", r->in.type);
1740
ndr_print_winreg_Type(ndr, "type", *r->in.type);
1743
ndr_print_ptr(ndr, "value", r->in.value);
1746
if (r->in.length == NULL) return;
1747
ndr_print_array_uint8(ndr, "value", r->in.value, *r->in.length);
1750
ndr_print_ptr(ndr, "size", r->in.size);
1753
ndr_print_uint32(ndr, "size", *r->in.size);
1756
ndr_print_ptr(ndr, "length", r->in.length);
1759
ndr_print_uint32(ndr, "length", *r->in.length);
1764
if (flags & NDR_OUT) {
1765
ndr_print_struct(ndr, "out", "winreg_EnumValue");
1767
ndr_print_ptr(ndr, "name", r->out.name);
1769
ndr_print_winreg_ValNameBuf(ndr, "name", r->out.name);
1771
ndr_print_ptr(ndr, "type", r->out.type);
1774
ndr_print_winreg_Type(ndr, "type", *r->out.type);
1777
ndr_print_ptr(ndr, "value", r->out.value);
1780
if (r->out.length == NULL) return;
1781
ndr_print_array_uint8(ndr, "value", r->out.value, *r->out.length);
1784
ndr_print_ptr(ndr, "size", r->out.size);
1787
ndr_print_uint32(ndr, "size", *r->out.size);
1790
ndr_print_ptr(ndr, "length", r->out.length);
1792
if (r->out.length) {
1793
ndr_print_uint32(ndr, "length", *r->out.length);
1796
ndr_print_WERROR(ndr, "result", r->out.result);
1802
_PUBLIC_ enum ndr_err_code ndr_push_winreg_FlushKey(struct ndr_push *ndr, int flags, const struct winreg_FlushKey *r)
1804
if (flags & NDR_IN) {
1805
if (r->in.handle == NULL) {
1806
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1808
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1810
if (flags & NDR_OUT) {
1811
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1813
return NDR_ERR_SUCCESS;
1816
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_FlushKey(struct ndr_pull *ndr, int flags, struct winreg_FlushKey *r)
1818
TALLOC_CTX *_mem_save_handle_0;
1819
if (flags & NDR_IN) {
1820
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1821
NDR_PULL_ALLOC(ndr, r->in.handle);
1823
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1824
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1825
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1826
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1828
if (flags & NDR_OUT) {
1829
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1831
return NDR_ERR_SUCCESS;
1834
_PUBLIC_ void ndr_print_winreg_FlushKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_FlushKey *r)
1836
ndr_print_struct(ndr, name, "winreg_FlushKey");
1838
if (flags & NDR_SET_VALUES) {
1839
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1841
if (flags & NDR_IN) {
1842
ndr_print_struct(ndr, "in", "winreg_FlushKey");
1844
ndr_print_ptr(ndr, "handle", r->in.handle);
1846
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1850
if (flags & NDR_OUT) {
1851
ndr_print_struct(ndr, "out", "winreg_FlushKey");
1853
ndr_print_WERROR(ndr, "result", r->out.result);
1859
_PUBLIC_ enum ndr_err_code ndr_push_winreg_GetKeySecurity(struct ndr_push *ndr, int flags, const struct winreg_GetKeySecurity *r)
1861
if (flags & NDR_IN) {
1862
if (r->in.handle == NULL) {
1863
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1865
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1866
NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
1867
if (r->in.sd == NULL) {
1868
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1870
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd));
1872
if (flags & NDR_OUT) {
1873
if (r->out.sd == NULL) {
1874
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1876
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sd));
1877
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1879
return NDR_ERR_SUCCESS;
1882
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_GetKeySecurity(struct ndr_pull *ndr, int flags, struct winreg_GetKeySecurity *r)
1884
TALLOC_CTX *_mem_save_handle_0;
1885
TALLOC_CTX *_mem_save_sd_0;
1886
if (flags & NDR_IN) {
1887
ZERO_STRUCT(r->out);
1889
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1890
NDR_PULL_ALLOC(ndr, r->in.handle);
1892
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1893
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1894
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1895
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1896
NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
1897
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1898
NDR_PULL_ALLOC(ndr, r->in.sd);
1900
_mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
1901
NDR_PULL_SET_MEM_CTX(ndr, r->in.sd, LIBNDR_FLAG_REF_ALLOC);
1902
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd));
1903
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, LIBNDR_FLAG_REF_ALLOC);
1904
NDR_PULL_ALLOC(ndr, r->out.sd);
1905
*r->out.sd = *r->in.sd;
1907
if (flags & NDR_OUT) {
1908
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1909
NDR_PULL_ALLOC(ndr, r->out.sd);
1911
_mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
1912
NDR_PULL_SET_MEM_CTX(ndr, r->out.sd, LIBNDR_FLAG_REF_ALLOC);
1913
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.sd));
1914
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, LIBNDR_FLAG_REF_ALLOC);
1915
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
1917
return NDR_ERR_SUCCESS;
1920
_PUBLIC_ void ndr_print_winreg_GetKeySecurity(struct ndr_print *ndr, const char *name, int flags, const struct winreg_GetKeySecurity *r)
1922
ndr_print_struct(ndr, name, "winreg_GetKeySecurity");
1924
if (flags & NDR_SET_VALUES) {
1925
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
1927
if (flags & NDR_IN) {
1928
ndr_print_struct(ndr, "in", "winreg_GetKeySecurity");
1930
ndr_print_ptr(ndr, "handle", r->in.handle);
1932
ndr_print_policy_handle(ndr, "handle", r->in.handle);
1934
ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
1935
ndr_print_ptr(ndr, "sd", r->in.sd);
1937
ndr_print_KeySecurityData(ndr, "sd", r->in.sd);
1941
if (flags & NDR_OUT) {
1942
ndr_print_struct(ndr, "out", "winreg_GetKeySecurity");
1944
ndr_print_ptr(ndr, "sd", r->out.sd);
1946
ndr_print_KeySecurityData(ndr, "sd", r->out.sd);
1948
ndr_print_WERROR(ndr, "result", r->out.result);
1954
static enum ndr_err_code ndr_push_winreg_LoadKey(struct ndr_push *ndr, int flags, const struct winreg_LoadKey *r)
1956
if (flags & NDR_IN) {
1957
if (r->in.handle == NULL) {
1958
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
1960
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1961
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.keyname));
1962
if (r->in.keyname) {
1963
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyname));
1965
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.filename));
1966
if (r->in.filename) {
1967
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
1970
if (flags & NDR_OUT) {
1971
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
1973
return NDR_ERR_SUCCESS;
1976
static enum ndr_err_code ndr_pull_winreg_LoadKey(struct ndr_pull *ndr, int flags, struct winreg_LoadKey *r)
1978
uint32_t _ptr_keyname;
1979
uint32_t _ptr_filename;
1980
TALLOC_CTX *_mem_save_handle_0;
1981
TALLOC_CTX *_mem_save_keyname_0;
1982
TALLOC_CTX *_mem_save_filename_0;
1983
if (flags & NDR_IN) {
1984
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
1985
NDR_PULL_ALLOC(ndr, r->in.handle);
1987
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
1988
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
1989
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
1990
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
1991
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_keyname));
1993
NDR_PULL_ALLOC(ndr, r->in.keyname);
1995
r->in.keyname = NULL;
1997
if (r->in.keyname) {
1998
_mem_save_keyname_0 = NDR_PULL_GET_MEM_CTX(ndr);
1999
NDR_PULL_SET_MEM_CTX(ndr, r->in.keyname, 0);
2000
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.keyname));
2001
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyname_0, 0);
2003
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_filename));
2004
if (_ptr_filename) {
2005
NDR_PULL_ALLOC(ndr, r->in.filename);
2007
r->in.filename = NULL;
2009
if (r->in.filename) {
2010
_mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr);
2011
NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, 0);
2012
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2013
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, 0);
2016
if (flags & NDR_OUT) {
2017
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2019
return NDR_ERR_SUCCESS;
2022
_PUBLIC_ void ndr_print_winreg_LoadKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_LoadKey *r)
2024
ndr_print_struct(ndr, name, "winreg_LoadKey");
2026
if (flags & NDR_SET_VALUES) {
2027
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2029
if (flags & NDR_IN) {
2030
ndr_print_struct(ndr, "in", "winreg_LoadKey");
2032
ndr_print_ptr(ndr, "handle", r->in.handle);
2034
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2036
ndr_print_ptr(ndr, "keyname", r->in.keyname);
2038
if (r->in.keyname) {
2039
ndr_print_winreg_String(ndr, "keyname", r->in.keyname);
2042
ndr_print_ptr(ndr, "filename", r->in.filename);
2044
if (r->in.filename) {
2045
ndr_print_winreg_String(ndr, "filename", r->in.filename);
2050
if (flags & NDR_OUT) {
2051
ndr_print_struct(ndr, "out", "winreg_LoadKey");
2053
ndr_print_WERROR(ndr, "result", r->out.result);
2059
_PUBLIC_ enum ndr_err_code ndr_push_winreg_NotifyChangeKeyValue(struct ndr_push *ndr, int flags, const struct winreg_NotifyChangeKeyValue *r)
2061
if (flags & NDR_IN) {
2062
if (r->in.handle == NULL) {
2063
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2065
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2066
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.watch_subtree));
2067
NDR_CHECK(ndr_push_winreg_NotifyChangeType(ndr, NDR_SCALARS, r->in.notify_filter));
2068
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
2069
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string1));
2070
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string2));
2071
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown2));
2073
if (flags & NDR_OUT) {
2074
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2076
return NDR_ERR_SUCCESS;
2079
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_NotifyChangeKeyValue(struct ndr_pull *ndr, int flags, struct winreg_NotifyChangeKeyValue *r)
2081
TALLOC_CTX *_mem_save_handle_0;
2082
if (flags & NDR_IN) {
2083
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2084
NDR_PULL_ALLOC(ndr, r->in.handle);
2086
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2087
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2088
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2089
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2090
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.watch_subtree));
2091
NDR_CHECK(ndr_pull_winreg_NotifyChangeType(ndr, NDR_SCALARS, &r->in.notify_filter));
2092
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
2093
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string1));
2094
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.string2));
2095
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown2));
2097
if (flags & NDR_OUT) {
2098
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2100
return NDR_ERR_SUCCESS;
2103
_PUBLIC_ void ndr_print_winreg_NotifyChangeKeyValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_NotifyChangeKeyValue *r)
2105
ndr_print_struct(ndr, name, "winreg_NotifyChangeKeyValue");
2107
if (flags & NDR_SET_VALUES) {
2108
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2110
if (flags & NDR_IN) {
2111
ndr_print_struct(ndr, "in", "winreg_NotifyChangeKeyValue");
2113
ndr_print_ptr(ndr, "handle", r->in.handle);
2115
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2117
ndr_print_uint8(ndr, "watch_subtree", r->in.watch_subtree);
2118
ndr_print_winreg_NotifyChangeType(ndr, "notify_filter", r->in.notify_filter);
2119
ndr_print_uint32(ndr, "unknown", r->in.unknown);
2120
ndr_print_winreg_String(ndr, "string1", &r->in.string1);
2121
ndr_print_winreg_String(ndr, "string2", &r->in.string2);
2122
ndr_print_uint32(ndr, "unknown2", r->in.unknown2);
2125
if (flags & NDR_OUT) {
2126
ndr_print_struct(ndr, "out", "winreg_NotifyChangeKeyValue");
2128
ndr_print_WERROR(ndr, "result", r->out.result);
2134
_PUBLIC_ enum ndr_err_code ndr_push_winreg_OpenKey(struct ndr_push *ndr, int flags, const struct winreg_OpenKey *r)
2136
if (flags & NDR_IN) {
2137
if (r->in.parent_handle == NULL) {
2138
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2140
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.parent_handle));
2141
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyname));
2142
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.unknown));
2143
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
2145
if (flags & NDR_OUT) {
2146
if (r->out.handle == NULL) {
2147
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2149
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
2150
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2152
return NDR_ERR_SUCCESS;
2155
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_OpenKey(struct ndr_pull *ndr, int flags, struct winreg_OpenKey *r)
2157
TALLOC_CTX *_mem_save_parent_handle_0;
2158
TALLOC_CTX *_mem_save_handle_0;
2159
if (flags & NDR_IN) {
2160
ZERO_STRUCT(r->out);
2162
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2163
NDR_PULL_ALLOC(ndr, r->in.parent_handle);
2165
_mem_save_parent_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2166
NDR_PULL_SET_MEM_CTX(ndr, r->in.parent_handle, LIBNDR_FLAG_REF_ALLOC);
2167
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.parent_handle));
2168
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parent_handle_0, LIBNDR_FLAG_REF_ALLOC);
2169
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.keyname));
2170
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.unknown));
2171
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
2172
NDR_PULL_ALLOC(ndr, r->out.handle);
2173
ZERO_STRUCTP(r->out.handle);
2175
if (flags & NDR_OUT) {
2176
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2177
NDR_PULL_ALLOC(ndr, r->out.handle);
2179
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2180
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
2181
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
2182
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2183
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2185
return NDR_ERR_SUCCESS;
2188
_PUBLIC_ void ndr_print_winreg_OpenKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenKey *r)
2190
ndr_print_struct(ndr, name, "winreg_OpenKey");
2192
if (flags & NDR_SET_VALUES) {
2193
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2195
if (flags & NDR_IN) {
2196
ndr_print_struct(ndr, "in", "winreg_OpenKey");
2198
ndr_print_ptr(ndr, "parent_handle", r->in.parent_handle);
2200
ndr_print_policy_handle(ndr, "parent_handle", r->in.parent_handle);
2202
ndr_print_winreg_String(ndr, "keyname", &r->in.keyname);
2203
ndr_print_uint32(ndr, "unknown", r->in.unknown);
2204
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
2207
if (flags & NDR_OUT) {
2208
ndr_print_struct(ndr, "out", "winreg_OpenKey");
2210
ndr_print_ptr(ndr, "handle", r->out.handle);
2212
ndr_print_policy_handle(ndr, "handle", r->out.handle);
2214
ndr_print_WERROR(ndr, "result", r->out.result);
2220
_PUBLIC_ enum ndr_err_code ndr_push_winreg_QueryInfoKey(struct ndr_push *ndr, int flags, const struct winreg_QueryInfoKey *r)
2222
if (flags & NDR_IN) {
2223
if (r->in.handle == NULL) {
2224
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2226
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2227
if (r->in.classname == NULL) {
2228
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2230
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.classname));
2232
if (flags & NDR_OUT) {
2233
if (r->out.classname == NULL) {
2234
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2236
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.classname));
2237
if (r->out.num_subkeys == NULL) {
2238
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2240
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_subkeys));
2241
if (r->out.max_subkeylen == NULL) {
2242
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2244
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_subkeylen));
2245
if (r->out.max_classlen == NULL) {
2246
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2248
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_classlen));
2249
if (r->out.num_values == NULL) {
2250
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2252
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.num_values));
2253
if (r->out.max_valnamelen == NULL) {
2254
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2256
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_valnamelen));
2257
if (r->out.max_valbufsize == NULL) {
2258
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2260
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.max_valbufsize));
2261
if (r->out.secdescsize == NULL) {
2262
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2264
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.secdescsize));
2265
if (r->out.last_changed_time == NULL) {
2266
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2268
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, *r->out.last_changed_time));
2269
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2271
return NDR_ERR_SUCCESS;
2274
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_QueryInfoKey(struct ndr_pull *ndr, int flags, struct winreg_QueryInfoKey *r)
2276
TALLOC_CTX *_mem_save_handle_0;
2277
TALLOC_CTX *_mem_save_classname_0;
2278
TALLOC_CTX *_mem_save_num_subkeys_0;
2279
TALLOC_CTX *_mem_save_max_subkeylen_0;
2280
TALLOC_CTX *_mem_save_max_classlen_0;
2281
TALLOC_CTX *_mem_save_num_values_0;
2282
TALLOC_CTX *_mem_save_max_valnamelen_0;
2283
TALLOC_CTX *_mem_save_max_valbufsize_0;
2284
TALLOC_CTX *_mem_save_secdescsize_0;
2285
TALLOC_CTX *_mem_save_last_changed_time_0;
2286
if (flags & NDR_IN) {
2287
ZERO_STRUCT(r->out);
2289
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2290
NDR_PULL_ALLOC(ndr, r->in.handle);
2292
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2293
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2294
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2295
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2296
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2297
NDR_PULL_ALLOC(ndr, r->in.classname);
2299
_mem_save_classname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2300
NDR_PULL_SET_MEM_CTX(ndr, r->in.classname, LIBNDR_FLAG_REF_ALLOC);
2301
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.classname));
2302
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_classname_0, LIBNDR_FLAG_REF_ALLOC);
2303
NDR_PULL_ALLOC(ndr, r->out.classname);
2304
*r->out.classname = *r->in.classname;
2305
NDR_PULL_ALLOC(ndr, r->out.num_subkeys);
2306
ZERO_STRUCTP(r->out.num_subkeys);
2307
NDR_PULL_ALLOC(ndr, r->out.max_subkeylen);
2308
ZERO_STRUCTP(r->out.max_subkeylen);
2309
NDR_PULL_ALLOC(ndr, r->out.max_classlen);
2310
ZERO_STRUCTP(r->out.max_classlen);
2311
NDR_PULL_ALLOC(ndr, r->out.num_values);
2312
ZERO_STRUCTP(r->out.num_values);
2313
NDR_PULL_ALLOC(ndr, r->out.max_valnamelen);
2314
ZERO_STRUCTP(r->out.max_valnamelen);
2315
NDR_PULL_ALLOC(ndr, r->out.max_valbufsize);
2316
ZERO_STRUCTP(r->out.max_valbufsize);
2317
NDR_PULL_ALLOC(ndr, r->out.secdescsize);
2318
ZERO_STRUCTP(r->out.secdescsize);
2319
NDR_PULL_ALLOC(ndr, r->out.last_changed_time);
2320
ZERO_STRUCTP(r->out.last_changed_time);
2322
if (flags & NDR_OUT) {
2323
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2324
NDR_PULL_ALLOC(ndr, r->out.classname);
2326
_mem_save_classname_0 = NDR_PULL_GET_MEM_CTX(ndr);
2327
NDR_PULL_SET_MEM_CTX(ndr, r->out.classname, LIBNDR_FLAG_REF_ALLOC);
2328
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.classname));
2329
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_classname_0, LIBNDR_FLAG_REF_ALLOC);
2330
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2331
NDR_PULL_ALLOC(ndr, r->out.num_subkeys);
2333
_mem_save_num_subkeys_0 = NDR_PULL_GET_MEM_CTX(ndr);
2334
NDR_PULL_SET_MEM_CTX(ndr, r->out.num_subkeys, LIBNDR_FLAG_REF_ALLOC);
2335
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_subkeys));
2336
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_subkeys_0, LIBNDR_FLAG_REF_ALLOC);
2337
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2338
NDR_PULL_ALLOC(ndr, r->out.max_subkeylen);
2340
_mem_save_max_subkeylen_0 = NDR_PULL_GET_MEM_CTX(ndr);
2341
NDR_PULL_SET_MEM_CTX(ndr, r->out.max_subkeylen, LIBNDR_FLAG_REF_ALLOC);
2342
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_subkeylen));
2343
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_subkeylen_0, LIBNDR_FLAG_REF_ALLOC);
2344
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2345
NDR_PULL_ALLOC(ndr, r->out.max_classlen);
2347
_mem_save_max_classlen_0 = NDR_PULL_GET_MEM_CTX(ndr);
2348
NDR_PULL_SET_MEM_CTX(ndr, r->out.max_classlen, LIBNDR_FLAG_REF_ALLOC);
2349
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_classlen));
2350
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_classlen_0, LIBNDR_FLAG_REF_ALLOC);
2351
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2352
NDR_PULL_ALLOC(ndr, r->out.num_values);
2354
_mem_save_num_values_0 = NDR_PULL_GET_MEM_CTX(ndr);
2355
NDR_PULL_SET_MEM_CTX(ndr, r->out.num_values, LIBNDR_FLAG_REF_ALLOC);
2356
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.num_values));
2357
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_num_values_0, LIBNDR_FLAG_REF_ALLOC);
2358
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2359
NDR_PULL_ALLOC(ndr, r->out.max_valnamelen);
2361
_mem_save_max_valnamelen_0 = NDR_PULL_GET_MEM_CTX(ndr);
2362
NDR_PULL_SET_MEM_CTX(ndr, r->out.max_valnamelen, LIBNDR_FLAG_REF_ALLOC);
2363
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_valnamelen));
2364
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_valnamelen_0, LIBNDR_FLAG_REF_ALLOC);
2365
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2366
NDR_PULL_ALLOC(ndr, r->out.max_valbufsize);
2368
_mem_save_max_valbufsize_0 = NDR_PULL_GET_MEM_CTX(ndr);
2369
NDR_PULL_SET_MEM_CTX(ndr, r->out.max_valbufsize, LIBNDR_FLAG_REF_ALLOC);
2370
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.max_valbufsize));
2371
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_max_valbufsize_0, LIBNDR_FLAG_REF_ALLOC);
2372
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2373
NDR_PULL_ALLOC(ndr, r->out.secdescsize);
2375
_mem_save_secdescsize_0 = NDR_PULL_GET_MEM_CTX(ndr);
2376
NDR_PULL_SET_MEM_CTX(ndr, r->out.secdescsize, LIBNDR_FLAG_REF_ALLOC);
2377
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.secdescsize));
2378
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdescsize_0, LIBNDR_FLAG_REF_ALLOC);
2379
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2380
NDR_PULL_ALLOC(ndr, r->out.last_changed_time);
2382
_mem_save_last_changed_time_0 = NDR_PULL_GET_MEM_CTX(ndr);
2383
NDR_PULL_SET_MEM_CTX(ndr, r->out.last_changed_time, LIBNDR_FLAG_REF_ALLOC);
2384
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, r->out.last_changed_time));
2385
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_last_changed_time_0, LIBNDR_FLAG_REF_ALLOC);
2386
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2388
return NDR_ERR_SUCCESS;
2391
_PUBLIC_ void ndr_print_winreg_QueryInfoKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryInfoKey *r)
2393
ndr_print_struct(ndr, name, "winreg_QueryInfoKey");
2395
if (flags & NDR_SET_VALUES) {
2396
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2398
if (flags & NDR_IN) {
2399
ndr_print_struct(ndr, "in", "winreg_QueryInfoKey");
2401
ndr_print_ptr(ndr, "handle", r->in.handle);
2403
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2405
ndr_print_ptr(ndr, "classname", r->in.classname);
2407
ndr_print_winreg_String(ndr, "classname", r->in.classname);
2411
if (flags & NDR_OUT) {
2412
ndr_print_struct(ndr, "out", "winreg_QueryInfoKey");
2414
ndr_print_ptr(ndr, "classname", r->out.classname);
2416
ndr_print_winreg_String(ndr, "classname", r->out.classname);
2418
ndr_print_ptr(ndr, "num_subkeys", r->out.num_subkeys);
2420
ndr_print_uint32(ndr, "num_subkeys", *r->out.num_subkeys);
2422
ndr_print_ptr(ndr, "max_subkeylen", r->out.max_subkeylen);
2424
ndr_print_uint32(ndr, "max_subkeylen", *r->out.max_subkeylen);
2426
ndr_print_ptr(ndr, "max_classlen", r->out.max_classlen);
2428
ndr_print_uint32(ndr, "max_classlen", *r->out.max_classlen);
2430
ndr_print_ptr(ndr, "num_values", r->out.num_values);
2432
ndr_print_uint32(ndr, "num_values", *r->out.num_values);
2434
ndr_print_ptr(ndr, "max_valnamelen", r->out.max_valnamelen);
2436
ndr_print_uint32(ndr, "max_valnamelen", *r->out.max_valnamelen);
2438
ndr_print_ptr(ndr, "max_valbufsize", r->out.max_valbufsize);
2440
ndr_print_uint32(ndr, "max_valbufsize", *r->out.max_valbufsize);
2442
ndr_print_ptr(ndr, "secdescsize", r->out.secdescsize);
2444
ndr_print_uint32(ndr, "secdescsize", *r->out.secdescsize);
2446
ndr_print_ptr(ndr, "last_changed_time", r->out.last_changed_time);
2448
ndr_print_NTTIME(ndr, "last_changed_time", *r->out.last_changed_time);
2450
ndr_print_WERROR(ndr, "result", r->out.result);
2456
_PUBLIC_ enum ndr_err_code ndr_push_winreg_QueryValue(struct ndr_push *ndr, int flags, const struct winreg_QueryValue *r)
2458
if (flags & NDR_IN) {
2459
if (r->in.handle == NULL) {
2460
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2462
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2463
if (r->in.value_name == NULL) {
2464
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2466
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.value_name));
2467
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.type));
2469
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->in.type));
2471
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data));
2473
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.data_size));
2474
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2475
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.data_length));
2476
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, *r->in.data_length));
2478
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_size));
2479
if (r->in.data_size) {
2480
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.data_size));
2482
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.data_length));
2483
if (r->in.data_length) {
2484
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.data_length));
2487
if (flags & NDR_OUT) {
2488
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.type));
2490
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
2492
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.data));
2494
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_size));
2495
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
2496
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_length));
2497
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.data, *r->out.data_length));
2499
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.data_size));
2500
if (r->out.data_size) {
2501
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_size));
2503
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.data_length));
2504
if (r->out.data_length) {
2505
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.data_length));
2507
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2509
return NDR_ERR_SUCCESS;
2512
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_QueryValue(struct ndr_pull *ndr, int flags, struct winreg_QueryValue *r)
2516
uint32_t _ptr_data_size;
2517
uint32_t _ptr_data_length;
2518
TALLOC_CTX *_mem_save_handle_0;
2519
TALLOC_CTX *_mem_save_value_name_0;
2520
TALLOC_CTX *_mem_save_type_0;
2521
TALLOC_CTX *_mem_save_data_0;
2522
TALLOC_CTX *_mem_save_data_size_0;
2523
TALLOC_CTX *_mem_save_data_length_0;
2524
if (flags & NDR_IN) {
2525
ZERO_STRUCT(r->out);
2527
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2528
NDR_PULL_ALLOC(ndr, r->in.handle);
2530
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2531
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2532
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2533
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2534
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2535
NDR_PULL_ALLOC(ndr, r->in.value_name);
2537
_mem_save_value_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
2538
NDR_PULL_SET_MEM_CTX(ndr, r->in.value_name, LIBNDR_FLAG_REF_ALLOC);
2539
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.value_name));
2540
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_name_0, LIBNDR_FLAG_REF_ALLOC);
2541
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type));
2543
NDR_PULL_ALLOC(ndr, r->in.type);
2548
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
2549
NDR_PULL_SET_MEM_CTX(ndr, r->in.type, 0);
2550
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->in.type));
2551
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0);
2553
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
2555
NDR_PULL_ALLOC(ndr, r->in.data);
2560
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2561
NDR_PULL_SET_MEM_CTX(ndr, r->in.data, 0);
2562
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
2563
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.data));
2564
if (ndr_get_array_length(ndr, &r->in.data) > ndr_get_array_size(ndr, &r->in.data)) {
2565
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.data), ndr_get_array_length(ndr, &r->in.data));
2567
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
2568
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_length(ndr, &r->in.data)));
2569
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
2571
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_size));
2572
if (_ptr_data_size) {
2573
NDR_PULL_ALLOC(ndr, r->in.data_size);
2575
r->in.data_size = NULL;
2577
if (r->in.data_size) {
2578
_mem_save_data_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
2579
NDR_PULL_SET_MEM_CTX(ndr, r->in.data_size, 0);
2580
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.data_size));
2581
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_size_0, 0);
2583
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_length));
2584
if (_ptr_data_length) {
2585
NDR_PULL_ALLOC(ndr, r->in.data_length);
2587
r->in.data_length = NULL;
2589
if (r->in.data_length) {
2590
_mem_save_data_length_0 = NDR_PULL_GET_MEM_CTX(ndr);
2591
NDR_PULL_SET_MEM_CTX(ndr, r->in.data_length, 0);
2592
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.data_length));
2593
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_length_0, 0);
2596
if (r->in.data_size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()");
2597
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, *r->in.data_size));
2600
if (r->in.data_length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()");
2601
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.data, *r->in.data_length));
2604
if (flags & NDR_OUT) {
2605
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_type));
2607
NDR_PULL_ALLOC(ndr, r->out.type);
2612
_mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr);
2613
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, 0);
2614
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
2615
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, 0);
2617
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
2619
NDR_PULL_ALLOC(ndr, r->out.data);
2624
_mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
2625
NDR_PULL_SET_MEM_CTX(ndr, r->out.data, 0);
2626
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.data));
2627
NDR_CHECK(ndr_pull_array_length(ndr, &r->out.data));
2628
if (ndr_get_array_length(ndr, &r->out.data) > ndr_get_array_size(ndr, &r->out.data)) {
2629
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.data), ndr_get_array_length(ndr, &r->out.data));
2631
NDR_PULL_ALLOC_N(ndr, r->out.data, ndr_get_array_size(ndr, &r->out.data));
2632
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.data, ndr_get_array_length(ndr, &r->out.data)));
2633
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
2635
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_size));
2636
if (_ptr_data_size) {
2637
NDR_PULL_ALLOC(ndr, r->out.data_size);
2639
r->out.data_size = NULL;
2641
if (r->out.data_size) {
2642
_mem_save_data_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
2643
NDR_PULL_SET_MEM_CTX(ndr, r->out.data_size, 0);
2644
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_size));
2645
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_size_0, 0);
2647
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_length));
2648
if (_ptr_data_length) {
2649
NDR_PULL_ALLOC(ndr, r->out.data_length);
2651
r->out.data_length = NULL;
2653
if (r->out.data_length) {
2654
_mem_save_data_length_0 = NDR_PULL_GET_MEM_CTX(ndr);
2655
NDR_PULL_SET_MEM_CTX(ndr, r->out.data_length, 0);
2656
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.data_length));
2657
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_length_0, 0);
2659
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2661
if (r->out.data_size == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for size_is()");
2662
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.data, *r->out.data_size));
2665
if (r->out.data_length == NULL) return ndr_pull_error(ndr, NDR_ERR_INVALID_POINTER, "NULL Pointer for length_is()");
2666
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.data, *r->out.data_length));
2669
return NDR_ERR_SUCCESS;
2672
_PUBLIC_ void ndr_print_winreg_QueryValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryValue *r)
2674
ndr_print_struct(ndr, name, "winreg_QueryValue");
2676
if (flags & NDR_SET_VALUES) {
2677
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2679
if (flags & NDR_IN) {
2680
ndr_print_struct(ndr, "in", "winreg_QueryValue");
2682
ndr_print_ptr(ndr, "handle", r->in.handle);
2684
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2686
ndr_print_ptr(ndr, "value_name", r->in.value_name);
2688
ndr_print_winreg_String(ndr, "value_name", r->in.value_name);
2690
ndr_print_ptr(ndr, "type", r->in.type);
2693
ndr_print_winreg_Type(ndr, "type", *r->in.type);
2696
ndr_print_ptr(ndr, "data", r->in.data);
2699
if (r->in.data_length == NULL) return;
2700
ndr_print_array_uint8(ndr, "data", r->in.data, *r->in.data_length);
2703
ndr_print_ptr(ndr, "data_size", r->in.data_size);
2705
if (r->in.data_size) {
2706
ndr_print_uint32(ndr, "data_size", *r->in.data_size);
2709
ndr_print_ptr(ndr, "data_length", r->in.data_length);
2711
if (r->in.data_length) {
2712
ndr_print_uint32(ndr, "data_length", *r->in.data_length);
2717
if (flags & NDR_OUT) {
2718
ndr_print_struct(ndr, "out", "winreg_QueryValue");
2720
ndr_print_ptr(ndr, "type", r->out.type);
2723
ndr_print_winreg_Type(ndr, "type", *r->out.type);
2726
ndr_print_ptr(ndr, "data", r->out.data);
2729
if (r->out.data_length == NULL) return;
2730
ndr_print_array_uint8(ndr, "data", r->out.data, *r->out.data_length);
2733
ndr_print_ptr(ndr, "data_size", r->out.data_size);
2735
if (r->out.data_size) {
2736
ndr_print_uint32(ndr, "data_size", *r->out.data_size);
2739
ndr_print_ptr(ndr, "data_length", r->out.data_length);
2741
if (r->out.data_length) {
2742
ndr_print_uint32(ndr, "data_length", *r->out.data_length);
2745
ndr_print_WERROR(ndr, "result", r->out.result);
2751
static enum ndr_err_code ndr_push_winreg_ReplaceKey(struct ndr_push *ndr, int flags, const struct winreg_ReplaceKey *r)
2753
if (flags & NDR_IN) {
2755
if (flags & NDR_OUT) {
2756
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2758
return NDR_ERR_SUCCESS;
2761
static enum ndr_err_code ndr_pull_winreg_ReplaceKey(struct ndr_pull *ndr, int flags, struct winreg_ReplaceKey *r)
2763
if (flags & NDR_IN) {
2765
if (flags & NDR_OUT) {
2766
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2768
return NDR_ERR_SUCCESS;
2771
_PUBLIC_ void ndr_print_winreg_ReplaceKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_ReplaceKey *r)
2773
ndr_print_struct(ndr, name, "winreg_ReplaceKey");
2775
if (flags & NDR_SET_VALUES) {
2776
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2778
if (flags & NDR_IN) {
2779
ndr_print_struct(ndr, "in", "winreg_ReplaceKey");
2783
if (flags & NDR_OUT) {
2784
ndr_print_struct(ndr, "out", "winreg_ReplaceKey");
2786
ndr_print_WERROR(ndr, "result", r->out.result);
2792
static enum ndr_err_code ndr_push_winreg_RestoreKey(struct ndr_push *ndr, int flags, const struct winreg_RestoreKey *r)
2794
if (flags & NDR_IN) {
2795
if (r->in.handle == NULL) {
2796
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2798
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2799
if (r->in.filename == NULL) {
2800
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2802
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2803
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags));
2805
if (flags & NDR_OUT) {
2806
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2808
return NDR_ERR_SUCCESS;
2811
static enum ndr_err_code ndr_pull_winreg_RestoreKey(struct ndr_pull *ndr, int flags, struct winreg_RestoreKey *r)
2813
TALLOC_CTX *_mem_save_handle_0;
2814
TALLOC_CTX *_mem_save_filename_0;
2815
if (flags & NDR_IN) {
2816
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2817
NDR_PULL_ALLOC(ndr, r->in.handle);
2819
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2820
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2821
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2822
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2823
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2824
NDR_PULL_ALLOC(ndr, r->in.filename);
2826
_mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr);
2827
NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, LIBNDR_FLAG_REF_ALLOC);
2828
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2829
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, LIBNDR_FLAG_REF_ALLOC);
2830
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags));
2832
if (flags & NDR_OUT) {
2833
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2835
return NDR_ERR_SUCCESS;
2838
_PUBLIC_ void ndr_print_winreg_RestoreKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_RestoreKey *r)
2840
ndr_print_struct(ndr, name, "winreg_RestoreKey");
2842
if (flags & NDR_SET_VALUES) {
2843
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2845
if (flags & NDR_IN) {
2846
ndr_print_struct(ndr, "in", "winreg_RestoreKey");
2848
ndr_print_ptr(ndr, "handle", r->in.handle);
2850
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2852
ndr_print_ptr(ndr, "filename", r->in.filename);
2854
ndr_print_winreg_String(ndr, "filename", r->in.filename);
2856
ndr_print_uint32(ndr, "flags", r->in.flags);
2859
if (flags & NDR_OUT) {
2860
ndr_print_struct(ndr, "out", "winreg_RestoreKey");
2862
ndr_print_WERROR(ndr, "result", r->out.result);
2868
static enum ndr_err_code ndr_push_winreg_SaveKey(struct ndr_push *ndr, int flags, const struct winreg_SaveKey *r)
2870
if (flags & NDR_IN) {
2871
if (r->in.handle == NULL) {
2872
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2874
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2875
if (r->in.filename == NULL) {
2876
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2878
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2879
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.sec_attrib));
2880
if (r->in.sec_attrib) {
2881
NDR_CHECK(ndr_push_KeySecurityAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sec_attrib));
2884
if (flags & NDR_OUT) {
2885
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2887
return NDR_ERR_SUCCESS;
2890
static enum ndr_err_code ndr_pull_winreg_SaveKey(struct ndr_pull *ndr, int flags, struct winreg_SaveKey *r)
2892
uint32_t _ptr_sec_attrib;
2893
TALLOC_CTX *_mem_save_handle_0;
2894
TALLOC_CTX *_mem_save_filename_0;
2895
TALLOC_CTX *_mem_save_sec_attrib_0;
2896
if (flags & NDR_IN) {
2897
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2898
NDR_PULL_ALLOC(ndr, r->in.handle);
2900
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2901
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2902
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2903
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2904
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2905
NDR_PULL_ALLOC(ndr, r->in.filename);
2907
_mem_save_filename_0 = NDR_PULL_GET_MEM_CTX(ndr);
2908
NDR_PULL_SET_MEM_CTX(ndr, r->in.filename, LIBNDR_FLAG_REF_ALLOC);
2909
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.filename));
2910
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_filename_0, LIBNDR_FLAG_REF_ALLOC);
2911
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sec_attrib));
2912
if (_ptr_sec_attrib) {
2913
NDR_PULL_ALLOC(ndr, r->in.sec_attrib);
2915
r->in.sec_attrib = NULL;
2917
if (r->in.sec_attrib) {
2918
_mem_save_sec_attrib_0 = NDR_PULL_GET_MEM_CTX(ndr);
2919
NDR_PULL_SET_MEM_CTX(ndr, r->in.sec_attrib, 0);
2920
NDR_CHECK(ndr_pull_KeySecurityAttribute(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sec_attrib));
2921
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sec_attrib_0, 0);
2924
if (flags & NDR_OUT) {
2925
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
2927
return NDR_ERR_SUCCESS;
2930
_PUBLIC_ void ndr_print_winreg_SaveKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SaveKey *r)
2932
ndr_print_struct(ndr, name, "winreg_SaveKey");
2934
if (flags & NDR_SET_VALUES) {
2935
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
2937
if (flags & NDR_IN) {
2938
ndr_print_struct(ndr, "in", "winreg_SaveKey");
2940
ndr_print_ptr(ndr, "handle", r->in.handle);
2942
ndr_print_policy_handle(ndr, "handle", r->in.handle);
2944
ndr_print_ptr(ndr, "filename", r->in.filename);
2946
ndr_print_winreg_String(ndr, "filename", r->in.filename);
2948
ndr_print_ptr(ndr, "sec_attrib", r->in.sec_attrib);
2950
if (r->in.sec_attrib) {
2951
ndr_print_KeySecurityAttribute(ndr, "sec_attrib", r->in.sec_attrib);
2956
if (flags & NDR_OUT) {
2957
ndr_print_struct(ndr, "out", "winreg_SaveKey");
2959
ndr_print_WERROR(ndr, "result", r->out.result);
2965
static enum ndr_err_code ndr_push_winreg_SetKeySecurity(struct ndr_push *ndr, int flags, const struct winreg_SetKeySecurity *r)
2967
if (flags & NDR_IN) {
2968
if (r->in.handle == NULL) {
2969
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2971
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2972
NDR_CHECK(ndr_push_security_secinfo(ndr, NDR_SCALARS, r->in.sec_info));
2973
if (r->in.sd == NULL) {
2974
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
2976
NDR_CHECK(ndr_push_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd));
2978
if (flags & NDR_OUT) {
2979
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
2981
return NDR_ERR_SUCCESS;
2984
static enum ndr_err_code ndr_pull_winreg_SetKeySecurity(struct ndr_pull *ndr, int flags, struct winreg_SetKeySecurity *r)
2986
TALLOC_CTX *_mem_save_handle_0;
2987
TALLOC_CTX *_mem_save_sd_0;
2988
if (flags & NDR_IN) {
2989
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2990
NDR_PULL_ALLOC(ndr, r->in.handle);
2992
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
2993
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
2994
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
2995
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
2996
NDR_CHECK(ndr_pull_security_secinfo(ndr, NDR_SCALARS, &r->in.sec_info));
2997
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
2998
NDR_PULL_ALLOC(ndr, r->in.sd);
3000
_mem_save_sd_0 = NDR_PULL_GET_MEM_CTX(ndr);
3001
NDR_PULL_SET_MEM_CTX(ndr, r->in.sd, LIBNDR_FLAG_REF_ALLOC);
3002
NDR_CHECK(ndr_pull_KeySecurityData(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.sd));
3003
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sd_0, LIBNDR_FLAG_REF_ALLOC);
3005
if (flags & NDR_OUT) {
3006
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3008
return NDR_ERR_SUCCESS;
3011
_PUBLIC_ void ndr_print_winreg_SetKeySecurity(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SetKeySecurity *r)
3013
ndr_print_struct(ndr, name, "winreg_SetKeySecurity");
3015
if (flags & NDR_SET_VALUES) {
3016
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3018
if (flags & NDR_IN) {
3019
ndr_print_struct(ndr, "in", "winreg_SetKeySecurity");
3021
ndr_print_ptr(ndr, "handle", r->in.handle);
3023
ndr_print_policy_handle(ndr, "handle", r->in.handle);
3025
ndr_print_security_secinfo(ndr, "sec_info", r->in.sec_info);
3026
ndr_print_ptr(ndr, "sd", r->in.sd);
3028
ndr_print_KeySecurityData(ndr, "sd", r->in.sd);
3032
if (flags & NDR_OUT) {
3033
ndr_print_struct(ndr, "out", "winreg_SetKeySecurity");
3035
ndr_print_WERROR(ndr, "result", r->out.result);
3041
static enum ndr_err_code ndr_push_winreg_SetValue(struct ndr_push *ndr, int flags, const struct winreg_SetValue *r)
3043
if (flags & NDR_IN) {
3044
if (r->in.handle == NULL) {
3045
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3047
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3048
NDR_CHECK(ndr_push_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
3049
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
3050
if (r->in.data == NULL) {
3051
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3053
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.size));
3054
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.size));
3055
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.size));
3057
if (flags & NDR_OUT) {
3058
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3060
return NDR_ERR_SUCCESS;
3063
static enum ndr_err_code ndr_pull_winreg_SetValue(struct ndr_pull *ndr, int flags, struct winreg_SetValue *r)
3065
TALLOC_CTX *_mem_save_handle_0;
3066
if (flags & NDR_IN) {
3067
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3068
NDR_PULL_ALLOC(ndr, r->in.handle);
3070
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3071
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
3072
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3073
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3074
NDR_CHECK(ndr_pull_winreg_String(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.name));
3075
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
3076
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
3077
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3078
NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
3080
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
3081
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.size));
3083
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.size));
3086
if (flags & NDR_OUT) {
3087
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3089
return NDR_ERR_SUCCESS;
3092
_PUBLIC_ void ndr_print_winreg_SetValue(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SetValue *r)
3094
ndr_print_struct(ndr, name, "winreg_SetValue");
3096
if (flags & NDR_SET_VALUES) {
3097
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3099
if (flags & NDR_IN) {
3100
ndr_print_struct(ndr, "in", "winreg_SetValue");
3102
ndr_print_ptr(ndr, "handle", r->in.handle);
3104
ndr_print_policy_handle(ndr, "handle", r->in.handle);
3106
ndr_print_winreg_String(ndr, "name", &r->in.name);
3107
ndr_print_winreg_Type(ndr, "type", r->in.type);
3108
ndr_print_ptr(ndr, "data", r->in.data);
3110
ndr_print_array_uint8(ndr, "data", r->in.data, r->in.size);
3112
ndr_print_uint32(ndr, "size", r->in.size);
3115
if (flags & NDR_OUT) {
3116
ndr_print_struct(ndr, "out", "winreg_SetValue");
3118
ndr_print_WERROR(ndr, "result", r->out.result);
3124
static enum ndr_err_code ndr_push_winreg_UnLoadKey(struct ndr_push *ndr, int flags, const struct winreg_UnLoadKey *r)
3126
if (flags & NDR_IN) {
3128
if (flags & NDR_OUT) {
3129
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3131
return NDR_ERR_SUCCESS;
3134
static enum ndr_err_code ndr_pull_winreg_UnLoadKey(struct ndr_pull *ndr, int flags, struct winreg_UnLoadKey *r)
3136
if (flags & NDR_IN) {
3138
if (flags & NDR_OUT) {
3139
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3141
return NDR_ERR_SUCCESS;
3144
_PUBLIC_ void ndr_print_winreg_UnLoadKey(struct ndr_print *ndr, const char *name, int flags, const struct winreg_UnLoadKey *r)
3146
ndr_print_struct(ndr, name, "winreg_UnLoadKey");
3148
if (flags & NDR_SET_VALUES) {
3149
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3151
if (flags & NDR_IN) {
3152
ndr_print_struct(ndr, "in", "winreg_UnLoadKey");
3156
if (flags & NDR_OUT) {
3157
ndr_print_struct(ndr, "out", "winreg_UnLoadKey");
3159
ndr_print_WERROR(ndr, "result", r->out.result);
3165
static enum ndr_err_code ndr_push_winreg_InitiateSystemShutdown(struct ndr_push *ndr, int flags, const struct winreg_InitiateSystemShutdown *r)
3167
if (flags & NDR_IN) {
3168
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hostname));
3169
if (r->in.hostname) {
3170
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.hostname));
3172
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message));
3173
if (r->in.message) {
3174
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message));
3176
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.timeout));
3177
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.force_apps));
3178
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.do_reboot));
3180
if (flags & NDR_OUT) {
3181
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3183
return NDR_ERR_SUCCESS;
3186
static enum ndr_err_code ndr_pull_winreg_InitiateSystemShutdown(struct ndr_pull *ndr, int flags, struct winreg_InitiateSystemShutdown *r)
3188
uint32_t _ptr_hostname;
3189
uint32_t _ptr_message;
3190
TALLOC_CTX *_mem_save_hostname_0;
3191
TALLOC_CTX *_mem_save_message_0;
3192
if (flags & NDR_IN) {
3193
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hostname));
3194
if (_ptr_hostname) {
3195
NDR_PULL_ALLOC(ndr, r->in.hostname);
3197
r->in.hostname = NULL;
3199
if (r->in.hostname) {
3200
_mem_save_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
3201
NDR_PULL_SET_MEM_CTX(ndr, r->in.hostname, 0);
3202
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.hostname));
3203
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hostname_0, 0);
3205
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message));
3207
NDR_PULL_ALLOC(ndr, r->in.message);
3209
r->in.message = NULL;
3211
if (r->in.message) {
3212
_mem_save_message_0 = NDR_PULL_GET_MEM_CTX(ndr);
3213
NDR_PULL_SET_MEM_CTX(ndr, r->in.message, 0);
3214
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message));
3215
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_0, 0);
3217
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.timeout));
3218
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.force_apps));
3219
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.do_reboot));
3221
if (flags & NDR_OUT) {
3222
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3224
return NDR_ERR_SUCCESS;
3227
_PUBLIC_ void ndr_print_winreg_InitiateSystemShutdown(struct ndr_print *ndr, const char *name, int flags, const struct winreg_InitiateSystemShutdown *r)
3229
ndr_print_struct(ndr, name, "winreg_InitiateSystemShutdown");
3231
if (flags & NDR_SET_VALUES) {
3232
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3234
if (flags & NDR_IN) {
3235
ndr_print_struct(ndr, "in", "winreg_InitiateSystemShutdown");
3237
ndr_print_ptr(ndr, "hostname", r->in.hostname);
3239
if (r->in.hostname) {
3240
ndr_print_uint16(ndr, "hostname", *r->in.hostname);
3243
ndr_print_ptr(ndr, "message", r->in.message);
3245
if (r->in.message) {
3246
ndr_print_lsa_StringLarge(ndr, "message", r->in.message);
3249
ndr_print_uint32(ndr, "timeout", r->in.timeout);
3250
ndr_print_uint8(ndr, "force_apps", r->in.force_apps);
3251
ndr_print_uint8(ndr, "do_reboot", r->in.do_reboot);
3254
if (flags & NDR_OUT) {
3255
ndr_print_struct(ndr, "out", "winreg_InitiateSystemShutdown");
3257
ndr_print_WERROR(ndr, "result", r->out.result);
3263
static enum ndr_err_code ndr_push_winreg_AbortSystemShutdown(struct ndr_push *ndr, int flags, const struct winreg_AbortSystemShutdown *r)
3265
if (flags & NDR_IN) {
3266
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.server));
3268
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.server));
3271
if (flags & NDR_OUT) {
3272
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3274
return NDR_ERR_SUCCESS;
3277
static enum ndr_err_code ndr_pull_winreg_AbortSystemShutdown(struct ndr_pull *ndr, int flags, struct winreg_AbortSystemShutdown *r)
3279
uint32_t _ptr_server;
3280
TALLOC_CTX *_mem_save_server_0;
3281
if (flags & NDR_IN) {
3282
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server));
3284
NDR_PULL_ALLOC(ndr, r->in.server);
3286
r->in.server = NULL;
3289
_mem_save_server_0 = NDR_PULL_GET_MEM_CTX(ndr);
3290
NDR_PULL_SET_MEM_CTX(ndr, r->in.server, 0);
3291
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.server));
3292
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_0, 0);
3295
if (flags & NDR_OUT) {
3296
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3298
return NDR_ERR_SUCCESS;
3301
_PUBLIC_ void ndr_print_winreg_AbortSystemShutdown(struct ndr_print *ndr, const char *name, int flags, const struct winreg_AbortSystemShutdown *r)
3303
ndr_print_struct(ndr, name, "winreg_AbortSystemShutdown");
3305
if (flags & NDR_SET_VALUES) {
3306
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3308
if (flags & NDR_IN) {
3309
ndr_print_struct(ndr, "in", "winreg_AbortSystemShutdown");
3311
ndr_print_ptr(ndr, "server", r->in.server);
3314
ndr_print_uint16(ndr, "server", *r->in.server);
3319
if (flags & NDR_OUT) {
3320
ndr_print_struct(ndr, "out", "winreg_AbortSystemShutdown");
3322
ndr_print_WERROR(ndr, "result", r->out.result);
3328
_PUBLIC_ enum ndr_err_code ndr_push_winreg_GetVersion(struct ndr_push *ndr, int flags, const struct winreg_GetVersion *r)
3330
if (flags & NDR_IN) {
3331
if (r->in.handle == NULL) {
3332
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3334
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3336
if (flags & NDR_OUT) {
3337
if (r->out.version == NULL) {
3338
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3340
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.version));
3341
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3343
return NDR_ERR_SUCCESS;
3346
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_GetVersion(struct ndr_pull *ndr, int flags, struct winreg_GetVersion *r)
3348
TALLOC_CTX *_mem_save_handle_0;
3349
TALLOC_CTX *_mem_save_version_0;
3350
if (flags & NDR_IN) {
3351
ZERO_STRUCT(r->out);
3353
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3354
NDR_PULL_ALLOC(ndr, r->in.handle);
3356
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3357
NDR_PULL_SET_MEM_CTX(ndr, r->in.handle, LIBNDR_FLAG_REF_ALLOC);
3358
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.handle));
3359
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3360
NDR_PULL_ALLOC(ndr, r->out.version);
3361
ZERO_STRUCTP(r->out.version);
3363
if (flags & NDR_OUT) {
3364
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3365
NDR_PULL_ALLOC(ndr, r->out.version);
3367
_mem_save_version_0 = NDR_PULL_GET_MEM_CTX(ndr);
3368
NDR_PULL_SET_MEM_CTX(ndr, r->out.version, LIBNDR_FLAG_REF_ALLOC);
3369
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.version));
3370
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_version_0, LIBNDR_FLAG_REF_ALLOC);
3371
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3373
return NDR_ERR_SUCCESS;
3376
_PUBLIC_ void ndr_print_winreg_GetVersion(struct ndr_print *ndr, const char *name, int flags, const struct winreg_GetVersion *r)
3378
ndr_print_struct(ndr, name, "winreg_GetVersion");
3380
if (flags & NDR_SET_VALUES) {
3381
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3383
if (flags & NDR_IN) {
3384
ndr_print_struct(ndr, "in", "winreg_GetVersion");
3386
ndr_print_ptr(ndr, "handle", r->in.handle);
3388
ndr_print_policy_handle(ndr, "handle", r->in.handle);
3392
if (flags & NDR_OUT) {
3393
ndr_print_struct(ndr, "out", "winreg_GetVersion");
3395
ndr_print_ptr(ndr, "version", r->out.version);
3397
ndr_print_uint32(ndr, "version", *r->out.version);
3399
ndr_print_WERROR(ndr, "result", r->out.result);
3405
static enum ndr_err_code ndr_push_winreg_OpenHKCC(struct ndr_push *ndr, int flags, const struct winreg_OpenHKCC *r)
3407
if (flags & NDR_IN) {
3408
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
3409
if (r->in.system_name) {
3410
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
3412
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
3414
if (flags & NDR_OUT) {
3415
if (r->out.handle == NULL) {
3416
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3418
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
3419
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3421
return NDR_ERR_SUCCESS;
3424
static enum ndr_err_code ndr_pull_winreg_OpenHKCC(struct ndr_pull *ndr, int flags, struct winreg_OpenHKCC *r)
3426
uint32_t _ptr_system_name;
3427
TALLOC_CTX *_mem_save_system_name_0;
3428
TALLOC_CTX *_mem_save_handle_0;
3429
if (flags & NDR_IN) {
3430
ZERO_STRUCT(r->out);
3432
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
3433
if (_ptr_system_name) {
3434
NDR_PULL_ALLOC(ndr, r->in.system_name);
3436
r->in.system_name = NULL;
3438
if (r->in.system_name) {
3439
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3440
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
3441
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
3442
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
3444
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
3445
NDR_PULL_ALLOC(ndr, r->out.handle);
3446
ZERO_STRUCTP(r->out.handle);
3448
if (flags & NDR_OUT) {
3449
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3450
NDR_PULL_ALLOC(ndr, r->out.handle);
3452
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3453
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
3454
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
3455
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3456
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3458
return NDR_ERR_SUCCESS;
3461
_PUBLIC_ void ndr_print_winreg_OpenHKCC(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKCC *r)
3463
ndr_print_struct(ndr, name, "winreg_OpenHKCC");
3465
if (flags & NDR_SET_VALUES) {
3466
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3468
if (flags & NDR_IN) {
3469
ndr_print_struct(ndr, "in", "winreg_OpenHKCC");
3471
ndr_print_ptr(ndr, "system_name", r->in.system_name);
3473
if (r->in.system_name) {
3474
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
3477
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
3480
if (flags & NDR_OUT) {
3481
ndr_print_struct(ndr, "out", "winreg_OpenHKCC");
3483
ndr_print_ptr(ndr, "handle", r->out.handle);
3485
ndr_print_policy_handle(ndr, "handle", r->out.handle);
3487
ndr_print_WERROR(ndr, "result", r->out.result);
3493
static enum ndr_err_code ndr_push_winreg_OpenHKDD(struct ndr_push *ndr, int flags, const struct winreg_OpenHKDD *r)
3495
if (flags & NDR_IN) {
3496
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
3497
if (r->in.system_name) {
3498
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
3500
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
3502
if (flags & NDR_OUT) {
3503
if (r->out.handle == NULL) {
3504
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3506
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
3507
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3509
return NDR_ERR_SUCCESS;
3512
static enum ndr_err_code ndr_pull_winreg_OpenHKDD(struct ndr_pull *ndr, int flags, struct winreg_OpenHKDD *r)
3514
uint32_t _ptr_system_name;
3515
TALLOC_CTX *_mem_save_system_name_0;
3516
TALLOC_CTX *_mem_save_handle_0;
3517
if (flags & NDR_IN) {
3518
ZERO_STRUCT(r->out);
3520
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
3521
if (_ptr_system_name) {
3522
NDR_PULL_ALLOC(ndr, r->in.system_name);
3524
r->in.system_name = NULL;
3526
if (r->in.system_name) {
3527
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
3528
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
3529
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
3530
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
3532
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
3533
NDR_PULL_ALLOC(ndr, r->out.handle);
3534
ZERO_STRUCTP(r->out.handle);
3536
if (flags & NDR_OUT) {
3537
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3538
NDR_PULL_ALLOC(ndr, r->out.handle);
3540
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3541
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
3542
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
3543
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
3544
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3546
return NDR_ERR_SUCCESS;
3549
_PUBLIC_ void ndr_print_winreg_OpenHKDD(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKDD *r)
3551
ndr_print_struct(ndr, name, "winreg_OpenHKDD");
3553
if (flags & NDR_SET_VALUES) {
3554
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3556
if (flags & NDR_IN) {
3557
ndr_print_struct(ndr, "in", "winreg_OpenHKDD");
3559
ndr_print_ptr(ndr, "system_name", r->in.system_name);
3561
if (r->in.system_name) {
3562
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
3565
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
3568
if (flags & NDR_OUT) {
3569
ndr_print_struct(ndr, "out", "winreg_OpenHKDD");
3571
ndr_print_ptr(ndr, "handle", r->out.handle);
3573
ndr_print_policy_handle(ndr, "handle", r->out.handle);
3575
ndr_print_WERROR(ndr, "result", r->out.result);
3581
_PUBLIC_ enum ndr_err_code ndr_push_winreg_QueryMultipleValues(struct ndr_push *ndr, int flags, const struct winreg_QueryMultipleValues *r)
3583
uint32_t cntr_values_1;
3584
if (flags & NDR_IN) {
3585
if (r->in.key_handle == NULL) {
3586
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3588
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.key_handle));
3589
if (r->in.values == NULL) {
3590
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3592
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_values));
3593
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3594
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_values));
3595
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3596
NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_SCALARS, &r->in.values[cntr_values_1]));
3598
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3599
NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_BUFFERS, &r->in.values[cntr_values_1]));
3601
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_values));
3602
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.buffer));
3604
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.buffer_size));
3605
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3606
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.buffer_size));
3607
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, *r->in.buffer_size));
3609
if (r->in.buffer_size == NULL) {
3610
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3612
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->in.buffer_size));
3614
if (flags & NDR_OUT) {
3615
if (r->out.values == NULL) {
3616
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3618
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_values));
3619
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3620
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.num_values));
3621
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3622
NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_SCALARS, &r->out.values[cntr_values_1]));
3624
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3625
NDR_CHECK(ndr_push_QueryMultipleValue(ndr, NDR_BUFFERS, &r->out.values[cntr_values_1]));
3627
NDR_CHECK(ndr_push_unique_ptr(ndr, r->out.buffer));
3628
if (r->out.buffer) {
3629
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.buffer_size));
3630
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
3631
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.buffer_size));
3632
NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->out.buffer, *r->out.buffer_size));
3634
if (r->out.buffer_size == NULL) {
3635
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
3637
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.buffer_size));
3638
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3640
return NDR_ERR_SUCCESS;
3643
_PUBLIC_ enum ndr_err_code ndr_pull_winreg_QueryMultipleValues(struct ndr_pull *ndr, int flags, struct winreg_QueryMultipleValues *r)
3645
uint32_t cntr_values_1;
3646
uint32_t _ptr_buffer;
3647
TALLOC_CTX *_mem_save_key_handle_0;
3648
TALLOC_CTX *_mem_save_values_1;
3649
TALLOC_CTX *_mem_save_buffer_0;
3650
TALLOC_CTX *_mem_save_buffer_size_0;
3651
if (flags & NDR_IN) {
3652
ZERO_STRUCT(r->out);
3654
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3655
NDR_PULL_ALLOC(ndr, r->in.key_handle);
3657
_mem_save_key_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
3658
NDR_PULL_SET_MEM_CTX(ndr, r->in.key_handle, LIBNDR_FLAG_REF_ALLOC);
3659
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.key_handle));
3660
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_handle_0, LIBNDR_FLAG_REF_ALLOC);
3661
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.values));
3662
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.values));
3663
if (ndr_get_array_length(ndr, &r->in.values) > ndr_get_array_size(ndr, &r->in.values)) {
3664
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.values), ndr_get_array_length(ndr, &r->in.values));
3666
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3667
NDR_PULL_ALLOC_N(ndr, r->in.values, ndr_get_array_size(ndr, &r->in.values));
3669
memcpy(r->out.values, r->in.values, (ndr_get_array_size(ndr, &r->in.values)) * sizeof(*r->in.values));
3670
_mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
3671
NDR_PULL_SET_MEM_CTX(ndr, r->in.values, 0);
3672
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3673
NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->in.values[cntr_values_1]));
3675
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3676
NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->in.values[cntr_values_1]));
3678
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
3679
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.num_values));
3680
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
3682
NDR_PULL_ALLOC(ndr, r->in.buffer);
3684
r->in.buffer = NULL;
3687
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
3688
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer, 0);
3689
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
3690
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.buffer));
3691
if (ndr_get_array_length(ndr, &r->in.buffer) > ndr_get_array_size(ndr, &r->in.buffer)) {
3692
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.buffer), ndr_get_array_length(ndr, &r->in.buffer));
3694
NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
3695
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_length(ndr, &r->in.buffer)));
3696
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
3698
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3699
NDR_PULL_ALLOC(ndr, r->in.buffer_size);
3701
_mem_save_buffer_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
3702
NDR_PULL_SET_MEM_CTX(ndr, r->in.buffer_size, LIBNDR_FLAG_REF_ALLOC);
3703
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->in.buffer_size));
3704
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_size_0, LIBNDR_FLAG_REF_ALLOC);
3705
NDR_PULL_ALLOC_N(ndr, r->out.values, r->in.num_values);
3706
memcpy(r->out.values, r->in.values, (r->in.num_values) * sizeof(*r->in.values));
3707
NDR_PULL_ALLOC(ndr, r->out.buffer_size);
3708
*r->out.buffer_size = *r->in.buffer_size;
3710
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.values, r->in.num_values));
3713
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.values, r->in.num_values));
3716
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, *r->in.buffer_size));
3719
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->in.buffer, *r->in.buffer_size));
3722
if (flags & NDR_OUT) {
3723
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.values));
3724
NDR_CHECK(ndr_pull_array_length(ndr, &r->out.values));
3725
if (ndr_get_array_length(ndr, &r->out.values) > ndr_get_array_size(ndr, &r->out.values)) {
3726
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.values), ndr_get_array_length(ndr, &r->out.values));
3728
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3729
NDR_PULL_ALLOC_N(ndr, r->out.values, ndr_get_array_size(ndr, &r->out.values));
3731
memcpy(r->out.values, r->in.values, (ndr_get_array_size(ndr, &r->out.values)) * sizeof(*r->in.values));
3732
_mem_save_values_1 = NDR_PULL_GET_MEM_CTX(ndr);
3733
NDR_PULL_SET_MEM_CTX(ndr, r->out.values, 0);
3734
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3735
NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_SCALARS, &r->out.values[cntr_values_1]));
3737
for (cntr_values_1 = 0; cntr_values_1 < r->in.num_values; cntr_values_1++) {
3738
NDR_CHECK(ndr_pull_QueryMultipleValue(ndr, NDR_BUFFERS, &r->out.values[cntr_values_1]));
3740
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_values_1, 0);
3741
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_buffer));
3743
NDR_PULL_ALLOC(ndr, r->out.buffer);
3745
r->out.buffer = NULL;
3747
if (r->out.buffer) {
3748
_mem_save_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
3749
NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer, 0);
3750
NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer));
3751
NDR_CHECK(ndr_pull_array_length(ndr, &r->out.buffer));
3752
if (ndr_get_array_length(ndr, &r->out.buffer) > ndr_get_array_size(ndr, &r->out.buffer)) {
3753
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->out.buffer), ndr_get_array_length(ndr, &r->out.buffer));
3755
NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer));
3756
NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_length(ndr, &r->out.buffer)));
3757
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_0, 0);
3759
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
3760
NDR_PULL_ALLOC(ndr, r->out.buffer_size);
3762
_mem_save_buffer_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
3763
NDR_PULL_SET_MEM_CTX(ndr, r->out.buffer_size, LIBNDR_FLAG_REF_ALLOC);
3764
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.buffer_size));
3765
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_buffer_size_0, LIBNDR_FLAG_REF_ALLOC);
3766
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3767
if (r->out.values) {
3768
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.values, r->in.num_values));
3770
if (r->out.values) {
3771
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.values, r->in.num_values));
3773
if (r->out.buffer) {
3774
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, *r->out.buffer_size));
3776
if (r->out.buffer) {
3777
NDR_CHECK(ndr_check_array_length(ndr, (void*)&r->out.buffer, *r->out.buffer_size));
3780
return NDR_ERR_SUCCESS;
3783
_PUBLIC_ void ndr_print_winreg_QueryMultipleValues(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryMultipleValues *r)
3785
uint32_t cntr_values_1;
3786
ndr_print_struct(ndr, name, "winreg_QueryMultipleValues");
3788
if (flags & NDR_SET_VALUES) {
3789
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3791
if (flags & NDR_IN) {
3792
ndr_print_struct(ndr, "in", "winreg_QueryMultipleValues");
3794
ndr_print_ptr(ndr, "key_handle", r->in.key_handle);
3796
ndr_print_policy_handle(ndr, "key_handle", r->in.key_handle);
3798
ndr_print_ptr(ndr, "values", r->in.values);
3800
ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->in.num_values);
3802
for (cntr_values_1=0;cntr_values_1<r->in.num_values;cntr_values_1++) {
3804
if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
3805
ndr_print_QueryMultipleValue(ndr, "values", &r->in.values[cntr_values_1]);
3811
ndr_print_uint32(ndr, "num_values", r->in.num_values);
3812
ndr_print_ptr(ndr, "buffer", r->in.buffer);
3815
ndr_print_array_uint8(ndr, "buffer", r->in.buffer, *r->in.buffer_size);
3818
ndr_print_ptr(ndr, "buffer_size", r->in.buffer_size);
3820
ndr_print_uint32(ndr, "buffer_size", *r->in.buffer_size);
3824
if (flags & NDR_OUT) {
3825
ndr_print_struct(ndr, "out", "winreg_QueryMultipleValues");
3827
ndr_print_ptr(ndr, "values", r->out.values);
3829
ndr->print(ndr, "%s: ARRAY(%d)", "values", (int)r->in.num_values);
3831
for (cntr_values_1=0;cntr_values_1<r->in.num_values;cntr_values_1++) {
3833
if (asprintf(&idx_1, "[%d]", cntr_values_1) != -1) {
3834
ndr_print_QueryMultipleValue(ndr, "values", &r->out.values[cntr_values_1]);
3840
ndr_print_ptr(ndr, "buffer", r->out.buffer);
3842
if (r->out.buffer) {
3843
ndr_print_array_uint8(ndr, "buffer", r->out.buffer, *r->out.buffer_size);
3846
ndr_print_ptr(ndr, "buffer_size", r->out.buffer_size);
3848
ndr_print_uint32(ndr, "buffer_size", *r->out.buffer_size);
3850
ndr_print_WERROR(ndr, "result", r->out.result);
3856
static enum ndr_err_code ndr_push_winreg_InitiateSystemShutdownEx(struct ndr_push *ndr, int flags, const struct winreg_InitiateSystemShutdownEx *r)
3858
if (flags & NDR_IN) {
3859
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.hostname));
3860
if (r->in.hostname) {
3861
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.hostname));
3863
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.message));
3864
if (r->in.message) {
3865
NDR_CHECK(ndr_push_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message));
3867
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.timeout));
3868
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.force_apps));
3869
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->in.do_reboot));
3870
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.reason));
3872
if (flags & NDR_OUT) {
3873
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3875
return NDR_ERR_SUCCESS;
3878
static enum ndr_err_code ndr_pull_winreg_InitiateSystemShutdownEx(struct ndr_pull *ndr, int flags, struct winreg_InitiateSystemShutdownEx *r)
3880
uint32_t _ptr_hostname;
3881
uint32_t _ptr_message;
3882
TALLOC_CTX *_mem_save_hostname_0;
3883
TALLOC_CTX *_mem_save_message_0;
3884
if (flags & NDR_IN) {
3885
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hostname));
3886
if (_ptr_hostname) {
3887
NDR_PULL_ALLOC(ndr, r->in.hostname);
3889
r->in.hostname = NULL;
3891
if (r->in.hostname) {
3892
_mem_save_hostname_0 = NDR_PULL_GET_MEM_CTX(ndr);
3893
NDR_PULL_SET_MEM_CTX(ndr, r->in.hostname, 0);
3894
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.hostname));
3895
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hostname_0, 0);
3897
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_message));
3899
NDR_PULL_ALLOC(ndr, r->in.message);
3901
r->in.message = NULL;
3903
if (r->in.message) {
3904
_mem_save_message_0 = NDR_PULL_GET_MEM_CTX(ndr);
3905
NDR_PULL_SET_MEM_CTX(ndr, r->in.message, 0);
3906
NDR_CHECK(ndr_pull_lsa_StringLarge(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.message));
3907
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_message_0, 0);
3909
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.timeout));
3910
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.force_apps));
3911
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->in.do_reboot));
3912
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.reason));
3914
if (flags & NDR_OUT) {
3915
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3917
return NDR_ERR_SUCCESS;
3920
_PUBLIC_ void ndr_print_winreg_InitiateSystemShutdownEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_InitiateSystemShutdownEx *r)
3922
ndr_print_struct(ndr, name, "winreg_InitiateSystemShutdownEx");
3924
if (flags & NDR_SET_VALUES) {
3925
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3927
if (flags & NDR_IN) {
3928
ndr_print_struct(ndr, "in", "winreg_InitiateSystemShutdownEx");
3930
ndr_print_ptr(ndr, "hostname", r->in.hostname);
3932
if (r->in.hostname) {
3933
ndr_print_uint16(ndr, "hostname", *r->in.hostname);
3936
ndr_print_ptr(ndr, "message", r->in.message);
3938
if (r->in.message) {
3939
ndr_print_lsa_StringLarge(ndr, "message", r->in.message);
3942
ndr_print_uint32(ndr, "timeout", r->in.timeout);
3943
ndr_print_uint8(ndr, "force_apps", r->in.force_apps);
3944
ndr_print_uint8(ndr, "do_reboot", r->in.do_reboot);
3945
ndr_print_uint32(ndr, "reason", r->in.reason);
3948
if (flags & NDR_OUT) {
3949
ndr_print_struct(ndr, "out", "winreg_InitiateSystemShutdownEx");
3951
ndr_print_WERROR(ndr, "result", r->out.result);
3957
static enum ndr_err_code ndr_push_winreg_SaveKeyEx(struct ndr_push *ndr, int flags, const struct winreg_SaveKeyEx *r)
3959
if (flags & NDR_IN) {
3961
if (flags & NDR_OUT) {
3962
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
3964
return NDR_ERR_SUCCESS;
3967
static enum ndr_err_code ndr_pull_winreg_SaveKeyEx(struct ndr_pull *ndr, int flags, struct winreg_SaveKeyEx *r)
3969
if (flags & NDR_IN) {
3971
if (flags & NDR_OUT) {
3972
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
3974
return NDR_ERR_SUCCESS;
3977
_PUBLIC_ void ndr_print_winreg_SaveKeyEx(struct ndr_print *ndr, const char *name, int flags, const struct winreg_SaveKeyEx *r)
3979
ndr_print_struct(ndr, name, "winreg_SaveKeyEx");
3981
if (flags & NDR_SET_VALUES) {
3982
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
3984
if (flags & NDR_IN) {
3985
ndr_print_struct(ndr, "in", "winreg_SaveKeyEx");
3989
if (flags & NDR_OUT) {
3990
ndr_print_struct(ndr, "out", "winreg_SaveKeyEx");
3992
ndr_print_WERROR(ndr, "result", r->out.result);
3998
static enum ndr_err_code ndr_push_winreg_OpenHKPT(struct ndr_push *ndr, int flags, const struct winreg_OpenHKPT *r)
4000
if (flags & NDR_IN) {
4001
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
4002
if (r->in.system_name) {
4003
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
4005
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
4007
if (flags & NDR_OUT) {
4008
if (r->out.handle == NULL) {
4009
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4011
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4012
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4014
return NDR_ERR_SUCCESS;
4017
static enum ndr_err_code ndr_pull_winreg_OpenHKPT(struct ndr_pull *ndr, int flags, struct winreg_OpenHKPT *r)
4019
uint32_t _ptr_system_name;
4020
TALLOC_CTX *_mem_save_system_name_0;
4021
TALLOC_CTX *_mem_save_handle_0;
4022
if (flags & NDR_IN) {
4023
ZERO_STRUCT(r->out);
4025
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
4026
if (_ptr_system_name) {
4027
NDR_PULL_ALLOC(ndr, r->in.system_name);
4029
r->in.system_name = NULL;
4031
if (r->in.system_name) {
4032
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4033
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
4034
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
4035
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
4037
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
4038
NDR_PULL_ALLOC(ndr, r->out.handle);
4039
ZERO_STRUCTP(r->out.handle);
4041
if (flags & NDR_OUT) {
4042
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4043
NDR_PULL_ALLOC(ndr, r->out.handle);
4045
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4046
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
4047
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4048
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4049
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4051
return NDR_ERR_SUCCESS;
4054
_PUBLIC_ void ndr_print_winreg_OpenHKPT(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPT *r)
4056
ndr_print_struct(ndr, name, "winreg_OpenHKPT");
4058
if (flags & NDR_SET_VALUES) {
4059
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4061
if (flags & NDR_IN) {
4062
ndr_print_struct(ndr, "in", "winreg_OpenHKPT");
4064
ndr_print_ptr(ndr, "system_name", r->in.system_name);
4066
if (r->in.system_name) {
4067
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
4070
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
4073
if (flags & NDR_OUT) {
4074
ndr_print_struct(ndr, "out", "winreg_OpenHKPT");
4076
ndr_print_ptr(ndr, "handle", r->out.handle);
4078
ndr_print_policy_handle(ndr, "handle", r->out.handle);
4080
ndr_print_WERROR(ndr, "result", r->out.result);
4086
static enum ndr_err_code ndr_push_winreg_OpenHKPN(struct ndr_push *ndr, int flags, const struct winreg_OpenHKPN *r)
4088
if (flags & NDR_IN) {
4089
NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.system_name));
4090
if (r->in.system_name) {
4091
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, *r->in.system_name));
4093
NDR_CHECK(ndr_push_winreg_AccessMask(ndr, NDR_SCALARS, r->in.access_mask));
4095
if (flags & NDR_OUT) {
4096
if (r->out.handle == NULL) {
4097
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
4099
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4100
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4102
return NDR_ERR_SUCCESS;
4105
static enum ndr_err_code ndr_pull_winreg_OpenHKPN(struct ndr_pull *ndr, int flags, struct winreg_OpenHKPN *r)
4107
uint32_t _ptr_system_name;
4108
TALLOC_CTX *_mem_save_system_name_0;
4109
TALLOC_CTX *_mem_save_handle_0;
4110
if (flags & NDR_IN) {
4111
ZERO_STRUCT(r->out);
4113
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_system_name));
4114
if (_ptr_system_name) {
4115
NDR_PULL_ALLOC(ndr, r->in.system_name);
4117
r->in.system_name = NULL;
4119
if (r->in.system_name) {
4120
_mem_save_system_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
4121
NDR_PULL_SET_MEM_CTX(ndr, r->in.system_name, 0);
4122
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, r->in.system_name));
4123
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_system_name_0, 0);
4125
NDR_CHECK(ndr_pull_winreg_AccessMask(ndr, NDR_SCALARS, &r->in.access_mask));
4126
NDR_PULL_ALLOC(ndr, r->out.handle);
4127
ZERO_STRUCTP(r->out.handle);
4129
if (flags & NDR_OUT) {
4130
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
4131
NDR_PULL_ALLOC(ndr, r->out.handle);
4133
_mem_save_handle_0 = NDR_PULL_GET_MEM_CTX(ndr);
4134
NDR_PULL_SET_MEM_CTX(ndr, r->out.handle, LIBNDR_FLAG_REF_ALLOC);
4135
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->out.handle));
4136
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_handle_0, LIBNDR_FLAG_REF_ALLOC);
4137
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4139
return NDR_ERR_SUCCESS;
4142
_PUBLIC_ void ndr_print_winreg_OpenHKPN(struct ndr_print *ndr, const char *name, int flags, const struct winreg_OpenHKPN *r)
4144
ndr_print_struct(ndr, name, "winreg_OpenHKPN");
4146
if (flags & NDR_SET_VALUES) {
4147
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4149
if (flags & NDR_IN) {
4150
ndr_print_struct(ndr, "in", "winreg_OpenHKPN");
4152
ndr_print_ptr(ndr, "system_name", r->in.system_name);
4154
if (r->in.system_name) {
4155
ndr_print_uint16(ndr, "system_name", *r->in.system_name);
4158
ndr_print_winreg_AccessMask(ndr, "access_mask", r->in.access_mask);
4161
if (flags & NDR_OUT) {
4162
ndr_print_struct(ndr, "out", "winreg_OpenHKPN");
4164
ndr_print_ptr(ndr, "handle", r->out.handle);
4166
ndr_print_policy_handle(ndr, "handle", r->out.handle);
4168
ndr_print_WERROR(ndr, "result", r->out.result);
4174
static enum ndr_err_code ndr_push_winreg_QueryMultipleValues2(struct ndr_push *ndr, int flags, const struct winreg_QueryMultipleValues2 *r)
4176
if (flags & NDR_IN) {
4178
if (flags & NDR_OUT) {
4179
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
4181
return NDR_ERR_SUCCESS;
4184
static enum ndr_err_code ndr_pull_winreg_QueryMultipleValues2(struct ndr_pull *ndr, int flags, struct winreg_QueryMultipleValues2 *r)
4186
if (flags & NDR_IN) {
4188
if (flags & NDR_OUT) {
4189
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
4191
return NDR_ERR_SUCCESS;
4194
_PUBLIC_ void ndr_print_winreg_QueryMultipleValues2(struct ndr_print *ndr, const char *name, int flags, const struct winreg_QueryMultipleValues2 *r)
4196
ndr_print_struct(ndr, name, "winreg_QueryMultipleValues2");
4198
if (flags & NDR_SET_VALUES) {
4199
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
4201
if (flags & NDR_IN) {
4202
ndr_print_struct(ndr, "in", "winreg_QueryMultipleValues2");
4206
if (flags & NDR_OUT) {
4207
ndr_print_struct(ndr, "out", "winreg_QueryMultipleValues2");
4209
ndr_print_WERROR(ndr, "result", r->out.result);
4215
static const struct ndr_interface_call winreg_calls[] = {
4218
sizeof(struct winreg_OpenHKCR),
4219
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKCR,
4220
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKCR,
4221
(ndr_print_function_t) ndr_print_winreg_OpenHKCR,
4226
sizeof(struct winreg_OpenHKCU),
4227
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKCU,
4228
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKCU,
4229
(ndr_print_function_t) ndr_print_winreg_OpenHKCU,
4234
sizeof(struct winreg_OpenHKLM),
4235
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKLM,
4236
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKLM,
4237
(ndr_print_function_t) ndr_print_winreg_OpenHKLM,
4242
sizeof(struct winreg_OpenHKPD),
4243
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKPD,
4244
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKPD,
4245
(ndr_print_function_t) ndr_print_winreg_OpenHKPD,
4250
sizeof(struct winreg_OpenHKU),
4251
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKU,
4252
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKU,
4253
(ndr_print_function_t) ndr_print_winreg_OpenHKU,
4258
sizeof(struct winreg_CloseKey),
4259
(ndr_push_flags_fn_t) ndr_push_winreg_CloseKey,
4260
(ndr_pull_flags_fn_t) ndr_pull_winreg_CloseKey,
4261
(ndr_print_function_t) ndr_print_winreg_CloseKey,
4266
sizeof(struct winreg_CreateKey),
4267
(ndr_push_flags_fn_t) ndr_push_winreg_CreateKey,
4268
(ndr_pull_flags_fn_t) ndr_pull_winreg_CreateKey,
4269
(ndr_print_function_t) ndr_print_winreg_CreateKey,
4274
sizeof(struct winreg_DeleteKey),
4275
(ndr_push_flags_fn_t) ndr_push_winreg_DeleteKey,
4276
(ndr_pull_flags_fn_t) ndr_pull_winreg_DeleteKey,
4277
(ndr_print_function_t) ndr_print_winreg_DeleteKey,
4281
"winreg_DeleteValue",
4282
sizeof(struct winreg_DeleteValue),
4283
(ndr_push_flags_fn_t) ndr_push_winreg_DeleteValue,
4284
(ndr_pull_flags_fn_t) ndr_pull_winreg_DeleteValue,
4285
(ndr_print_function_t) ndr_print_winreg_DeleteValue,
4290
sizeof(struct winreg_EnumKey),
4291
(ndr_push_flags_fn_t) ndr_push_winreg_EnumKey,
4292
(ndr_pull_flags_fn_t) ndr_pull_winreg_EnumKey,
4293
(ndr_print_function_t) ndr_print_winreg_EnumKey,
4298
sizeof(struct winreg_EnumValue),
4299
(ndr_push_flags_fn_t) ndr_push_winreg_EnumValue,
4300
(ndr_pull_flags_fn_t) ndr_pull_winreg_EnumValue,
4301
(ndr_print_function_t) ndr_print_winreg_EnumValue,
4306
sizeof(struct winreg_FlushKey),
4307
(ndr_push_flags_fn_t) ndr_push_winreg_FlushKey,
4308
(ndr_pull_flags_fn_t) ndr_pull_winreg_FlushKey,
4309
(ndr_print_function_t) ndr_print_winreg_FlushKey,
4313
"winreg_GetKeySecurity",
4314
sizeof(struct winreg_GetKeySecurity),
4315
(ndr_push_flags_fn_t) ndr_push_winreg_GetKeySecurity,
4316
(ndr_pull_flags_fn_t) ndr_pull_winreg_GetKeySecurity,
4317
(ndr_print_function_t) ndr_print_winreg_GetKeySecurity,
4322
sizeof(struct winreg_LoadKey),
4323
(ndr_push_flags_fn_t) ndr_push_winreg_LoadKey,
4324
(ndr_pull_flags_fn_t) ndr_pull_winreg_LoadKey,
4325
(ndr_print_function_t) ndr_print_winreg_LoadKey,
4329
"winreg_NotifyChangeKeyValue",
4330
sizeof(struct winreg_NotifyChangeKeyValue),
4331
(ndr_push_flags_fn_t) ndr_push_winreg_NotifyChangeKeyValue,
4332
(ndr_pull_flags_fn_t) ndr_pull_winreg_NotifyChangeKeyValue,
4333
(ndr_print_function_t) ndr_print_winreg_NotifyChangeKeyValue,
4338
sizeof(struct winreg_OpenKey),
4339
(ndr_push_flags_fn_t) ndr_push_winreg_OpenKey,
4340
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenKey,
4341
(ndr_print_function_t) ndr_print_winreg_OpenKey,
4345
"winreg_QueryInfoKey",
4346
sizeof(struct winreg_QueryInfoKey),
4347
(ndr_push_flags_fn_t) ndr_push_winreg_QueryInfoKey,
4348
(ndr_pull_flags_fn_t) ndr_pull_winreg_QueryInfoKey,
4349
(ndr_print_function_t) ndr_print_winreg_QueryInfoKey,
4353
"winreg_QueryValue",
4354
sizeof(struct winreg_QueryValue),
4355
(ndr_push_flags_fn_t) ndr_push_winreg_QueryValue,
4356
(ndr_pull_flags_fn_t) ndr_pull_winreg_QueryValue,
4357
(ndr_print_function_t) ndr_print_winreg_QueryValue,
4361
"winreg_ReplaceKey",
4362
sizeof(struct winreg_ReplaceKey),
4363
(ndr_push_flags_fn_t) ndr_push_winreg_ReplaceKey,
4364
(ndr_pull_flags_fn_t) ndr_pull_winreg_ReplaceKey,
4365
(ndr_print_function_t) ndr_print_winreg_ReplaceKey,
4369
"winreg_RestoreKey",
4370
sizeof(struct winreg_RestoreKey),
4371
(ndr_push_flags_fn_t) ndr_push_winreg_RestoreKey,
4372
(ndr_pull_flags_fn_t) ndr_pull_winreg_RestoreKey,
4373
(ndr_print_function_t) ndr_print_winreg_RestoreKey,
4378
sizeof(struct winreg_SaveKey),
4379
(ndr_push_flags_fn_t) ndr_push_winreg_SaveKey,
4380
(ndr_pull_flags_fn_t) ndr_pull_winreg_SaveKey,
4381
(ndr_print_function_t) ndr_print_winreg_SaveKey,
4385
"winreg_SetKeySecurity",
4386
sizeof(struct winreg_SetKeySecurity),
4387
(ndr_push_flags_fn_t) ndr_push_winreg_SetKeySecurity,
4388
(ndr_pull_flags_fn_t) ndr_pull_winreg_SetKeySecurity,
4389
(ndr_print_function_t) ndr_print_winreg_SetKeySecurity,
4394
sizeof(struct winreg_SetValue),
4395
(ndr_push_flags_fn_t) ndr_push_winreg_SetValue,
4396
(ndr_pull_flags_fn_t) ndr_pull_winreg_SetValue,
4397
(ndr_print_function_t) ndr_print_winreg_SetValue,
4402
sizeof(struct winreg_UnLoadKey),
4403
(ndr_push_flags_fn_t) ndr_push_winreg_UnLoadKey,
4404
(ndr_pull_flags_fn_t) ndr_pull_winreg_UnLoadKey,
4405
(ndr_print_function_t) ndr_print_winreg_UnLoadKey,
4409
"winreg_InitiateSystemShutdown",
4410
sizeof(struct winreg_InitiateSystemShutdown),
4411
(ndr_push_flags_fn_t) ndr_push_winreg_InitiateSystemShutdown,
4412
(ndr_pull_flags_fn_t) ndr_pull_winreg_InitiateSystemShutdown,
4413
(ndr_print_function_t) ndr_print_winreg_InitiateSystemShutdown,
4417
"winreg_AbortSystemShutdown",
4418
sizeof(struct winreg_AbortSystemShutdown),
4419
(ndr_push_flags_fn_t) ndr_push_winreg_AbortSystemShutdown,
4420
(ndr_pull_flags_fn_t) ndr_pull_winreg_AbortSystemShutdown,
4421
(ndr_print_function_t) ndr_print_winreg_AbortSystemShutdown,
4425
"winreg_GetVersion",
4426
sizeof(struct winreg_GetVersion),
4427
(ndr_push_flags_fn_t) ndr_push_winreg_GetVersion,
4428
(ndr_pull_flags_fn_t) ndr_pull_winreg_GetVersion,
4429
(ndr_print_function_t) ndr_print_winreg_GetVersion,
4434
sizeof(struct winreg_OpenHKCC),
4435
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKCC,
4436
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKCC,
4437
(ndr_print_function_t) ndr_print_winreg_OpenHKCC,
4442
sizeof(struct winreg_OpenHKDD),
4443
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKDD,
4444
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKDD,
4445
(ndr_print_function_t) ndr_print_winreg_OpenHKDD,
4449
"winreg_QueryMultipleValues",
4450
sizeof(struct winreg_QueryMultipleValues),
4451
(ndr_push_flags_fn_t) ndr_push_winreg_QueryMultipleValues,
4452
(ndr_pull_flags_fn_t) ndr_pull_winreg_QueryMultipleValues,
4453
(ndr_print_function_t) ndr_print_winreg_QueryMultipleValues,
4457
"winreg_InitiateSystemShutdownEx",
4458
sizeof(struct winreg_InitiateSystemShutdownEx),
4459
(ndr_push_flags_fn_t) ndr_push_winreg_InitiateSystemShutdownEx,
4460
(ndr_pull_flags_fn_t) ndr_pull_winreg_InitiateSystemShutdownEx,
4461
(ndr_print_function_t) ndr_print_winreg_InitiateSystemShutdownEx,
4466
sizeof(struct winreg_SaveKeyEx),
4467
(ndr_push_flags_fn_t) ndr_push_winreg_SaveKeyEx,
4468
(ndr_pull_flags_fn_t) ndr_pull_winreg_SaveKeyEx,
4469
(ndr_print_function_t) ndr_print_winreg_SaveKeyEx,
4474
sizeof(struct winreg_OpenHKPT),
4475
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKPT,
4476
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKPT,
4477
(ndr_print_function_t) ndr_print_winreg_OpenHKPT,
4482
sizeof(struct winreg_OpenHKPN),
4483
(ndr_push_flags_fn_t) ndr_push_winreg_OpenHKPN,
4484
(ndr_pull_flags_fn_t) ndr_pull_winreg_OpenHKPN,
4485
(ndr_print_function_t) ndr_print_winreg_OpenHKPN,
4489
"winreg_QueryMultipleValues2",
4490
sizeof(struct winreg_QueryMultipleValues2),
4491
(ndr_push_flags_fn_t) ndr_push_winreg_QueryMultipleValues2,
4492
(ndr_pull_flags_fn_t) ndr_pull_winreg_QueryMultipleValues2,
4493
(ndr_print_function_t) ndr_print_winreg_QueryMultipleValues2,
4496
{ NULL, 0, NULL, NULL, NULL, false }
4499
static const char * const winreg_endpoint_strings[] = {
4500
"ncacn_np:[\\pipe\\winreg]",
4505
static const struct ndr_interface_string_array winreg_endpoints = {
4507
.names = winreg_endpoint_strings
4510
static const char * const winreg_authservice_strings[] = {
4514
static const struct ndr_interface_string_array winreg_authservices = {
4516
.names = winreg_authservice_strings
4520
const struct ndr_interface_table ndr_table_winreg = {
4523
{0x338cd001,0x2244,0x31f1,{0xaa,0xaa},{0x90,0x00,0x38,0x00,0x10,0x03}},
4526
.helpstring = NDR_WINREG_HELPSTRING,
4528
.calls = winreg_calls,
4529
.endpoints = &winreg_endpoints,
4530
.authservices = &winreg_authservices